国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

古籍?dāng)?shù)字化過程中字樣的提取與整理
——以《集韻》數(shù)據(jù)庫為例

2015-03-01 03:06勵(lì)
關(guān)鍵詞:集韻字頭字樣

雷 勵(lì)

(興義民族師范學(xué)院, 貴州 興義 562400)

利用計(jì)算機(jī)數(shù)據(jù)庫來研究《集韻》等韻書具有特殊性?!都崱纷鳛樵嘉墨I(xiàn)與計(jì)算機(jī)數(shù)據(jù)庫的存在方式有著本質(zhì)的不同。前者雖為刻本,但仍以書寫的形式存在。計(jì)算機(jī)數(shù)據(jù)庫采用結(jié)構(gòu)化信息模型,以格式化編碼的形式存在于存儲介質(zhì)之中,而韻書數(shù)字化過程便是把以字符為內(nèi)容的記錄以結(jié)構(gòu)化形式輸入計(jì)算機(jī)數(shù)據(jù)庫。

一、數(shù)據(jù)庫字符編碼

計(jì)算機(jī)內(nèi)字符是以編碼的形式存在的,用單個(gè)、兩個(gè)或四個(gè)字節(jié)(Byte)來記錄一個(gè)字符(Character),所有字符編碼的集合就是字符集(Charset)。根據(jù)字符集編碼的范圍、結(jié)構(gòu)、方式及所含編碼字符的多寡可以分為不同的字符集,常見的字符集就有 GB2312、GBK、GB18030、ISO/IEC 10646等。我們在創(chuàng)建《集韻》數(shù)據(jù)庫時(shí)基于Windows 7操作系統(tǒng)和MS Access 2007數(shù)據(jù)庫,使用Unicode編碼規(guī)范,以ISO/IEC 10646為字符集標(biāo)準(zhǔn)。

ISO/IEC 10646被譯為“通用多八位編碼字符集”,該通用字符集共定義了17個(gè)代碼平面(Code Plane),代碼范圍由 U+000000~U+10FFFF,每個(gè)平面均由 65,536(256×256)個(gè)碼點(diǎn)(Code Point)組成①,每個(gè)平面的最后兩個(gè)編碼(OxFFFE、OxFFFF)不用。00平面(Plane 00)被定義為基本多文種平面(Basic Multilingual Plane,簡稱BMP),可用UCS-2表示,即使用16位碼元(2個(gè)字節(jié)),如拉丁字母大寫“A”編碼為U+0041。其余16個(gè)平面為輔助平面(Supplementary planes),代碼范圍U+10000~U+10FFFF。

ISO/IEC 10646所定義的16個(gè)輔助平面超出了UCS-2的字符編碼表示范圍,需要使用兩個(gè)16位碼元表示,又稱代理對(Surrogate Pair)。00平面的U+D800~DFFF編碼范圍被用作UTF-16代理編碼段,U+D800~DBFF被用作高位代理(或稱前導(dǎo)代理),U+DC00~U+DFFF被用作低位代理(或稱后位代理),高位、低位代理組合最多能表示400H×400H=1,024×1,024=1,048,576個(gè)碼點(diǎn),與16個(gè)輔助平面的編碼范圍重合(65,536×16=1,048,576)。

我們再舉例說明Windows NT內(nèi)核系統(tǒng)中的字符編碼。打開Windows 7系統(tǒng)自帶文本編輯工具記事本,在文本編輯框中輸入“”(U+2A00A)字,以Unicode編碼保存,再用純文編輯工具UltraEdit以二進(jìn)制方式打開所保存的文件,可得該文件的十六進(jìn)制代碼為:

FF FE 68 D8 0A DC

FF FE放在文件開頭指示字符編碼順序,表示字符以UTF-16 LE編碼,即為字節(jié)順序標(biāo)記(Byte Order Mark,簡稱 BOM)??傻谩啊保║+2A00A)字的UTF-16編碼為:

D868 DC0A

