最近體驗了一下自然輸入法 v12。
是在重灌了的系統下安裝了限時體驗版。藉此文說說看法與建議。
本文僅討論自然輸入法 mac v12.2.1 build 34120。
(下文簡稱 GOING12)
一、偏好設定
GOING12 的偏好設定沒有針對 macOS 11–13 的 toolbar 樣式做變更、導致其偏好設定視窗當中的「其他設定」按鈕無法正常顯示:
這個問題其實很好解決。這是小麥注音的解決方法(credit: Zonble):
修改之後的示範:
然後,偏好設定的排版,也是一門藝術。濫用 titled pane 反而會妨礙識認。但由於 GOING12 用的傳統 XIB 偏好設定視窗在介面調整這方面用 Interface Builder 想必會很麻煩(特別是各種 constraints 調整),就權且當作是給未來 GOING13 的產品建議好了。這是威注音目前的偏好設定排版風格:
如果已經決定要放棄 macOS 10.14 為止的使用者群體的話,SindreSorhus 在 GitHub 公開提供的 preferences 與 defaults 這兩款 swift package 會非常有用。前者用來迅速製作偏好設定畫面,後者用來管理使用者偏好設定內的各種參數資料(UserDefaults)。
哦對了還有:請一定也在 1024x768 螢幕解析度下做介面尺寸測試:
可以拆分成好幾頁,也可以考慮將頁面內容做成可以捲動的形態。
二、審音相容性
自然輸入法的審音相容性有待改善,至少應該允許使用者自行對單個漢字擴充審音(比如「在 ㄗㄞ˙」)、允許批次自訂語彙、允許插入高萬字(high-unicode kanji character)。只用現成的自訂語彙功能的話,會被要求每個詞至少兩個字。
三、支援更多的注音排列與拼音輸入種類
這裡隆重推出威注音獨家的鐵恨注拼引擎、採 MIT-NTL 授權協議釋出:vChewing/Tekkon: 鐵恨引擎是用來處理注音輸入法並擊行為的一個模組。 ,有 C++17 / Swift / C# 版本可用。由於 Objective-C 可以直接藉由 Objective-C++ 使用 C++ 的內容,所以 Objective-C 版本欠奉。
- 支援的普通注音排列有:大千傳統 (微軟標準/王安/零壹/仲鼎/國喬) / 倚天傳統 / IBM / 神通 / 精業 / 偽精業
- 支援的複合注音排列有:倚天忘形二十六鍵 / 許氏國音自然排列 / 星光排列 / 酷音大千二十六鍵
- 支援的拼音輸入種類有(會在內部自動實時轉為注音來處理):漢語拼音、國音二式、耶魯拼音、華羅拼音、通用拼音。
如果 GOING12 是在用 OVMandarin 的話,那麼換用鐵恨注拼引擎應該不會太難。README.MD 內有寫了一些示範用法。
四、網頁 RUBY 漢字注音標記
威注音(macOS)以及小麥注音(Linux)都有各自的網頁 RUBY 漢字注音標記功能實作,彼此方法各異。都可以參考。還可以結合鐵恨注拼引擎內建的特種輸出函數、來輸出教科書格式的注音(輕聲先寫、注音後寫)或漢語拼音(聲調在特定韻母上方標注)。
- 小麥 Linux FCITX 5 (credit: Zonble):https://github.com/openvanilla/fcitx5-mcbopomofo/blob/9706056d9fde8986f2f867dc424d1567bdeac7de/src/KeyHandler.cpp#L268-L293 (尚無教科書格式支援;需要敲 Ctrl+Enter)
- // 小麥的範例:讓注音輸入法支援 HTML 的 Ruby 標示 — zonble
- 威注音:https://github.com/vChewing/vChewing-macOS/blob/345c03db47ba5a712402fd2e254407bcd969d16d/Source/Modules/ControllerModules/KeyHandler_States.swift#L359-L393 (需要敲 Ctrl+Option+CMD+Enter)
- 相關標準:Bopomofo on the Web (r12a.github.io)
小鍵盤
GOING12 的小鍵盤會在 JIS 鍵盤的情況下敲出注音。JIS 鍵盤的數字小鍵盤會多出一個西文逗號按鍵(keyCode 是 95),也是需要處理的對象。總之,想不讓小鍵盤參與組字的話,將這些 keyCode 排除掉就好:
[65, 67, 69, 71, 75, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 95]
P.S.: macOS 模擬鍵盤可以使用自訂面板的功能來模擬 JIS 鍵盤與英國鍵盤。
結語
暫時先只講這四點。也歡迎 GOING 的 dev 們嘗試一下威注音,發現自己好用的功能可以考慮自己實作一下(畢竟各自的組字引擎應該不一樣吧)。比如像是微軟新注音 2003 首創的「用 shift+方向鍵選擇範圍,再摁 Enter 就地加詞」的功能(非漢音首創,與漢音無關。漢音的操作方式完全不一樣)。
$ EOF.