最近體驗了一下自然輸入法 v12。

Shiki Suen
6 min readAug 17, 2022

--

是在重灌了的系統下安裝了限時體驗版。藉此文說說看法與建議。

本文僅討論自然輸入法 mac v12.2.1 build 34120。

(下文簡稱 GOING12)

一、偏好設定

GOING12 的偏好設定沒有針對 macOS 11–13 的 toolbar 樣式做變更、導致其偏好設定視窗當中的「其他設定」按鈕無法正常顯示:

這個問題其實很好解決。這是小麥注音的解決方法(credit: Zonble):

我且假定 GOING12 用的是 ObjC,但至少 dev 們看懂 Swift 應該不難吧

修改之後的示範:

然後,偏好設定的排版,也是一門藝術。濫用 titled pane 反而會妨礙識認。但由於 GOING12 用的傳統 XIB 偏好設定視窗在介面調整這方面用 Interface Builder 想必會很麻煩(特別是各種 constraints 調整),就權且當作是給未來 GOING13 的產品建議好了。這是威注音目前的偏好設定排版風格:

左側是給 macOS 10.15 開始的系統使用的 (SwiftUI),右側是給 macOS 10.14 為止的系統使用的 (XIB)

如果已經決定要放棄 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 漢字注音標記功能實作,彼此方法各異。都可以參考。還可以結合鐵恨注拼引擎內建的特種輸出函數、來輸出教科書格式的注音(輕聲先寫、注音後寫)或漢語拼音(聲調在特定韻母上方標注)。

小鍵盤

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.

--

--