高端代理OxD868轉(zhuǎn)為二進(jìn)制為1101 1000 0110 1000;

低端代理OxDC0A轉(zhuǎn)為二進(jìn)制為1101 1100 0000 1010。

取高端代理OxD868二進(jìn)制碼元右十位0001101000,再取低端代理OxDC0A二進(jìn)制碼元右十位0000001010,然后合為二十位二進(jìn)制碼元0001 1010 0000 0000 1010,轉(zhuǎn)為十六進(jìn)制編碼為 Ox1A00A,再加上Ox10000(輔助平面起始碼點(diǎn)),則可得出“”字編碼為U+2A00A。

我們又以同樣的方式,在MS Word、Excel、Access中編輯輸入“”(U+2A00A)字并存為97-2003格式的.doc、.xls、.mdb文件,用 UltraEdit工具以二進(jìn)制方式打開所保存的文件,得字符代碼段為“68 D8 0A DC”,說明文件均以UTF-16編碼存儲。

EF BB BF F0 AA 80 8A

EF BB BF為UTF-8編碼文件前部的BOM。可得“”(U+2A00A)字的UTF-8編碼為:

F0 AA 80 8A

“”字的UTF-8編碼轉(zhuǎn)為二進(jìn)制為:

11110000 10101010 10000000 10001010

眾所周知,計(jì)算機(jī)是通過機(jī)內(nèi)編碼進(jìn)行處理、存儲、交換信息的,但字符編碼本身不具有形態(tài)顯示,這就需要字體文件顯示編碼字符內(nèi)容。目前盛行的字體文件類型是TruetypeFont(TTF),它由Apple和微軟公司共同開發(fā),是一種矢量字體,利用二次曲線描寫字形輪廓②。TTF由head、cmap、glyf、loca、post等一系列數(shù)據(jù)表構(gòu)成,即對編碼字符的字樣屬性進(jìn)行描述。顯示編碼字符時(shí),系統(tǒng)函數(shù)會讀取相應(yīng)字體文件,通過字體文件中的cmap數(shù)據(jù)表查找與字符編碼相應(yīng)的像素索引(或稱字形索引),以像素索引為條件檢索并返回相關(guān)字形參數(shù)。之后便再把返回的參數(shù)值存儲到相應(yīng)程序的緩存中去,并通過操作系統(tǒng)Gdi函數(shù)在窗體中繪出文字圖形③。

綜上所述,編碼是字符在計(jì)算機(jī)內(nèi)的唯一身份,對字符進(jìn)行數(shù)據(jù)處理即是針對字符編碼而言的。計(jì)算機(jī)字形是對編碼字符的圖形顯現(xiàn),而字體是字形的屬性表,是對字形的數(shù)據(jù)描述。在Unicode編碼空間里,碼點(diǎn)不會因未分配字符而空缺,比如,0F平面的OxFAAAA碼點(diǎn)暫無字符分配,但碼點(diǎn)依仍存在。例如,我們可在MS Word中輸入并選定“FAAAA”,按Alt+X鍵,編碼會轉(zhuǎn)換成“□”符號,即表示無字符顯示。但并非所有顯示為“□”的碼點(diǎn)都沒有分配字符,因?yàn)榫幋a字符需要用字體文件顯示。如02平面(SIP)的字,系統(tǒng)中若未安裝能顯示02平面編碼字符的字體,則仍顯示為“□”。如需顯示ISO/IEC 10646編碼字符集外的字符時(shí),也可先在0F平面(PUA)內(nèi)指配碼點(diǎn)④,并用FontCreator字體軟件修改支持0F平面(PUA)的TTF字體,新增字模和字形索引,并編輯該字形。當(dāng)然,Windows操作系統(tǒng)在顯示02平面(SIP)至0F平面(PUA)的字編碼字符,須在注冊表中關(guān)聯(lián)。

二、字符認(rèn)同的基本原則

