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