中文輸入法、資訊標準及技術探討 (chinfost)   
一般區 精華區 休閒聊天 個人郵件 個人設定 重新登入

←回列表   ↑上一篇   ↓下一篇           

發信人:mak (he hung <makchehu@netvigator.com>)
日期:Sat, 18 Oct 1997 05:35:04 -0700
標題:快速倉頡輸入法第五代(一)
信群:tw.bbs.comp.chinese    看板:
代號:<3448ACF8.2F1D@netvigator.com>
組織:mak's company

快速倉頡輸入法第五代簡介(一)

快速倉頡輸入法的源起

1986
年,筆者首次接觸倉頡輸入法時,便感到朱邦復先生是一個很偉大的中國人。
他的發明不但是中文電腦的一大突破,而且他還有偉大的胸襟和遠見,
將倉頡輸入法免費送給我們使用,令無數中國人受惠。從那時起,
筆者就有一個夢想,希望能夠設計一種易學易用的輸入法,造福人群。

筆者就是憑著這個夢想,自 1987 年開始,從事改良倉頡輸入法的研究工作。
不經不覺,至今已有十年了,而快速倉頡輸入法也經歷了五代的演進。

1987年,筆者利用倚天中文系統的萬用詞庫,設計了第一代快速倉頡輸入法。
它的原理很簡單,只是簡化倉頡輸入法的編碼規則,即取倉頡碼的第一、二和尾碼。
雖然簡化後的倉頡輸入法的重碼仍然很多,但是它已比簡易輸入法的效率高出很多倍。

1988 年,筆者發明了「高頻字根偏旁」的編碼技術。第二代快速倉頡輸入法
就是利用這種編碼技術,使到重碼字大幅度減少,因而一般用戶可以利用此法進行
「盲打」了。可是由於當時倚天系統詞庫尚未完善,無法容納較多的編碼,
第二代快速倉頡輸入法僅有常用字編碼。

1989 至 1993 年期間,倚天系統的詞庫有了改進,可以容納更多的編碼,
於是筆者設計了第三代快速倉頡輸入法。這個輸入法的特色是採用了「一字多碼」
的編碼策略,再加上大量的容錯碼,並有各種標點符號、特殊符號和數字編碼,
以彌補第三代倉頡輸入法的缺失。容錯碼的主要目的是能夠讓用戶在編錯碼的情況下
仍然可以找到他所需要的字。而「一字多碼」的編碼策略就是整個系統內包含了
兩種輸入法﹕一是倉頡輸入法,二是筆者改良的倉頡輸入法。主要目的是讓兩種
輸入法在同一系統內起了「互補優點」的作用。

1993 年,筆者利用中國海字集,完成了第四代快速倉頡輸入法。當時中文系統的
字集嚴重缺字,使到許多用戶無法找到他所需要的香港用字。筆者乃利用中國海字集
來彌補中文系統內字庫數量不足的問題。第四代快速倉頡輸入法除了能處理繁體、
簡體、生化用字、異體字、日本漢字、片假名和其他補充用字外,還加添了一種新的
編碼技術,名叫消滅重碼的「SDFG」編碼技術。可惜這種編碼技術在倚天詞庫下未能
發揮出它的最大威力,直至第五代快速倉頡輸入法的出現為止。

1994 年,筆者使用雙橋中文系統,使到快速倉頡輸入法能夠在視窗的環境下得以
實現。利用這個系統的萬用輸入法,筆者所設計的「SDFG」編碼技術能巧妙地處理
重碼字,使到用戶毋須利用數字選字,輸入速度成倍地增長!可惜這個輸入法要掛
在雙橋中文系統下才能使用,對一般用戶帶來不便。在一個偶然的機會下,
筆者認識了劉文建先生,後來得到他的幫助,視窗版的第五代快速倉頡輸入法方可
面世。

編碼原理

快速倉頡輸入法的基本原理是優化倉頡輸入法。它把中文字分成兩大類﹕分體字和
連體字。連體字是取字的首碼、次碼和尾碼。分體字分拆為字首和字身,由於每字
限取 3 碼,故此編碼有下列四種組合 ﹕

