評「快碼輸入法」

聲明:本文乃筆者修讀香港理工大學中國語言學碩士課程的習作。本文目的只是要向讀者介紹筆者所愛用的中文輸入法,並非替「快碼輸入法」的開發公司賣廣告。筆者與「快碼輸入法」的開發公司亦無任何利益關係。

在本文中我會介紹本人現時使用的中文輸入法─快碼輸入法,並把這種輸入法跟其他某些中文輸入法(以倉頡和速成為主)作一比較,評論其優劣。

快碼輸入法是亞視前編劇梁立人設計的輸入法,曾獲得首屆「香港資訊科技卓越成就獎」。從輸入法的類型說,快碼是一種按字型拆碼的輸入法。快碼可以說是針對倉頡輸入法和速成(也稱簡易)輸入法的缺點而設計的。事實上,當初快碼便曾以「快過倉頡,易過簡易」作為宣傳口號,可見它正是衝著倉頡和速成而來的。我們知道倉頡的最大缺點是輸入鍵數多(最多達到五鍵)和難學。而速成雖然輸入鍵數少(最多只需兩鍵)而且拆字方法沒有倉頡那麼繁,但重碼字極多,令使用者不得不揀字,因而輸入速度慢。

根據筆者的學習經驗,倉頡之所以難學,主要有兩個原因。其一是拆字過於繁瑣。對於五碼字來說,要辨別「字首」、「次字首」、「字身」等。五碼字往往成為人們完全掌握倉頡的最大障礙。其二是拆字方式過於細微(細微至筆劃層次),有些相似的筆劃(輔助字形)分屬不同字根,很容易混淆。例如筆者便時常記錯「弓」、「尸」、「女」這幾個字根的某些「輔助字形」。速成雖說大大簡化了倉頡的拆字法(因為它只取每個字的一頭一尾),但由於它繼承了倉頡的字根和輔助字形,所以它亦具有上述第二種缺點,它的拆碼也並非完全直觀易學。

針對上述缺點,快碼在拆字方面跟倉頡有兩大不同之處。其一是採用了很簡單的拆字原則。它把所有漢字分為「橫分字」(即明顯分為左、右兩邊的字)和「非橫分字」兩種。非橫分字只取兩碼,即頭尾各取一碼,跟速成相似。例如「簡」這個字取一頭(即「竹」字頭,屬「衣」這個字根)一尾(即「日」)便得「衣日」。橫分字則取三碼,即左邊取頭一碼,右邊取頭尾各一碼。例如「語」這個字,左邊取一頭(即「言」,屬「文」這個字根),右邊取一頭(即「五」)一尾(即「口」),故得「文五口」。快碼的設計者把上述「非橫分字」和「橫分字」的拆碼原則概括為一條口訣-「頭尾頭頭尾」(註1)。

其次,快碼字根的「輔助字形」不是以筆劃為單位,而是以漢字的某些常見「部件」為單位。以「木」這個字根為例,它的輔助字形便有「來」、「未」、「末」、「禾」、「朱」、「本」、「耒」、「秉」等。雖然看上去好像比倉頡多了很多,但由於這些輔助字形全都包含「木」這個成分,所以並不難記(事實上,筆者根本沒有刻意去記),而且這些部件是整體概念,較諸支離破碎的筆劃容易掌握。相較之下,倉頡的「木」這個字根的其中一個輔助字形(即「也」字右上角的筆劃)就非常不直觀,學習者只有靠死記才能掌握。

在字根與鍵盤的對應方面,快碼也別出心裁。我們知道,倉頡字根與鍵盤的對應只是純粹把設計者所定的字根順序「日月金木水火土……」與ABCDEFG……對應起來,並無其他聯繫。但根據快碼設計者的說法,快碼字根對鍵的選取卻是基於「象形」。例如字根「口」對應O,字根「人」對應A,這些都很直觀。即使其他不那麼直觀的字根,快碼的說明書也有頗為有趣的方法教使用者如何去記。例如字根「木」容易令人聯想到樹(tree),所以「木」便對應T。

不過,快碼也有它的缺點,而它的缺點往往也跟它的上述優點有關。如前所述,快碼的「輔助字形」是以部件而非筆劃為基礎。由於部件的種類較筆劃種類為多,因此快碼的「輔助字形」也較倉頡的為多。而且,快碼的設計者為了減少重碼字,在為漢字編碼時除了使用26個英文字母外,還使用鍵盤上的其他文字鍵,包括10個數字鍵和9個標點符號鍵(「,」和「.」有特殊用途,不用來編碼)。例如前述的「語」字的拆碼為「文五口」,其中「文」便對應「‘」 這個鍵,「五」則對應「5」這個鍵。因此快碼不但「輔助字形」多,它的字根也較倉頡為多。比較一下字根的數目,倉頡只有25個(一般情況下倉頡不用Z),而快碼則有45個。很多人往往由於快碼字根多(以及「輔助字形」多)而裹足不前,不願學習快碼。

就輸入速度方面而言,雖然快碼最多只需輸入三碼而倉頡則最多五碼,不過由於快碼有重碼字,用家在某些時候須選字,而且由於快碼須使用比倉頡多得多的鍵,在打字時手指的移動範圍較大,因此在輸入速度方面,快碼是否必定較倉頡優勝,這還很難說,可能須進行比賽才能作出結論。

