爭鳴階段(1 / 3)

爭鳴階段

當計算機進入我國市場,漢字編碼作為專利技術開始熱鬧起來。到1986年,全國已有五六百個編碼方案了。所有的設計者都覺得隻有自己的設計最好。因為,從開始設計、編碼本、到做成輸入軟件,設計者對每一個漢字的代碼已經弄得滾瓜爛熟,不需要什麼記憶了,自己就會認為是很好學的;而對別人的方案,隻懂得一點皮毛,沒有很認真地學習和研究,心裏還有一些抵觸,就會覺得不在話下,而不去進行認真的對比研究。於是,我國為出現了一個研製編碼的熱潮,它的設計也由此進入了爭鳴階段。這時出現的編碼主要有筆形碼、形音碼、字根碼和部件碼四大類。盡管其中很多是無效勞動,但這是編碼設計發展的必然曆程。我們現在必須對它們作全麵的理性分析,必將有助於方案設計的成熟和完善。

一、漢字編碼的主要派別

(一)筆形碼

有四角號碼以及其他的檢索排序方案作為基礎,人們認為有序的基本筆畫加上有序的數字,利用鍵盤上的數字鍵就能夠編為代碼進行輸入。這種編碼方法有別於四角號碼。四角號碼用的是漢字的四個外角筆形,沒有規定的標準和數量,設計者可以自由確定,例如四角號碼中的“方”和“叉”,它並不是“筆形”,而是某些結構。漢字有這麼多的結構,不的人可以多選,有的人可以少選。代碼用數字,也同樣存在著可以自由確定對應的問題。例如四角號碼確定0—9等10個數字為碼元,而筆形碼隻用了1—8等8個數字。筆形碼的進步就是把采用漢字字形的信息,從字的外角轉移到字的內部。漢字的筆形是有確定的數量的,是無法隨意多起來的。這總比可以隨意增加的四角筆形要好得多。基本筆畫的筆形又是有序的,與有序的數字對應也比隨意確定的對應容易使人接受。學習的人就會覺得它易學易記。這就是有理化的啟示。

漢字是由二十多個形狀不同的筆畫構成的。其中最常用的筆畫隻有橫、豎、撇、捺、點、折六類,其他筆形使用量少,也可以合並,歸入這幾類之中。點與捺在組字時經常相混,例如“木”,整個書寫時末筆為捺筆,作左偏旁時便成為點筆。因此,編碼設計者都把它們合並為一類。折筆有橫折和豎折的不同,有的設計者便把它們分兩類。全國統計有不少的筆形碼,如李金鎧的“筆形碼”,張敬齋的“單筆形筆順編碼”,申敬文的“漢字五碼檢字法”等等。直到最近還有一些關於筆形碼的報導。例如溫州的張天明,花了二十多年的時間,搞成了一個筆形檢索的編碼,最近才進行了報導。

筆形碼是漢字作為計算機輸入編碼的第一步實踐。它所產生的問題,實際也就是它的貢獻。

采用筆形作為編代碼的要素,數量少,可以定量,對應代碼方便,開始時會使人覺得簡單易學。但到進入碼本演習時,人們會覺得事實並非如此。其主要問題是:

1.五六個筆畫以上的漢字占大多數,要從漢字中抽取筆畫編為數字,比較麻煩;

2.數字作為筆形的代碼不具有唯一性,可以主觀規定代碼;

3.構成漢字的筆形,出現的組字頻度,不是相對勻稱,基本筆畫(橫、豎、撇、點、捺、直折、橫折等)出現頻次,前後相差很大,例如橫筆,一般總是最早出現,次數最多;

4.漢字以形聲相拚為多。形旁四五個筆畫以上的很多,如把這些筆畫排成線性形式,在一定的長度內都是重碼,隻有增加碼長,才能區別;

5.一般的漢字,結構上都以橫豎筆為始。用筆形作為分類的依據,就會使橫、豎筆形形成一大堆,而其他的筆形隻能占一小塊,造成分類的不均勻性(字根碼中用筆形分類就出現了這個毛病);

