談一談混亂的倉頡五代

朱邦復工作室有一個《五代碼表說明》,全文引用如下:

點此展開

第五代倉頡碼表說明

一、簡介

  眾所皆知,【倉頡】是中文的全套解決方案,它有六大功能:字序丶字碼丶字形丶字音丶字辨丶字義。而字序丶字碼丶字形在朱邦復先生發展的中文系統下,向來是三合一不可分的。也就是說,字碼內含有倉頡碼的訊息,『有字必有碼,有碼就有字』。所以有倉頡碼,也就有中文內碼,其字序與拆碼者目視同;而倉頡碼(或說字碼)也能直接送入中文系統,取得字形。
  惜字序少人使用,而字碼丶字形更是乏人問津。因此,三者被割裂了,被誤以為是三套不同的東西。而【倉頡】就這樣,一直被視為只是輸入法的一種。若以這個標準來限制,【倉頡】也只能是個輸入法,與注音丶漢拼丶五筆等輸入法,放在同一平台,等量齊觀。

  1987年,朱邦復先生回到中國,在深圳科技園率領工作團隊,開發了全漢大字庫及聚珍中文系統。之後,配合聚珍整合系統,開始推廣第五代倉頡輸入法。這時候的第五代倉頡輸入法,係將繁簡字分開編碼。也就是說繁簡字各有不同的輔助字形,但取碼精神是一樣的。二者輔助字形大致相同,惟五代簡倉碼多出數個輔助字形。
  1990年,朱邦復先生返回臺灣,加入國榮公司,並與臺灣資策會合作,推出微軟視窗系統3.0中文版。爾後選擇退隱,先後居住在臺北新店丶臺東都蘭丶桃園楊梅等地。
  1999年,朱邦復先生加入文化傳信集團。2000年開始,有一長達五年的【倉頡之友】網站的資助計劃,贊助在各地以網路推廣倉頡的朋友們。爾後便將倉頡推廣工作,委請倉頡之友網站的站長們接棒。
  2001年發表中文電書規格,及文傳1610中文晶片。朱邦復先生將倉頡輸入法正名為『蒼頡檢字法』,即俗稱『第六代倉頡輸入法』。後有諸多因素考量,未對外公佈蒼頡檢字法之編碼。先前向外界公佈的碼表,皆屬第五代倉頡碼,包含繁丶簡體。

  中文分成繁簡系統的情況,由來已久。雖因分隔兩岸,較少交流,但一直都有統一編碼的建議。沈紅蓮小姐在編定『蒼頡檢字法』時,決定將繁簡字統一取碼。後雖未公佈『蒼頡檢字法』之編碼,但此項工作業已完成。
  而第五代倉頡輸入法的推廣工作,在
倉頡之友站長們的努力下,頗具成效。不但linux系統已全面採用第五代倉頡碼,第五代倉頡輸入法工具也能配合不同平台丶不同內碼,有不同版本的輸入法工具及教材。而原已絕版的《第五代倉頡輸入法手冊》,也在博碩文化的支持下,於2006年重新編排、出版。

  2003年,沈紅蓮小姐因應繁簡字統一編碼的工作,將第五代倉頡輸入法的繁簡版合而為一,名稱仍是第五代倉頡輸入法。因編碼漢字較多,且受限第五代對重碼字的規定,不得已有局部改碼。限於篇幅與時間,在此僅就第五代倉頡輸入法改碼原則,簡述如下:

  1. 繁簡字統一編碼。
  2. 五代繁倉儘量保持不變。
  3. 如需更動輔助字形,優先調整五代簡倉。
  4. 若重碼者,依先繁後簡的次序。

  在各個不同版本的五代倉頡中,繁體字不受影響,惟少部份的簡體字取碼略有不同。茲以下列範例,說明在不同版本的五代倉頡下,其碼為何。為說明方便,同為五代倉頡,我們用西元年份來區分。

漢字

1987 1999 2003

備註

LVSM

NVSM XSM

1987版:五代簡倉中,L部有一輔助字形:┐。
      優點:马部丶鱼部不易重碼。
      缺點:需多記L部的一個輔助字形。

1999版:為推廣方便,將┐歸N部。
      優點:不再強記L部多一輔助字形。
      缺點:重碼率增加。但多數系統以數字選字,可略。

2003版:增一輔助字形。
      優點:解決马部丶鱼部重碼的問題。
         新的輔助字形更易聯想丶記憶。


LMTMC
NMTMC

NMTMC
NMTMC/XNMTC

SMTMC
NMTMC

1987版:骐丶鲯不重碼。

1999版:骐丶鲯重碼,但用數字鍵選字,且兼具容錯功能。

