[軟體] 威注音 3.8.0 SP1 維護更新發佈。
威注音輸入法是 macOS 系統下的一款功能豐富的注音輸入法,
且有照顧漢音輸入法的使用習慣。另有磁帶模組可讀入 CIN 表格,
以方便那些需要偶爾敲倉頡/嘸蝦米/五筆的使用者群體。
(有問題請務必直接去 Twitter 給 @vChewingIME 留言,原因見文末。)
本次 3.8.0 SP1 版更新對作業系統要求如下:
● 主流發行版威注音輸入法要求至少 macOS 12。
主流發行版 v3.8.0 僅針對 macOS 14 Sonoma 做過實際運行測試。
● Aqua 紀念版威注音輸入法 3.8.0 要求至少 macOS 10.9 Mavericks。
Aqua 紀念版 v3.8.0 對 macOS 10.9 / 10.13 / 10.14 / 14 做過測試。
威注音輸入法自 3.4.9 版開始又有了一些累積的內容更新。
到目前的 3.8.0 SP1 版為止,相對於 3.4.9 版而言,累積的部分新功能如下:
(內容實在太多,只是揀出一部分來講。完整的更新履歷網址在下文。)
⒈)允許匯入自奇摩輸入法匯出的 TXT 格式的辭典檔案:
● macOS 10.13 開始:輸入法偏好設定有專門的匯入按鈕。
● 也還可以藉由終端機指令匯入。
今後會再對此功能另行設計新的圖形介面交互方式。
● 該功能不會匯入當前輸入法內已有的詞語。
⒉)與 CIN 磁帶模組有關的更新:
● 支援 CIN 2.4 標準(2023年12月21日)。
● 改善了對行列輸入法的支援,特別是「簡碼選字」。
請自行找老刀索取磁帶檔案。
● 磁帶模組會自動判斷當前讀入的磁帶檔案的簡碼選字鍵是否
「得同時摁住 Shift 才能起作用」:只要當前生效的簡碼選字鍵
與「%chardef」當中用到的字根鍵有任何重合,則磁帶模組就會
認定「當前磁帶的全部的有效簡碼選字鍵均得同時摁住 Shift
才可以起作用」。
● 如果因為當前的簡碼選字行為所用到的擊鍵順序「反而會觸發
『%symboldef』章節當中的符號輸入」的話,則此時會臨時
自動要求「摁住 Shift 鍵,簡碼選字鍵才會生效」。典型例子是
「行列30」輸入法在摁「w」鍵之後的簡碼候選字,此時就得用
「Shift+1」選「女」,因為「W → 1」會觸發符號選單「W1」。
● 如果當前載入的 CIN 磁帶檔案包含單獨的「%quick」或
「%flag_disp_partial_match」行、且該磁帶檔案尚未實裝
「%quick begin…%quick end」章節的話,輸入法會自動讓
磁帶模組找出前六十個候選字(單個漢字)作為簡碼候選字。
⒊)打字相關(問題解決&行為變化):
● 聯想詞模式升級為關聯詞語模式;
● 現在起,在沒有開啟逐字選字模式時,也可以使用關聯詞語模式。
在沒有啟用逐字選字時,關聯詞語選字窗的熱鍵為 Shift+Enter。
威注音的關聯詞語模式不會用到內文組字區,但也躲開了
「拿破音字嘗試自動匹配讀音」這種永遠無法正確實作的功能需求。
● 現允許設定最多 10 個選字鍵(之前的上限是 9 個)。
● 針對關聯詞語模式的「Enter 鍵確認漢字」的開關的預設值被
改為「關閉」。另新增 Shift+Enter 備用組合鍵、可以在關聯
詞語模式當中始终確認當前高亮的聯想字詞。
● 解決了單個客體軟體內可能出現的 Shift 中英文切換狀態管理
混亂的情況(例如 MS Excel 和 Safari)。但有個副作用:
在關掉某款 App 之後,輸入法會記住那款被關掉的 App 的
Shift 中英文輸入模式開關的最終開關狀態、直到輸入法被重啟
(或登入登出/重新開機)時才會丟失對於該開關狀態的記憶。
● 威注音現可正確處理 KeyUp 事件,且會刻意忽略一些
以 .command 觸發的熱鍵(包括剪貼簿熱鍵)。
● 針對「漢音鍵盤符號模式」與「區位內碼輸入模式」解決了
「某些有處理過的功能按鍵操作會被漏給客戶端」的故障。
● 解決了在區位內碼輸入模式下無法正確處理方向鍵事件的故障。
● 解決了輸入法在某些情況下會讓某個控制會話「卡死在漢音
鍵盤符號模式」的故障。
● 修改了 Shift 中英文切換功能所用的 Shift 按鍵判定機制。
現在起,該判定模組會要求前後兩個 NSEvent 彼此的
KeyCode 雷同。這會在某些個別使用者的電腦上藉由
「Shift+方向鍵」等按鍵組合時、防止對該中英切換開關的誤觸。
⒋)打字相關(新特性):
● 新增「Ctrl+Shift+Command+[]」作為備用的候選字詞輪替熱鍵。
● 允許在逐字選字模式下以空格鍵遞交當前選字窗內被高亮選中的候
選字。該功能預設啟用,可能會挑戰到威注音輸入法舊版使用者們
的行為偏好,屆時可以藉由輸入法偏好設定來停用該功能特性。
● 波浪符號選單現新增「部首」分類,按筆畫數量做了細分。
⒌)與選字窗有關的更新:
● 因應威注音輸入法的技術發展需求等原因,威注音輸入法移除了
對 IMK 選字窗的支援。詳情請洽輸入法偏好設定內的
「IMK 選字窗去哪裡了?」按鈕。
● 允許以 J / K 鍵在選字狀態下移動組字區的游標。
該功能會使得威注音不再允許使用這兩個鍵作為選字鍵。
● 田所選字窗利用 CoreGraphics 徹底重寫,減少記憶體佔用。
● 田所選字窗不再支援「用滑鼠點擊拖拽的方式移動視窗」。
● 田所選字窗新增展頁功能。當您啟用了田所選字窗的多行/多列
功能時,田所選字窗在剛剛叫出來的時候會以單行/單列顯示,
直到您觸發翻頁/翻行行為的時候才會展開頁面為多行/多列顯示。
這使得田所選字窗在這方面的行為上與微軟新注音輸入法
和 macOS 內建注音輸入法幾乎一致。該特性可藉由偏好設定停用。
● 田所選字窗現會在自身介面重新繪製的時候自動更新視窗的起始
座標點、以應對受反查結果變化而出現的視窗寬度變化。
這有助於避免視窗因此抻出螢幕右側邊界的情況。
⒍)半衰記憶模組:
● 解決了半衰記憶模組在排除過期記憶(或溢出掉最舊的記憶資料)
時的崩潰故障。
● 解決了半衰記憶模組在某些情況下「無法生成正確的三元圖檢索用
字串」的故障。打比方:當你敲「東京都前任知識」且藉由選字窗
將「知識」改選成「知事」的話,此時生成的記憶資料會且
「僅會」在這個詞的後方是「東京都前任」的時候才會生效。
此時「東京都」「前任」「知事」正好組成三元圖(Trigram)記憶。
● 在某些極端個例當中,使用者半衰記憶模組的記憶檔案可能會
出現故障、導致輸入法崩潰。從這一版開始,輸入法在偵測到
這種崩潰時,不再直接移除這類有問題的記憶檔案,而是直接
對這些檔案做更名留檔處理、以便今後的進階偵錯之需。
⒎)其他修正與行為變更:
● 解決了威注音輸入法在繁體中文模式下叫出 macOS 語音輸入時
「只能使用簡體中文語音輸入」的故障。但這個功能究竟能不能
用某種模式的語音輸入,則取決於您的系統的語音輸入偏好設定。
● 在「偏好設定->行為設定」當中新增了一個選項,同時允許:
一、CapsLock 滅燈時連帶關閉以「Shift 鍵 / JIS 英數鍵」控制的
英數輸入模式(要求至少 macOS 12);
二、在藉由「JIS 英數鍵」關閉其所控制的英數輸入模式時,
CapsLock 自動滅燈。
註:CapsLock 亮燈的時候,威注音輸入法無法判斷 Shift 鍵的
單次敲擊行為。
● 在「偏好設定->行為設定」當中新增了一個選項:允許使用者在
打字時讓輸入法忽略掉威注音內建的 Caps Lock 處理。該特性
用來照顧那些早已習慣微軟新注音的行為策略的使用者們。
如果您開啟了這個特性的話,則 CapsLock 鍵在被點滅的時候
是無論如何都不會彈出威注音的飄窗通知的。
● 輸入法通知飄窗的位置做了一些小調整、使之不再遮擋 macOS 自身
彈出的系統通知。這也可以讓使用者不再誤以為「有訊息來了」。
● 有鑑於這十幾年來 macOS 平台經常出現「某些應用在後檯濫用
SecureEventInput API、導致系統內所有第三方輸入法全部罷工」
的情況,威注音引入了一套新的後檯自動掃描機制(每六十秒一次
掃描,會在電腦休眠時暫停掃描)、自動檢查是否有這樣的
害蟲執行緒。當發現有這種執行緒的時候,威注音會自動彈出視窗
告知使用者「就是這個執行緒害得所有第三方輸入法在輸入法選單內
灰掉用不了」。因為威注音有做過沙箱處理(最好的謠言粉碎機),
所以不能替您結束這種害蟲執行緒、只能由您自己藉由活動監視器
(Activity Monitor)或終端機手動結束之。該掃描特性可在
「偏好設定->開發道場」內停用。
● 威注音現照顧逐字選字模式使用者幾十年來的肌肉記憶習慣、
內建了倚天中文 DOS 環境下的ㄅ半注音的候選字順序資料。
任何不受倚天中文 DOS 環境支援的候選字都會排在之後的頁數。
該特性僅影響威注音的逐字選字模式。
● 在輸入法偏好設定內新增了一個功能選項(目前暫時放在
「開發道場」頁面),名曰「強化型組字區安全防護」,
允許對「所有的用來接收文字輸入的客體軟體」一律啟用
浮動組字窗。這可以徹底杜絕任何客體 App 「擅自讀取
內文組字區來用」的可能。欲知詳情者,請洽「純靠北工程師7ci」。
● 在就地加詞、刪詞、控頻的時候,不會在完成任務之後同時
重新載入使用者辭典檔案和語彙排除表檔案,而是按需決定
要重新讀取的資料。
● 在使用者就地加詞、刪詞、控頻時,輸入法不再強制給被修改的
檔案整理格式、而是僅會修復可能缺失的 EOF 標記。
● 在試圖就地新增使用者語彙時,輸入法會先檢查該詞音配對
是否已被登記到詞彙濾除表當中。僅當發現沒被列入(過濾
掉)時,才會新增使用者語彙(或升頻);如果有被列入(
過濾掉)的話,則會先「僅」將該詞音配對從詞彙濾除表
刪除。標記模式當中的工具提示也做了對應的調整。
● 解決了一個與 macOS 14 Sonoma 有關的惡性相容性故障:
如果使用者辭典目錄或磁帶檔案在 iCloud Drive 裡面的話,
在系統剛升級到 macOS 14 之後,威注音輸入法在使用時
會觸發 GateKeeper 機制、系統會詢問使用者「是否允許
威注音存取受 iCloud Drive 管理的檔案」。3.5.4 版更新
解決了輸入法在出現這個畫面時的「系統整個畫面操作
失去響應長達幾十秒」的故障。該故障乃威注音輸入法的
GCD 設計不慎觸發 macOS 一處設計缺陷所使然。
從 3.5.4 版開始,威注音不會再在這種情況下觸發該系統缺陷。
● 從現在起,當啟用語彙置換模式時,在將當前組字區的內容遞交
出去的時候,當且僅當目前的內文組字區剛好是可取代對象的話,
則整個遞交出去的內容都會被置換掉。// 這個特性的觸發條件必
須是「當且僅當」,不然會導致嚴重的效能問題:組字區越長,
效能問題越嚴重,轉換結果也就越容易不可控。
● 將主流發行版特有的「修改使用者辭典檔案目錄」「磁帶模式」
等功能下放給威注音輸入法 Aqua 紀念版,且對 Aqua 紀念版
徹底重做了偏好設定介面(不再依賴 Interface Builder)。
● 輸入法偏好設定視窗的標題列、以及輸入法關於視窗內都會顯示
您當前安裝的威注音輸入法的簽名日期時間戳。這有助於參與
測試的人們弄清楚自己安裝的是哪個版本。如果您安裝的是 Aqua
紀念版的話,關於視窗內還會有「Aqua Special」字樣。
● 輸入法偏好設定的「使用者辭典檔案目錄」以及「磁帶檔案目錄」
的自訂用「…」按鈕迎來一處新調整:當您摁住 Option 鍵
再點這個按鈕的時候,會直接以 Finder 開啟該路徑。
● 如果兩次 setMarkedText() 先後設定的內容雷同的話,則第二次
setMarkedText() 會被跳過執行。此舉是為了嘗試緩解該輸入法
在 Final Cut Pro X 當中編輯字幕時的體驗,因為 FCPX 無法在
編輯字幕的時候忽略掉內文組字區內的內容。
● 允許使用者自訂數字小鍵盤的輸入行為。
此前僅支援「直接遞交半形數字符號」這一種行為;
而現在則追加了五種新的行為選項。
⒏)與可及性(Accessibility)有關的一些改進:
● 新增唸讀模式,可以在注音模式(而非磁帶模式)下
唸出自己敲出的讀音。該功能可用於一些特殊場合,比如
口頭語言表達障礙人士(講不了話的人)可以在做簡報的時候
讓威注音替自己把話講出來……等。
⒐)因應 Apple 在 MacBook Pro 產品線對 8GB 運行記憶體的病態執著,
威注音輸入法全專案針對原廠辭典改採 SQLite 資料庫、將記憶體
佔用從原先的約 120MB 銳減至大約 30MB 以內。
⒑)為了照顧 macOS 14 Sonoma 迄 14.2.1 版為止的上下文輸入法
提示器當中的狗掰倒幹的輸入法圖示顯示效果,威注音臨時更換了
輸入法選單圖示(因為是一條線上的螞蚱)。等到啥時候 Apple
給出官方的開發說明文件、來允許且指導第三方使用者怎樣實作
該圖示的時候,威注音輸入法會再更換選單圖示。
如果你想詳細閱讀每一期的更新歷史的話,可以點選下述網址閱讀:
https://github.com/vChewing/vChewing-macOS/wiki/更新履歷
另附資安聲明:
威注音輸入法僅攔截處理由 macOS 內建的輸入法框架模組傳給
輸入法的 NSEvent 鍵盤事件,且不會往電腦外部送出任何資料。
但會在使用者手動啟用「軟體新版本檢查」的情況下聯網檢查軟
體更新。這是威注音唯一會主動存取網路的情形。
輸入法官方網站暨常見問題解答:https://vchewing.github.io/
輸入法熱鍵指南:https://vchewing.github.io/manual/shortcuts.html
著作權:https://vchewing.github.io/AUTHORS.html
Homebrew-Cask:https://github.com/windwords/homebrew-vchewing
官方 Twitter:@vChewingIME
註:官方 Plurk 停止營運。
作者 Shiki Suen 留言:
因為 PTT 電郵認證僅對特定的大學開放,且人工認證目前
不對外開放,所以作者本人的 PTT 帳號 ShikiSuen 迄今為止仍
無發文之權限。之前有謠言說幫本人貼文的人「是馬甲」,但其實
只是幫作者轉貼文章而已(看其帳號註冊時間就知道)。由於這樣
比較麻煩,所以有要問的內容請直接在 Twitter 留言、或者依輸
入法官方網站給出的電郵地址聯絡作者。直接在這個討論串內留
言詢問的話,可能會被藉由輸入法官方 Twitter 以擷取螢幕的方
式引用並解答,所以歡迎各位關注。謝謝各位。
作者另按:
威注音目前不再受理任何與新的注音排列有關的新增製作請求。
如有對冷門注音排列的需求者,請自費雇用 Swift Cocoa 程式師
幫您把威注音的注拼引擎改得「支援您想要自訂的那種鮮有問津
的原創研究出來的排列」而不是讓威注音的主程式幫您當義工。
您要是想提到政大劉氏注音排列的話,人家劉教授有出過論文;
這邊是與他聊過之後才決定支援的。如果與 1980 年代末期中文
DOS 系統百家爭鳴時代被市場淘汰掉的冷門注音鍵盤佈局有關的
請求的話,您還得負責與當時的廠商溝通、確定那種注音鍵盤佈
局是什麼樣子。有人希望威注音能對某某電腦在改用大千排列之
前的那種注音排列提供支援。這邊卻發現用 Google 根本無法找
到任何資料,只能親自聯絡某某科技確認,且最後才知道當年做
中文系統的人在某某科技已經屈指可數。聊到最後,這邊決定不
對該注音排列提供支援(也還是不知這個排列長什麼樣)。今後
這種溝通差事乃提案者負舉證、調查、與原作者溝通之義務。