佛典缺字處理簡介

每每和一些老朋友見面,聊到我現在在進行佛典電子化的工作時,有一個問題常被提及,那就是:「佛經裡面不是有很多怪怪的字嗎? 那個要怎麼輸入? 」這就是本次想要與各位分享的主題:"外字"。習慣上我們稱為"缺字" ,本文也依習慣用"缺字"來稱呼。 (外字是日本針對其所訂定漢字集之外的漢字的稱呼,而這裡使用缺字是表示電腦字集內無法現的字。)

缺字這問題想必許多人都遇到過,有人久久碰到一次,有人則是姓名之中就有無法在電腦中輸入的缺字,相信這也造成了不少的麻煩。然而處理古文資料典籍的朋友,缺字更是形影不離的好友。雖然中文字的大環境一直在改變,由 Big5至 Big5 Plus ,乃至目前看好的 Unicode,都是漸漸在改進,擴大字集,加強交換,但中文字的變化似乎是無窮無盡,而且現實上我們也不能等到新的標準統一中文江湖之後,再推出我們的成果。所以藉這個機會,我就將在 CBETA一年多來所接觸過的缺字處理方法,大略介紹並分析特點,提供給各位參考,更希望大家若有任何的想法及建議,都能不吝於提供我們參考,讓我們在處理缺字的這個環節,能有更好的改善。

目前處理的方式可分成下列數種,以下就針對各種方法簡略介紹。

1. 黑圈表示法
2. 造字法
3. 字根序表示法
4. 組字法
5. 編碼法
6. 圖檔
7. 向量字

   *** *** ***

[黑圈表示法]

在早期網路上的文件,缺字無法表達時,有人就用一個大黑圈 "●" 來表示,日後若有機會,再將之整理。據說這個黑圈還是有典故的,容我不在此細談。黑圈表示法除了輸入簡單,並且讓人一目了然是缺字之外,就沒有什麼太大的特點了。

[造字法]

自從有中文系統以來,使用造字是最簡單且最常用的方法。看到一個缺字,就打開造字程式,依樣畫胡蘆,並存在使用者造字區之中,這樣問題就解決了。許多電子佛典資料都是採用這種方式。北美資功會發行的金剛經專輯及佛光山出版的佛光電子佛學辭典,便是採用這種方式處理。

輸入:自己造的字,只要設計好輸入法,不論是注音倉頡或其它,使用上都和一般系統無異。

呈現:一般造字都是點矩陣的字形,不似向量字形美觀且可隨意縮放。

交換:資料交換是造字最大的問題之一,若大家使用同一造字檔,則輸入、輸出或查詢,都不是大問題,但是目前的 windows系統,同一時間系統只能載入一套造字檔,而各家造字在現實上難以統一的情況下,各家不同的造字檔變成了使用者的負擔。

檢索:如上所述,若使用同一套造字檔,則檢索並不是問題。

限制:最大的限制是造字區的數目,Big5字集只有 5809 個造字空間,而隨著字集的擴大,使用者造字區也會相形變小。

[字根序表示法]

中文字不同於歐美的拼音文字,有著基本的字形,但為了方便管理及分類,有些人開始將中文字拆成許多基本字根,或稱之為"字種"。而每一個中文字,就由一組唯一的字種組合而成,中研院資訊所文獻處理實驗室就提出了一個完備的方法,有興趣的朋友可至其網站參觀,其網址是: http://www.sinica.edu.tw/~cdp

輸入:1.某些字種可能是造字,故需了解這些造字的輸入法。
            2.字根序是由一組字種組成,只要了解輸入規則即可進行輸入工作。

呈現:缺字使用字根序表示,在閱讀上並不是很能讓閱讀者直接了解,但可以根據規則而了解其字形。

交換:只要有基本字種造字檔,就很可很容易的交換資料。

檢索:只要使用同一套字根序規則,就能很容易進行檢索。

限制:只有極少數的字無法用組字規則組出能直接看出字形的字根序。

[組字法]

其實組字法並沒有特別限定某一種方式,不同於上述的字根序表示法在於:目前沒有一個特別的規範,也沒有使用造字檔。這個方式在網路上常可見到,例如 [金*本]這個 "缽" 字的另一種寫法,有些人用〔金本〕來表示,有些人則寫 [左金右本]...,也就是利用現有的字及各種方法來描述缺字。

在 CBETA的作業中,處理中的檔案及普及版都是採用了自行規範過的組字法來表示缺字。

輸入:用一套運算符號 [+-*/@?] 就可以描述絕大多數的缺字。

呈現:和字根序相同的問題,在閱讀上並不是很能直接了解,但可以根據規則而了解字形。

交換:由於組字法是用基本的系統字,只要是字集相同的系統,都很容易交換。

檢索:只要組字的規則是相同,就可以進行檢索,但規範組字是很複雜而困難的事,除非有好的程式來處理這件事,否則一字多種組法是經常可見的。

