最近一直在linux下工作,使用的是ubuntu版本的linux。各項工作都可以進行,ubuntu下的scim輸入法很是不錯,自帶了五筆、拼音等輸入法。然而以前在windows系統的時候一直是用萬能五筆或是極點五筆的。萬能五筆最方便的地方就是當遇到不會打的字可以直接采用拼音輸入法,而不需要切換到拼音輸入法。現在在linux下的scim的五筆就沒有這樣的功能,每次遇到實在是打不出來的字,都要切換到拼音輸入法下去打字,很是麻煩。在網上也找了很久,沒有找到理想的輸入法。想起幾年前自己就做過windows下的拼音五筆,試想在linux下也應該可以。嘗試制作了一下,終於可以使用了。
首頁要有拼音及五筆兩種輸入法的碼表
一、拼音碼表
1、在windows系統下
我采用的是windows下的全拼碼表,因為我沒有找到智能ABC拼音的碼表,只好采用了全拼碼表。得到windows的全拼碼表並不難,可以通過windows自帶的碼表生成器來完成。運行IMEGEN.EXE程序,將 WINPY.MB 逆轉換成winpy.txt文件。這樣就得到了拼音的碼表文件。這只是windows格式的碼表文件,如果想被scim采用,還需要轉換成scim格式。
2、在linux系統下
通過mb2scim工具可以將 winpy.txt 文件轉換成scim格式的碼表文件。下載地址:http://down.csdn.net/html/2006-09/21/159348.html
解開mb2scim工具後,進入到mb2scim,執行下面的命令:chmod +x mb2scim。將mb2scim設置為可執行文件。
然後再執行:./mb2scim WINPY.TXT winpyx.txt。這樣就得到了支持scim格式的拼音碼表文件winpyx.txt。
二、五筆碼表
獲取五筆碼表文件很簡單,只要將scim內的五筆碼表轉換出來就行了。進入SCIM碼表存放的目錄:/usr/share/scim/tables,執行scim-make-table Wubi.bin -o Wubi.txt。這樣就得到逆轉換後的五筆的碼表。
三、合並碼表文件
在linux下用gedit分別打開拼音碼表文件winpyx.txt 及五筆碼表文件 Wubi.txt,將winpyx.txt內的內容整合到Wubi.txt文件中。
將winpyx.txt文件中:
BEGIN_CHAR_PROMPTS_DEFINITION ....要復制的內容... END_CHAR_PROMPTS_DEFINITIO
內容復制到Wubi.txt的這個區域,建議放到END_CHAR_PROMPTS_DEFINITIO這一行的前面。將winpyx.txt文件中碼表正方區域:
BEGIN_TABLE ....要復制的內容... END_TABLE
內容復制到Wubi.txt的這個區域,建議放到END_TABLE這一行的前面。
四、復改Wubi.txt文件的UUID的值
在終端執行:uuidgen。將得到一個文本串碼,將這個串碼替換掉Wubi.txt文件中的UUID的值。請將 MAX_KEY_LENGTH的值改為12,原來是4。改過就可以打多個字了。
五、修改輸入名稱及圖標
可以將ICON、NAME、NAME.zh_CN 等值改成你想要起的名字。
六、生成scim的輸入法可執行碼表文件
完成上面五個過程,你的拼音五筆輸入法基本上就是完成了。這個時候只要將執行:scim-make-table Wubi.txt -b -o /usr/share/scim/tables/XWubi.bin。就生成了拼音五筆輸入法。重啟x-window,試一下吧,系統中就多了一個可以輸入五筆,也可以輸入拼音的拼音五筆輸入法了。