Commit Graph

1613 Commits

Author SHA1 Message Date
zonble a97cc5ca6c Converts VerticalCandidateController to Swift. 2022-01-11 00:03:32 +08:00
zonble 5aafe64751 Starts to convert candidate UI to Swift. 2022-01-10 22:01:40 +08:00
zonble ba6889fa63 Converts OVInputSourceHelper to Swift. 2022-01-10 22:01:40 +08:00
zonble 84849bdb3d Converts the preference and non modal view controller to Swift. 2022-01-10 22:01:40 +08:00
zonble 75a0f68a9c Fixes the bug that I forgot to create the user phrases folder.
There was a legacy user override model which creates a folder and a
plist file. If a user uses McBopomofo for years, the folder would
exist. However, when the old override model was removed, I forgot
to create the folder for the new user phrase file.

The bug would let the users with new installation of McBopomofo unable
to add user phrases.
2022-01-10 21:59:18 +08:00
zonble 6bdd2aab44 Fixes a bug on building the unigrams. 2022-01-09 13:00:19 -08:00
zonble b4276f0488 Fixes a bug on building the vector for unigrams from both global language model and user phrases. 2022-01-09 13:00:19 -08:00
zonble 1e5bad20c2 Removes unused references. 2022-01-09 08:38:32 -08:00
zonble 5b72e48a4e Minor fine-tunes on the preference window. 2022-01-09 08:38:32 -08:00
zonble 0af238ef79 Cleans-up unused logs. 2022-01-09 08:38:32 -08:00
zonble 3763688275 Fixes a typo. 2022-01-09 08:38:32 -08:00
zonble a5247d958c Makes it able to reload user phrases. 2022-01-09 08:38:32 -08:00
zonble e909dc20b5 Uses user phrases in the block builder. 2022-01-09 08:38:32 -08:00
zonble 6f761ecbcd Implements adding phrase from shift and arrow keys. 2022-01-09 08:38:32 -08:00
zonble 358462dff1 [WIP] Starts to work on the user phrases. 2022-01-09 08:38:32 -08:00
Weizhong Yang a.k.a zonble 39cdc7d73d Merge pull request #207 from openvanilla/rebased-user-override-model
Implements an exponential decay-based user candidate override model, rebased from #135
2022-01-07 13:20:52 +08:00
ovadmin 789d2a5687 計算選字事件時,若遇到常用標點,將標點視為句尾
如此一來標點後的單字詞,在計算時,等同於句首第一詞。
2022-01-06 18:28:37 -08:00
ovadmin aeb774a8ed 小幅重構重複的程式碼 2022-01-06 18:28:37 -08:00
ovadmin 2e8e78971c 傳統注音不要記住用戶選字 2022-01-06 18:28:37 -08:00
ovadmin eef6f8c0ce 加大用戶選字詞模型的容量跟半衰期 2022-01-06 18:28:37 -08:00
ovadmin 3e0e859feb 將用戶選字記憶機制整合入 InputMethodController 2022-01-06 18:28:37 -08:00
ovadmin d672136843 實作簡單的用戶選字記憶模型
這個模型基本上只是根據游標前的兩個 unigram 記憶當前的用戶選字。當有超過
一個以上的用戶選字時,則要給每個選字評分。評分標準是選字頻率乘上一個透過
半衰期遞減的最近選字經歷時間。如此一來我們在「少用但最近選過」及「常用但
最近少選」之間取得一個平衡。半衰期透過經驗法則決定。

目前這個簡易模型並不存入磁碟,因此下一次重開機後就會洗掉重來。目前這樣選
擇純粹是因為模型有半衰期,因此長時間存放後還是會遺忘。