限制:1.組字的方法過於彈性,造成檢索不易。
            2.組字法是利用字形的組合,若經過簡繁體或不同字形的字體轉換,很容易造成其它問題。

[編碼法]

一個缺字給予一個編碼,這是很直覺的處理方式。目前有許多單位在從事這種整理。 CBETA在原始資料的保存上,就是採用日文文字鏡所提供的編碼方式。它的編碼格式是 &M-xxxxx;這種表示法在國際上是廣泛被使用的。您可參考文字鏡的網站,將會得到進一步的了解: http://www.mojikyo.gr.jp/

然而在內部管理上,也是將文字拆成許多 "字種" 以進行資料的維護。

輸入:由於是用代碼,沒有輸入困擾,但必須要有對照表或相關工具才能得知編碼的意義。而且,若有新的字形被發現,就要統一由一個標準機構製定該字的編碼。

呈現:同理,只看代碼無法得知是何種字型,必須要具有對照表或轉換工具。

交換:只要有對照表,在資料交換上沒有問題。

檢索:由於是一字一碼,在檢索上也沒有問題。

限制:由於編碼和對應的字集需由特定的程式來轉換,再加上各地發展出不同的編碼方式,因此,目前需要一套統一的規格和專用的編輯及瀏覽界面,才易於輸入和輸出工作。

[圖檔]

自從 WWW成為新一代網路媒體的主流,圖形與文字有了更緊密的結合。在缺字的處理上,使用圖形貼在文字資料之中,也成了一個簡單而有效的方法。

輸入:正如大部份的 WWW網頁資料一般,使用者輸入的機會較少,故這方面的輸入大多由專門的人負責,不是任意使用者都能直接修改資料。這部份並沒有什麼特殊的規範存在,完全是將缺字當成圖片來處理。

呈現:若處理得當,可以得到很完美的效果。

交換:由於只是圖檔處理,只要圖檔格式是被該系統所支援,就能順利使用。但必須受限於能處理圖形的介面,純文字的環境就不適用此方式。

檢索:不易檢索。

限制:1.受限於有能力處理圖形的環境。
            2.此方法乃單純在呈現上有簡單而良好的效果,但並不適用一般使用者輸入與查詢。

[向量字]

在 Windows界面之下,向量字形在畫面、列印及能隨意放大縮小都有很好的表現。利用系統能同時處理多字面向量字的功能上,用來處理缺字也不失為一個好方法。主要方法有二:

1.利用造字區空間:則原理同造字的方法,只是在呈現上多了一種選擇。

2.利用系統字空間:利用 Windows系統能同時呈現多字面的方法,可以充分利用系統字的大量空間來放置缺字字型。去年由妙雲文教基金會,今文佛典資訊小組委由巨石文化研發了一套《漢字庫》,即成功的完成了54000字的示範字庫,並有部份已應用在印順導師全集的光碟中。有興趣的朋友可至其網站參觀,網址是 http://140.123.101.83

輸入:以《漢字庫》為例,它是依漢語大字典為主,並有一套編碼規則。《漢字庫》光碟中有提供一套由部首及筆劃的查詢工具,查到的字形,可直接複製並貼在 word 或其它能處理向量字的文字編輯系統之中。

呈現:與一般系統向量字無異。

交換:由於 Windows系統可同時處理多套向量字集,只要複製向量字,故在資料交換上並無太大困難。要特別聲明的是,若是佔用系統字的空間的向量字,則在資料傳播時要特別註明所使用的字集,否則會造成錯誤資訊的流傳而難以發覺,這就不是沒有安裝造字就看不到造字那麼單純了。

檢索:若是放在造字區之缺字,則如造字一般,有自己的系統內碼,可順利檢索。若是佔用系統字空間,則無法順利檢索。

限制:受限能處理向量字的系統及程式。

   *** *** ***

如眾所知,規則是死的,應用是活的,上述的方法,是可以靈活應用的。目前 CBETA在缺字的處理情況略述如下:

1.在資料處理階段,採用內部自行規範的組字法,以方便大家的作業。
2.在核心資料部份,採用日本文字鏡的編碼表示法,以利日後進行各種轉換。
3.在公開的普及版經文,能使用現成通用字的缺字,我們就用通用字取代,無法使用通用字的,就採用組字法。
4.在網站上的 HTML 版及光碟中的 HtmlHelp 版,同時使用組字式與圖檔配合,以期讓使用者能更順利得知字型為何。

以上略為介紹我這一年多來對缺字的粗淺認識,相關的詳盡資訊還請至相關的網站參觀,有錯誤及建議的部份,也請各方善知識多多指教。

CBETA 規範之 "大正藏基本通用字型"

http://www.cbeta.org/data-format/regular.htm

CBETA 規範之 "一般組字式基本規則"

http://www.cbeta.org/data-format/rare-rule.htm

CBETA 現有缺字整理一欄表(包含圖形、通用字、組字式、今昔文字鏡編碼)

(網址已移除)