轉(zhuǎn)自 https://github.com/rime 認識 La Rime自序做這項目是發(fā)自對輸入法創(chuàng)新的興趣,爲實驗新的輸入法而打造一款易于定製的智能輸入軟件。 乃定名爲:中州韻輸入法引擎 / Rime Input Method Engine 取意歷史上通行的中州韻,愿寫就一部彙集音韻學智慧的輸入法經(jīng)典之作。 項目網(wǎng)站設在 http://rime./ 感謝 Github. 感謝 Pages. 創(chuàng)造應用價值是一方面,更要堅持對好技術的追求,希望能寫出靈動而易于擴展的代碼,使其成爲一款個性十足的開源輸入法。 歷史2009年底,佛振按這一思路,借助強大的IBus輸入法框架和Python腳本語言,快速開發(fā)出「中州韻」的原型。 如今有許多朋友關注并樂于幫忙完善這一軟件。俺打盤接受同學們的建議用C++來寫一部正式版。 概念相對于最初的實驗品,概念沒有多大變化。佛振重新來歸納。 組成這個軟件系統(tǒng)的對象,我給他粗略分成三類: 邏輯對象,各自表達解決輸入法中某類問題的算法,以及描述輸入法的工作流程。 咱假定,從不同種類的輸入法中,可歸納出幾種類型的實現(xiàn)機制,即通用于一類輸入法的算法和數(shù)據(jù)結(jié)構。 輸入法引擎/engine 佛振把他解讀爲用來實現(xiàn)輸入功能的程序,是這些算法及相關數(shù)據(jù)結(jié)構的總和。 輸入法典型的工作流程,大致如此:
將這一流程中純粹的邏輯部份用程序?qū)懗鰜?,就是我所形容的輸入引擎?/p> 其中不包括:
輸入法中的數(shù)據(jù)對象,有輸入引擎處理用戶輸入動作所得的動態(tài)數(shù)據(jù),又有預先配置到輸入法中的輸入方案。 若要講,輸入引擎是跨輸入法的通用程序,輸入方案/schema 即是那差異的部份。 輸入方案包含:
爲了足夠靈活而能支持廣泛的輸入法類型,在輸入方案中,利用 拼寫運算/spelling algebra 機制在輸入碼與字典編碼之間建立一組映射,以此將個別方案中的特殊檢索方式統(tǒng)一到通用的算法。 交互對象,承擔與用戶交換信息的功能。不同于輸入引擎、輸入方案的跨平臺特點,交互對象的實現(xiàn)是系統(tǒng)相關的。 項目構成于是整個工程又可分爲若干子項目:
開發(fā)計劃偉大雄圖,還是分期來完成吧。 初創(chuàng)期,完成軟件架構和基礎功能。 第一期,要把用戶體驗做到一款正式產(chǎn)品的標準。
第二期,兼容更多系統(tǒng)平臺。可以嘗試一些創(chuàng)新的設計,形成開發(fā)者暨輸入方案創(chuàng)作者社羣。 第三期,添加網(wǎng)絡功能,持續(xù)優(yōu)化輸入效果;建立輸入法創(chuàng)作平臺。 計劃于 八月初八 發(fā)表1.0版。即完成初創(chuàng)期,進入第一期的初級階段。 萬事開頭難,雖然實驗版的經(jīng)驗可做參考,讓這項目高速運轉(zhuǎn)起來,仍需要大的智慧。 有同學索要文檔,卻真的沒有。千頭萬緒,未及梳理,暫且概說一番,也可意會創(chuàng)作此軟件的思路。 是爲之序。 |
|