這個模型的好處是對既有詞庫提供詞的影響很小,對於連續單字詞的 override 有
還不錯的幫助。如此對於人名、地名、公司名等專有名詞,應該可以減少選字的頻
率。這個模型應用起來的缺點是,如果用戶修改的字詞原來是個雙字詞,例如先前
的兩個 unigram 分別是 A, BB ,而用戶想改的是 BB 的第二個字,使選完後的三
個字分別是 A, B', C,這個 C 往往是記不起來的,但如果一開始用戶逐字選取,
亦即在 BB 只出現 B 時就選取 B' 然後再打 C ,則 A, B', C 這個組合往往能被
正確記憶。實際發生原因在此不討論,但跟底層所用的組字網架的架構有關。確實
要改進的話得要從底層重新架構來下手,但至少目前這個模型給的建議偏保守,不
至干擾原有的預設選字。衡諸得失,這個模型提供一些邊際上的改善,應該還是值
得採用的。
2022-01-06 18:28:37 -08:00
ovadmin a17438b67a 修正一些選字機制 C++ 檔案 #include 不完整的問題 2022-01-06 18:28:37 -08:00
ovadmin 3760d24350 移除早期的候選歷史記憶機制
這個機制從未正式發布,設計本身也有很多缺陷,因此決定移除。
2022-01-06 18:28:29 -08:00
Weizhong Yang a.k.a zonble 8fd9808f56 Merge pull request #206 from zonble/dev/esc_to_clean_buffer
Adds an option to let users to clear entire buffer using ESC key
2022-01-05 01:18:43 +08:00
zonble c32e216a6f Updates the README file for system requirement. 2022-01-02 22:23:04 +08:00
zonble 69a6ac6d67 Updates CI settings. 2022-01-02 22:13:14 +08:00
zonble 23100153cc Adds an option to clear entire input buffer by ESC key.
This fixes #146.
2022-01-02 22:09:23 +08:00
zonble dae5246af6 Merge branch 'master' of github.com:openvanilla/McBopomofo 2022-01-02 21:32:23 +08:00
Lukhnos Liu 25ea443891 Correctly locate a candidate panel's screen
Previously only the x value was used to determine the screen to which a
candidate panel should below. That was incorrect. The entire point needs
to be considered.

This fixes the same issue that affected OpenVanilla:
https://github.com/openvanilla/openvanilla/issues/49
2021-11-24 23:22:29 -08:00
Lukhnos Liu 5ff3efb385 Revert "Stop using IMK's showPreferences:"
This reverts commit 69e463958e.
2021-11-24 21:16:20 -08:00
Lukhnos Liu 65b106ce88 Remove manual line wrapping in README
This makes sure that Chinese paragraphs flow correctly without the
extraneous space between the last character of a line and the first
character of its suceeding line that is still in the same paragraph.
2021-11-24 10:13:56 -08:00
Lukhnos Liu 28d56669d8 Update README 2021-11-24 10:09:47 -08:00
Lukhnos Liu c7225f9caf Add LICENSE.txt 2021-11-24 10:04:29 -08:00
Lukhnos Liu 9380f20754 Update README 2021-11-23 23:13:01 -08:00
Lukhnos Liu ad81de87a0 Bump version to 1.1 2021-11-23 22:55:21 -08:00
Lukhnos Liu 3a027ba8fb Update copyright years 2021-11-23 19:04:42 -08:00
Lukhnos Liu 75b4bfac31 Localize new strings
Also fine-tune the Chinese Conversion menu item text.
2021-11-23 19:04:42 -08:00
Lukhnos Liu 69e463958e Stop using IMK's showPreferences:
This turns out to be unreliable on macOS 12.
2021-11-23 19:04:42 -08:00
Lukhnos Liu c1bea8c382 Fix IME activation issues on macOS 12
We now let the Installer to call the TextInputSources API. Since macOS
12, users are prompted to allow enabling of third-party IMEs in
Preferences.app the momemnt TISRegisterInputSource or
TISEnableInputSource is called. By moving the activation to the
Installer, a user will clearly see that it's the Installer that wants to
enable the IME.

In addition, we had to make necessary changes so that on macOS 12 and
later, the Installer always enable the default input source. This is due
to the observation that the kTISPropertyInputSourceIsEnabled becomes
unreliable on macOS 12--it may be true even if the user has removed the
input mode from their active input mode list in Preferences.app.
2021-11-23 19:04:42 -08:00
Lukhnos Liu b85029dec1 Fix non-existent font in .xib 2021-11-22 20:51:24 -08:00
Lukhnos Liu b9a54a8614 Update to recommended Xcode settings 2021-11-22 20:21:49 -08:00
zonble 164705e6f3 Allows users to use left and right key to go to another candidate page in the vertical candidates list.
This fixes #61.
2021-11-20 22:43:23 -08:00
zonble 453d69201e Updates CI settings. 2021-11-20 22:43:23 -08:00
zonble e27f5babe1 Allows auto-commiting the first candidate when users input a punctuation in plan BPMF mode. 2021-11-20 22:43:23 -08:00
zonble 385638c3b9 Allows commit the first canidate while typing a punctuation in plain BPMF mode. 2021-11-20 22:43:23 -08:00
zonble c17d991718 Also applies Chinese conversion on popped text.
Fixes issue #172.
2021-11-20 18:14:08 -08:00
zonble a7627f8dc7 Allows users to use left and right key to go to another candidate page in the vertical candidates list.
This fixes #61.
2021-11-12 01:15:06 +08:00
zonble 2784a0814a Updates CI settings. 2021-11-12 00:56:11 +08:00
zonble 9a51910584 Merge branch 'master' of github.com:openvanilla/McBopomofo 2021-11-12 00:46:17 +08:00