莫禮平,周愷卿,蔣效會
(1.吉首大學信息科學與工程學院,湖南吉首 416000;2.馬來西亞理工大學計算機科學與信息系統(tǒng)系,馬來西亞柔佛州新山市 81310)
板塘苗文的計算機編碼及字庫創(chuàng)建*
莫禮平1,周愷卿2,蔣效會1
(1.吉首大學信息科學與工程學院,湖南吉首 416000;2.馬來西亞理工大學計算機科學與信息系統(tǒng)系,馬來西亞柔佛州新山市 81310)
民族文字信息處理研究對于保護民族文化遺產(chǎn)和弘揚民族文化有重要意義.字符的計算機編碼及字庫創(chuàng)建是民族文字信息處理研究工作的基礎(chǔ)內(nèi)容.在分析湘西板塘苗文的字形特點和簡單介紹字符編碼標準及字體技術(shù)的基礎(chǔ)上,提出了Windows環(huán)境下基于Unicode標準的板塘苗文在計算機中的編碼方案,給出了板塘苗文基于Photoshop技術(shù)的字模制作方法及基于Truetype技術(shù)的字庫創(chuàng)建步驟.
板塘苗文;字符編碼;Unicode標準;Truetype字庫
民族文字是傳承民族文化的載體,體現(xiàn)了民族的尊嚴.在舊中國漫長的歷史中,湘西苗族有自己的民族語言,卻沒有本民族正式的文字.有語言卻沒有正式文字,是湘西苗族地區(qū)長期貧窮落后的主要原因之一.清朝末年以來,一些湘西苗族知識分子為了發(fā)展苗族文化教育,創(chuàng)制了不同的民間苗文[1-2].湘西花垣縣龍?zhí)舵?zhèn)苗族秀才石板塘創(chuàng)制的板塘苗文是使用較為廣泛的一種民間苗文,當?shù)厝酥两襁€用它創(chuàng)作、記錄苗歌.石板塘使用此種文字進行豐富的文學創(chuàng)作,開創(chuàng)了現(xiàn)代苗語書面文學的先河.100多年來,板塘苗文為苗族文化教育及經(jīng)濟事業(yè)的發(fā)展做出了重要貢獻.
在當今信息時代,隨著計算機和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,民族文字信息化已經(jīng)成為促進民族發(fā)展、保護族文化遺產(chǎn)、弘揚民族文化、使民族優(yōu)秀文化走向世界的必要手段.20世紀90年代以來,以藏文、蒙文、維文為代表的多種少數(shù)民族文字緊跟漢字信息處理研究的步伐,在字信息處理層面和語信息處理層面的研究取得了顯著成績,并已廣泛應(yīng)用于生產(chǎn)生活的各個領(lǐng)域,使得民族文字的社會功能和經(jīng)濟功能得到了更好發(fā)揮.然而,國內(nèi)民間苗文的信息處理研究幾乎沒有,與苗文信息處理相關(guān)的研究也非常稀少,見諸報道的僅有1988年余樂教授[3]研制的計算機苗文處理系統(tǒng)和1994年吳光州等[3]研制的云南規(guī)范苗文計算機處理系統(tǒng).這2個系統(tǒng)的功能僅限于處理DOS系統(tǒng)下基于拉丁字母的云南新苗文,無法應(yīng)用于Windows環(huán)境,更不能處理非拉丁字母的民間苗文.
筆者研究Windows環(huán)境下湘西板塘苗文在計算機內(nèi)的字符編碼表示方法、字模制作及字庫創(chuàng)建方法.
板塘苗文是一種仿漢字結(jié)構(gòu)的方塊文字,以假借漢字為主,利用苗語和漢語語音結(jié)構(gòu)基本相同這一特點,根據(jù)“六書”的造字規(guī)律,借用漢字偏旁,使用漢字1個音節(jié)1個字的方法,運用形聲、會意等手段進行創(chuàng)制.板塘苗文幾乎都是合體字,其構(gòu)件主要來自漢字.板塘苗文合體字的基本結(jié)構(gòu)包括上下結(jié)構(gòu)、左右結(jié)構(gòu)、內(nèi)外結(jié)構(gòu)和側(cè)圍結(jié)構(gòu)4種[1-2].表1給出了不同結(jié)構(gòu)的板塘苗文示例及其漢義對照.
表1 板塘苗文結(jié)構(gòu)示例及其漢義對照
2.1 編碼標準
文字在計算機內(nèi)的編碼表示是字庫組織的依據(jù),也是文字信息處理的基礎(chǔ).為了能被計算機處理和顯示,每個板塘苗文在計算機內(nèi)都必須有相應(yīng)的編碼表示.編碼方案和編碼標準的選擇決定了板塘苗文編碼的應(yīng)用范圍.
不同國家和地區(qū)的不同語言文字有不同的編碼標準.中國漢字編碼標準主要有漢字信息交換用編碼標準GB2312(全稱為“信息交換用漢字編碼字符集·基本集”)、漢字編碼擴展規(guī)范GBK標準、最新的漢字編碼字符集國家標準GB18030,以及通行于臺灣、香港地區(qū)的BIG5繁體字編碼標準等.GBK向下完全兼容GB2312,向上支持ISO 10646與及Unicode國際標準.GB18030向下完全兼容GBK和GB2312標準.此外,中國還制定了藏、蒙、彝、維、朝文等少數(shù)民族文字信息處理的字符編碼標準.
Unicode標準是一套適用于全世界所有國家的字符編碼標準,2012年2月已推出了Unicode 6.1版本[4].Unicode標準將全世界所有主要文字和符號統(tǒng)一到一個字符集中,為每個字符提供一個唯一的特定數(shù)值,支持世界上所有語言的編碼和轉(zhuǎn)換,克服了傳統(tǒng)的字符編碼方式無法同時處理混合多種語言的局限性.隨著計算機和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,基于Unicode標準的字符編碼已逐漸成為主流.
2.2 板塘苗文編碼方案
實現(xiàn)板塘苗文編碼表示的最簡單方法是,利用已有的漢字GB2312-80編碼標準或GBK交換碼標準,占用漢字的位置或保留區(qū)來存放板塘苗文的字符.這樣雖然可以顯示板塘苗文的文字,但是不能夠進行板塘苗文與漢字的混合排版.而漢字和苗文的混合排版是民間苗文信息處理系統(tǒng)必須具備的基本功能之一.結(jié)合Unicode標準兼容不同語言文字且跨平臺的特性,考慮到板塘苗文信息處理系統(tǒng)的實用性、開放性和網(wǎng)絡(luò)化需要,基于Unicode的編碼方案是實現(xiàn)板塘苗文編碼表示的最佳選擇.
Unicode標準中字符的編碼方式與ISO 10646的通用字符集(Universal Character Set,UCS)概念相對應(yīng).ISO10646對UCS的體系結(jié)構(gòu)和基本多文種平面(Basic Multilingual Plane,BMP)做了規(guī)定.在BMP內(nèi),A區(qū)用于字母文字、音節(jié)文字以及各種符號的編碼,拉丁文、阿拉伯文、日文的平假名及片假名等都在此區(qū)編碼;I區(qū)用于中、日、韓(CJK)統(tǒng)一的表意文字編碼;O區(qū)保留,供未來標準化使用;R區(qū)作為BMP的限制使用區(qū),專用字符、變形顯現(xiàn)及兼容字符可在此區(qū)編碼.BMP中的E000—F8FF是用戶自定義區(qū).中國維文、哈薩克文和柯爾克茲文等少數(shù)民族文字的字符與其他阿拉伯文字符一起收入了阿拉伯文字匯.中國朝鮮族所用的朝文字符也已和南韓的朝文字符一并收入BMP中的朝文字匯.
目前,實際應(yīng)用的Unicode版本對應(yīng)于UCS-2和UCS-4體系.基于UCS-2的Unicode編碼字符集使用16位編碼空間,每個字符占用2個字節(jié),理論上該字符集最多可以表示216個字符,基本能夠滿足各種語言的使用要求.實際上,最新版本的Unicode并未完全使用這16位編碼,而是保留了大量空間以供特殊使用或?qū)頂U展.基于UCS-4的Unicode編碼字符集使用32位編碼空間,每個字符占用4個字節(jié).其中,首位恒為0,其余31位用于字符集,理論上該字符集最多可以表示231個字符,完全可以涵蓋一切語言所用的符號.BMP中,UCS-4字符編碼形式為U+hhhh,其中每個h代表一個十六進制數(shù)字,與UCS-2編碼完全相同.4字節(jié)UCS-4編碼的前2個字節(jié)的所有位均為0,而后2個字節(jié)與UCS-2的2字節(jié)編碼完全一致.
采用基于Unicode的編碼方案實現(xiàn)板塘苗文編碼,需要將板塘苗文的所有字符都放到Unicode字符集中,以使板塘苗文的顯現(xiàn)形式與其Unicode編碼一一對應(yīng).在編碼設(shè)計時,為了使整個編碼布局整齊合理,首先,根據(jù)筆畫數(shù)目和構(gòu)件部首對所有板塘苗文進行了排序;然后,按照BMP編碼格式分別對獨體字、構(gòu)件字符和合體字進行編排,將編碼存放在Unicode字符集的用戶自定義區(qū)E000—F8FF范圍內(nèi).
3.1 字體技術(shù)
目前,Windows環(huán)境下常見的字體技術(shù)主要有以下幾種:
(1)光柵字體(.FON).該字體是Windows系統(tǒng)字體,顯示速度快.它本質(zhì)上是一種針對特定顯示分辨率存儲的位圖,適用于屏幕顯示.該字體以點陣描述字符,放大以后會出現(xiàn)鋸齒.
(2)矢量字體(.FON).該字體也是Windows系統(tǒng)字體,其擴展名和光柵字體一樣,但它由基于矢量的數(shù)學模型定義,放大以后不會出現(xiàn)鋸齒.一些windows應(yīng)用程序在較大尺寸的屏幕顯示中會自動使用該字體來代替光柵字體的顯示.
(3)PostScript字體(.PFM).該字體Windows不直接支持,常用于PostScript打印,采用Adobe Post-Script矢量語言進行描述.如果在Windows使用它,就需要安裝“Adobe Type Manger”(ATM)軟件來進行協(xié)調(diào).
(4)TrueType字體(.TTF).該字體是當前使用最普遍的字體,由Apple公司和Microsoft公司聯(lián)合提出,基于二次B樣條曲線及直線.該字體用數(shù)學模型進行定義,采用數(shù)學函數(shù)描述字體輪廓外形,與分辨率無關(guān),既可用于作屏幕顯示,又可以用于由打印機分辨率決定的打印輸出,保證了屏幕顯示與打印輸出的一致性.該字體通過字形構(gòu)造、顏色填充、數(shù)字描述、流程條件控制、柵格處理控制、附加提示控制等指令描述字形,比基于矢量的字體更容易處理,且同矢量字體一樣可以隨意縮放、旋轉(zhuǎn),而不會出現(xiàn)鋸齒.
3.2 板塘苗文字模的制作
筆者以文獻[1-2]中收集到的板塘苗文為藍本設(shè)計字稿,對字稿進行掃描處理后,利用Photoshop技術(shù)把全部字稿掃描圖片中的所有板塘苗文字符轉(zhuǎn)換成計算機能識別的圖像數(shù)據(jù),通過二值化、分割、邊緣檢測與輪廓提取等處理,形成獨立的字模文件.
Photoshop CS5強大的圖像處理功能中融合了高性能的二值化、邊緣檢測及輪廓提取等算法,為板塘苗文字模制作提供了有利條件.基于Photoshop CS5的板塘苗文字模制作方法如下:
(1)利用“選擇”工具將所有字稿掃描圖片文件中的各個板塘苗文分割成獨立的字模小圖片.每張圖片包含且僅包含1個苗文字符的圖像數(shù)據(jù).為了保證載入速度,字模圖片不宜太大.根據(jù)板塘苗文的字形特點,經(jīng)計算,以200×200像素范圍的字模圖片比較適合.
(2)對每張字模小圖片進行二值化處理.在Photoshop CS5中,二值化處理通過“閾值”命令完成.該命令能夠?qū)⒒叶然虿噬珗D像轉(zhuǎn)換為高對比度的黑白圖像.閾值是基于圖片亮度的一個黑白分界值,默認值是128(對應(yīng)50%中性灰).用戶可以指定或調(diào)整閾值,二值化的效果依賴于閾值的選擇.“閾值”命令將所有比指定閾值亮的像素轉(zhuǎn)換為白色,比閾值暗的像素轉(zhuǎn)換為黑色.
(3)對每張字模圖片中的板塘苗文字符進行邊緣檢測及輪廓提取.首先,使用“磁性索套”或“魔術(shù)棒”工具選取當前字符完整的粗略輪廓.并在“調(diào)整邊緣”窗口中將“視圖模式”為“黑底模式”.為了去除字模圖片背景的白色,需要利用智能邊緣偵測功能,將邊緣偵測的“智能半徑”勾選,再根據(jù)字模圖片中背景范圍調(diào)節(jié)其半徑像素值為50(其值越大,邊緣寬展區(qū)域越大,可以去除的白邊范圍越大).通過智能邊緣半徑調(diào)節(jié)就可以大致地將字符提取出來了.如果字模圖片中背景顏色純度不高,還可以利用“調(diào)整半徑”和“抹除調(diào)整”等工具進行手動調(diào)節(jié).
(4)對提取到的板塘苗文字符進行邊緣凈化.當字符邊緣有雜色邊時,可以通過設(shè)置并調(diào)整平滑、羽化、對比度及移動邊緣等參數(shù)進一步調(diào)整邊緣部分.如果字符邊緣存在輕微的半透明顏色,可以在輸出窗口勾選“凈化顏色”項,設(shè)置凈化比率(如80%),以將字符邊緣的半透明顏色去除.
最后,將經(jīng)過以上處理的每張字模小圖片保存為獨立的JPG圖形文件.
3.3 板塘苗文TrueType字庫的創(chuàng)建
基于TrueType技術(shù)的板塘苗文字庫采用HighLogic公司推出的一款TrueType字體制作軟件Font Creator Program來創(chuàng)建.該軟件能夠?qū)崿F(xiàn)繪制字體、寫入字體版權(quán)信息、控制字體屬性等功能.
使用Font Creator Program4.1軟件創(chuàng)建板塘苗文的TrueType字庫時,不必從頭繪制各個字符,直接導入已制作好的字模文件進行編輯即可.板塘苗文的TrueType字庫創(chuàng)建步驟如下:
Step1以“湘西板塘苗文”作為字庫(字體家族)名稱,新建一個基于“Unicode”字符集的.TTF文件.
Step2打開新建的“湘西板塘苗文.TTF”文件,導入第1個板塘苗文字模圖片,并在編輯窗口代表字符的網(wǎng)格方框(一個方框?qū)?yīng)一個16進制Unicode編碼)對該字模字符進行調(diào)整及其字形輪廓的修改.導入的字模字符將對應(yīng)一個Unicode字符,在Unicode字符集中具有唯一的位置編碼.在編輯字符時,必須將字符控制在一定的范圍內(nèi).編輯窗口通過6條線來控制字符位置.2條紅線的相交處為坐標原點,2條水平黑線表示行距,2條垂直黑色虛線表示字距.水平黑線無法調(diào)整,制作的字符大小以在2條黑線內(nèi)為宜.垂直黑色虛線可以調(diào)整,通過拖拽黑色虛線來決定該字符與其他字符的間距.根據(jù)板塘苗文仿漢字的字形特征,經(jīng)過計算,可以將板塘苗文左右位置坐標范圍控制在0~225內(nèi),上下位置坐標范圍控制在200~25內(nèi).字符的編輯修改主要包括以下工作:
(1)將字模圖片居中置于原點位置,通過編輯窗口中的“變換(Transform)”浮動窗口調(diào)整字符的位置、大小,通過對話框設(shè)置“閾值”、“擴散濾鏡值”等參數(shù)調(diào)整該字形輪廓.
(2)點擊“生成”按鈕,將以字形輪廓模式顯現(xiàn)的字模轉(zhuǎn)換生成以節(jié)點模式顯現(xiàn)的字模.字符字形輪廓的細節(jié)修改通過調(diào)整節(jié)點完成.字符上的任意個節(jié)點A和B可以拉直通過它們的線段.當一個不在此線段上的節(jié)點C作用于該線段時,將形成以A為起點、B為終點的曲線,同時線條會朝C點方向彎曲.如果還有其他不在曲線上的點作用于曲線,曲線輪廓也會準確適應(yīng)這些點的作用變化.字形編輯時,只需在字符相應(yīng)位置增加節(jié)點進行調(diào)整即可實現(xiàn)形狀的修改.
(3)使用工具欄“字體”中的“驗證”工具對字模字符進行驗證,按照驗證報告提示的錯誤信息對字模字符進行相應(yīng)修改.然后,根據(jù)顯示效果進一步調(diào)整參數(shù)值,直到通過驗證且字符出現(xiàn)滿足要求的精確字形輪廓為此.
(4)關(guān)閉編輯窗口,時代表字符的網(wǎng)格方框左上角顯示的字符會由灰色變?yōu)榫G色,表明當前編碼位置的字符已生成,字庫中已有一個板塘苗文.
Step3重復Step2,在“湘西板塘苗文.TTF”文件中導入余下的苗文字模圖片,將所有板塘苗文用同樣方法進行編輯調(diào)整和驗證.直到文件中的所有字符都比較整齊規(guī)范為止.
Step4按“F5”鍵,對字庫文件“湘西板塘苗文.TTF”進行測試.如果發(fā)現(xiàn)不滿意的字符,就繼續(xù)按照前述方法重新調(diào)整修改.
Step5完成調(diào)整修改后,即可根據(jù)字庫中字符的字體風格和大小為字體命名,并輸入版權(quán)等相關(guān)信息,然后保存文件.命名板塘苗文字體文件時,必須設(shè)置板塘苗文的“版權(quán)信息”、“字體系列名稱”、“字體完整名稱”和“字體子集名稱”等相關(guān)附加信息;還可以通過“高級”按鈕對字體的名稱進行進階設(shè)定,通過“平臺”設(shè)置區(qū)選擇字體運行平臺(更改平臺會使命名區(qū)中的內(nèi)容相應(yīng)改變).通常,在Windows環(huán)境下,字體的系列名稱顯示在字體菜單中,字體的子系列名稱將作為樣式顯示;在字處理軟件中,當用戶選擇一種字體時,字體系列名稱顯示在“字體”中,而字體子系列名稱一般顯示在字形樣式處.注意,若當前字體在風格和大小方面沒有特別之處,則此處命名為常規(guī)字體“Regular”即可.若當前字體具有漢字楷體或宋體等風格,則應(yīng)將字體命名為相應(yīng)的板塘苗文楷體或宋體等.
隨著湘西旅游產(chǎn)業(yè)的迅速發(fā)展,如何借助現(xiàn)代計算機和網(wǎng)絡(luò)技術(shù)手段,將湘西苗族優(yōu)秀文化推向世界,以更好地促進湘西旅游產(chǎn)業(yè)和湘西地區(qū)經(jīng)濟的發(fā)展,是一個具有重要現(xiàn)實意義的課題.為了更好地保護湘西苗族文化遺產(chǎn)和弘揚苗族民族文化,為湘西苗族文化研究者提供便利工具,研制和開發(fā)一個基于Windows平臺的湘西民間苗文處理系統(tǒng)勢在必行.板塘苗文編碼表示的實現(xiàn)及Truetype字庫的建立,是湘西民間苗文處理系統(tǒng)的研制與開發(fā)的前期工作,為后續(xù)湘西民間苗文輸入、編輯、翻譯等信息處理技術(shù)研究奠定了良好的基礎(chǔ).
[1] 趙麗明,劉自齊.湘西方塊苗文[J].民族語文,1990(1):44-49.
[2] 楊再彪,羅紅源.湘西苗族民間苗文造字體系[J].吉首大學學報:社會科學版,2008,29(6):130-134.
[3] 龍德義.計算機苗文處理系統(tǒng)研制成功[J].今日民族,1995(5):16.
[4] Unicode Consortium.The UnicodeStandard:A Technical Introduction[EB/OL].http://www.unicode.org/standard/principles.html,2012-10-04.
(責任編輯 向陽潔)
Computer Encoding and Fonts Creating of Bantang Hmong Language Characters
MO Li-ping1,ZHOU Kai-qing2,JIANG Xiao-hui1
(1.College of Information Science&Engineering,Jishou University,Jishou 416000,Hunan China;2.Faculty of Computer Science&Information Systems,Technological University of Malaysia,Johor Bahru,Johor,80310,Malaysia)
National language characters information processing is of great significance for protecting the national cultural heritage and promoting national culture.Both computer coded representation and fonts creating are the basic works of national language characters information processing research.The glyph feature of Xiangxi Bantang Hmong Language Characters is analyzed.On the basis of character encoding standard and font technology being introduced,the encoding scheme of Bantang Hmong Language Characters,which is based on the Unicode standard in Windows environment,is proposed.And then,according to Bantang Hmong Language Characters,the method of making matrix font based on Photoshop technology and the concrete steps of creating fonts based on Truetype technology are given.
Bantang Hmong Language Characters;character encoding;Unicode standard;Truetype fonts
TP317.2
A
10.3969/j.issn.1007-2985.2013.02.007
1007-2985(2013)02-0031-05
2012-12-03
湖南省教育廳青年項目資助(10B088)
莫禮平(1972-),女,湖南安化人,吉首大學信息科學與工程學院高級實驗師,碩士,主要從事中文信息處理、Petri網(wǎng)理論及應(yīng)用、數(shù)據(jù)挖掘研究.