看板 Array 關於我們 聯絡資訊
大家好! 因為內文有點多,因此我先將大網列出來。 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 行。 樣子如下圖: http://i.imgur.com/jKvIFO1.png
因為小弟不熟相關的 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) 選字。 新輸入法不像在香草行列時可以隨鍵值出現待選字,還得自己鍵值輸入 完畢後按空白鍵,才能看到待選字出現。當然,這對於打得熟的字是没 多大問題。問題在於碰到不熟的字時,會增加了傻愣在那裡的時間。還 有就是新輸入法的待選字不像在香草上打的那麼多。這對我這種平均一 秒鐘才打一個字的人而言不是什麼大問題,還能接受。如下圖: http://i.imgur.com/HpelLaG.png
2) 鍵位。 我習慣英打時使用 Dvorak 排列,而非一般的 QWERT。在自製行列輸入 法加入為待用輸入法的時候,它會將鍵值對應為 Dvorak,而不是 QWERT。 如圖: http://i.imgur.com/RKrFjKO.png
但是之前我在 Dvorak 和香草行列間切換的時候,香草行列就自動是 QWERT 的鍵位了。我不需要再另外設定。而自製行列鍵位的卻死咬著 Dvorak 排列不放。我得另外將美式鍵位加入待用輸入法,並完成至少 一次的〔美式-自製行列〕切換,那麼自製行列才會自動排成美式鍵位。 如圖: http://i.imgur.com/sOIwIb4.png
但惱人的問題也來了,當我需要輸入外文時,我習慣用 Dvorak 啊。切 換模式改為〔Dvorak-自製行列〕時,自製行列就又自動排列成 Dvorak。 而 Apple 那個網頁並未教人怎麼修正這種問題,於是,目前為止,我只 成功了半步,有點改心酸了的感覺。目前只能擱在一旁。但對一般美式 鍵位的使用者來說,應該可以勝任平常使用。 我想請問大家,我應該怎麼做才能自如地在〔Dvorak-自製行列〕中切換, 一如我在〔Dvorak-香草行列〕時的切換一樣呢? 寫的有點長,感謝大家能看到這裡。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.51.7.147 ※ 文章網址: https://www.ptt.cc/bbs/Array/M.1447508274.A.93B.html
gontera: 當初在 Mac OS X 10.2 的時代,我就曾製作 array30.cin 11/15 00:11
gontera: 給系統內建的輸入法軟體 (TCIM),可惜有許多缺點沒能解 11/15 00:11
gontera: 決。後來知道有 OpenVanilla 開放源碼計畫後,就完全投入 11/15 00:11
gontera: 協助 OV 開發了。 11/15 00:11
Ice9: 感謝刀兄。我在cin檔的說明處也看到你的更動說明了。 11/15 08:03
gontera: array30.cin 最新版本是0.75,不知你是用哪一版? 11/15 11:17
Ice9: 腦中一下有很多草泥馬飛過……我是用香草1.10.11內的cin檔, 11/16 09:04
Ice9: 裡面顯示的是 v0.52 2008-10-27。不想再繼續改了…… 11/16 09:06
Ice9: 唔,開錯檔了,是v0.70 2012-12-01 香草是1.0.11 2014-10-29 11/16 09:22
Ice9: 好吧,我口嫌體正直,還是會繼續改的…… 11/16 09:24
Ice9: 剛剛再次確認了一下版本,我是用 v0.52改的……版本差太多了 11/16 10:01
gontera: 我 blog 有 0.75 版的連結好請自行下載使用 11/16 19:31
Ice9: 已服用。謝謝。關於鍵盤排列方面的問題,刀兄可有建議? 11/17 08:36
gontera: 如果你是用Dvorak鍵盤,應該得再自己加工cin 11/17 20:52
Ice9: 這方法聽起來非常恐怖。我再想想其他辦法好了。 11/18 17:05