2003版:增加輔助字形,解決重碼,減少選字。

  如因五代倉頡修改引起的不便,我們表示歉意。但為了將繁、簡,兩種五代倉頡合併在一起,並面臨應用範圍日廣的情況,五代倉頡必須稍做修訂,才能解決重碼字激增的問題。但真正徹底、全面的改變,還是要等【倉頡檢字法】的公佈。
  倉頡輸入法的相關討論,請至【倉頡之友】友站,香港站論壇馬來西亞站論壇。關於第五代倉頡碼不同版本的些許差異,我們將儘快公佈。目前,推廣版本仍以第五代倉頡碼-1999年版為主。
  而目前公佈的碼表,屬於第五代倉頡碼-2003年版的是,博碩文化出版的《第五代倉頡輸入法手冊》之書附光碟,及【漢文樂園】之漢文字典】的線上查詢。若欲查詢第五代倉頡碼-1999年版,請至【倉頡之友˙馬來西亞站】的第五代倉頡字典
  未來,將委請【倉頡之友˙馬來西亞】站,製作新版的輸入法工具。各版本的些許差異,則視同異體字,採容錯方式處理,期能解決因版本不同而取碼相異的情形。

 

二、說明

  以下說明五代倉頡所公佈的碼表,其編碼依據及字數多寡。

五代倉頡-編碼依據

年份

內碼依據

字數

流行地區

備註

1987 國標碼丶大五碼

繁:一萬餘字
簡:六千餘字

中國丶台灣丶香港丶澳門,及東南亞等海外華人

繁簡字,分開編碼。
1999 國標擴展碼 二萬餘字

中國丶台灣丶香港丶澳門,及東南亞等海外華人

①繁簡合一,統一編碼。
②透過教材、工具進行推廣。

2003 萬國碼 五萬餘字  

①繁簡合一,統一編碼。
②於博碩版五倉手冊發表。

註:萬國碼含擴充字集等,有近八萬字;受限五倉法則對重碼字規定,故2003版的五倉碼編了近六萬字。

 

  由上可知,當編碼對象愈多,應用愈廣,重碼字的機會就愈大。有識者當知,重碼字要善加安排,才能有效地解決。當繁簡倉頡分開編碼時,問題還不明顯。一旦繁簡合併編碼,加上漢字字數增多。在不改取碼規則,及增加輔助字形的情況下,重碼字勢必會激增。
  重碼字的處理,常見的作法,是用候選清單的方式。這麼做,在中文內碼與輸入碼是割裂的情況下,一字排開地選,有種一目瞭然的感受。用慣了,也覺得這個方式沒什麼不妥。注音、速成、漢拼等輸入法,都用相同模式來選擇重複字,毋需再教導使用者。

  而倉頡輸入法不僅僅只有這樣。朱邦復先生在設計倉頡輸入法時,就是為了要徹底解決中文資訊化的困境,提出一套中文資訊系統的全盤解決方案。倉頡輸入法的六大功能,字序、字碼、字形、字音、字辨、字義,就是這套整合方案。而僅就中文系統的輸入、處理、輸出的應用層面來看,字序、字碼、字形也該是三合一,不可分割的。

  例如,編定了倉頡碼,自然就有了字序。字典、電話簿、人名表,都可依倉頡碼排序,這就是『字序』。而倉頡碼又可拿來當成字形產生的索引,那麼『字形』、『字序』就合在一起。
  為了讓人的排序,跟電腦之序相同,且不必浪費空間再建表對應之。最簡單的方式,就是將倉頡碼成為中文內碼的一部份。而多年使用的經驗,大家也發現六千漢字,一萬餘漢字,是不敷使用的。
  為了能讓兩岸四地及海外所有的中國人,在不分繁簡字的情況下,都能使用一套的中文系統。因此,字數在三萬字以上,要容納繁簡字,是中文系統的基本要求。而倉頡碼最少一碼,最多五碼的規定,再加上漢字字數超過三萬字。四個位元組(4 bytes)的內碼長度是必要的,這就是『字碼』

  我們以YHMBC為例,它們是『頻顔顪顏』,其中顏顔是異體字。在倉頡碼不是內碼的一部份,這組重碼字看起來並沒問題。但在倉頡碼必須是內碼的一部份時,同為YHMBC的內碼,電腦是無法區分的。而在五代倉頡,是選擇用X來解決這個問題。如它們的取碼應該是,頻YHMBC 顔XYHMB 顪XXYHM 顏XXXYE。再者,『马』這個字,在五代簡倉的取碼是LVSM,因為在五代簡倉,它有一個輔助字形:L。當『马』以字首形態和其他字組合時,字首就要取LM。
  1999年的五倉版本為推廣故,除了要將繁簡字合在一起,並儘量依據五代繁倉的輔助字形,不再增加,以免增加學習負擔。這麼一來,不論是繁倉的老用戶,或是簡倉的新用戶,都能悠遊自在地轉換自如。所以,做了少許調整;如『马』改取NVSM,所有以『马』為字首都要取NM。這麼做,雖會與『鱼』部做字首時相重,使得重複字比例提高。
  但為了教學之便,加上範圍只有二萬餘字,且以候選清單方式來選字,推廣平台又是微軟視窗丶linux等系統。只要輸入時能容錯,在不必考慮字序丶字碼丶字形合一的情況,這種作法不啻是種方便法門。但僅僅是這兩萬餘字,繁體字本身的重碼,再加上簡體字及上述『马』丶『鱼』的情況,重碼情況相當嚴重。而即便用XXXY,依序排下來,碼位確實也很窘迫。

  若要徹底解決這個問題,五代倉頡確實需要調整。而在取碼總長不變的情況下,及保持字碼丶字序丶字形合一的原則,唯有增加輔助字形一途,才能藉由降低重碼率,來解決這個問題。而在五代倉頡碼的差異部份,因為改動不是很大,教材可用補註方式處理。但輸入法工具則需採容錯方式,有效地包容各版本的差異。

 