第一類僅需一碼,例如中文字母的「日」、「月」、「金」和「木」等。
口訣是“頭“。

第二類是取字的字首一碼和字身一碼,合共兩碼,例如「明」的字首是「日」、
字身是「月」,鍵入「日」和「月」便可得出「明」。其他例子如「林」、「昌」、
「炎」和「安」等。口訣是“頭尾“。

第三類是取字首一碼、字身兩碼(取字身的首碼和尾碼),例如「銲」可分拆為
字首「金」、字身「旱」,而字身的首碼為「日」和尾碼為「十」,
即鍵入「金日十」便可得出「銲」;「煙」可分拆為字首「火」,字身「垔」,
而字身的首碼為「一」和尾碼為「土」,即鍵入「火一土」可得「煙」。
其他例子如「樹」、「淵」、「寶」和「偕」等。口訣是“頭—頭尾“

第四類是取字首兩碼(取字首的首碼和尾碼)、字身尾碼,例如「堡」的字首是
「保」、字身是「土」,而字首「保」的首碼是「人」、尾碼是「木」。
「堡」的編碼是「人木土」。其他例子如「營」的編碼為「火火口」,
而「楚」的編碼為「木木人」。口訣是“頭尾—尾“。

由以上例子可知,我們可以用以下的口訣記憶輸入法的編碼規則﹕
頭、頭尾、頭-頭尾和頭尾-尾。至於何時用「頭-頭尾」或「頭尾-尾」呢?
方法很簡單,假若我們能找到一個中文字母或輔助字形便可表示該字的字首的話,
則該字的編碼一定是「頭-頭尾」。相反,假若我們不能找到一個中文字母或
輔助字形表示該字的字首,便取該字字首的首碼和尾碼,然後再取字身的尾碼,
即「頭尾-尾」。

在簡化倉頡輸入法的過程中,筆者發覺在某些情況下,重碼字很多,於是筆者利用
一種叫做「高頻字根偏旁」的編碼技術去減少重碼。例如「瑚」的編碼不是
「一土月」,而是被分拆為字首「王」和字身「胡」,字首「王」的取碼是「gg」,
而字身「胡」則取首碼和尾碼,即「j十」和「b月」。「瑚」的標準編碼是「ggjb」,
而這個字的容錯碼有以下各種編碼方式﹕gjb,mmjb 和 mjb。

本輸入法的特色

快速倉頡輸入法是目前編碼最短和規則最簡單的一種輸入法。根據筆者的統計,
只用三碼便能表示超過 4400 餘字,數字選字率等於零;對於一般文章,每字平均
碼長僅達 2.5至 2.9鍵,使用「SDFG」選字的機率約於 1% 至 6%,再加上超過 
3000多個容錯碼,使到無論是專業人士或一般用戶,都可以利用此法輕鬆地輸入
中文字了。除此以外,本輸入法還設有簡體字編碼,即輸入以簡體字形編碼,
而輸出則是繁體字。此法可以令用戶更容易學習簡體字。

結語

一直以來,筆者有一個堅強的信念,就是中國人始終有一日能夠發明一套簡單易用
的輸入法,它僅使用英文鍵盤的 26 鍵,字根數目不超過 150
個,常用字的編碼少
於三鍵;但另一方面,它卻能處理數以萬計的中文字;一般人只需要很短的學習時間,
就能掌握這種輸入法,同時達到邊想邊打字的境界,打字速度可以與英文相提並論,
甚至超越英文。有了這個輸入法,在電腦網絡的通訊上,我們中國人以後再毋須被迫
要使用別國文字與人溝通,使用中文是理所當然的事啊。事實上,以上的信念已由
筆者的實踐證明出來。今日筆者的中文打字速度不但快過英文,而且還能利用此法
做到邊想邊打字的境界。對筆者來說,利用電腦輸入中文不但是一種樂趣,而且
還是一件引以為豪的事。筆者如此,筆者也希望所有中國人也是如此!


作者﹕麥志洪

網友如有興趣,可轉載本文給其他人知道。若想取得更多資料,可電郵給我。

Email﹕makchehu@netvigator.com


←回列表   ↑上一篇   ↓下一篇