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