在整理漢字字形時(shí),亟需漢字構(gòu)形學(xué)理論對個(gè)體漢字進(jìn)行分析,特別是應(yīng)該引入字位、字樣、書寫變體、傳承變體以及形位、形素等范疇來對漢字字符間進(jìn)行共時(shí)、歷時(shí)兩個(gè)軸向的系統(tǒng)分析。字符集編碼空間畢竟有限,如果字形凡有差別就分配碼點(diǎn),則現(xiàn)有的17個(gè)平面編碼空間仍然不夠用,這顯然不符合經(jīng)濟(jì)性原則。當(dāng)然,從古籍排印及漢字字符信息處理的角度來說,如需保存古籍原貌,自當(dāng)體現(xiàn)原書字形的所有差別。

ISO/IEC 10646字符集中各編碼字符有不同的字符來源(Sources of characters),統(tǒng)一的編碼字符規(guī)范是在各國、各地區(qū)文字規(guī)范標(biāo)準(zhǔn)等基礎(chǔ)上制定的。CJK認(rèn)同表意文字(CJK Unified Ideographs)編碼表中沒有指定編碼漢字的代表字形,但列出了中國大陸、臺灣、香港、澳門及日本、韓國、越南、新加坡等地區(qū)各信息交換標(biāo)準(zhǔn)中所規(guī)范的字形,并標(biāo)注了字形的來源參數(shù)⑤。同時(shí)在收錄整理字符時(shí),為了避免字符重碼,ISO/IEC 10646標(biāo)準(zhǔn)還定義了表意文字認(rèn)同規(guī)則⑥。

根據(jù)該認(rèn)同規(guī)則,應(yīng)被認(rèn)同的漢字字形只指配一個(gè)字符編碼,也即認(rèn)同為同一個(gè)編碼字符。對字形近似的非同源漢字(non-cognate characters)字形則分別編碼,如“士”(U+58EB)和“土”(U+571F),再如“朏”(U+6723)和“胐”(U+81A7)。認(rèn)同規(guī)則還定義了兩個(gè)步聚:對構(gòu)字部件間結(jié)構(gòu)的分析(Analysis of component structure)、對構(gòu)字部件特征的分析(Analysis of component features)。構(gòu)字部件特征的分析又包括構(gòu)件數(shù)量、相對位置、下位構(gòu)件及其結(jié)構(gòu)等方面的比較分析。認(rèn)同規(guī)則還規(guī)定:構(gòu)字部件層面的差異以及構(gòu)件間的結(jié)構(gòu)關(guān)系、位置關(guān)系的差異不作認(rèn)同,如“崖”“、厓”“,峰”“、峯”“,夾”、“夾”等字形之間的差別;對于同源漢字,若僅在筆畫等形素上有細(xì)微差別,則可作認(rèn)同處理,認(rèn)同規(guī)則中還列舉了筆畫出頭、相交、相連、帶鉤等11類實(shí)例,如“”、“”,“”、“”等。

為保持中國大陸、臺灣地區(qū)、韓國、日本等地區(qū)信息標(biāo)準(zhǔn)交換碼的完整性,ISO/IEC 10646表意文字認(rèn)同規(guī)則還列出了對所含字符不作認(rèn)同的4組信息交換標(biāo)準(zhǔn),并附有舉例說明。例如“,刃(U+5203)、刄(U+5204)(U+2F81E)”在 ISO/IEC 10646字符集中分別占有3個(gè)碼位,“刄、”為“刃”字的字樣變體,若依認(rèn)同規(guī)則,本應(yīng)合并為一個(gè)編碼字符,分別編碼主要因其分屬不同地區(qū)的標(biāo)準(zhǔn)字符集。又GB2312與CNS 11643-92部分字符的字形完全相同,但I(xiàn)SO/IEC 10646在02平面仍給CNS 11643-92的這部分字符分配了碼點(diǎn),如“ ”字就有U+4039、U+2F949兩個(gè)編碼。這些字符被分別編碼,當(dāng)然不能歸類于字位層面的收錄整理。編碼字符是一個(gè)二維平面的字符序列,每個(gè)編碼字符不一定都等同于字位,線性的編碼序列如何更好地體現(xiàn)字位及字樣層位關(guān)系需待更深入研究。