6.采用拆分減少碼長,拆分的規則定不下來。李金鎧的筆形碼用一分為二的方法,但在實踐中表明有很大的困難;

7.筆形會隨著部件組字的位置發生變化,例如“雨”,組成“霜”時,豎筆就成為點筆;又如“月”,第一個筆畫是撇筆,但在組成“肖”時就變成了豎筆。按筆形設置代碼,就得逐個進行規定。

歸根結底,用筆形給漢字組字的編代碼,不符合漢字造字原理,違背認知心理規律。

在計算機進入我國市場的初期,李金鎧的筆形碼曾經占領市場。那時,隻有少數的幾台計算機,價格昂貴,隻作為科研計算之用,用字量很少,也不講究打字速度。後來,由於專業打字市場的出現,輸入速度成為主要矛盾,它就被王永民的字根碼取代,無法再與之競爭。後起的筆形碼雖然比李金鎧碼好,也就沒有辦法重創佳績。

筆形碼使用筆形或某些特征,背離漢字的造成婚曆史和造字方法,不符合中國人的認字習慣和認知心理。因為中國古代的造字法始用象形造字,即按所見物象的形狀,畫出圖形稱為象形文字。這些最簡單的象形文字稱為“文”。後來人們需要表達的信息多了,簡單的“文”不夠用,就以“文”與“文”相拚再造出一些“字”,稱為會意字或指事字。會意、指事兩種方法能造的字並不很多,仍然無法表達隨著社會發展而需要表達的信息,人們就采用形(意義)與聲(讀音)相拚造出了形聲字。究其實,會意、指事、形聲等造字法,都是形與形相拚。因此,我們也可以把漢字稱之為拚形文字。既然漢字是形與形相拚造出來的,現在我們需要拆分它,就應該按形拆開而不應該按筆畫拆開。漢字的筆畫係統是在“隸變”時期出現的。那時,漢字的造字係統已經基本完成。因此,漢字造字的基本材料是“文”,即古代那些簡單的象形字,而不是筆畫。但是,在漢字演變、發展過程中,有一些筆畫參與了漢字的演變和發展。我們可以發現,在漢字集中,以某些筆畫的增加或某些筆形的改變作為區別符號,一個漢字就成為另一個意義完全不同的漢字。因此,使用一部分基本筆畫作為漢字基本單元的補充卻又是非常必要的。部首檢索發展中,純字義的部首檢索不適合實際應用,後來增加了單個筆畫,使檢索方便了,這個曆史經驗是可以借鑒的。

從表麵現象來看,筆形是有序的,數字也是有序的,筆形碼利用筆形與數字對應,學習和記憶豈不很方便?事實卻並不是這樣。我們上機輸入,隻有對應方法是不能輸入的,還要記住每個字的代碼。因此,僅僅是對應法,不是學會每個之的代碼的全部內容,而隻是一個起始部分。說筆形碼易學,隻說到它的筆形如何對應代碼,例如使用有序的數字——1、2、3、4、5,對應筆形橫、豎、撇、點、折。筆形是有序的,數字也是有序的,對應輸入,似乎使人感到方便。但具體到輸入每個漢字,字的拆分,部件的分類,都要有個學習過程,並非隻要單純地學怎麼編代碼就可以輸入了。實際上,編代碼的第一步就是拆分。用“塊”(字根、部件)拆開漢字是很方便的,抽取筆畫卻很麻煩。因為,“塊”在漢字中,看去一目了然;而筆畫卻交雜在字中,使人有無從下手的感覺。何況漢字的“塊”,由於拚構的字不同,其結構不會變化,其筆形卻會發生變化。這樣,就會使學習的人無所適從。如果都要一個個規定,學習當然是很麻煩的。因此,利用漢字的“塊”給漢字編代碼,比利用筆形在應用上要方便得多。人們喜歡五筆字型而不喜歡筆形碼,並不是好用不好學,而是五筆字型用字根來套拆漢字方便,學筆形碼拆筆畫不方便。認為筆形碼好學不好用,認為字根碼好用不好學說明我們在漢字編碼輸入初期認識的膚淺。這種不能成立的理由也就沒有人去駁斥。

