第一屆中國文字學會學術討論會•天津 1996年8月25-30日 電子古籍中的缺字問題 |
Page 7 of 8 |
肆、應用
在本章中,將舉三個與缺字有關的應用依次說明。首先報告用本系統設法解決電子佛典缺字的計畫。其次,介紹利用字形資料庫改良資料登錄系統的規劃。最後,觸及根本問題,希望從本文的理論與經驗中,重新考量交換碼的設計。畢竟造成缺字問題的元兇,就是目前的交換碼。
一、電子佛典缺字的解決方案
佛教典籍多屬古書,其中常有當時通用之字形,與現代的「標準」字形並不一樣。在台灣,有許多機構正在製作電子佛典,一則為了流通,二來為了保存典籍。可是,缺字問題卻造成流通和保存上致命的障礙。為此,台灣大學文學院佛學研究中心邀集各機構,擬共編一套《電子佛典補充字集》來解決問題。幾經商議,同意由本實驗室負責技術工作。這個工作規劃實是一個典型解決缺字的方案。
參加機構所製作旳佛教典籍,計有:《大般若經》、《禪藏》、《佛光大辭典》、《丁福保佛學辭典》、《律學辭典》、《大正藏第九冊》,以及近代的套書《妙雲集》等。各機構先匯集缺字,並查明其屬性後,送交本實驗室合併處理。
莊德明先生曾就送來的缺字予以分析,發現甚多是由於字體不同而產生的分毫字樣。這些字目前暫不處理,餘者分類如〔表九〕。表中,除第二類屬結構變化外,餘皆屬字根與部件的變化。這些字大多是異體字,可登錄在字形資料庫中,目前已存入500多字。【註十一】
這些字存入Big-5碼中,亦有規定,詳如〔表十〕。由於造字空間只有5809個,在使用上至少應分成公用造字區及專屬造字區。若造字使用頻次較高者,應置於公用造字區;頻次較低者,則依個別的需要而置入專屬造字區。然而在造字初期,若無頻次的統計資料,可先收錄佛經中非咒文的用字。佛典用字除了漢字以外,還有特殊符號,包括外文字母、流水號及佛典常用的符號。流水號的編號有「1、2、3……」、「一、二、三……」、「壹、貳、參……」、「甲、乙、丙……」、「子、丑、寅……」等,外框樣式則有「○、()、●……」等,以五大碼有限的造字空間,自不可能將這些流水號通通收錄,目前只為流水號預留100個位子。
常用的外文字母包括梵文、巴利文、藏文及日文。造字區第四段C6A1-C8FE在倚天中文系統下另有定義,其中就包括了日文字母,為兼顧倚天及中文視窗使用的一致性,這一段我們不用。另外依據臺大佛學研究中心「梵巴藏羅馬字轉寫與中文軟體的相容問題」討論會議結論,有鑒於五大碼造字空間有限,目前只收錄32個梵文、巴利文及藏文的轉寫字母。規劃下來,真正能給補充字集用的有四千個字位,應該可以用一段時間。如果這四千個位置都滿了,則可用字形位標來借用其他碼的造字空間存放。
表九:異體缺字的分類
三、改良交換碼的建議 目前交換碼的根本病源,是錯把字形當作字。在此名實不符的情形下,名叫字碼(character code)而實際上卻以字形的差異來判別字。例如,五大碼中饑(C4C8)和飢(B047)分別佔兩個碼位。那麼它們是不是同一個字呢?依碼中的定義,不是;但在語用上實在是同一個字的兩個形罷了。這種情形在各交換碼中比比皆是,Unicode和ISO10646也不例外。從文字學和語言學的角度看來,這種文字知識的表達根本是錯誤的,不健康的。從科學的角度來看,定義都錯了,往後推演可以勿論。像這種不健康的設計,導致目前應用上捉襟見肘,毛病百出,並不是意外的事。要改善交換碼,自應從此處下手。 此外,應知漢字集合從集合論的觀點來看是一個開放集合(open set),隨時可能增加字。它和封閉式的字母集合(close set)不同,字母是不會再增的。這些基本性質的不同,將導致其不同的性質和處理方式。可是,目前的做法卻是套用ISO 646處理字母的方法,來編漢字的碼。這真是削足適履。以上的說明和批評是希望大家了解,要改良現有的交換碼必須要爭脫既有的思考巢臼,否則不會有徹底解決的辦法。以下就是我們根據上述的原則,對改善現有交換碼所提出的方案。 (一)三段式的編碼 首先,我們建議對字、字形、字體分三段編碼,如〔圖十〕: 圖十:字碼 、字形碼、字體碼、風格碼的關係 若字形附碼與字體附碼都用時,則前後不拘,此時若只選字體而無字型參數,則稱風格碼(style code),若含有字形參數,則稱為字樣碼(type face code)。字碼的使用與現在使用交換碼相用。字形碼、字體碼,風格碼或字樣碼等,則可以用前述之漢字形標載之與字碼一起用。字樣碼可能較長,因為其中可能包括許多字型的參數,這無關本文主旨,詳情略而不談。字形附碼只是一個正整數的編號。在本系統中它可以用來區別異體字,也可以用來存放某字集中所用的字形。例如,我們把《中文電腦基本用字》表中的繁體放在字形附碼為1的位置,把大陸標準簡體字放在2的位置上。這樣使用字形附碼的方式可以存放更多的文字信息。(二)各碼表達的忠實度 這種編碼方式的使用可由其傳輸失真的程度上分為下列四種組合: 以上四種情形可斟情使用以應付不同的需求。這是分成三段碼能提供的彈性。 (三)構字式的運用 每個字形的構字式都不相同,所以它可用作字形的識別碼。這情形在討論漢字位標及形標時已述及。此節說明此觀念在設計交換碼的可能做法。 用構字式作字形碼最大的好處,是它是一個封閉系統:只要有一個封閉的字根集合,配以〔表四〕的規則,就行了。如此便可省去成千上萬的碼位。《交大字根系統》用496個字根就能產生48713字形的碼,並且還有不需要修改系統就能對付新字或缺字的彈性,就是最好的例子。其次,構字式是一種知識表達,它不僅較數字碼易讀易懂,所孕藏的構字知識更有利於應用程式的處理。然而,它的缺點是構字式長短不一,也嫌它太長,以致用起來較不經濟。 部件序或根序較構字式簡潔許多,用它們來替代構字式是很自然的想法。以《中文電腦基本用字》的9122個字形,加上629個部件,457個字根,亦可產生48713個字形。此時9122個形只用一字碼,而其餘約4萬字,每個構字序卻可簡潔如15頁的那11個式子。換言之,可用漢字形標來表示剩下的四萬字形,每個字形之長度僅二或三個字碼。由於9122個字形的累積使用頻率已高於99.9%,餘下千分之一以下的機會用較長的碼,對系統之效率影響極為有限。所以善用構字式實是改善目前交換碼的一個好方法。【註十一】 詳見莊德明,〈佛典共用造字集的規劃〉1995,及〈佛典共用造字集的整理〉,1996,文獻處理實驗室,中研院資訊所 |