ZIME/中州韻輸入平臺簡介
<br>大家好,我是佛振。<br>此番向大家介紹拙作「中州韻」輸入平臺。雖是打小廣告,但哥做的可都是公益。<br>我非粵人,請恕我在行文中使用國語。<br><br>佛振利用賦閒在家的數月時光,寫了籌謀已久的「中州韻」輸入平臺。<br>我考察優秀拼音輸入法均以強大的智能組句功能而取勝,智能程式的支援對重碼字較多的拼音類輸入法是個很好的補充。然而這也使開發一款新的拼音輸入法成為一項十分複雜的工作。<br>佛振的思路是教輸入法的語言模型獨立於具體的拼寫方案,支持對輸入法進行深度定制,以實現各種方言、各種拼寫法的輸入方案。如此,便可用較少的步驟實作一款新的拼音輸入法,同時依靠通用的智能程式達到較理想的輸入體驗。<br>這個平臺最大的用途就是做方言輸入法。只要做好一份字音對照表,乃至完全利用現有方案,只指定一組拼式變換規則,就可以實驗新的拼寫法。這就是佛振做這款輸入平臺的目的。<br><br>[ 本帖最後由 佛振 於 2010-1-10 22:41 編輯 ] 迄今,ZIME計劃已取得兩項主要成果,一是適用於Linux作業系統的ibus-zime,實現了以上預想的各項功能。<br><br>二一個是Plume.js網頁輸入平臺,是為了能在各種不同的環境中體驗ZIME輸入法而作,目前只實現了基本的功能。可用它來瞭解中州韻輸入平臺,用來實驗新拼寫法的實際打字效果更是絕佳的工具。<br><br>受技術能力所限,佛振目前沒有把ZIME移植到Windows作業系統的計劃。<br><br>輸入法平臺是輸入法的支援程式,本身不包含具體的輸入法方案。ZIME的輸入方案是由若干文本文件來定義,並通行於兩款平臺的實現。<br>
[ 本帖最後由 佛振 於 2010-1-11 12:52 編輯 ] 為測試輸入平臺的實用效果,佛振草擬了一款粵拼輸入方案。乃是由網路下載了一份粵拼字表,由ZIME自動生成詞庫。這樣嘗試了一下,雖然存在多音字誤用的問題,但借助平臺的智能調頻處理輸入體驗仍比較滿意。<br><br>ibus-zime演示視頻:(粵拼輸入方案演示在8:12'處)<br><a href="http://v.youku.com/v_show/id_XMTM4ODkwMzgw.html">http://v.youku.com/v_show/id_XMTM4ODkwMzgw.html</a><br><br>Plume.js網頁輸入法<br><br><br><br><br><br><br>當然,由於佛振不通曉粵語,故而不能發現方案中的問題,也無法將這一方案完善。我知道粵語研究與應用的氛圍最好,所以把拙作介紹給大家。<br>希望有興趣的朋友一起來研究。<br><br>ZIME計劃主頁<br><a href="http://zime.googlecode.com/">http://zime.googlecode.com/</a><br><br>提供下載:ibus-zime(Linux輸入法)、Plume.js(網頁輸入法程式)、用於網頁輸入法的資料文件(粵拼輸入方案)。<br>中州韻輸入平臺為開源軟件,以GPLv3釋出。歡迎參與開發,志願者請致函:佛振 <chen.sst@gmail.com><br><br>再回找個時間,向大家詳細介紹輸入法的操作,以及修改和製作輸入方案的方法。論壇上不少朋友有自己的拼寫法設計,用ZIME來將已有的粵拼方案通過拼寫變換映射為新的拼寫法來試試看,符號標調也有辦法喔。<br><br>總之,願這款軟件對大家有用。<br>
[ 本帖最後由 佛振 於 2010-1-11 12:52 編輯 ] 想法很好,多謝樓主的工作。試用了網頁版,可用。LINUX版要等我裝了LINUX後再試。只是未曉如何自製輸入法。 原帖由 <i>JUMPSEY</i> 於 2010-1-11 17:03 發表 <a href="http://bbs.cantonese.asia/redirect.php?goto=findpost&pid=168478&ptid=20460" target="_blank"><img src="http://bbs.cantonese.asia/images/common/back.gif" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" border="0"></a>
想法很好,多謝樓主的工作。試用了網頁版,可用。LINUX版要等我裝了LINUX後再試。只是未曉如何自製輸入法。 <br><br>先等等看。佛振正有些手忙腳亂。自製的方法,佛振打盤就penkyamp君的拼寫法做出一個小教程來介紹。<br>
註:此專題講解的輸入文件非ZIME定義文件的最新格式,請參考ZIME計劃主頁上的最新資料
【專題一】利用ZIME輸入方案中的拼寫變換機制<br><br>本專題以Penkyamp拼寫法為例,講述如何以Jyutping輸入方案為起點,定制新的ZIME輸入方案。<br>此方法適用於這樣的需求:<br>新的拼寫法與已有方法基於相同的音系,譬如本例中Penkyamp與Jyutping同為基於標準粵語的拼寫法;<br>並且,兩種拼寫法的拼式無一對多的情況,最好能夠做到一一對應,譬如原方案是無聲調標注的,就無法用來實現區分聲調的新方案;<br>新的拼寫法與原拼寫法存在對應規律,或無規律但數目不大足以窮舉。<br><br>ZIME的輸入方案是以文本形式定義,而後用平臺提供的腳本來編譯成輸入法軟件易於讀取的格式。<br>以文本形式定義的輸入方案可通行於所有ZIME計劃中的輸入法。此番以網頁輸入平臺Plume.js來做演示。<br><br>先看看方案定義文件長什麼樣。下載以下文件:<br>http://zime.googlecode.com/svn/trunk/plume/data/jyutping-schema.txt<br>http://zime.googlecode.com/svn/trunk/plume/data/jyutping-keywords.txt<br>http://zime.googlecode.com/svn/trunk/plume/data/jyutping-phrases.txt<br><br>一般來講,一個輸入方案由三個文件組成:<br>xxx-schema.txt 是方案定義,包含各種設定選項。必須。<br>xxx-keywords.txt 是音節的拼寫形式與單字的對照表。必須。<br>xxx-phrases.txt 是有詞頻和拼音標注的詞庫文件。可選。且平臺提供了一個工具可依 xxx-keywords.txt 自動生成詞庫。<br><br>此役,我只須做一個 penkyamp-schema.txt 文件,而直接借用已有的 Jyutping 方案裡的字表和詞庫。<br><br><br>[ 本帖最後由 佛振 於 2010-1-15 21:11 編輯 ] 中場休息。<br>
說實話,佛振是一邊寫教程一邊做方案啊,大方向是對的,所以我仍對此很有信心。<br>
<br>
作業:前文說到要用工具來編譯新製作的方案。我這工具是一個腳本程序。需要用到Python腳本語言。Python是跨平臺的,Unix-like作業系
統如Linux和Mac OS X一般已經預裝了,Windows使用者需要自行下載安裝 Python 2.6,注意版本是2.6。<br> 來看 jyutping-schema.txt 文件的內容:<br>{{{<br>Schema/Jyutping = 粵拼<br>Config/Jyutping/Prefix = jyutping<br>Config/Jyutping/Parser = roman<br>Config/Jyutping/AutoPrompt = yes<br>Config/Jyutping/AutoDelimit = yes<br>Config/Jyutping/Delimiter = [ '-]<br>Config/Jyutping/MaxKeywordLength = 6<br>Config/Jyutping/SplitRule = ptkmng aeiou<br>#Config/Jyutping/SplitRule = n g<br>Config/Jyutping/SplitRule = gk w<br>Config/Jyutping/FuzzyRule = ^jyu ju<br># punctuation<br>Config/Jyutping/Punct = , ,<br>Config/Jyutping/Punct = . 。<br>Config/Jyutping/Punct = / /<br>Config/Jyutping/Punct = ? ?<br>Config/Jyutping/Punct = ; ;<br>Config/Jyutping/Punct = : :<br># ...<br>Config/Jyutping/Punct = ' 『~』<br>Config/Jyutping/Punct = " 「~」<br># ...<br>Config/Jyutping/Punct = < 《 〈<br>Config/Jyutping/Punct = > 》 〉<br>Config/Jyutping/Punct = [ 「 【 [<br>Config/Jyutping/Punct = ] 」 】 ]<br>Config/Jyutping/Punct = { 『 {<br>Config/Jyutping/Punct = } 』 }<br># edit keys<br>Config/Jyutping/EditKey = comma Page_Up<br>Config/Jyutping/EditKey = period Page_Down<br>Config/Jyutping/EditKey = I Up<br>Config/Jyutping/EditKey = K Down<br>Config/Jyutping/EditKey = J Left<br>Config/Jyutping/EditKey = L Right<br># ...<br>}}}<br><br>解讀一下此文件的格式:<br>xxx-schema.txt 文件,內含輸入方案的全部選項,由`Key = VALUE`格式的值定義組成。中間的等號要用西文字符,兩邊各一個空格為善。<br>如果Key有重複出現的,則表示該Key對應一個值的序列而非單一值。<br><br>Schema/Xxx = 某某<br>向輸入法登記一個名為 Xxx 的輸入方案。輸入法在內部以 Xxx 為其唯一標幟,而在介面上以「某某」顯示。Xxx 推薦用類似`SomeName`首字母大寫的形式。<br>此役,我複製 jyutping-schema.txt 為 penkyamp-schema.txt,並在後者中把此行改作:<br>Schema/Penkyamp = Penkyamp方案<br><br>接下來所有的<br>Config/Xxx/OptionYyy = zzz<br>為針對該方案的各項設定。如果你是在 jyutping-schema.txt 的副本上做修改,請注意把 Config/Jyutping/ 全部替換為 Config/Penkyamp/ 。<br><br>【注意】如果你自己建立一個文本文件並開始編輯,請確認文件以UTF-8編碼保存。<br>
[ 本帖最後由 佛振 於 2010-1-11 18:24 編輯 ]
Hack, hack...
好。任務的關鍵是這些選項的配置。跟我來。<br><br>Config/Penkyamp/Prefix = penkyamp<br><br>所謂Prefix選項,技術上說是數據庫的前綴,實際意義可以理解為字典名稱。建議用小寫。<br>你想,輸入法裡配置有多種方案的情況下,每種方案像是不同的語言,對輸入的內容會有不同的解釋,所以要指定去查哪一部字典。「方案」和「字典」是多對一的關係。有的方案可以共用一部字典,比如全拼和簡拼,所以可指定相同的Prefix值。但拼寫形式根本不同的話,就要查不同的字典。此役,這裡取一個不同於 jyutping 的名字 penkyamp。<br><br>Config/Penkyamp/Parser = roman<br><br>輸入的解析方式。取值有以下機種:<br>roman 羅馬字方式,即所有拉丁字母組成的不定長拼寫形式,如漢語拼音,粵拼等。<br>grouping 組鍵方式,是指一個音節由固定數目的部分組成,各部分之間可以任意順序輸入,最後有一個終結碼。比如注音,分聲母、介音、韻母,最後打聲調作為終結碼。<br>combo 並擊方式,是指可同時按下多個按鍵的組合,以一次擊鍵輸入一個音節。拙作「宮保拼音」就是一個在標準鍵盤上實現多鍵並擊輸入的小發明。<br>此役,Penkyamp屬於羅馬字拼寫法,用 roman。<br><br>Config/Penkyamp/AutoPrompt = yes<br>Config/Penkyamp/AutoDelimit = yes<br><br>輸入法的行為方式,這兩個選項在網頁輸入法中暫時不用。所以寫不寫都中。<br>AutoPrompt 即時顯示候選菜單,Plume.js的現行版本無此功能,只有擊空格後才出選項。<br>AutoDelimit 拼寫的同時顯示音節切分,幫助操作者看清楚拼式。Plume.js中默認啟用。<br><br>Config/Penkyamp/Delimiter = [ '-]<br><br>這是定義起隔音作用的符號,用來消除拼式解讀的歧義。所有符號放在一對 [ ] 裡。特別是裡面的第一個符號,還被用來自動插入在程序判斷出的切分點,以幫助閱讀。<br><br>Config/Penkyamp/MaxKeywordLength = 5<br><br>所有音節拼式的最大長度。經觀察,Penkyamp 最長的拼式為5個字母,比 Jyutping 要短。<br><br>[ 本帖最後由 佛振 於 2010-1-11 19:44 編輯 ] SplitRule 音節切分規則,指定在音節邊界不明時如何做默認的切分。現行版本的ZIME輸入法均已不用該選項,而是智能處理所有可能的切分方式。<br>不寫。<br><br>接下來是重點!你的智商現在要用上了。<br><br>SpellingRule 和 FuzzyRule,用來對 xxx-keywords.txt 和 xxx-phrases.txt 中的拼式進行變換,從而把原方案轉換為新的拼寫法。<br>變換是由一系列正則表達式替換操作完成的。我把這項技術稱為「拼寫運算」。<br>具體來說,假如原方案中有個拼式為"zoeng",現在我要把它變為新方案中對應的拼式"jeong",對應規則是原拼法的元音 oe 改寫為 eo;原拼法的聲母 z 改寫為 j。我便寫兩條SpellingRule:<br>Config/Penkyamp/SpellingRule = oe eo<br>Config/Penkyamp/SpellingRule = ^z j<br>解釋一下:等號後面是兩個表達式,以空格隔開。前一個是要在拼式中匹配的模式,後一個是要替換掉匹配部份的新內容。<br>這個是程式設計常用的正則表達式,詳見:http://docs.python.org/library/re.html<br>拼式"zoeng"拿來與第一條規則匹配,結果匹配到了 z 和 ng 之間的部份,於是那部份替換為 eo,拼式變為"zeong",再將這個結果與下一條規則匹配。<br>第二條規則中的 ^ 有特殊含義,表示匹配必須發生在拼式的開頭位置,用在這裡強調要匹配聲母z。事實上z也不可能出現在拼式的非啟始位置,所以 ^ 也可不用;但對於聲母 m n g p t k w 就是必要的了。<br>經過替換,"zeong"變成最終合乎新拼寫規則的形式"jeong"。<br><br>接下來還可以施以 FuzzyRule。FuzzyRule 與 SpellingRule 類似,但替換前後的拼式均保留在最終的拼寫法中,於是產生了一組相容的拼寫形式,也可用作拼式糾錯,如:<br>Config/Penkyamp/FuzzyRule = ng gn<br>會得到一組新拼寫形式 dogn togn logn ... gno ...,輸入它們與輸入 dong tong long ... ngo ... 等效。<br><br>倘若經過 FuzzyRule 變換得到的拼式與某個已有拼式相同,則這一拼式可兼表原方案中的兩個拼式,可稱此為模糊音處理。<br>譬如:<br>Config/Penkyamp/FuzzyRule = ^l n<br>Config/Penkyamp/FuzzyRule = ^n l<br>則輸入"la"可列出讀若 la na 的所有單字。反之亦然。<br>Config/Penkyamp/FuzzyRule = ^().*$ \1<br>這個模式裡,有機種正則表達式的特殊符號。<br>[ ] 括起的一組字母,匹配時可任選其一;<br>( ) 起分組作用(見下文);<br>. 代表任意字符;<br>* 代表前面的 . 數量有任意個(含0個);<br>$ 和 ^ 意義相對,表示模式還要匹配到拼式末尾,即該模式必須恰好匹配完整個拼式。<br>替換內容中,\1 代表模式中的第一組 ( ) 匹配到的文字,即聲母 j c s 之一。<br>整個規則的作用是實現以 j c s 代表所有以該字母為首的拼式,即俗稱的「簡拼」;實質上是模糊音的一種。<br><br>為Penkyamp拼寫法,佛振總結出以下一組規則(順序很重要)。<br><br># 以 # 啟始的行為註釋行<br># 我的辦法是以 a' e' o' 表示三組長短對立元音中的短元音,好從元音中析取出短元音因素 ' 來韻尾一起做變換<br># aa -> a ; a -> a'<br>Config/Penkyamp/SpellingRule = aa A<br>Config/Penkyamp/SpellingRule = a a'<br>Config/Penkyamp/SpellingRule = A a<br><br>Config/Penkyamp/SpellingRule = eu$ eau<br><br># e'<br>Config/Penkyamp/SpellingRule = ei$ e'i<br>Config/Penkyamp/SpellingRule = ing$ e'ng<br>Config/Penkyamp/SpellingRule = ik$ e'k<br><br># o'<br>Config/Penkyamp/SpellingRule = ung$ o'ng<br>Config/Penkyamp/SpellingRule = uk$ o'k<br>Config/Penkyamp/SpellingRule = ou$ o'u<br>Config/Penkyamp/SpellingRule = eo o'<br><br>Config/Penkyamp/SpellingRule = oe eo<br><br>Config/Penkyamp/SpellingRule = yu eu<br><br># 用韻尾標示短元音<br>Config/Penkyamp/SpellingRule = ()'$ \1h<br>Config/Penkyamp/SpellingRule = ()'i$ \1y<br>Config/Penkyamp/SpellingRule = ()'u$ \1w<br>Config/Penkyamp/SpellingRule = ()'m$ \1mp<br>Config/Penkyamp/SpellingRule = ()'n$ \1nt<br>Config/Penkyamp/SpellingRule = ()'ng$ \1nk<br><br># 長元音,入聲韻尾改為 bdg<br>Config/Penkyamp/SpellingRule = ()p$ \1b<br>Config/Penkyamp/SpellingRule = ()t$ \1d<br>Config/Penkyamp/SpellingRule = ()k$ \1g<br># 短元音,入聲韻尾仍作 ptk<br>Config/Penkyamp/SpellingRule = '()$ \1<br><br># 聲母<br>Config/Penkyamp/SpellingRule = ^()w \1u<br># 注意順序<br>Config/Penkyamp/SpellingRule = ^j y<br>Config/Penkyamp/SpellingRule = ^z j<br><br># 兼容拼式:z = j, gw... = gu..., kw... = ku..., 但 gu, ku 不能只寫 gw, kw<br>Config/Penkyamp/FuzzyRule = ^j z<br>Config/Penkyamp/FuzzyRule = ^()u() \1w\2<br><br>
[ 本帖最後由 佛振 於 2010-1-11 20:50 編輯 ] 剩下的 Punct 和 EditKey 兩節照抄即可。見上文 jyutping-schema.txt 中的代碼。<br>把作用解釋一下:<br><br>Punct 定義標點符號。有三類:<br>像逗號、句號這類,直接打定義在空格左邊那個鍵盤字符,便得到定義在空格右邊的中文標點;<br>像引號這類,想要用一個鍵 " 輪換打出成對的左右引號,那麼在把左右引號都寫在空格右邊,中間放一個西文字符~;<br>再一種,由於鍵盤上鍵少而標點符號種類多,多的我把他都安在一個鍵上,反覆敲鍵來變換符號,類似用手機鍵盤打英文字母的方法。可能是佛振的獨創喔。<br><br>EditKey 是定義附加的編輯功能鍵。通常用上下左右、PgUp、PgDn來完成光標移動和換頁操作,但這些鍵遠離主鍵盤區,使用不方便嘛,用過 vi 編輯器的都有同感。因為在選字模式下一些符號鍵甚至字母鍵都是不響應輸入的,佛振以為用它們來代替那些編輯功能鍵最好不過了。<br>譬如把逗號、句號映射到PgUp、PgDn,就是很多輸入法的標準配置。佛振更是喜歡以大寫字母 I K J L 替代上下左右,如此在整個輸入過程中手完全不用離開基準鍵位。可能不是獨創;但真的,可以讓你隨心所欲地編輯這組功能鍵。(EditKey 只在ibus-zime中有實現)<br><br>至此,penkyamp-schema.txt 完成了,它和 jyutping-keywords.txt、jyutping-phrases.txt 一起便構成一款新的ZIME輸入方案!<br><br>
[ 本帖最後由 佛振 於 2010-1-11 21:16 編輯 ] 最後一步,編譯新的輸入方案。需要用到 Python 程式語言和輸入法軟件的 data/ 目錄中的工具。<br>把前面製作的三個文本文件放到 data/ 目錄裡頭。<br>在控制台上(Windows用戶請打開一個命令提示符窗口)敲命令:<br><br>cd 輸入平臺軟件Plume.js之所在文件夾<br>cd data<br>python make-json.py -v penkyamp-schema.txt jyutping-keywords.txt jyutping-phrases.txt<br><br>相似地,在Linux系統下為 ibus-zime 配置此款輸入方案,敲:<br><br>cd ibus-zime之所在路徑<br>cd data<br>python create-schema.py -v penkyamp-schema.txt jyutping-keywords.txt jyutping-phrases.txt<br><br>倘一切正常,腳本顯示"done.";再次打開輸入法,voila ! 多出一款新的方案。<br><br>
[ 本帖最後由 佛振 於 2010-1-11 22:01 編輯 ] 佛振完成的Penkyamp方案可在此下載:<a href="http://zime.googlecode.com/svn/trunk/zime-data/jyutping/penkyamp-schema.txt">http://zime.googlecode.com/svn/trunk/zime-data/jyutping/penkyamp-schema.txt</a><br><br>自己製作方案時,如何調試SpellingRule和FuzzyRule?<br>編譯的時候,除了進行拼寫運算,還要依據推算出的拼式來生成整個詞庫。編譯出的結果在一個名為 json/ 的文件夾下。<br>其中 PenkyampConfig.json 文件記載著所有新的拼式與原方案(Jyutping)拼式的對應關係,以及所有兼容拼式(如 zonk)與標準拼式(jonk)的對應關係。<br><br>為查看所有結果拼式是否正確,編譯時在 make-json.py 後添加選項 -k -p,使其略過生成詞庫的冗長過程,僅生成以上文件,並以可讀的格式呈現。<br>待規則定義無誤,再用上文的方法做一次標準編譯。<br><br> 網頁版照理在繁體系統上應該亦可正常使用,本人亦已經證明事實的確如此。自定輸入法方面再行慢慢消化,感謝樓主的工作。
[ 本帖最後由 JUMPSEY 於 2010-1-12 01:00 編輯 ] 原帖由 <i>JUMPSEY</i> 於 2010-1-12 00:58 發表 <a href="http://bbs.cantonese.asia/redirect.php?goto=findpost&pid=168526&ptid=20460" target="_blank"><img src="http://bbs.cantonese.asia/images/common/back.gif" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" border="0"></a>
網頁版照理在繁體系統上應該亦可正常使用,本人亦已經證明事實的確如此。自定輸入法方面再行慢慢消化,感謝樓主的工作。 <br><br>是的,開發時所有資料採用了UTF-8編碼格式,應當能在各主要平臺通行。<br><br>考慮到各位朋友剛剛接觸這輸入法,自定義尚有難度,今已打包編譯好的Penkyamp輸入方案,在ZIME計劃網站提供下載:<br><br>
<a href="http://zime.googlecode.com/files/plume-1.1.zip" target="_blank">http://zime.googlecode.com/files/plume-1.1.zip</a><br>
<a href="http://zime.googlecode.com/files/plume-1.1-data-penkyamp.zip" target="_blank">http://zime.googlecode.com/files/plume-1.1-data-penkyamp.zip</a><br>
由衷感激佛振。是广东人都应该多谢你。
<br><span style="font-weight: bold;">我希望听听 xiss 的意见看看怎么写一个简短的 penkyamp 输入法入门,让所有安装中州Penkyamp软件成功的,但从来未接触过penkyamp的人能够快快手学识用 penkyamp 打汉字。</span><br style="font-weight: bold;"><br style="font-weight: bold;">
<span style="font-weight: bold;">xiss 是一个写方案介绍文的能手,可以帮我开启很多计仔。</span><br style="font-weight: bold;">
<br><br><br><font style="font-family: Impact;" size="6"><a href="http://bbs.cantonese.asia/viewthread.php?tid=20465">http://bbs.cantonese.asia/viewthread.php?tid=20465</a></font><br style="font-family: Impact;"><h2 style="color: Red; font-family: 黑體;"><font size="6"><span class="mw-headline" id="Penkyamp_.E8.BE.93.E5.85.A5.E6.B1.89.E5.AD.97.E8.BD.AF.E4.BB.B6.E5.8F.AF.E4.BB.A5.E4.B8.8B.E8.BD.BD.E4.BA.86">Penkyamp 输入汉字软件可以下载了</span></font></h2><br>
[ 本帖最後由 penkyamp 於 2010-1-13 02:45 編輯 ] 今日更新了軟件。<br>
<br>
Plume.js 2.0<br>
方案定義文件採用了新的規範(<a href="http://code.google.com/p/zime/wiki/ZIMESchemaSpecificationV3">ZIME Schema Specification V3</a>),更加清晰易讀易修改;<br>
完全支持「拼寫運算」機制,基於相同音系的各種拼寫法可共用一套詞庫;<br>
增加了table解析方式,可實現雙拼、形碼連打輸入。<br><br><a href="http://zime.googlecode.com/">http://zime.googlecode.com/</a><br> 我现在用的是fedora 12 64位版本,ibus是系统自带的,make install ibus-zime-3.3 版本时提示「ibus-engine-zime /usr/lib/ibus/ibus-engine-zime找不到,」 修改成「cp ibus-engine-zime /usr/lib/python2.6/site-packages/ibus/ibus-engine-zime「后重启ibus,选项里面可以找到zime,添加后,使用时调不出来,调的时候还卡一小下。。。刚用这个系统,很不熟练,麻烦大家帮下手。 抱歉啦,我这安装脚本一直是以Ubuntu做测试,今查得Fedora的IBus包使用的路径不同:
Ubuntu: /usr/lib/ibus/
Fedora: /usr/libexec/
这需要修改 Makefile 及 zime.xml 两个文件中的相关路径。
如果不介意路径与其他Ibus组件不统一,更快的办法是手动建立目录 /usr/lib/ibus 再执行安装:
sudo mkdir -p /usr/lib/ibus
sudo make install
免得修改文件。
请试试看吧。 恩,搞定了,佛兄好热情啊,输入法也很不错,我正在学习。:victory: