寫給 OpenVanilla 等 CIN 輸入法的使用者
本文以 OpenVanilla 1.8.6 版(2026-09-07 版號提交)為比對基準。
本文章節(點擊可跳轉;只想趕快把 CIN 表格搬過去的,請直接看〈怎樣繼承您的 CIN 表格〉一節):
唯音輸入法自 2.9.0 版開始搭載 CIN 表格支援,且將其對應的模式稱為「磁帶模式」。如果您原本用 OpenVanilla 打行列、倉頡、嘸蝦米等字根輸入法,這篇文章就是為您寫的。
磁帶模式支援 CIN 與 CIN2 格式,可以用這種方式給唯音掛接一個字根輸入法來使用(比如五筆、倉頡(包括快倉六)、嘸蝦米,等)。該模式並不推薦用於音韻類輸入的需求場合:如有相關需求者,既然唯音輸入法的注音輸入都無法滿足您了,那麼 RIME 勢必能提供更好的體驗。
您需要自行準備倉頡、五筆、嘸蝦米等字根輸入法的 CIN 表格檔案,唯音輸入法並不提供這些檔案的下載服務。您可以在網路上搜尋相關資源,或者自己用文字編輯器來製作 CIN 表格檔案。
該模式在設計的時候完全沒有參照 OpenVanilla(也沒想過要完全取代之),而是徹底從零考量而生的產物,故其使用體驗與 OpenVanilla 以及其衍生輸入法(行易官方 macOS 版嘸蝦米 X1、X2,等)相比有很明顯的不同。這些不同之處,有些是為了不犧牲唯音輸入法在注音輸入方面的特性、而做出的遷就之舉,而有些則是特色功能設計、卻可能會挑戰到 OpenVanilla 既有使用者群體的敲字習慣(特別是嘸蝦米輸入法的老用戶)。
1. 磁帶
CIN 表格檔案在唯音當中被稱為「磁帶檔案」。唯音輸入法的磁帶模式要求的 CIN 表格檔案得符合相關標準,否則可能會在讀取的時候失效。在唯音輸入法的偏好設定介面內,有專門的磁帶模式選項。根據介面提示操作即可。

當輸入法的磁帶模式已經被指定讀取一個可以正常使用的 CIN 磁帶檔案的時候,可以用 Ctrl+Command+Shift+I 熱鍵來切換磁帶模式的開關。該熱鍵可以在鍵盤設定內停用。一旦開啟磁帶模式,便無法正常輸入注音,直至您關掉磁帶模式為止。
那麼該怎樣快速切換磁帶檔案呢?出於對該功能的實用性的存疑,唯音目前並未設計這種功能。但唯音歡迎與該功能有關的 PR。
2. 相對於 OpenVanilla 而言的功能差異點
1. 字根反查
OpenVanilla 在早期搭載新酷音引擎的時候是有支援字根反查的,但相關版本的軟體無論 Windows 版還是 macOS 版都已經絕版、或無法使用於近年來的電腦系統版本。而 OpenVanilla 現在也只剩 macOS 版本:酷音模組早已不在,而自 1.0 版起、連注音輸入法本身也不再提供(相關職責交給小麥注音)。字根反查自然也不再是它的內建功能——現行版本的變通做法,是另外把 lookup-*.cin 反查表當作一套普通的 CIN 輸入法來掛載。
於是乎,macOS 在長達約十年的時間內缺乏一款可以實現字根反查的 CIN 輸入法:
- RIME 有反查功能,但目前不支援 CIN 表格。
- 哪怕奇摩輸入法有同時支援 CIN 與反查,其反查資料源也無法設定為 CIN 表格。
- macOS 內建的 CIN 表格輸入法功能也無法將 CIN 表格設為反查資料源。
唯音輸入法的磁帶模式自 2.9.2 版開始提供字根反查支援、且在 2.9.3 及其 SP1 版當中對此功能做了使用體驗改良。與 OpenVanilla 的變通做法不同,唯音是把反查整合在選字窗(與符號選單)內:該模式只能搭配田所選字窗來工作,可以在輸入法偏好設定內停用。 
由於 macOS 內建的 InputMethodKit 輸入法開發框架的 showAnnotation 函式自從 macOS 10.13 (或更舊版)開始就變成了空殼實作(函式裡面是空的)的緣故,唯音的字根反查無法搭配 IMK 選字窗來工作。

唯音輸入法 2.9.3 SP1 版開始,所有的字根反查結果的排序有講究:先按照每個反查結果能敲出的候選字的數量來做從少到多的排序,然後根據每個反查結果的字串長度由短到長排序,最後依照 CIN 磁帶檔案內的行順序來排序。
無論您是否有切換到磁帶模式,只要輸入法的磁帶設定內有配置可以正常使用的磁帶資料檔案的路徑,則輸入法會自動載入磁帶、使其服務於字根反查功能。哪怕您在符號選單內,也可以實時瀏覽對應符號的可用的 CIN 字根查詢結果。
2. 最大碼長
OpenVanilla 的最大碼長需要手動指定:它內建一份依檔名猜測的對照表、猜不到時預設為 5,也可以在模組設定內自行覆寫。

