librime 0.9.6 開發完成

139 views
Skip to first unread message

弓辰

unread,
Jan 14, 2013, 2:21:52 AM1/14/13
to rime-...@googlegroups.com
librime 0.9.6 已發佈,各平臺版本更新完畢。

這個版本主要完成了以下功能:

* 同步用戶詞典

爲每套安裝了Rime輸入法的系統創建一個同步文件夾,應用用戶詞典備份/合併操作更新詞典文件中的詞條。
同步文件夾則可設置在網盤或U盤上,把詞典文件同步到其他系統。
問題:配置文件(YAML)只做了備份,還沒有找到好的同步策略。

* 上屏錯誤的詞組後立即按回退鍵(BackSpace)撤銷組詞

撤銷記憶要限制在上屏後3秒內,爲了避免使用計時器等平臺相關的機制,
給 rime::UserDictionary 添加了 Transaction 的支持,
上屏後需要記入用戶詞典的內容並不立即提交,而是推遲到下次上屏或關閉詞典時。
這就給接到 BackSpace 鍵時撤銷 Transaction 留了機會。
藉機做重構,將記憶用戶詞的邏輯從 r10n_translator 和 table_translator 裏面提出,是爲 rime::Memory 類。

* 拼音輸入法中,按左方向鍵以音節爲單位移動光標

音節切分爲 r10n_translator 所出的候選詞獨有,方向鍵的動作以 navigator 組件控制。
以目前的架構,rime::Translation 以及 rime::Candidate 未包含切分信息,
於是定義了 rime::Syllabification 接口,通過 rime::Candidate 的派生類 rime::Phrase 訪問。
總算把修改控制在 rime::gears 組件之間,而沒有更動底層的框架。

未來還要把 rime::gears/levers 所轄業務組件與 Rime 的基本框架徹底分離,做成獨立的模塊。
達到這一目標,Rime 的插件體系也就水到渠成。

下一期,我的計劃是:

* 重構 rime::DictCompiler, 然後支持多碼表查詢。

這個功能用於給現有的輸入方案批量添加詞彙。

目前,Rime 固態(rime::Dictionary)加載一部碼表(rime::Table)及一套索引(rime::Prism)完成查詢。
索引否則快速給出一段輸入碼對應的數字內碼(音節碼),再以數字內碼查碼表,這樣避免了在碼表中做字符串查找,以提升效率。
支持多碼表,則要以個碼表中全部編碼形式的併集建立索引,換算出各碼表中的音節碼分別做查詢。

* 支持多個 translator 並行工作

這個功能用於實現多種輸入方案候選結果的混合。
目前,倉頡+拼音、五筆+拼音混合輸入以 reverse_lookup_translator 提供簡單的拼音查詢。
這一實現方式有以下不足:
反查不支持自動組句;只有主要方案能訪問用戶詞典(記憶新詞組和字頻調整)。

* 繼續寫完碼表輸入法自動組詞。
寫着寫着發現這裏面頗有難點。
其實現在很多功能之所以難寫都不是因爲功能本身有多複雜,而是考慮上支持多種輸入方案、方案之前共用詞典、詞典文件的升級和版本控制等問題,
一個邏輯並不複雜的問題想到做得健壯有彈性就不大容易了。

最後,有一則好消息:

Neo Lee 寫了一個鼠鬚管的圖形配置工具——

SCU(Squirrel 配置工具)

开源中文输入法 Squirrel(鼠鬚管)终于有了一个图形化的配置工具。目前还只支持最基本的配置选项,但总体框架已经完整,以后会增加更多配置选项的支持。SCU 本身也在 GitHub 开源,有兴趣的朋友可以一起来改进和增强它,如果有任何使用上的问题也可以在 GitHub 上提交错误报告。

https://github.com/neolee/SCU


謝謝

Easior Lars

unread,
Jan 14, 2013, 6:01:36 AM1/14/13
to rime-...@googlegroups.com
真不错!

--
 
 
 


弓辰

unread,
Jan 14, 2013, 11:10:44 PM1/14/13
to rime-...@googlegroups.com
不久還要再更新一次。


Sent with Sparrow

--
 
 
 

Moritz Qin

unread,
Jan 15, 2013, 8:53:44 AM1/15/13
to rime-...@googlegroups.com
赞一个。期待。

弓辰 於 2013年1月15日星期二寫道:
--
 
 
 

moritz chen

unread,
Jan 15, 2013, 11:07:28 PM1/15/13
to rime-...@googlegroups.com
有个建议。在开发功能的同时,我们是否要规划一下开发文档。有了这个东东。会有更多人参与进来。
Reply all
Reply to author
Forward
0 new messages