不過話又得說回來,即使上述比賽確定快碼的輸入速度不及倉頡,其實質意義也只局限於「職業打手」。對於一般電腦使用者而言,只要輸入速度並不太慢,其實並不構成太大障礙,其關鍵在於使用者是否須經常選字。根據筆者的實際使用經驗,快碼的用家其實並不需要經常選字。快碼雖然也有重碼字,但它的重碼字都按字的使用頻率排列,排列位置較後的字十居其九都是生僻字。由於排在第一、二、三位的字只需在鍵入該字的拆碼後分別按空格鍵、「,」鍵和「.」鍵便自動上字,所以快碼的輸入一般都很順暢。而根據筆者的實際使用經驗,在打一篇普通內容的文章時,排在第一位的字一般佔八成之多。由此可見,快碼雖然需要選字,但它的選字問題相較於速成以及筆者所曾用過的以拼音為基礎的輸入法(如漢語拼音、廣東拼音、粵拼等)而言,對用家並不構成太大妨礙。

至於字根和「輔助字形」多的問題,筆者認為其情況並不如一般人想像中的嚴重。其實學習每一種輸入法都要付出一定努力。筆者在初學快碼時便曾花了數天的功夫,把一本小型字典上約4000個最常用漢字全部化為快碼的拆碼,從而掌握了這種輸入法。而且,筆者對快碼的掌握不是靠死記每個字的拆碼。事實上,筆者今天使用快碼很多時還是進行「即時拆碼」,而非「條件反射」。若非由於快碼的拆碼原則簡單加上「輔助字形」不難記,是難以做到這一點的。

當然,就普及性而言,快碼遠遠不及倉頡和速成。這是由於快碼並非免費軟件,用家須購買特定的快碼軟件,並在電腦上安裝後,才能使用快碼。這對快碼的用家而言,不能不造成某些不便。例如當筆者在公共電腦或別人的電腦上工作時,便用不上快碼,須另找他法解決中文輸入問題。

雖然如此,筆者覺得這一套軟件仍是值得購買的,因為快碼的軟件除了提供輸入法外,還有其他便利使用者的功能。除了通常有的「相關字詞」和「百搭字根」(註2)功能外,快碼軟件還有幾種值得稱道的特點。其一為它支援多種檢字功能。現時大多數輸入法都只有一種輸入方式,遇到一個字不懂得如何拆碼便束手無策,而快碼軟件則可讓使用者在不懂得某字如何拆碼時,臨時採用拼音、部首、筆劃以至同音字等方法輸入這個字,並繼而學會這個字的拆碼。其次,快碼還採取「兼容並包」的拆碼法,即容許一個字有多種拆碼,這樣可解決某些有爭議或易混淆字的問題,令使用者不必拘泥於單一種拆碼。例如「強」這個字有一個異體字「L」,無論你是把這個字的右上角部件看成是「私」字的右邊部件(拆碼為SZI),還是「口」(拆碼為SOI),都同樣可輸入「強」字。最後,快碼軟件還容許使用者隨意修改個別字的拆碼,讓使用者選擇他認為最符合自己思路的拆碼,這樣使快碼達到了最大的彈性。其實快碼軟件的功能還有很多,這裡不能盡錄。

中文輸入法有很多種,每種輸入法都有其優點和缺點。如何在衡量這些優缺點後選取最適合自己的輸入法,這是個人的選擇,而選擇的關鍵在於你是否欣賞這種輸入法的優點而又能同時接受它的某些缺點。筆者在嘗試多種輸入法後最終選定快碼,正是由於筆者欣賞快碼的象形化字根和簡單拆字法的優點,並同時能接受它多字根和須少量選字的缺點。


註1:除了「頭尾頭頭尾」這條一般原則外,快碼為了減少重碼字,對於某些明顯分為三部分的「非橫分字」(如「森」字)也把它拆為三碼(例如「森」字便拆成「木木木」),這可說是「頭尾頭頭尾」原則的例外。不過,快碼採取兼容並蓄的原則,使用者即使只打「木木」也能在揀字表中找到「森」字。

註2:「相關字詞」功能是指當使用者輸入一個中文字後,輸入法軟件即在一個「相關字詞表」中顯示以這個字起首的一些常用詞或成語,讓使用者無需逐個字折碼便能輸入這些詞或成語。例如當你輸入「人」字後,「相關字詞表」便出現「員」、「士」、「民」、「數」、「口」等字供你選擇。「百搭字根」是指若你只記得或懂得某個字的部分拆碼,你可以利用「<」(即+「,」,代表「單百搭」)或「>」(即+「.」,代表「多百搭」)代替你不記得或不懂得的那部分拆碼。例如,假設你想打「促」字,你知道這是一個「橫分字」,須輸入兩碼,第一碼是「人」(即鍵A),但不知道第二碼是甚麼。這時你可鍵入「A<」,輸入法軟件便會列出所有以「人」為第一碼的兩碼字,供使用者選擇。

周家發的語言學網頁