自己當倉頡:打造自己的輸入法
肇始
先前在網路上閒逛時,找到一個以倉頡輸入法為基礎的「鯨魚輸入法」,其基本規則是把常用的兩個字的詞彙,取每個字的頭、尾碼來組成四個字的字碼,「例如」這兩個字以倉頡取字時要輸入:
OMNN (例) VR (如)
不含組字的空白鍵的話共需6碼(含空白的話是8碼),若使用鯨魚輸入法則只需4碼(含空白是5碼):
ON (例) VR (如)
這種由拆字變成組詞的方法可以快速提昇輸入文字的效率,需要的碼越多則節省的按鍵越多,而且對於已經熟悉倉頡輸入法的人來說,不用學習馬上就會使用,可以立即享受其飛快的速度。但是,鯨魚輸入法已是多年前的產品,據我所知也不再有人維護,輸入法中的一些錯漏也無從增補或修改,這些問題頗令人傷腦筋。
剛巧侯捷大師公布了他使用Windows 2000的通用輸入法的一些步驟與技巧,令我興起嘗試自行仿造鯨魚輸入法規則來建立自己輸入法的念頭,目標當然是設置更符合自己使用習慣的輸入法,進而能在寫文章時有更高的產能。
通用輸入法編輯工具(Uimetool,Universal Input Method Editor tool)
通用輸入法在Windows 2000以上的視窗系統是透過Uimetool.exe這支執行檔來運作的,最簡單的方法是由「程式集→附屬應用程式→通用輸入法編輯工具」啟動,或直接執行"C:\Program Files\Windows NT\Accessories\Uimetool.exe"。
要執行Uimetool之前要先準備好「對照表」,此對照表主要是用來建立字根與其組字結果(詞組)的關聯,字根與詞組之間至少空一個空白,最後再以換行符號結尾;若一個字根有數個詞組,詞組間以空白隔開,則在輸入時會出現選字視窗供你挑選,例如:
A 日 曰
ABJJ 暉 暈
為了方便輸入,我們可以把自己覺得最快的字根拿來使用(用英文單字最方便了):
WHAT 什麼
HOW 怎樣
PC 電腦 個人電腦計算機
依此方式將對照表建立起來,就能讓Uimetool為您產生您自己的輸入法了。哇!重頭建起至少一萬三千個字根/記組,那可是個超大工程呢。別擔心,完整的第五代倉頡輸入法對照表可以由倉頡之父朱邦復先生的「朱邦復工作室」網站下載對照表http://www.cbflabs.com/tec/cbflabs/cjworld/cj5.zip 。
下載回來的cj5.zip解開後,開啟對照表cj5.txt看看,咦?第一行好像格式和上面說的不太一樣,仔細觀察,/S A後面不正好是倉頡的拆字字根嗎?
/S A日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜重
字根設定列
/S A這行就是用來設定您的輸入法使用的字根,也就是在拆字時顯示出來的符號
字根設定列的格式必須以/S開頭:
/S 一或多個半形空白 半形按 拆字時顯示出來的全形字根
倉頡碼的「A」鍵顯示的字根是「日」,因此設定成:
/S A日
注音輸入法的「A」鍵顯示的字根是「ㄇ」,因此設定成:
/S Aㄇ
為了簡便我們可以在一行內依其ASCII碼順序連續指定字根,例如:
/S A日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜重
以上由「日」開始恰為ABCD...一直到WXYZ共26個連續的英文字母,與倉頡在鍵盤上的順序對應。
我們也可以將經常使用的全形符號(如逗點,句點,頓點等)拿來當做字根,以方便在中文輸入模式下能以單鍵+空白就將符號拆出:
/S ,,
/S .。
/S ;;
/S ::
加入這4行則多了四個字根:, . ; :
除了加此4個字根外,當然也要設定字根與詞組的關聯,屆時拆字時才能找到對應的詞組:
, ,
. 。
; ;
: :
修改對照表
由朱邦復工作室下載回來的cj5.txt有些拆字版本上的差異,cj5.txt是第五代倉頡輸入法,和Windows 2000用的有些許差異(Windows好像是第六代的?不甚了解),因此在產生輸入法之前必須先行修改如下表(部份):
-
字 第五代倉頡 第六代倉頡 作 OOS OHS 應 IOGP IGP 怎 OSP HSP 面 MWSL MWYL 舊 TZX TOGX
加入速成輸入法的頭尾碼
cj5.txt內只有標準的倉頡碼,類似現行Windows倉頡輸入法用 頭碼 * (Shift+8) 尾碼的簡易(或稱速成)功能是無法達成的,因此我們再由http://www.ied.edu.hk/apfslt/issue_1/cim/input2.htm 下載其sciime.txt,該檔最後面以點開頭的就是速成碼,將點開頭各列複製到cj5.txt即可讓準備中的新輸入法具備速成功能。為了和以前的按鍵順序相同,我們將點移到中間再換用Z鍵(因為並未將星號當成字根,因此星號無法拿來組字,另外星號要同時按兩個鍵也不如Z鍵方便):
.ha 白 昏 徇 香 舶筍 箔 簡 → hza 白 昏 徇 香 舶筍 箔 簡
產生輸入法
對照表建立完畢後,便可以開始以Uimetool來產生輸入法了。
1.首先指定輸入法的中英文名稱;中文名稱使用在「文字服務和輸入語言」的輸入法設定視窗,英文檔名則是輸入法檔案名(只能8個字元,副檔名個定為.IME)。另外,中文名稱的第一個字會被當做中文輸入模式的提示字元(在『半』或『全』左側的字元,如)
2.指定對照表檔名。
3.指定最大字根數,亦即字根的最多數目,例如:「AFMBC 顯」就是5,若有更多拆字的,就要變更其數值。
4.如果看到下面畫面,恭喜您,您的個人輸入法已經出爐了。
5.接著便是到輸入法設定視窗去調整設定值了,在此不再贅述。
新增字根/詞組後如何使之生效?
如侯大師所言,除了重新安裝外似無其他辦法可施。重裝的簡便步驟如下:
-
先在輸入法設定中將舊的輸入法移除。
-
重新執行Uimetool:英文檔名必須使用與舊檔名不同的名稱
-
重新指定增修過的對照表
照此步驟便能產生新的輸入法了,重開機後再將舊的英文檔名.IME刪除。
重設自訂輸入法的顯示順序
剛剛使用Uimetool加進去輸入法清單的自訂輸入法會被排列到最後面,每次開機後切換到自己的輸入法都要額外的操作(按Ctrl-Shift或以設定好的快速鍵切換),輸入法設定又沒有自行排列的方法,而預設的輸入法排列則是以輸入法名稱為順序,因此只要變更輸入法名稱便可以重新排序我們的輸入法到最開頭了。
我們必須透過regedit.exe來修改輸入法名稱,找到下列機碼與輸入法項目後直接修改名稱,輸入任意的半形符號就能將之移到第一個位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
如上例我們將輸入法名稱由”測試”改成”*測試”,新的排列結果如下:
結語
如此大費周章的另建一套輸入法到底划不划算?這可很難估計。不過,至少常用的全形符號、常用詞彙等的輸入確實是方便多了。當個人詞庫越建越多時,輸入的效率會更加提昇的,或許能有到達『筆隨意走』的一天呢。
參考
##
您可能也會有興趣的類似文章
- [Tools] IMETool: 變更輸入法排列順序與Hotkey (0則留言, 2005/03/04)
- 安裝通用輸入法編輯器以擴充Windows 7 輸入法 (3則留言, 2011/11/20)
- 在iPad快速輸入大量中文的軟體:zhim! extended (0則留言, 2011/08/06)
- Secrets of Firefox 1.0 (1則留言, 2005/01/15)
- FireFox 2.0的問題… (4則留言, 2006/12/16)
- FireFox擴充:Colorful Tabs與Adblock Plus (0則留言, 2006/09/16)
- OpenOffice.org 2.0.3正式版似乎解決了新注音輸入法的問題了 (0則留言, 2006/07/09)
- 鯨魚輸入法測試 (0則留言, 2004/12/25)
- 用WordPress的WPtouch外掛顯示iPhone與HTC Touch HD的精簡樣式[修訂] (0則留言, 2009/02/02)
- [介紹] DICT.TW 線上字典 (2則留言, 2007/10/29)
- [轉貼聯合報] 倉頡輸入發明人 隱居澳門深耕中文電腦 (0則留言, 2005/08/11)
- Pentadactyl的事件觸發命令:autocmd (1則留言, 2010/11/21)
- MPV 輔助語言學習的小技巧~常用按鍵彙總與A/B Loop操作 (0則留言, 2021/06/22)
- 五指操控Firefox的「仿Vim」擴充套件: Vimperator/Pentadactyl (7則留言, 2010/11/18)
- [FireFox] del.icio.us, Furl toolbar (0則留言, 2005/03/21)
Windows 的倉頡是三代,這是最廣泛被使用的版本。
朱邦復先生的最新倉頡公開版本是倉頡五代。
在這裡可以下載到 cj.cin (三代) cj5.cin (五代) 的對照表:
https://github.com/lukhnos/openvanilla/tree/master/DataTables
在這裡可以查詢【倉頡】(三代)及【倉頡五代】的字根:
http://dict.tw/index.pl?Form=index.pl3&Database=input
感謝分享。可以試看看小小輸入法。
哈哈,軟體開發是我的本業啦。Blog內寫的都是工作中累積的一些經驗與心得。可能年紀較長,從DOS到Windows到Unix都有涉獵,嗯,科技是變得很快的,如果不是興趣,應該很快就陣亡了。
不好意思,因趕時間,感覺留言的方式及文字不是很好,敬請見諒!!下次改進!!wish happy!!!不知道你是從事何種工作,感覺你好像對有關電腦的事全部都研究,只是…覺得?電腦領域那麼廣,….還是專一於自己最有興趣的才好….因為我是資管出身的,感覺你的學習方式跟我當初一開始一樣,只是總覺得這樣子學下來的結果,感覺好像懂很多,但卻…..不實!!!或許你可能是興趣吧!!!或許我的經驗不會發生在你身上吧!!總之,加油唷!!!
如果要用手寫的話,那不如好好花時間,一天小時去練習打字,相信一兩個月下來可以進展到四五十個字,總比手寫不到幾個字來的好吧!!畢竟,打字這種能力,差十個字,差二十個字,差三十個字,電腦使用的效率就會差很多,是會差好幾倍的,以我自己來說,一篇一百多字的文章,我來敲是一兩分鐘就完成,但注音的人卻要敲五六分鐘,而且還可能同音異字一堆!!只是現在的人不願花時間,只好注音一個一個敲,實在無法體會到打字快的人所享有的優點!!語音會吵到人,當然它有它的限制,甚至每個人都要建立自己的語音資料庫!!到別台電腦還需要轉移及安裝!!…anyway,如果真的工作離不開電腦,不管學那種輸入法(最好是倉頡:不會忘),都要將自己的速度提升至少40-50,能夠愈快當然愈好!!不過我可能忘了一點沒說的,那就是練過中打的我,是有先練過英打的,所以鍵盤位置都很熟悉!!反正我覺得就是醬子!!
語音輸入在辦公室裡好像不太方便,會吵到同事。印象中它的辨識率似乎不高? 手寫輸入法也是可能的另一個選擇吧。
對於一般沒有接受打字訓練(練家字),或者是練過之後沒有一直再使用….等"打字不熟"的人來說,大概一分鐘在20個字以下的人都是如此!!我想,不應該再利用"鍵盤"這項工具來輸入,應該改變思維模式….而改用"語音"輸入法!!使用過ibm的語音軟體的我,大概訓練三天再加上習慣之後,很快的一分鐘可以達到三十個字以上,當然一半時間都在修正錯誤.如果一星期或者是一個月的訓練,應該可以到達五十個字!!如果你曾看過資訊月的示範人員在跑步機上,也能夠一分鐘七八十個字的速度!!並且沒有什麼太大的錯誤!!因此,與其建立自己的輸入法,還不如建立自己的語音輸入法資料庫,讓語音系統更了解你的發音,更能夠愈快地輸入正確的字!!只是,練習語音對很多人來說,不知道是不是將它當成小完意,還是看不起它,總是不願意去練習,總相信自己的手打速度絕對夠力,或者是寧可花更多的時間精力去做別種輸入法的加速速度?字辭,關聯字….因為自己練過打字(現為90/分),所以才知道打字的苦,老實講六十個字都還太慢!!唯一能夠在短時間改善打字速度的,就是語音了!!當然,輸入還是要透過手的啦!!打字也要想法子到一定的速度,否則…真是有口難言(指發表文章)!!覺得電腦不好用呀!!最後,讓我想起同學所練習的倉頡加強版"快倉",從原本平均四五碼的拆字,變成2~3碼.如此一來熟練之下~,~速度又快了!!破百了!!所以,與其建立自己的輸入法,可能的話,在原有的習慣的輸入法下,再改良即可!!ps:語音輸入法一套990-1500!!