Windows 通用輸入法

侯捷

2005.01.15


Microsoft Windows 作業系統早已從 95,98, ME, NT2000 演化到如今最普及的 XP,我還是在我的電腦中以多重開機方式安裝了一個 Win98(2nd Edition),並大量使用之。原因無他:需要大量中文書寫的我,需要那個被我長久倚賴的「詞庫輸入法」,而我所使用的「倚天詞庫輸入法」最高只支援至 Win98,再上去就沒了(倚天公司改做股票機,大發利市去了)。Win98 尚能滿足我的眾多工作需要,所以我也就這麼偏安江南了。

所謂「詞庫輸入法」,是指當 user 鍵入一個「由先前被定義之字根」所組成的字串,該輸入法便自動搜尋詞庫內對應的另一個(或多個)字串,並將結果傳送至焦點(input focus)所在的文字視窗。詞庫必須靠 user 一點一滴累積建立。

2005.01.11,我的 Win98 開不了機,只好一方面以 WinXP 開機拯救檔案, 一方面使用另一台電腦上的 Win98 應急。這也使我認真思考,總該想個辦法,不能老倚賴那個已成孤兒的軟體。

多年前,我曾經順利在 Win2000 安裝過「通用輸入法」,這是一個和「詞庫輸入法」差不多的工具,只是沒那麼彈性與方便。經過努力,這次我終於又在 WinXP 裝上了「通用輸入法」。雖然它沒有 Win98 下的「倚天詞庫輸入法」好,至少差強人意。茲將心得整理於後,方便自己也方便他人。

1. 點選【開始->程式集->附屬應用程式->通用輸入法編輯工具

phrase-1.jpg (36067 bytes)

2.  出現以下對話框。精靈第一步驟:填入輸入法名稱(自定)和 .IME 檔名(自定)。
輸入法名稱影響將來螢幕上出現的畫面,例:phrase-17.jpg (1377 bytes)
.IME 檔名影響 \windows\system32 下的檔案名稱(副檔名為 .ime);對 UI 無任何影響。

phrase-2.jpg (23299 bytes)

3. 精靈第二步驟:填入對照表檔案名稱,此檔必須先備妥(稍後解釋其格式),路徑不得帶中文。

phrase-3.jpg (23030 bytes)

4. 精靈第三步驟:填入最大組字字根數。此數字若填錯,安裝不會成功!

phrase-4.jpg (24245 bytes)

所謂最大組字字根數,就是「輸入法識得之字串的最大可能字元數」。如果它是 6,那麼詞庫中的 "compute" 和 "computer" 就會被視為相同。此數與對照表檔案內所設字根數的關係是(關於字根稍後另有解釋):

最大組字字根數 字根數
8 15
7 15
6 31
5以下(含5) 62(全部)

5.  對照表檔案必須是個 pure text file,每行以分行符號隔開。格式如下。一開始是:

phrase-18.jpg (275758 bytes)

這些以 /S 開頭的文字,用來定義所謂的字根,也就是「可被輸入法識別的按鍵」。
第一行表示,設定  A~Z 為字根。注意其中的ABCD...XYZ皆為全型且相鄰。
第二行表示,設定  1~9 為字根。注意其中的12...9皆為全型且相鄰。
第三行表示,設定 0 為字根。注意結束前的那個全型。

經過這三行定義,此輸入法將攔截A~Z(不分大小寫)及 0~9 共 36 個按鍵(字根)。那麼根據先前所說,最大組字字根數將是 5。如果覺得 5 太小造成不便,宜酌量減少字根。例如我習慣只用 26 個字根 (A~Z),於是最大組字字根數為 6。

接續上述的 /S 定義行,接下來是詞庫對照表,格式如下:

/S AABCDEFGHIJKLMNOPQRSTUVWXYZ
dot  。
colon  :
about        大約
about   關於
subtraction   減少
accept         接受
access         存取
access  處理
about      大概

也可以寫成這樣(每個 token 以任意之 space 或 tab 隔開):

/S AABCDEFGHIJKLMNOPQRSTUVWXYZ
dot  。
colon  :
about        大約   關於  大概
subtraction   減少
accept         接受
access         存取  處理   

於是在此輸入法下鍵入 "about" 可得 "大約", "關於", "大概" 三個選擇,稍後示範。

如果最大組字字根數為 6,而對照表中的組字長度超過了 6,沒有關係,但輸入法編輯器會將它(長度超過 6 的組字)截短為 6 個字根,例如對照表中的 "compute" 和 "computer" 會被視為相同。

6. 完成以上各步驟後,在螢幕右下之 "工作列" 中可以看到:

phrase-8.jpg (7199 bytes)

在輸入法 icon 上按滑鼠右鍵,點選其中的設定值】:

phrase-9.jpg (5543 bytes)

出現以下對話框,看到「侯捷輸入法」已被安裝進去。

phrase-10.jpg (41506 bytes)

7. 點選上圖下方之按鍵設定】,出現以下對話框

phrase-11.jpg (27864 bytes)

