大家好!
因為內文有點多,因此我先將大網列出來。
1、前言
2、做法
3、問題
==前言==
數個月前,從 Mac 版版主那兒得知 Mac (Yosemite) 中可以自製表格式的
輸入法。因此小弟便動念將 OpenVanilla 中的 Array30.cin 檔,依據
Apple 官網指示,
https://support.apple.com/kb/PH18456?locale=en_US
更動為符合要求的樣式。以後或許可以在增加讓蘋果內建行列的可能性。
==做法==
因為原檔有約 81000 行的資料,在我的老電腦上使用任何的純文字編輯器
都打不開,程式當場當給我看,只能強制關閉。所以,我改用 Terminal 以
Vim 打開並編輯。
首先是將原來表格檔中的說明給刪除,只留下 %chardef 中間的定義區內
容。然後,再以 vim 排序指令讓整個檔案依內建的規則排列,這樣才能知
道哪些地方要更動。
由於要將原本許多行、相同輸入鍵值的對應字縮成一行,並以 comma(,) 分
隔輸出的中文,我只會一行行地手動將多行併為一行。除非是五行以上相同
key 的字,才會用到 vim 的取代功能以加快編輯速度。前後大約花了一個多
月的空閒時間才弄完。最後大約有 65000 行。
樣子如下圖:
因為小弟不熟相關的 License,所以在把原來的說明 (%gen_inp 和 %ename
之間的內容)重新塞回去之後,只加上我簡單的更改說明。如有未盡之處,
還請指教。
依照 Apple 的說明,OS X 也支援 cin 檔格式的輸入法表格。我原本還以
為,只要單純地讓電腦吃 OpenVanilla (1.10.11) 中的 Array30.cin 就可
以了。結果根本不可行。所以,才會有以上的麻煩事。
除了將多行併一行,還得以官網說明增加必要文字,並刪除原始 cin 檔中
的諸多定義之外,只單純在這時候將內容另存成新的 cin 檔還不行——我就
不曉得官網所謂能吃 cin 格式到底是什麼意思——得要將副檔名改成
inputplugin,而且將編碼改成 utf-16。否則,OS X 中預設要處理輸入法表
格檔的 RegisterPluginIMApp 程式根本就不處理它。
更動方式是按照網路上其他人建議的 Terminal 下 iconv 指令更改。
==問題==
1) 選字。
新輸入法不像在香草行列時可以隨鍵值出現待選字,還得自己鍵值輸入
完畢後按空白鍵,才能看到待選字出現。當然,這對於打得熟的字是没
多大問題。問題在於碰到不熟的字時,會增加了傻愣在那裡的時間。還
有就是新輸入法的待選字不像在香草上打的那麼多。這對我這種平均一
秒鐘才打一個字的人而言不是什麼大問題,還能接受。如下圖:
2) 鍵位。
我習慣英打時使用 Dvorak 排列,而非一般的 QWERT。在自製行列輸入
法加入為待用輸入法的時候,它會將鍵值對應為 Dvorak,而不是 QWERT。
如圖:
但是之前我在 Dvorak 和香草行列間切換的時候,香草行列就自動是
QWERT 的鍵位了。我不需要再另外設定。而自製行列鍵位的卻死咬著
Dvorak 排列不放。我得另外將美式鍵位加入待用輸入法,並完成至少
一次的〔美式-自製行列〕切換,那麼自製行列才會自動排成美式鍵位。
如圖:
但惱人的問題也來了,當我需要輸入外文時,我習慣用 Dvorak 啊。切
換模式改為〔Dvorak-自製行列〕時,自製行列就又自動排列成 Dvorak。
而 Apple 那個網頁並未教人怎麼修正這種問題,於是,目前為止,我只
成功了半步,有點改心酸了的感覺。目前只能擱在一旁。但對一般美式
鍵位的使用者來說,應該可以勝任平常使用。
我想請問大家,我應該怎麼做才能自如地在〔Dvorak-自製行列〕中切換,
一如我在〔Dvorak-香草行列〕時的切換一樣呢?
寫的有點長,感謝大家能看到這裡。