莫禮平,周愷卿,蔣效會
(1. 吉首大學(xué) 信息科學(xué)與工程學(xué)院,湖南 吉首 416000;2. 馬來西亞理工大學(xué) 計(jì)算學(xué)院,馬來西亞 柔佛州 士古來 81310)
?
基于OpenType技術(shù)的方塊苗文字庫研究
莫禮平1,周愷卿2,蔣效會1
(1. 吉首大學(xué) 信息科學(xué)與工程學(xué)院,湖南 吉首 416000;2. 馬來西亞理工大學(xué) 計(jì)算學(xué)院,馬來西亞 柔佛州 士古來 81310)
方塊苗文是民間苗文的代表,其信息處理研究對于保護(hù)民間苗族文化遺產(chǎn)和弘揚(yáng)苗族文化有著重要意義。字庫開發(fā)是方塊苗文信息處理研究內(nèi)容的重要部分。根據(jù)方塊苗文字庫開發(fā)的實(shí)際需要,該文以文字結(jié)構(gòu)分析為基礎(chǔ),提出了基于Unicode標(biāo)準(zhǔn)的方塊苗文編碼方案設(shè)計(jì)思想,介紹了方塊苗文字符字模制作的基本步驟,并以標(biāo)簽定義、操作符定義和變換規(guī)則定義為重點(diǎn),探討了基于OpenType技術(shù)的方塊苗文字庫設(shè)計(jì)和開發(fā)的方法。測試結(jié)果表明,方塊苗文OpenType字庫具有文件小、易擴(kuò)充等優(yōu)點(diǎn),能夠解決英文、漢字和方塊苗文的混排問題。
方塊苗文; Unicode標(biāo)準(zhǔn);字符編碼;OpenType技術(shù);字庫
方塊苗文是清朝末年以來一些苗族知識分子為了發(fā)展苗族文化教育事業(yè)而創(chuàng)制的一種仿漢字結(jié)構(gòu)的文字,是民間苗文的代表。據(jù)文獻(xiàn)[1-2]記載,方塊苗文分為三套: 老寨苗文、古丈苗文和板塘苗文。其中,板塘苗文有著較好的群眾基礎(chǔ),當(dāng)?shù)厝藗冎两襁€用它創(chuàng)作、記錄苗歌,基于板塘苗文的文學(xué)創(chuàng)作開創(chuàng)了現(xiàn)代苗語書面文學(xué)的先河。板塘苗文創(chuàng)制者曾編寫了一冊《苗文字正譜》(此書已佚失),其中收錄了1 000多個板塘苗文。趙麗明和劉自齊先生從數(shù)十萬苗文歌本和劇本中挖掘和整理出近500個板塘苗文、100個左右老寨苗文。撰寫于清朝光緒丁未年的《古丈坪廳志》中共記錄了100多個古丈苗文。目前,方塊苗文的收集整理工作還在繼續(xù)進(jìn)行中。
20世紀(jì)80年代初至今,以藏文、維吾爾文、蒙古文等為代表的少數(shù)民族文字信息處理研究進(jìn)展迅速,研究成果得到廣泛應(yīng)用,并產(chǎn)生了巨大的社會效益和經(jīng)濟(jì)效益。然而,迄今為止,國內(nèi)苗文信息處理研究非常稀少。見諸報道的僅有文獻(xiàn)[3]中提到的余樂教授等人于1988年研制的計(jì)算機(jī)苗文處理系統(tǒng)和吳光州等人于1994年研制的云南規(guī)范苗文計(jì)算機(jī)處理系統(tǒng)。這兩個系統(tǒng)的功能僅限于DOS操作系統(tǒng)下對基于拼音字母的云南苗文進(jìn)行簡單的編輯排版,適應(yīng)不了當(dāng)今的Windows操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境,不能處理方塊苗文,無法滿足武陵山片區(qū)民族文化旅游產(chǎn)業(yè)發(fā)展和非物質(zhì)文化遺產(chǎn)保護(hù)對方塊苗文數(shù)字化的需求。
字庫是方塊苗文信息化需要解決的首要問題。本文探討基于Unicode編碼標(biāo)準(zhǔn)和OpenType字形技術(shù)的方塊苗文字庫的設(shè)計(jì)和開發(fā)方法。
2.1 方塊苗文結(jié)構(gòu)特點(diǎn) 方塊苗文由民間個人自創(chuàng),故不定形、不定體,因使用者個人而異,但堅(jiān)持一個“取個人認(rèn)為最易認(rèn)易記的漢字作為代表符號”的原則[2]。實(shí)際當(dāng)作構(gòu)件使用的通常是一些日常使用頻率較高,且結(jié)構(gòu)或筆畫較簡單的漢字(或漢字偏旁),以及個別無音無義的純粹符號(如“~”、“X”)。
方塊苗文的結(jié)構(gòu)特點(diǎn)和造字方法與漢字基本一致,以假借漢字為主,創(chuàng)造性地運(yùn)用了形聲、會意、假借、象形等手段,直接將漢字作為義符、聲符或形符構(gòu)件,采用一字一音節(jié)的方法來標(biāo)記一個語素或詞。方塊苗文通常是兩個或三個構(gòu)件組成的合體字,以二構(gòu)件型為主,其結(jié)構(gòu)大致包括圖1中字例所示的四種:左右結(jié)構(gòu)(很多)、上下結(jié)構(gòu)(較多)、側(cè)圍結(jié)構(gòu)(較少)、內(nèi)外結(jié)構(gòu)(極少)。