在捲動視窗中點選「切換到中文(臺灣)- 侯捷」,然後點選右下角之【變更按鍵組合】

8. 出現以下對話框。本例為「侯捷輸入法」選擇了 "ALT+SHIFT+8" 做為快捷鍵

phrase-12.jpg (13016 bytes)

9. 還可一一為所有輸入法以及各種切換設定快捷鍵

phrase-13.jpg (29354 bytes)

* * * * * * * * * * * * * * * * * * * * * * * * *     

現在,全部設定完畢。按下快捷鍵ALT+SHIFT+8便進入侯捷輸入法,此後任何按鍵,只要是先前對照表檔案定義過的字根,都會出現如圖的 "組字視窗"(下圖是 FrontPage Editor 的編輯畫面):


phrase-14.jpg (17519 bytes)

輸入完成後按 space 鍵,螢幕上出現一個 "詞庫小視窗" 供挑選:

phrase-15.jpg (21408 bytes)

按下數字即可獲得對應之字串:

phrase-16.jpg (20494 bytes)

 

注意:如果要添加這個輸入法的詞彙,只能移除後重新安裝。按下圖右側的 [移除] 再重新安裝 :

wpe1.jpg (32675 bytes)

但如果只是這麼做,[按鍵設定] 沒被移除。如果此時將磁碟中相應的 .ime 殺掉,似乎就糟了(但就算留著我也不知道怎麼辦)。我想應該先將原 [侯捷輸入法] 的 [按鍵設定] 改為 [無],然後再移除 [侯捷輸入法](如上圖),然後才重新安裝。未測試.

* * * * * * * * * * * * * * * * * * * * * * * * *     

多年前,老友 wolfgang 曾經為我寫了一個 App+Dll 型式的中文輸入法,此種形式不必安裝,且可動態修改對照表。只因他以 Delphi 撰寫,而我不擅 Delphi,不擅維護與修改(定制),所以多年未用。

以下是三種詞庫輸入法的比較:

  DLL詞庫輸入法 倚天詞庫輸入法 Windows通用輸入法
詞庫被修改後,立刻有效果 o x x
詞庫被修改後,重新啟動電腦時啟用 o o x
詞庫被修改後,重新安裝輸入法才能啟用 x x o
最大組字字根數
(組字長度)
修改程式
便可任意調整
16 受字根個數影響。
最多 8 個。

字根往往最少需 26個,
所以此值往往為 6。

我想罵人的是:為什麼 Windows 通用輸入法不設計為 "每次啟動時讀取" 對照表?又為什麼要嚴苛限制最大組字字根數這都帶給 user 極大不便!自然輸入法中的詞庫(片語)輸入法允許每次載入詞庫,是比較好一些,但其自訂鍵長度(也就是上面說的最大組字字根數)限制為7 bytes,我不知道這種限制有什麼用意!改為 16bytes,帶來的記憶體負擔實在算不上重點。技術上輕而易舉,設計時只要稍微用心就可以改善!

以下是兩個作業系統(Windows98, WindowsXP)的輸入法快捷鍵的比較:

98 XP
(舉例)可設為 Alt+8
(舉例)需設為 Alt+Ctrl+8
三鍵真的比較不好按!

■為備份 emails,找出了 emails 的儲存地點:

Windows 98 :
C:\WINDOWS\Application Data\Identities\{F4631D60-2BDE-11D8-A494-E449D7DED64D}\Microsoft\Outlook Express

Windows XP :
D:\Documents and Settings\USER\Local Settings\Application Data\Identities\{5502D119-F9C0-461B-9FB2-9ECB3E9BAFFB}\Microsoft\Outlook Express

這兩個目錄內的每一個 .dbx 檔代表收件匣下的一個子匣。例 "robert.dbx" 內含 "收件匣\robert" 子匣內的所有 emails。

■為備份聯絡簿(address book),找出了其儲存地點:

Windows 98 :
C:\WINDOWS\Application Data\Microsoft\Address Book

Windows XP :
D:\Documents and Settings\USER\Application Data\Microsoft\Address Book


後記:(感謝志友電腦 03-5728542, 邱工程師)

■經詢問,得知雙系統安裝方式有兩類,一類是雙系統共用同一個開機模組,另一種是各自使用各自的開機模組。我屬於第一種;這種方式由 Windows 自行管理雙系統。如果是第二種方式,則需要一個「多重 OS 管理器」。

開機後出現選項:
1. Microsoft Windows XP Home Edition
2. Microsoft Windows 

選擇 2,按下 [Enter] 後快速按住 F8,便進入另一畫面,選擇其中的 (5) command Prompt Only [Enter],於是進入 C:\>。鍵入 \windows\command 後鍵入 scanreg / restore <Enter>,出現一個表格,選擇其中某一日期(最新的那個日期往往就是最後一次正常開機的日子。每個日期對應一個 rb003.cab 之類的檔案)。按 [Enter] 讓系統回復。有時候可成功,有時候會失敗(如果情況嚴重的話)。我成功了,所以一切恢復正常 :)

--- the end