(二)形音碼

筆形碼暴露了用筆形給漢字編碼的困難在於它既需要拆分漢字,又要使用筆形編代碼。就是說,被拆分後的漢字如部分還需要再拆分為筆畫,這種兩度拆分,學習時會產生認知障礙,不易學會。因此人們就去打一次性拆分的主意。一次性拆分即是拆為部件後即為之編代碼。

自支秉彝的“見字識碼”始,發展成為形音碼的一派。形音碼利用漢字的本字讀音聲母,或部首(部件、字根、筆畫)的讀音聲母,或者再加用表示聲調的符號,組成每個漢字的編碼。它的編碼要素有本字讀音聲母、部首(部件、字根)讀音聲母、筆畫讀音聲母。這些聲母的前後位置,由設計者主觀決定。因此,它不同於部件編碼單一地由部件書寫筆順出現的先後來決定。它們與筆形碼的主要區別也在於排列。

形音碼的困難主要是:

1.本字讀音遇到了不認識的字無法解決。漢字用字的特點是字量多,相當多的字看得懂,不會讀。這種方法會受不能讀識字符的局限。有人認為不會讀可以查字典。但要查字典的字,就不是常用字,查一次,打一個,很久沒用,仍然要忘記。

2.部首、部件或字根中的成字少,不成字的要定音。國家沒有規定的標準讀音,都第由設計人自己定。例如“亠”,有人定為“文字頭”,讀音為“W”;有人定為“高字頭”,讀音為“G”。如果定為“亭字頭”“享字頭”,就又是另外的讀音。讀音不同,編碼也就不同了。

3.部首、部件或字根,沒有規定的數量,設計者可以任意取用,又會產生不同的方案。

4.由於編碼的要素多了,排列不同,就會出不同的方案。例如“意”,本字讀音聲母為“Y”,規定部首為“心”,聲母讀音為“X”,但它的座位在本字之末;“立”、“日”、“音”都是部首,如何取,需要主觀規定,座位的前後也需要主觀規定。主觀的因素太多了,學習記憶都有困難。

5.形音碼以音為代碼,卻常常會以形歸類,結果就是自相矛盾。例如“子、孑”,不僅形象相似,書寫體根本不能區分,但“子”的讀音是“zi”,“孑”的讀音是“ji”……

這些編碼的主要要素由於排列組合的不同,就會出很多不同的方案。有的方案還要加上聲調,聲調的代碼和聲調的位置,也可以改變編碼的方式。聲調還有一個麻煩是許多不懂聲調的南方人沒有辦法。有的人不用聲調,而用筆畫的讀音或筆畫的代號。筆畫筆形的讀音是有規定的,它們的代號則可以任意規定,不同的規定,又會產生不同的編碼。總之,編碼的基本要素越多,出現的編碼方式方法也越多。有的人認為這是編碼的信息含量多證明編碼質量高,實際是錯誤的見解。編碼要素副本是單一的,就不會有排列組合的不同了。可見編碼要素的單一性是很重要的。

形音碼形成一個大流派是因為設計的要素都是現成現拆的,取用方便,設計也就很方便。

形音碼以形主體,以音為客體,相當於字根碼。隻不過是用字根的讀音作為安排鍵符(即映射)的方法。