三丶感謝

  在推廣倉頡的過程中,我們碰到許多認識或不認識的朋友們,接受他們的熱情幫助。這些朋友們多半默默付出,義務協助。

  我們想特別提出來的幾位是,法國朋友Eddy丶馬來西亞的阿勤丶新加坡的老牛丶香港教育學院的黎耀志先生丶盧敏耀先生丶黃漢輝先生等,這些可敬的朋友們。謝謝他們不辭辛苦地為倉頡推廣,貢獻寶貴的時間、心力與智慧。

朱邦復工作室 二○○六年 冬


下面評論此文。

碼表和規則傻傻分不清

這篇文章寫的非常混亂,最大的問題是沒有區分「碼表」與「規則」。我將我的理解用表格整理如下:

碼表 規則
87五 列印在《五代手冊》附錄(編碼範圍是big5) 將「马」的字首橫折歸為「中」的輔助字形
99五 馬來西亞陳強勤所作碼表(編碼範圍是cjk基本區及擴展區) 橫折回復為「弓」的輔助字形
03五 漢文庫典編碼(編碼範圍是聚珍字庫) 新增「马-一」輔助字形至「尸」

要不要為了「骐鲯」這麼折騰

沈紅蓮並不擅長訂規則和做碼表,她竟然會為了「骐鲯」這組重碼,就把五代分成了三個版本。

現在我們做碼表,不管是三代還是五代,都不會再為了哪些重碼而新增輔助字形。

因為現代的倉頡碼表,都是從unicode cjk的20902個基本漢字開始編碼的,而這個範圍內就已經包含了太多奇形怪狀的字形,它是肯定無法通過「新增輔助字形」來消滅重碼的

換句話說,如果沈紅蓮新增「马-一」的這個做法是合理的話,那麼大家就應該追隨她,統一把倉頡碼表中所有「马」字旁的編碼全部改掉,這並不是甚麼難事。

然而,沈紅蓮的創舉並沒有人買賬。

評論03五編碼

在該《說明》的敍述中,03五在規則上只比99五多出一個「马-一」輔助字形。

因此,漢文庫典的「兜」字編碼,就是一個錯碼。否則,官方應該聲明這個規則的更變。

而對於漢文庫典查到的「冎卨」二字編碼,也應視為錯碼,因為骨頭字元是六代才有的字根。

漢文庫典的03五編碼,是從六代改過來的,「㬐」字錯碼就是最明顯的證據。

它所存在的錯碼還包括由ichirou找到的「上寫下貝」等。

03五或許是第一個也是最後一個以聚珍字庫作為內碼進行編碼的倉頡碼表。聚珍字庫有很多字形的收錄是很奇怪、極不合理的,如「執摩梁班雨」等都收錄了兩種字形,03五也都要編不同的碼。這或許是03五無法推廣的主要原因,因為當今世界的內碼基本由unicode主導。

還是不要用了吧

既然五代做的這麼混亂,還有「合薛春冬登帝」這些奇怪的規則,基本上我們判定五代是一個改壞了的版本,是一個應當全盤否定的版本。

因此,大家實在是沒有必要再用五代了。

(廣告:尹規是一個正確完整的倉頡三代官方規則的從新敍述,尹倉也是一個幾經修訂的精簡清新的倉頡三代碼表。)

Leave a Comment