圖1 不同結(jié)構(gòu)的方塊苗文字例及其漢義
本文將獨(dú)體字和作為構(gòu)件的漢字、偏旁及符號稱為方塊苗文名義字符??紤]到三個構(gòu)件合成的方塊苗文以及內(nèi)外結(jié)構(gòu)方塊苗文的數(shù)目極少,可將其視為獨(dú)體字處理。根據(jù)方塊苗文名義字符在合體字中可能顯現(xiàn)的情況,定義如下五種方塊苗文顯現(xiàn)字符。
(1) 左右構(gòu)件型顯現(xiàn)字符:名義字符作為左右結(jié)構(gòu)合體字的左部或右部構(gòu)件時的顯現(xiàn)形式。
(2) 上下構(gòu)件型顯現(xiàn)字符:名義字符作為上下結(jié)構(gòu)合體字的上部或下部構(gòu)件時的顯現(xiàn)形式。
(3) 內(nèi)側(cè)構(gòu)件型顯現(xiàn)字符:名義字符作為側(cè)圍結(jié)構(gòu)合體字的內(nèi)側(cè)構(gòu)件時的顯現(xiàn)形式。
(4) 外包構(gòu)件型顯現(xiàn)字符:名義字符作為側(cè)圍結(jié)構(gòu)合體字的外包構(gòu)件時的顯現(xiàn)形式。
(5) 獨(dú)體字顯現(xiàn)字符:對獨(dú)體字直接定義其整體的顯現(xiàn)形式。
注意: 當(dāng)一個漢字作為內(nèi)外結(jié)構(gòu)方塊苗文合體字構(gòu)件時,其顯現(xiàn)形式不再單獨(dú)定義為顯現(xiàn)字符。
2.2 方塊苗文組合方案

表1 源自文獻(xiàn)[1-2]的41個可用于苗文構(gòu)件的代表性漢字列表

編號漢字編號漢字編號漢字編號漢字編號漢字1己11一21白31口41米