在古籍?dāng)?shù)字化的過程中,自始至終都存在字樣提取和整理的過程。對整理程度的不同要求,也造成了字符認(rèn)同程度的不同。例如,對異體字的處理便涉及是否應(yīng)改換為現(xiàn)行規(guī)范字形以及劃定異體字改換范圍等方面的問題。尉遲治平也認(rèn)為:“為了正確認(rèn)識和處理數(shù)碼漢字的異體問題,必須引入字位的概念?!盵2](p.121)尉遲還提出整理古籍時(shí)應(yīng)先從字位的概念出發(fā),甄選通行字作為代表字。一般來說,對字樣的提取和整理,應(yīng)該根據(jù)古籍處理的目的和學(xué)術(shù)研究的需要,制定相應(yīng)的標(biāo)準(zhǔn),針對古代韻書收字的整理研究,應(yīng)該采取較嚴(yán)的標(biāo)準(zhǔn),亦即充分體現(xiàn)字形的差別,尤其是對韻書中字頭的字樣提取和整理。我們提取和整理字樣時(shí)必須堅(jiān)持以下兩條原則:一是字形的差別若是反映了記詞功能的區(qū)別,那么即使是再細(xì)微的差別,也不能將之認(rèn)同為一個(gè)字符;二是在字樣提取和整理的過程中,字符的認(rèn)同或區(qū)分,必須使用統(tǒng)一與連貫的標(biāo)準(zhǔn),不能出現(xiàn)前后矛盾和不一致的情況。

三、字樣的提取與整理

韻書字樣的提取與整理是創(chuàng)建韻書全文數(shù)據(jù)庫的基礎(chǔ),所謂字樣提取就是把字樣輸入計(jì)算機(jī)而錄為編碼字符的過程。我們按原書順序提取《集韻》字頭字樣時(shí),常以形碼(五筆輸入法)檢索編碼字符。例如,平聲東韻的“”字,其五筆形碼為:GJII。通過五筆碼,可檢出“東”(U+6771)字,之后在《集韻》數(shù)據(jù)庫中輸入編碼字符“東”記錄該字頭,并錄入其字符編碼U+6771。

在提取《集韻》字頭字樣時(shí),我們盡量采用字形完全相同的編碼字符錄入,以保持原書字形。例如,平聲寒韻的“刋”字,《集韻》潭州本、明州本、金州本分別作“”、“”、“”,注“《說文》:剟也”。按:《說文·刀部》小篆形作“”?!洱堼愂昼R·刀部》作“刋”,注“口干反。刋定,除削也”。ISO/IEC 10646字符集內(nèi)相應(yīng)的編碼字符有“刊”(U+520A)和“刋”(U+520B)2字,今“刊”為通行字。我們在提取字樣時(shí),字頭記錄為“刋”,并在相關(guān)字段中再輸入“刊”,以溝通其與通行字之間的關(guān)系。再如,上聲語韻的“呂”字,《集韻》潭州本、明州本、金州本分別作“”、“”、“”,注“《說文》:脊骨也。昔太岳為禹心呂之臣,封呂侯?;驈娜狻⒙?。一曰:呂,陰律。亦姓”。按:《說文·呂部》小篆作“”,《王三》作“呂”,《切三》、《王二》均作“呂”?!毒沤?jīng)字樣》云“:呂,隸省作呂?!雹逫SO/IEC 10646字符集內(nèi)相應(yīng)的編碼字符有“呂”(U+5415)和“呂”(U+5442)2字。我們在提取字樣時(shí),字頭記錄為“呂”,并在相關(guān)字段中再輸入“呂”,以溝通它們的關(guān)系。