剛開始的形音碼,編碼的字根沒有規定的數量,是隨拆隨編的,例如“見字識碼”。後來的形音碼有的“優選”部分字根,如“認知碼”(全國中小學計算機教育研究中心),有的套用《新華字典》的部首,如“表音碼”(沈克成),都有了規定的數量。但它們並不是根據部件定義產生出來的,而是主觀“優選”的,因此,具體編碼時,就無法套拆全部漢字。有的字就隻好一個一個交代。例如沈克成的表音碼,把“庸”拆為“廣、肀、二”加本字讀音“Y”。設計者把其中的“”,拆為“肀、二”,中間的“冂”,是無理省略的。顯然這個“”,還可以有多種拆法。這樣規定的依據是沒有辦法解釋清楚的。“肀”沒有規定的讀音,表音碼定為“Y”,即“聿”的讀音,為什麼不能作“D”(逮的讀音)?如果把“”作為一個整體的“塊”(即部件),就可以實現唯一性。

(三)字根碼

字根碼與形音碼的不同首先是在規定方案中使用字根的數量。因為,有確定的數量才可以進行分類。例如五筆字型就是先確定一定的基本字根,然後就根據起始兩筆的筆形作為分類(分區、位也是分類)的依據。盡管它確定的方法和數量稱不上科學,但比之隨拆隨編畢竟有了進步。

字根碼認為漢字是由各個不同的字根構成的,而字根是設計人自己規定的。因此,一個字符集的字根,到底有多少,字根碼的設計者講不出來。這是字根碼的特色。

字根碼以高頻(組字頻度高、使用頻度高)字根作為編碼方案的基本要素。這個方法由於沒有解決好漢字字符集字根的定性問題,在實際應用時同樣陷入困境。其主要問題是:

1.字根本身沒有定義,一個字符集到底有多少字根,設計者心中沒有準數。(那些參加頻度統計的字根完全是主觀挑選的)統計的對象沒有確定的數量,統計的結果就沒有辦法說是科學的。

2.高頻字根是根據組字頻度和使用頻度兩個統計作為依據的。這兩個統計數字時常發生矛盾。有的字根組字頻度低,而使用頻度高,因此,挑選參與編碼的基本單元仍然由設計人主觀決定。

3.字根碼分類方法與編碼方法是統在一起的。當設計者確定一種編碼方法的時候,實際已經把分類方法包含在內了。例如五筆字型的每個區位裏的字根,既是它的類,也是它們的代碼。這就是說,分類方法與編碼方法各自的發育都未臻成熟,成為一對連體嬰兒。

4.字根碼用主觀選定的字根數量,套拆整個字符集的漢字,有的漢字卻含有未被選用的字根,套拆不了,就需要設計者主觀規定拆分的方法。它暴露出字根編碼的最大矛盾:拆分困難。也使許多人產生了疑惑,“拆字編碼”是否是個“誤區”?

5.字根碼的編碼方法有的是半無理的,有的全無理的,所謂有理、無理,是指字根與鍵符的對應(映射)有沒有道理可以解釋。這種解釋是指設計方法中的設計理由。例如五筆字型用字根的起始兩個筆畫的筆形分區、位。但儕檢查,其中一半以上不是按規定的區、位安排的。這就是半無理的意思。大眾碼將部分字根集中組合為一個生造字。這樣組合與安排的鍵符沒有任何關係,既可以放到A鍵上,也可以放到B鍵上。這就是無理安排。

6.字根碼每個小類間設計同一代碼的字根,有的相互依靠始筆筆形進行聯係,但因始筆筆形以橫、豎居多,分類不勻,有的隻好主觀安排,造成分類的主觀隨意性,失去分類的本意;有的完全是主觀集合,相互間也沒有有機的聯係,分類的作用得不到發揮。字根碼學習的記憶要求很高,不宜非專業人員學習與使用。由於字根碼的拆分不規範,更不官放到中小學基礎教育中教學與使用。

字根碼中的半有理碼采用筆形給字根分類,有一定依據。但具體實行時就又無理化了。如五筆字型為減少重碼就主觀改變字根的座位;鄭碼隻規定“類”,沒有規定“位”,因此,也是半無理的。全無理的字根碼則“類”和“位”都是主觀規定的,例如陳代於的大眾碼。但它們卻是與鍵符直接對應(映射)的。