有些事情不寫下來,大概就要被時間湮沒了。不過,就算寫了下來,大概還是被時間湮沒。
前陣子在整理一些舊東西,看到在 OpenVanilla 專案中,躺著一個印象中從來就沒有動起來過的台語注音表格(taiwain-minnan-zhuyin.cin),利用台語注音打出漢字。查了一下來歷, 2005 年時,jserv 曾經記下這件事—〈Arne 的台灣地區通俗語言之輸入法〉。
Arne Götje 雖然來自德國,但對中國文化的熱愛,絕對不輸給任何一個土生土長的台灣人,稍早在 blog〈 2005 年摩托學園/Debian User 聚會〉提到 Arne 分享 CJKUnifont 的進度,讓在場與會的朋友都一致讚嘆,實在是太偉大了。已經完成幾個里程碑後,Arne 又繼續處理 Unicode 4.0 CJK 表意文字區域的閩南及客家語文符號,並且在 Debian@Taiwan 的「WishList2005 / 夢幻軟體計畫」做了一個提案…
Minnan IM (台式閩南話輸入法)與 Hakka IM(台式客家話輸入法)現在已經是 FreeDesktop.org 的子計畫,並且獲得 Yang Qing-Chu (楊青矗)先生的《台華雙語辭典》,這是一個以注音為詞鍵,對應到台客語辭典的大型表格,楊先生打算以 GNU GPL 捐出,這是相當好的消息,但是相關的輸入法與平台整合工作需要投入更多的心力去作。
從 2026 年回頭看,當年的確完成了這份表輸入法表格,但怎麼後來沒看到有人用上呢?實際打開一看,好像就看出了原因—這份表格的內容,與輸入法的一些設計通則是衝突的。
Cin 這個格式過去大概三十年,普遍用在查表式的輸入法上,基本假設鍵盤上的一個按鍵就會對應到一個字根,在輸入了一定數量的字根後,按下可以將字根組合起來的按鍵—通常是空白鍵,在傳統的注音輸入法上,則是五個聲調鍵—輸入法就會以字根做為查詢條件,在表格中查詢對應的文字。這份表格打破了這個假設,因為鍵盤上的按鈕,不夠容納所有的台語注音字根,於是,在表格中,我們看到將同一個按鍵,對應到多個字根。像這些:
1 ㄅㆠㄪ 8 ㄚㆩ 9 ㄞㆮ ; ㄤㄫㆭ a ㄇㆬ c ㄏㆷ d ㄎㆶ e ㄍㆣ i ㄛㆧㆦ j ㄨㆫㆨ l ㄠㆯ q ㄆㆴ r ㄐㆢ s ㄋㄬ u ㄧㆪ w ㄊㆵ y ㄗㆡ 4 ˋˈ # 兩個聲調鍵
按鍵不夠用的狀況下,大多看到的做法,是透過按下 Shift、AltGr 這些按鍵組合,但這份表格則是設計成要透過重複輸入。在上面的定義中,「1 ㄅㆠㄪ」這行的意思是打一次 1 出現「ㄅ」、打兩次 1 出現「ㆠ」、打 3 次就是「ㄪ」。如果要打出「ㄪㆨㆭㆶˈ」這組注音的話(實際上沒有就是了),相當於要打十三個按鍵才可以組出一個字,而實際上,表格裡頭最長的字所需要的字根數量也多達八個。感覺對任何使用者來說都是很大的挑戰。
而就處理 cin 表格的引擎來說, 如果看到「1 ㄅㆠㄪ」這樣的定義,也不會認為這段定義是「1 按了兩下要出現 ㆠ」,而是「按下 1 就一次顯示 ㄅㆠㄪ」,像行列輸入法的字根就是用兩個字母組成的,像「1^」、「1-」、「1v」代表第一列的上中下排。以 cin 引擎的方式,如果 1 打了三下,那就會出現「ㄅㆠㄪㄅㆠㄪㄅㆠㄪ」。
如果不用一般的 cin 引擎,用注音輸入法處理按鍵的方式使用這份表格,裡頭的設計也與國語的注音輸入法衝突。注音輸入法的假設是按到聲調鍵就該組字,但表格中,卻把 4 與 44 定義到兩個聲調上,照一般注音輸入法的邏輯,按到第一個 4 就該組字,而且有相同讀音的字,要跳出選字窗,再按一下 4 就該在選字窗中選字,如果用這個邏輯,怎樣都打不出聲調是 44 的字。另一種作法是,就算打了聲調,還是要多按一個空白之類的按鍵選字,那麼,這個表格最長用到八個按鍵,再多一個按鍵,就變成九個按鍵了。
想不出有什麼好的方法可以避開這些衝突,讓這份表格可以成為一份能夠動起來、活在使用者電腦裡頭的軟體,可能是因為台語輸入法的開發受挫,後來另一個客語輸入法也沒完成。但不管怎樣,曾經有位德國人要為了台灣語言努力,總是該被記住。