還有一些字樣,字形構(gòu)件本不混同,分別有不同的來源,但《集韻》所錄已經(jīng)不作區(qū)別。為保持《集韻》原書面貌,我們?nèi)赃x擇與《集韻》字樣相同的編碼字符輸入。例如,平聲文韻收“頒、朌”3字,《集韻》潭州本、明州本、金州本所收“朌”字分別作“”、“”、“”,并注“大首皃。一曰:眾皃?;驈娜?。亦作”。按:《正字通·肉部》“月”字下注“肉字偏旁之文本作肉。石經(jīng)改作,中二畫連左右,與日月之月異。今俗作 以別之”。ISO/IEC 10646字符集內(nèi)相應(yīng)的編碼字符有“朌”(U+670C)“、肦”(U+80A6)2字,我們在提取字樣時(shí),字頭仍記錄為“朌”(U+670C)。

當(dāng)然,計(jì)算機(jī)編碼字符的字形不盡與《集韻》字頭重合,如在字符集中挑不出字形完全相同的編碼字符,便以ISO/IEC 10646字符集標(biāo)準(zhǔn)中的表意文字認(rèn)同規(guī)則為參照,并在漢字構(gòu)形學(xué)理論的指導(dǎo)下,通過深入分析字符間的字形、字構(gòu)、字用的異同,逐一確認(rèn)字樣與編碼字符的對應(yīng)關(guān)系。若字形間的差別標(biāo)記了記詞功能的不同,則必作區(qū)分。例如“,”字豎筆帶鉤,而編碼字符集中的“東”字豎筆不帶鉤,而該字形差別并不影響記詞功能,根據(jù)認(rèn)同規(guī)則,對此差別可以不作區(qū)分。對于ISO/IEC 10646字符集內(nèi)無相應(yīng)編碼字符的《集韻》字樣,可在0F平面內(nèi)分配碼點(diǎn),并在相應(yīng)字體中新增字模。例如,《集韻》平聲齊韻收“睽、”2字,注“乖也。古作”。我們在0F平面分配U+F007C碼點(diǎn)給“”字,而字體中所新增的字形作“”。