續(xù)表
2.3 方塊苗文組合示例
取漢字偏旁“扌”或從表1中取“乙”、 “口”作左構(gòu)件,取“一”至“十”作右構(gòu)件,動態(tài)組合可得到方塊苗文中表示數(shù)字的三組文字;從表1中取“色” 作左外包構(gòu)件,取“白”、“黑”等作右內(nèi)側(cè)構(gòu)件,動態(tài)組合可得到方塊苗文中表示顏色的一組字;從表1中取“雨”作上構(gòu)件,取“氣”、“風(fēng)”、“白”等作下構(gòu)件,動態(tài)組合可得到方塊苗文中表示空氣、風(fēng)、雪等天氣的一組字。
方塊苗文編碼的最簡單方法是在漢字GB2312或GBK標(biāo)準(zhǔn)中占用漢字的位置或保留區(qū)來存放方塊苗文字符。但是,此種編碼方案不利于實(shí)現(xiàn)苗漢混排。Unicode標(biāo)準(zhǔn)[4]支持世界上所有語言的編碼和轉(zhuǎn)換,將全世界所有主要文字和符號統(tǒng)一到了一個字符集中,為每個字符提供一個唯一的特定數(shù)值,克服了傳統(tǒng)字符編碼方式無法同時處理混合多種語言的局限性。所以,方塊苗文可選擇基于Unicode字符集的編碼方案,將方塊苗文字符存放于Unicode字符集基本多文種平面 (Basic Multilingual Plane,簡稱BMP)區(qū)中預(yù)留的用戶自定義區(qū)域E000—F8FF。
由于方塊苗文以合體字為主,合體字又以基本漢字、偏旁及符號作為構(gòu)件,且構(gòu)件數(shù)目不多,開發(fā)方塊苗文字庫時可以直接使用能夠自行解決字符顯示化選型問題的OpenType技術(shù)。因此,只需對方塊苗文名義字符(獨(dú)體字和構(gòu)件)按照BMP 編碼格式進(jìn)行編排,不必對方塊苗文的各種變形顯現(xiàn)字符(顯示或打印輸出時需要用到的方塊苗文字符)逐一編碼。這樣可達(dá)到節(jié)省大量編碼空間的目的。
開發(fā)方塊苗文OpenType字庫之前,需要先制作字模。本文針對從文獻(xiàn)[1-2]中整理出的方塊苗文名義字符及它們可能呈現(xiàn)的五種顯現(xiàn)字符設(shè)計(jì)字稿,并使用圖像處理軟件Photoshop CS5和字體制作軟件Font Creator Program 6.0來制作字模。
4.1 字稿圖像預(yù)處理
在Phtoshop CS5中,首先需對字稿圖像中的字符進(jìn)行縮放調(diào)整和分割,形成獨(dú)立的苗文字符字模小圖片(注:為了保證載入速度,圖片不宜太大)。再通過對決定圖片亮度的黑白分界閾值進(jìn)行調(diào)整,完成字模圖片的二值化處理,生成高對比度的黑白圖像。
4.2 輪廓提取和邊緣凈化
使用Photoshop CS5的磁性索套或魔術(shù)棒提取當(dāng)前苗文字符字模圖像中字符粗略的完整輪廓,再用智能邊緣偵測命令,根據(jù)圖像背景范圍調(diào)節(jié)智能邊緣半徑(取45~50之間的值比較合適),完成字符輪廓的精確提取。個別背景顏色純度不高的字模圖像,可運(yùn)用半徑調(diào)整及抹除調(diào)整等工具進(jìn)行手動處理。
如果提取到的字符邊緣有雜色邊,還可以借助平滑、羽化、對比度及移動邊緣等參數(shù)進(jìn)行細(xì)節(jié)調(diào)整。若個別字符邊緣存在輕微半透明顏色,還需做顏色凈化處理(通常將凈化率設(shè)置為80%即可去除半透明色)。凈化處理后的字模小圖片即可保存為獨(dú)立圖像小文件。
4.3 字模矢量化
在Font Creator Program 6.0軟件中導(dǎo)入方塊苗文字符字模圖像,按如下步驟生成矢量化的字形數(shù)據(jù),并保存為TrueType字體文件。
(1) 以“方塊苗文”為名,新建一個基于Unicode字符集的TTF文件。
(2) 導(dǎo)入一個字模圖像,調(diào)整該字模字符位置,修改字形輪廓。調(diào)整時,注意保持字符與漢字、英文數(shù)字等符號在字號、字體、基線位置標(biāo)準(zhǔn)、線條粗細(xì)大小等方面的一致性。
(3) 將字符從字形輪廓模式轉(zhuǎn)換為節(jié)點(diǎn)模式,通過節(jié)點(diǎn)調(diào)整完成字形輪廓的細(xì)節(jié)修改。
(4) 驗(yàn)證字模,并按照驗(yàn)證報告和字符顯示效果調(diào)整參數(shù)值,直到驗(yàn)證無誤且達(dá)到所需的字形輪廓精度為止。關(guān)閉編輯窗口,確定此字模字符為當(dāng)前Unicode編碼位置的方塊苗文字符。
重復(fù)步驟(2)~(4),導(dǎo)入其余字模圖像,確定其他編碼位置的苗文字符。最后,對當(dāng)前TTF文件進(jìn)行測試和調(diào)整修改,直到TTF文件中的所有字符都比較整齊規(guī)范為止。
5.1 技術(shù)原理 方塊苗文字庫采用OpenType技術(shù)開發(fā)。OpenType技術(shù)[5-7]是一種支持 Unicode 字符集的、開放式的、可擴(kuò)充的字形描述技術(shù),不但支持傳統(tǒng)的TrueType體系結(jié)構(gòu),而且融合了 PostScript技術(shù),增加了處理復(fù)雜文本的高級排印功能。OpenType 字體格式允許在字符之間建立映射以靈活控制字體,為復(fù)雜文本字體的高質(zhì)量顯示和打印、字形的自由變換和任意縮放處理提供了捷徑。目前,藏文[8-9]、蒙古文[10]、維哈柯文[11]等民族文字OpenType字庫已經(jīng)應(yīng)用于Windows、Linux操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境中。
OpenType字庫的開發(fā)主要通過規(guī)劃和設(shè)置不同的布局表來完成。OpenType 布局表由字形定義(GDEF)表、字形替換(GSUB)表、字形置位(GPOS)表、字形調(diào)整(JSTF)表、基線數(shù)據(jù)(BASE)表等多張表構(gòu)成。其中, GSUB和GPOS表包含了字形替換和位置特征相關(guān)的全部信息,幾乎覆蓋了所有復(fù)雜文本的處理要求。OpenType對布局表的訪問按照“文字→語言系統(tǒng)→相應(yīng)特征→查找數(shù)據(jù)”的流程進(jìn)行,通過文字(Script)、語言(Language)和特征(Feature)三類標(biāo)簽來實(shí)現(xiàn)。Feature標(biāo)簽用于定義語言系統(tǒng)所要求的字形替換和置位特征,OpenType技術(shù)的高級排版特征通過Feature標(biāo)簽實(shí)現(xiàn)。Script、Language、Feature標(biāo)簽及Feature標(biāo)簽的查找(Lookup)偏移量,皆以子表形式存放在GSUB表和GPOS表中。GSUB 表包含若干并列的Feature 表。每張F(tuán)eature表又包括一張或多張Lookup 子表。Lookup 子表完成從名義字符到顯現(xiàn)字符的映射功能,以及各種不同字形的顯現(xiàn)字符之間的替換功能。
開發(fā)OpenType字庫的關(guān)鍵是如何根據(jù)文字的結(jié)構(gòu)特征定義Feature標(biāo)簽,以及如何抽象和定義各種替換和置位操作的類型規(guī)則。
方塊苗文OpenType字庫采用Microsoft 的 OpenType字體布局工具VOLT[12]開發(fā)。在VOLT中打開方塊苗文TTF文件,規(guī)劃和設(shè)置OpenType布局表,在布局表中定義Script、Language、Feature三類標(biāo)簽,根據(jù)方塊苗文字符位置布局、組合布局及替換操作的實(shí)際需要,定義相應(yīng)操作符和字形變換規(guī)則,使用 OpenType 腳本語言描述這些規(guī)則。
5.2 標(biāo)簽定義
方塊苗文OpenType字庫的Script標(biāo)簽定義為SqHmongLanguage
(1) 左右構(gòu)件形式替換特征標(biāo)簽(LeftRightParts
(2) 上下構(gòu)件形式替換特征標(biāo)簽(UpDownParts
(3) 側(cè)圍構(gòu)件形式替換特征標(biāo)簽(HalfIncludeParts
(4) 上下文替換特征標(biāo)簽(ContextualAlternates
(5) 左右合體字形式特征標(biāo)簽(LRLigature
(6) 上下合體字形式特征標(biāo)簽(UDLigature
5.3 操作符定義
為了方便對方塊苗文字符的位置布局、組合布局及字形替換相關(guān)操作進(jìn)行描述,用X、Y、Z、V、W表示字符,可定義如下18個操作符。
(1) Location(X,Pos): X在合體字中的位置。Pos為枚舉變量,其值為{LeftRight,UpDown,Isolated}。LeftRight表示X位于合體字左部或右部(注意: 如果X是左右結(jié)構(gòu)合體字的左部構(gòu)件或側(cè)圍結(jié)構(gòu)合體字的外包構(gòu)件,則視為X位于合體字的左部;如果X是左右結(jié)構(gòu)合體字的右部構(gòu)件或側(cè)圍結(jié)構(gòu)合體字的內(nèi)側(cè)包構(gòu)件,則視為X位于合體字的右部);UpDown表示X位于合體字的上部或下部;Isolated表示X作為獨(dú)體字出現(xiàn)。
(2) Before(X,Y): X位于Y的前面。
(3) Up(X,Y): X位于Y的上面。
(4) LeftRight(X): X顯現(xiàn)為左右構(gòu)件型顯現(xiàn)字符形式。
(5) UpDown (X): X顯現(xiàn)為上下構(gòu)件型顯現(xiàn)字符形式。
(6) HalfIncludeIn(X): X顯現(xiàn)為內(nèi)側(cè)構(gòu)件型顯現(xiàn)字符形式。
(7) HalfIncludeOut(X): X顯現(xiàn)為外包構(gòu)件型顯現(xiàn)字符形式。
(8) Isolated(X): X顯現(xiàn)為獨(dú)體字顯現(xiàn)字符形式。
(9) LRLigature(X,Y): X和Y 組成的左右結(jié)構(gòu)或側(cè)圍結(jié)構(gòu)合體字的顯現(xiàn)形式。
(10) UDLigature(X,Y): X和Y組成的上下結(jié)構(gòu)合體字的顯現(xiàn)形式。
(11) Variation(X): X的自由變體顯現(xiàn)形式。
(12) IsControler(X): X是控制符。
(13) IsHalfIncluderIn(X): X是側(cè)圍結(jié)構(gòu)合體字的內(nèi)側(cè)構(gòu)件字符。
(14) IsHalfIncluderOut(X): X是側(cè)圍結(jié)構(gòu)合體字的外包構(gòu)件字符。
(15) CanBeLig(X,Y): X和Y可以組成合體字形。
(16) Combine(X,Y): 將X和Y組合為合體字。
(17) Shape(X): 根據(jù)X所處位置的不同顯示X的不同顯現(xiàn)形式。
(18) Viriate(X,Y): 在控制符 Y 的作用下,顯示 X的變體顯現(xiàn)形式。
5.4 變換規(guī)則定義
方塊苗文字符字形變換規(guī)則在各個Feature標(biāo)簽的Lookup映射關(guān)系表中定義。為了方便描述,下面以謂詞形式給出方塊苗文字符字形的替換和置位操作的相關(guān)規(guī)則。
5.4.1 位置關(guān)系判斷規(guī)則
規(guī)則1至規(guī)則3用于判斷某個字符在方塊苗文中的位置。例如,規(guī)則1表示: 當(dāng)X前無任何字符且X后緊跟一個字符,或X后無任何字符且X前存在一個字符時,如果X的上下方均無任何字符,則X位于合體字的左部或右部。
規(guī)則1 (?X)Location(X,LeftRight)←((((?Y)Before(Y,X)∧((?Z)Before(X,Z)))∨(((?Y)Before(X,Y))∧((?Z)Before(Z,X)))∧((?Y)Up(Y,X))∧((?Y)Up(X,Y)))
規(guī)則2 (?X)Location(X,Updown)←((((?Y)Up(Y,X)∧((?Z)Up(X,Z)))∨(((?Y)Up(X,Y))∧((?Z)Up(Z,X)))∧((?Y)Before(Y,X))∧((?Y)Before(X,Y)))
規(guī)則3 (?X)Location(X,Isolated)←(((?Y)Up(Y,X))∧((?Z)Up(X,Z))∧((?V)Before(V,X))∧((?W)Before(X,W)))
5.4.2 顯現(xiàn)形式判斷規(guī)則
規(guī)則4至規(guī)則8用于判斷某個字符顯示為何種顯現(xiàn)形式。例如,規(guī)則4表示: 當(dāng)X位于合體字的左部或右部,且X不是側(cè)圍結(jié)構(gòu)合體字構(gòu)件字符,且X后不跟任何控制符時,以左右構(gòu)件型顯現(xiàn)字符形式顯示X。
規(guī)則4 (?X)(Shape(X)→(LeftRight(X)←Location(X,LeftRight)∧IsHalfIncluder(X)∧((?Y)(Before(X,Y)∧IsControler(y)))))
規(guī)則5 (?X)(Shape(X)→(UpDown(X)←Location(X,Updown)∧((?Y)(Before(X,Y)∧IsControler(Y)))))
規(guī)則6 (?X)(Shape(X)→(Isolated(X)←Location(X,Isolated)∧((?Y)(Before(X,Y)∧IsControler(Y)))))
規(guī)則7 (?X)(Shape(X)→(HalfIncludeIn(X)←Location(X,LeftRight)∧IsHalfIncluderIn(X)∧((?Y)(Before(X,Y)∧IsControler(Y)))))
規(guī)則8 (?X)(Shape(X)→(HalfIncludeOut(X)←Location(X,LeftRight)∧IsHalfIncluderIn(X)∧((?Y)(Before(X,Y)∧IsControler(Y)))))
5.4.3 字符組合和控制變換規(guī)則
規(guī)則9、10用于確定如何將兩個字符組合為一個合體字。例如,規(guī)則9表示: 當(dāng)X位于Y前面,且X和Y能組成合體字,則將X和Y組成左右結(jié)構(gòu)或側(cè)圍結(jié)構(gòu)的合體字顯現(xiàn)形式。
規(guī)則9 (?X)(?Y)(Combine(X,Y)→(LRLigature(X,Y)←Before(X,Y)∧CanBeLig(X,Y)))
規(guī)則10 (?X)(?Y)(Combine(X,Y)→(UDLigature(X,Y)←Up(X,Y)∧CanBeLig(X,Y)))
下面的規(guī)則11是控制變換規(guī)則,表示當(dāng)X后跟有控制符Y時,將X以Y作用下的變體顯現(xiàn)形式進(jìn)行顯示。
規(guī)則11 (?X)(?Y)(Viriate(Y,X)→(Viriation(X)←Before(X,Y)∧IsControler(Y)))
除上述規(guī)則外,Lookup映射關(guān)系表中還可以設(shè)置轉(zhuǎn)換條件。當(dāng)滿足條件的字符超過兩個時,可以將它們建成組。
5.5 腳本編寫
在GSUB 表中建立好對應(yīng)于各個操作符的屬性后,需根據(jù)前述替換和置位操作相關(guān)規(guī)則設(shè)計(jì)并編寫字形替換腳本和連字組合腳本。字形替換腳本以方塊苗文名義字符的編碼為基礎(chǔ),列出每個名義字符位于合體字不同位置時所對應(yīng)的各種變形顯現(xiàn)字符的代碼。連字組合腳本以名義字符的各種變形顯現(xiàn)字符代碼為基礎(chǔ),列出兩個變形顯現(xiàn)字符連續(xù)出現(xiàn)時自動組合成一個方塊苗文合體字的顯現(xiàn)字符的代碼。
借助VOLT,將方塊苗文標(biāo)簽和文本特征描述信息、字形替換腳本和連字腳本信息、替換特征對應(yīng)的映射變換腳本信息等,分類添加到ScriptList和FeatureList、LookupList表中??梢酝ㄟ^“Edit Glyphs”命令項(xiàng)查看和編輯字形字符在字庫中的位置編號,使用“Edit Lookup”命令編輯和修改不同字形字符組合為合體字字形的腳本信息。
5.6 字庫生成和測試
將文件編譯并保存為帶腳本的 OpenType 字體文件,添加上 Unicode 編碼,即形成方塊苗文OpenType 字庫。在VOLT中完成初步測試后,將字庫安裝到 Windows XP操作系統(tǒng),使用Word軟件進(jìn)行字形替換及連字組合腳本測試,以及英漢苗三種文字混排時的中線基線位置、線條粗度、字號大小的匹配測試。測試發(fā)現(xiàn)的問題通過重新調(diào)整字模和修改腳本基本得到解決。最后,在Word軟件中進(jìn)行實(shí)用測試。將輸入的不同結(jié)構(gòu)的多個方塊苗文插入到英文、漢字及數(shù)字共同構(gòu)成的混合字串中,以華文行楷常用字號、小字號和大字號顯示輸出的效果如圖2所示。由圖2可見,該方塊苗文字庫基本能夠解決方塊苗文同英文、漢字的混排問題。

圖2 方塊苗文輸出效果
方塊苗文OpenType字庫僅需存儲方塊苗文的構(gòu)件字符和獨(dú)體字符,具有文件小的優(yōu)點(diǎn)。而且,OpenType技術(shù)支持的開放性和可擴(kuò)充性,允許人們根據(jù)需要對字庫內(nèi)容進(jìn)行補(bǔ)充和完善。在今后方塊苗文收集整理工作中,遇到首次出現(xiàn)的方塊苗文新構(gòu)件時,只需在字庫中增加新構(gòu)件對應(yīng)的名義字符,并補(bǔ)充新構(gòu)件處于合體字不同位置時對應(yīng)的顯現(xiàn)字符的定義。隨著苗文民間收集整理工作的全面進(jìn)行,方塊苗文OpenType字庫所包括的名義字符數(shù)目將逐漸增加,各個名義字符對應(yīng)的顯現(xiàn)字符以不同風(fēng)格進(jìn)行變體顯現(xiàn)的功能也將逐步得到補(bǔ)充和完善。
[1] 趙麗明,劉自齊. 湘西方塊苗文[J].民族語文, 1990, 1:44-49.
[2] 龍德義.計(jì)算機(jī)苗文處理系統(tǒng)研制成功[J].今日民族,1995,5:16.
[3] 楊再彪,羅紅源.湘西苗族民間苗文造字體系[J]. 吉首大學(xué)學(xué)報(社會科學(xué)版),2008,29(6):130-134.
[4] Unicode Consortium. The Unicode Standard: A Technical Introduction [EB/OL]. http://www.unicode.org/standard /principles.html,2012-10-04.
[5] Microsoft Corporation. OpenType specification version 1.6 [EB/OL].http://www.microsoft.com/typography/otspec,2009-09-21.
[6] 肖明,胡金柱,趙慧. 字形技術(shù)及OpenType字體文件格式研究[J].中文信息學(xué)報,1999,13(6):53-59.
[7] 董治江,吳健,鐘義信.在ICU中實(shí)現(xiàn)少數(shù)民族文字處理[J].中文信息學(xué)報,2004,18(2):66-72.
[8] 曹暉. 藏文 OpenType 字體技術(shù)研究及實(shí)現(xiàn)[J].西北民族大學(xué)學(xué)報(自然科學(xué)版),2008,29(3):24-28.
[9] 芮建武,吳健,孫玉芳.基于ISO/IEC10646標(biāo)準(zhǔn)的藏文操作系統(tǒng)若干問題研究[J].中文信息學(xué)報,2005,19(5):59-65.
[10] 姚延棟,吳健,孫玉芳,等. 傳統(tǒng)蒙古文變形顯示機(jī)制研究與實(shí)現(xiàn)[J].中文信息學(xué)報,2005,18(5):84-89.
[11] 蘇國平,繆成,夏國平.基于Open Type的維哈柯文自動選形引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].中文信息學(xué)報,2007,21(4):116-121.
[12] Microsoft Corporation. Visual OpenType Layout Tool (VOLT)[EB/OL]. http://www.microsoft.com/typography/VOLT.mspx, 2009-01-15.
Research on Square Hmong Language Characters Fonts Based on OpenType Technology
MO Liping1, ZHOU Kaiqing2, JIANG Xiaohui3
(1. College of Information Science and Engineering, Ji Shou University, Jishou, Hunan 416000,China; 2. Faculty of Computing,Universiti Teknologi Malaysia,Skudai Johor 81310,Malaysia)
Square Hmong language characters are typical representative of the folk Hmong language characters. The research on square Hmong language characters information processing is of great significance for protecting folk Hmong cultural heritage and carrying forward Hmong culture. Fonts development is an important part of the above research. According to the actual demand of the fonts development for square Hmong language characters, taking structure analysis as the foundation, the design idea for square Hmong language characters encoding scheme based on the Unicode standard was proposed, and the basic steps of making matrix fonts were introduced. Focusing on the labels definition, operators definition and transformation rules definition, the methods of designing and developing the square Hmong language characters fonts based on OpenType technology were discussed. Test results illustrate that the square Hmong language characters OpenType fonts file has the advantages of is small, easy to expand, etc., and can solve the hybrid layout problem of English, Chinese and the square Hmong language characters.
square Hmong language characters;the Unicode standard; character encoding; OpenType technology; fonts

莫禮平(1972-),碩士,高級實(shí)驗(yàn)師,主要研究領(lǐng)域?yàn)檎Z言文字信息處理、Petri網(wǎng)理論及應(yīng)用等。E?mail:zmx89@163.com周愷卿(1984-),博士研究生,主要研究領(lǐng)域?yàn)槟:齈etri網(wǎng)、語言文字信息處理等。E?mail:jsu_computer@163.com蔣效會(1978-),碩士,講師,主要研究領(lǐng)域?yàn)檎Z言文字信息處理、數(shù)據(jù)挖掘、數(shù)據(jù)庫技術(shù)等。E?mail:nullspace@qq.com
1003-0077(2015)02-0150-07
2013-01-14 定稿日期: 2013-06-28
湖南省教育廳青年項(xiàng)目(No:10B088)
TP391
A