Saturday, January 31, 2004

令人抓狂的 Panther 倉頡輸入法

Mac OS X 升級到 Panther 之後,支援了 HKSCS 編碼,這種編碼與 Big 5 相容,但是支援許多 Big 5 不支援的漢字以及中國大陸所頒訂的簡體字。在 Panther 裡,使用系統所附的倉頡輸入法就可以打出這些原本打不出的字,比方說,用「田一土戈」可以打出簡體的「国」這個字。

但新版的倉頡輸入法卻充斥著嚴重的程式錯誤(也就是 bug)。在輸入一組倉頡碼並按下空白鍵後,只要該組倉頡碼對應超過一個字(也就是所謂的重複字,多個字的倉頡碼正好相同),再緊接著輸入另一個字就會出現問題。情況可能有下列幾種:
  1. 出現亂碼。還好通常在一連串亂碼後,按下 return 鍵,正確的字仍會被輸入到文章裡。
  2. 不會出現亂碼,但不選字就無法繼續打字,不會自動選取第一個字。
  3. 不會出現亂碼,但不選字而繼續打字時,打的倉頡碼不會顯示出來。
  4. 花很長的時間讀取怪異的字元。
  5. 文字消失。例如打一個逗號,不選字,再打兩個其他的字,這兩個字的第一個字會消失,其前方也留下一個半形的逗號,而非應該打出的全形逗號。
  6. 有時出現亂碼後,若不理會亂碼繼續打下一字而此字的倉頡碼打錯,則可能無法用 delete 鍵將之前所打的碼(包括亂碼)刪除。此時使用者可能會先按 return 鍵先將已打的文字(通常是亂碼)輸入文章,但輸入後繼續打字就可能會發生打出的字不出現在游標的位置,或甚至導致正在使用的應用程式當掉。(通常是 Carbon 程式。)
  7. 有的字根本打不出。例如在許多 Carbon 程式裡打「卜竹一月金」然後選 2 也無法打出「顏」這個字。

以上情況可能在 Cocoa 程式較不明顯或不會發生,但在許多 Carbon 程式裡就經常出現。

另外,對於重複字的處理也存在著不一致的現象。在輸入有重複字的倉頡碼時,有時其重複字會全部列出來讓打字者選擇,有時卻又不列出,而必須由打字者在倉頡碼最前方加打一個「X」(重)來打出。

可以想見,由於此版倉頡輸入法支援非常多的繁簡漢字,因此有更多的字具有相同的倉頡碼,而上述的 bug 就成了極端擾人的問題。

還有,若是按 shift + ~ 再按 tab 來叫出符號表,並且按數字鍵選擇一個符號時,在 Cocoa 程式裡實際打出的是其他不相干的符號;而在 Carbon 程式裡,這些符號會被下一個字覆蓋掉。

這就是蘋果給我們的倉頡輸入法。它傷害了我這個倉頡輸入法使用者對蘋果產品的信心。

本文同步刊登於符號工作站