《集韻》有的字樣在ISO/IEC 10646字符集中僅有記詞功能雖相同而字形稍異的編碼字符與之對應(yīng),為減少在系統(tǒng)字體中新增字模的工作量,我們一般就以本編碼字符記錄《集韻》字樣,同時(shí)也在相應(yīng)的備注字段中記錄該差別。例如,平聲脂韻收“、葵”2字,注“:《說文》菜也。隸作葵?!卑矗骸墩f文·艸部》小篆作“”?!都崱贰啊蹦恕啊弊值碾`定形體。ISO/IEC 10646字符集內(nèi)字形相近的編碼字符有“”(U+26B99)。而“”、“”字形差別僅在于前者從“艸”、后者從“ ”。“艸”與“ ”的構(gòu)件功能本同,因此我們在提取字樣時(shí),字頭記錄為“”(U+26B99)。再如,《集韻》平聲支韻收“爲(wèi)、”2字,注“古作”。按:《說文·爪部》“:,古文爲(wèi)。象兩母猴相對形。”《字匯補(bǔ)·臼部》“:,古文爲(wèi)字?!眲t“、”均可視為“”字的隸定形體。ISO/IEC 10646字符集內(nèi)字形相近的編碼字符有“”(U+223FD)“、”(U+2696E)2字,而“”與“”字形貌似更近,因此我們在提取字樣時(shí),字頭記錄為“”(U+223FD)。

為準(zhǔn)確展現(xiàn)《集韻》字頭字樣,也可按《集韻》原書順序建立數(shù)據(jù)表,同時(shí)截取原書字樣的字圖,并存為位圖文件,而字樣位圖文件可按【碼點(diǎn)+字頭順序】的格式命名。然后再以與字樣對應(yīng)的編碼字符碼點(diǎn)為數(shù)據(jù)表主鍵,建立編符字符與字圖的關(guān)聯(lián)。

四、結(jié)語

字樣的提取在韻書數(shù)字化的過程中處于關(guān)鍵性地位,它直接影響到韻書相關(guān)研究成果的準(zhǔn)確性。計(jì)算機(jī)編碼字符與原書字樣的字形總會有不同之處,誠然我們也可以修改字體數(shù)據(jù)使編碼字符的字形屬性與之契合,但編碼字符與碼點(diǎn)的映射以及編碼字符間所體現(xiàn)的區(qū)別與聯(lián)系總是固定的。字樣提取和整理,也就是對字符進(jìn)行認(rèn)同與辨異。一方面,我們可利用漢字構(gòu)形學(xué)理論,從字位與字樣的角度對原書字樣進(jìn)行提取和整理;另一方面,我們也應(yīng)該盡量地保持韻書原貌。而數(shù)字化過程中所遇與原書不相符之處,應(yīng)詳細(xì)記錄。

注釋:

①Unicode標(biāo)準(zhǔn)指出:用來對抽象文字進(jìn)行編碼的整數(shù)范圍稱為編碼空間;這個(gè)編碼集里的每個(gè)特定編碼叫做碼點(diǎn);當(dāng)一個(gè)抽象字符被映射或被分配到編碼空間中特定的碼點(diǎn)時(shí),這個(gè)抽象字符就被稱為編碼字符。參見 《The Unicode Standard,Version 6.2》,Unicode Consortium,第 22頁。

②微軟又和Adobe公司共同開發(fā)了Open-Type字體,以三次曲線來定義字形,相比二次曲線,可以用更少的點(diǎn)來描寫同樣的曲線。

③MS Word嵌入字體保存即是通過讀取字體數(shù)據(jù),并把數(shù)據(jù)寫入文件,方便其他無相關(guān)字體的計(jì)算機(jī)也能正常顯示所有字符。

④ISO/IEC10646定義0F、10平面保留為專用平面(Private Use Plane),又簡稱 PUA。

⑤見《ISO/IEC10646:2012 Information technology—Universal Coded Character Set(UCS)》,ISO,第 35-37頁。

⑥認(rèn)同規(guī)則原文見 ISO/IEC 10646 Annex S(Inform ative)Procedure for the Unification and Arrangem ent of CJK Ideographs。香港又稱“漢字統(tǒng)一整合規(guī)則”。

⑦見《隸辨·上聲·語韻》卷三“呂”字注文。

[1]楊小衛(wèi).計(jì)算機(jī)技術(shù)在古代文獻(xiàn)整理和學(xué)術(shù)研究中的應(yīng)用——《集韻》的XML建模和處理[J].信息科技,2010(10).

[2]尉遲治平.電子古籍的異體字處理研究——以電子《廣韻》為例[J].語言研究,2007(3).

猜你喜歡
集韻字頭字樣
荊璞《五音集韻》之形制
連降兩個(gè)月 太原豬肉價(jià)格重回“2”字頭
《集韻》征引《說文》過程中的幾個(gè)問題
《集韻》征引《廣雅》研究
“合格”
“家”字的寫法
“從來不知道哪天會有投資”
《羊字頭》教學(xué)設(shè)計(jì)
《集韻》編撰的起訖年代考辨
民政部未批準(zhǔn)任何帶有“一帶一路”字樣的社會組織
政和县| 昌宁县| 庆阳市| 巍山| 奇台县| 丹棱县| 抚顺市| 灵宝市| 花莲县| 蓬安县| 博客| 本溪市| 乐清市| 无为县| 南乐县| 蕲春县| 屏南县| 齐河县| 靖安县| 绍兴县| 桦南县| 河曲县| 剑川县| 弋阳县| 班玛县| 夹江县| 黑山县| 梓潼县| 肃宁县| 沅陵县| 新营市| 梁山县| 舟曲县| 榆社县| 德兴市| 陆川县| 姚安县| 余庆县| 万宁市| 贵阳市| 革吉县|