而唯音會在讀取 CIN 磁帶檔案的時候自動判定該磁帶的最大碼長。
3. 花牌鍵(萬用字元)
OpenVanilla(1.8.6)把萬用字元做在模組的偏好設定裡(兩個欄位:MatchOneChar 與 MatchZeroOrMoreChar,預設值分別是 ? 與 *)——它不是 CIN 表格自己帶著的設定。
唯音的磁帶格式採用的 CIN2 標準允許藉由 %wildcardkey 字段來指定花牌鍵(萬用字元)。該功能方便輸入「您只記得前幾個字根」的字。花牌鍵自 CIN v2.7 起也可以作為第一個字根來輸入:在組筆區內,它代表一個或多個連續的任意字元(另有一個 %anysinglecharkey 字段代表單一的任意字元)。一旦敲了花牌鍵,那就會自動組字。
五筆輸入法的使用者們可以用這個方法給自己的 CIN 磁帶檔案擴充「萬能 Z 鍵」。嘸蝦米輸入法的 CIN 表格也可以藉此利用閒置的分號鍵「;」。
值得一提的是:哪怕沒有指定花牌鍵,唯音輸入法的磁帶模組也會在讀取 CIN 磁帶時自動生成花牌辭典,因為該辭典還有另一個用途:方便唯音判斷自動組字的時機。下文會細述。
4. 簡碼輸入
如果您的 CIN 磁帶符合 CIN v2.1 標準、實作了 %quick 章節的話,則在尚未完成字根組合的時候、會以一個帶閃電圖示的單行選字窗的方式顯示當前可用的快速簡碼;您可以用方向鍵切換當前高亮選中的簡碼候選字、以 Enter 鍵確認選擇。(OpenVanilla 1.8.6 並不處理 %quick 章節。)
- 如果該章節內有專門用來代表無效候選字的指定特殊字元的話,該 CIN 表格還得實作
%nullcandidate這一行、以便讓輸入法對這種候選字做出正確的行為應對。- 該功能不支援 IMK 選字窗,只能在唯音輸入法使用田所選字窗的時候才可以正常使用。
5. 自動組字的時機
可能各位注意到上圖當中還有「打滿最大組字(或字根)長度就組字」。然而,OpenVanilla 的自動組字時機只有兩種:敲到表格定義的結束鍵(%endkey)、或者字根數量達到它所設定的最大碼長。
唯音輸入法則不同:只要您當前已經輸入的字根已經是最長可能碼,就自動組字。舉例說「窗」的嘸蝦米字根為「nbpc」。OpenVanilla 在您敲完「nbpc」之後,還得手動敲空白鍵才會組字。唯音的話,則會在您敲完最後一個「c」的那一刻就自動組字。但這反而會挑戰到某些嘸蝦米老用戶的習慣,所以他們可以在輸入法偏好設定內關掉這個特性。至於「贏」的嘸蝦米字根「xv」為什麼沒能觸發自動組字,是因為「xv」並非最長可能碼,也就是「還有其它的字的字根以 xv 開頭」。
6. 內文組字區帶來的使用習慣差異
唯音輸入法在使用磁帶模式時,使用者可以自己決定是否啟用「像ㄅ半注音輸入法那樣的逐字選字模式」以及「逐字選字模式下的關聯詞語功能」。對於已經習慣微軟新注音或唯音這樣的依賴內文組字區的注音輸入法的使用者而言,在使用磁帶模式時,可能不太會想啟用逐字選字模式;然而,對於嘸蝦米的老用戶而言,逐字選字模式及其關聯詞語模式反而是建議與磁帶模式一同開啟的模式。
另外,為了不犧牲唯音輸入法的注音輸入的體驗,唯音輸入法的磁帶模式無法在一個漢字完成組字之前「實時顯示含有可用的候選字結果的選字窗」。這一點有異於常見的五筆輸入法、以及 OpenVanilla、還有官方 macOS 版嘸蝦米,也可能是目前唯音的磁帶輸入模式唯一無法照顧 OpenVanilla 老用戶的使用習慣的地方。
3. 怎樣繼承您的 CIN 表格
OpenVanilla 使用者的自訂輸入法表格,通常放在:
~/Library/Application Support/OpenVanilla/UserData/TableBased/
把這些 .cin 檔直接拿去唯音的磁帶模式掛載即可:唯音接受 .cin、.cin2、.vcin 三種格式,您也可以直接把檔案從 Finder 拖進偏好設定「磁帶設定」頁內的指定區域。
⚠️ 唯音的磁帶模式要求表格符合相關標準;少數使用 OpenVanilla 專屬欄位的表格可能需要先整理過,否則讀取時可能失效。
至於使用者片語資料:OpenVanilla 本身並不提供這種機制(沒有自訂詞庫的設計),所以沒有這方面的資料需要搬。
$ EOF.