構造蒙文字庫的方法、蒙文顯示方法和裝置制造方法
【專利摘要】本發(fā)明提供一種構造蒙文字庫的方法、蒙文顯示方法和裝置,屬蒙文顯示【技術領域】,可解決現(xiàn)有的蒙文顯示方法不能正確顯示復雜文本布局引擎不識別的蒙文字符的問題。本發(fā)明的構造蒙文字庫的方法包括:制作顯示字型;整理名義字符與其他蒙文字符的位置關系顯示規(guī)則,其中,名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時分別對應的顯示字型;構造字庫。本發(fā)明的蒙文顯示方法包括根據(jù)上述蒙文字庫選擇名義字符及與其相鄰的蒙文字符的顯示字型。本發(fā)明的蒙文顯示裝置包括蒙文字庫存儲單元、判斷單元、顯示字型選擇單元。本發(fā)明可用于顯示蒙文字符,尤其是復雜文本布局引擎不識別的蒙文名義字符。
【專利說明】構造蒙文字庫的方法、蒙文顯示方法和裝置
【技術領域】
[0001]本發(fā)明屬于蒙文顯示【技術領域】,具體涉及一種構造蒙文字庫的方法、蒙文顯示方法和裝置。
【背景技術】
[0002]蒙文是一種復雜文本,其中的每個“名義字符”可對應多種不同的“顯示字型”;也就是說,在語言意義上的同一個蒙文字符(對應一個Unicode代碼的字符)在不同情況下應被分別書寫(即顯示)為不同的“形態(tài)”。例如,一個蒙文字符在單獨存在時、位于詞首時、位于詞中時、位于詞尾時應分別以獨立字型、詞首字型、詞中字型、詞尾字型顯示,而這些字型的外觀并不相同;另外,名義字符的顯示字型還包括從格附加成分首字型、雙詞根第二詞根字型、陰性詞字型、陽性詞字型等。
[0003]目前,要在計算機系統(tǒng)上顯示蒙文這種復雜文本,需要使用復雜文本布局引擎:當要顯示一個蒙文的名義字符時,復雜文本布局引擎根據(jù)蒙文顯示規(guī)則選定其應使用何種顯示字型,并將該名義字符以選定的顯示字型顯示出來。其中,“蒙文顯示規(guī)則”是蒙文名義字符的顯示字型與其所處位置、詞性等屬性的對應關系的規(guī)則,也就是說,其規(guī)定了蒙文名義字符在不同情況下應當分別以何種顯示字型顯示。而復雜文本布局引擎則可根據(jù)蒙文顯示規(guī)則選擇出合適的顯示字型,根據(jù)操作系統(tǒng)等的不同,復雜文本布局引擎也有多種,例如,對于Microsoft公司的Windows操作系統(tǒng),其使用的復雜文本布局引擎為Uniscribe,Uniscribe的核心是一個名為USP10.DLL的文件,其中USP是Unicode文字系統(tǒng)處理器(Unicode Scripts Processor)的簡稱。
[0004]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題:由于語言發(fā)展、用戶的特定需要等原因,經常會有新增的蒙文字符出現(xiàn),但復雜文本布局引擎(例如Uniscribe)不可能隨時更新,這導致其經常無法識別新增的蒙文字符,而只能將其當作非蒙文字符處理,從而導致新增的蒙文字符不能以正確的顯示字型被顯示。例如,在TheUnicode Standard 6.0中新增了一個蒙文名義字符unilSAA,其獨立字型如圖1所示,因Uniscribe還沒有收錄該字符,故會將其作為非蒙文字符處理,從而導致該字符在文本中始終以獨立字型顯示,同時與其相鄰的字符則只能以詞首字型或詞尾字型的形式顯示(因為認為該字符不是蒙文,故會認為該字符不是單詞的一部分,而是將兩個單詞分開的字),而不能以詞中字型顯示(如圖2所示);也就是說,現(xiàn)有的蒙文顯示方法會導致復雜文本布局引擎無法識別的蒙文字符及與該蒙文字符相鄰的字符顯示字型均不正確。
【發(fā)明內容】
[0005]本發(fā)明所要解決的技術問題包括,針對現(xiàn)有技術中復雜文本布局引擎不識別的蒙文名義字符不能正確顯示的問題,提供一種可使復雜文本布局引擎不識別的蒙文名義字符也被正確顯示的構造蒙文字庫的方法。
[0006]解決本發(fā)明技術問題所采用的技術方案是一種構造蒙文字庫的方法,其包括:[0007]I)制作顯示字型:制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型;
[0008]2)信息整理:整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則,所述名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時分別對應的顯示字型;
[0009]3)構造蒙文字庫:將所述步驟I)中制作的顯示字型以及所述步驟2)中整理的信息加入蒙文字庫中以構造蒙文字庫。
[0010]在本發(fā)明的構造蒙文字庫的方法中,包括將“名義字符與其他蒙文字符的位置關系顯示規(guī)則”加入蒙文字庫的步驟,而名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時,各字符(包括該名義字符和其他蒙文字符)分別應以什么顯示字型顯示;因此,只要使用根據(jù)本發(fā)明的方法構造的字庫,那么即使對于未加入復雜文本布局引擎中的蒙文名義字符(或者說復雜文本布局引擎不識別的蒙文名義字符),計算機系統(tǒng)也可根據(jù)名義字符與其他蒙文字符的位置關系顯示規(guī)則得出該字符及與其相鄰的字符應當分別以什么形式顯示,以將該名義字符及與其相鄰的蒙文字符正確顯示出來;從而保證全部蒙文字符的正確顯示,并方便用戶。
[0011]優(yōu)選的是,所述制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型具體為:制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型的TrueType字庫。
[0012]優(yōu)選的是,所述顯示字型包括:獨立字型、詞首字型、詞中字型、詞尾字型中的至少一種。
[0013]優(yōu)選的是,在所述步驟2)中,在整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則之前,還包括:整理能被復雜文本布局引擎識別的所述名義字符的蒙文顯示規(guī)則;
[0014]整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則具體為:根據(jù)所述名義字符的蒙文顯示規(guī)則,整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則。
[0015]進一步優(yōu)選的是,所述復雜文本布局引擎為Uniscribe。
[0016]優(yōu)選的是,整理與所述名義字符的相關的、蒙文字庫所需的高級布局信息。
[0017]優(yōu)選的是,所述蒙文字庫為OpenType字庫。
[0018]優(yōu)選的是,所述蒙文名義字符為未加入復雜文本布局引擎中的蒙文名義字符。
[0019]本發(fā)明所要解決的技術問題還包括,針對現(xiàn)有技術中復雜文本布局引擎不識別的蒙文名義字符不能正確顯示的問題,提供一種能正確顯示復雜文本布局引擎不識別的蒙文名義字符的蒙文顯示方法。
[0020]解決本發(fā)明技術問題所采用的技術方案是一種蒙文顯示方法,其包括:
[0021]判斷要顯示的名義字符與其他蒙文字符間的位置關系;
[0022]根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型,其中,所述蒙文字庫是按照上述方法預先構造的。
[0023]由于本發(fā)明的蒙文顯示方法中使用按上述方法構造的蒙文字庫,因此其能正確顯示復雜文本布局弓I擎不識別的蒙文名義字符及與其相鄰的蒙文字符。
[0024]本發(fā)明所要解決的技術問題還包括,針對現(xiàn)有技術中復雜文本布局引擎不識別的蒙文名義字符不能正確顯示的問題,提供一種能正確顯示復雜文本布局引擎不識別的蒙文名義字符的蒙文顯示裝置。[0025]解決本發(fā)明技術問題所采用的技術方案是一種蒙文顯示裝置,包括:
[0026]蒙文字庫存儲單元,用于存儲按照上述方法預先構造的蒙文字庫;
[0027]判斷單元,用于判斷要顯示的名義字符與其他蒙文字符間的位置關系;
[0028]顯示字型選擇單元,用于根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型。
[0029]由于本發(fā)明的蒙文顯示裝置中存儲有按上述方法構造的蒙文字庫,因此其能正確顯示復雜文本布局引擎不識別的蒙文名義字符及與其相鄰的蒙文字符。
[0030]本發(fā)明用于顯示蒙文字符,尤其是復雜文本布局弓I擎不識別
[0031]的蒙文名義字符。
【專利附圖】
【附圖說明】
[0032]圖1為unil8AA名義字符的獨立字型;
[0033]圖2為用現(xiàn)有的蒙文顯示方法顯示包含unil8AA名義字符的蒙文文本的結果示意圖;
[0034]圖3為本發(fā)明實施例2的構造蒙文字庫的方法的示意流程圖;
[0035]圖4為unil8AA名義字符的詞中字型;
[0036]圖5為用本發(fā)明實施例3的方法顯示包含unil8AA名義字符的蒙文文本的結果示意圖。
【具體實施方式】
[0037]為使本領域技術人員更好地理解本發(fā)明的技術方案,下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細描述。
[0038]實施例1:
[0039]本實施例提供一種構造蒙文字庫的方法,其包括:
[0040]I)制作顯示字型:制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型。
[0041]2)信息整理:整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則,所述名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時分別對應的顯示字型。
[0042]3)構造蒙文字庫:將所述步驟I)中制作的顯示字型以及所述步驟2)中整理的信息加入蒙文字庫中以構造蒙文字庫。
[0043]在本實施例的構造蒙文字庫的方法中,包括將“名義字符與其他蒙文字符的位置關系顯示規(guī)則”加入蒙文字庫的步驟,而名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時,各字符(包括該名義字符和其他蒙文字符)分別應以什么顯示字型顯示;因此,只要使用根據(jù)本實施例的方法構造的字庫,那么即使對于未加入復雜文本布局引擎中的蒙文名義字符(或者說復雜文本布局引擎不識別的蒙文名義字符),計算機系統(tǒng)也可根據(jù)名義字符與其他蒙文字符的位置關系顯示規(guī)則得出該字符及與其相鄰的字符應當分別以什么形式顯示,以將該名義字符及與其相鄰的蒙文字符正確顯示出來;從而保證全部蒙文字符的正確顯示,并方便用戶
[0044]實施例2:[0045]本實施例提供一種構造蒙文字庫的方法,如圖3所示,其包括以下步驟:
[0046]S01、制作顯示字型:制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型。
[0047]也就是說,先選定要將什么名義字符加入蒙文字庫,再制作與該名義字符對應的各種顯示字型。
[0048]優(yōu)選的,本步驟為制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型的TrueType字庫。也就是說,利用TrueType的造字功能做出要加入蒙文字庫的名義字符的各顯示字型,并將它們制成TrueType字庫。其中,TrueType是由Apple Computer公司和Microsoft公司聯(lián)合推出的字型描述技術,它用數(shù)學函數(shù)描述字體輪廓外形,含有字型構造、顏色填充、數(shù)字描述函數(shù)、流程條件控制、柵格處理控制、附加提示控制等指令。由于TrueType的操作簡單,應用廣泛,因此非專業(yè)人員即可用其方便快捷的制作所需的顯示字型,從而使一般用戶也可方便的構造蒙文字庫;另外,TrueType字庫還可作制作OpenType字庫的基礎。
[0049]優(yōu)選的,顯示字型包括獨立字型、詞首字型、詞中字型、詞尾字型中的至少一種。上述的四種字型是指名義字符在單獨存在、位于詞首、位于詞中、位于詞尾時的不同形式,例如,圖1和圖4分別為unil8AA名義字符的獨立字型和詞中字型。
[0050]當然,此處制作的顯示字型還可包括從格附加成分首字型、雙詞根第二詞根字型、陰性詞字型、陽性詞字型等。
[0051]優(yōu)選的,上述的蒙文名義字符為未加入復雜文本布局引擎中的蒙文名義字符;而該復雜文本布局引擎優(yōu)選為Uniscribe。也就是說,本實施例優(yōu)選用于將復雜文本布局引擎不能識別的蒙文名義字符(如unil8AA名義字符)加入蒙文字庫中,因為復雜文本布局引擎能夠識別的蒙文名義字符目前已可正確顯示,因此不必使用本實施例的方法;當然,如果希望用本實施例的方法將復雜文本布局引擎能夠識別的蒙文名義字符加入字庫中,也是可行的。
[0052]S02、信息整理,其包括以下步驟:
[0053]S021、優(yōu)選的,整理能被復雜文本布局引擎識別的上述名義字符的蒙文顯示規(guī)則。
[0054]其中,復雜文本布局引擎可為Uniscribe等,而蒙文顯示規(guī)則是復雜文本布局引擎可識別的常規(guī)格式,其根據(jù)蒙文的語法規(guī)則整理而成,規(guī)定了名義字符在不同情況下(如位置不同、詞性不同等)分別應當以什么顯示字型進行顯示。由于該蒙文顯示規(guī)則可采用蒙文字庫中的已有的格式,故在此不再詳細描述。
[0055]設置上述名義字符的蒙文顯示規(guī)則的優(yōu)點在于:可使本實施例的蒙文數(shù)據(jù)庫對于復雜文本布局引擎中存在和不存在的蒙文字符兼容;當復雜文本布局引擎中不存在某一蒙文名義字符,可用名義字符與其他蒙文字符的位置關系顯示規(guī)則顯示該字符,而當復雜文本布局引擎中存在該蒙文名義字符時(例如假設此后unil8AA名義字符被加入了Uniscribe),則可用復雜文本布局引擎根據(jù)蒙文顯示規(guī)則按照常規(guī)的方法直接處理該字符。
[0056]S022、根據(jù)該名義字符的蒙文顯示規(guī)則,整理名義字符與其他蒙文字符的位置關系顯示規(guī)則;其中,名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了名義字符與其他蒙文字符處于不同位置關系時分別對應的顯示字型。
[0057]也就是說,名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了當名義字符與其他蒙文字符處于不同位置關系時,該名義字符和其他蒙文字符分別應以什么顯示字型進行顯示;其中,名義字符的顯示字型是在SOl步驟中制作的,而其他蒙文字符的顯示字型是蒙文字庫中已有的??梢?,對于含有名義字符的蒙文文本,只要運用上述的位置關系顯示規(guī)貝U,即可確定該名義字符及與其相鄰的蒙文字符分別應當以什么形式顯示,而不論復雜文本布局引擎能否識別該蒙文名義字符;從而本實施例的蒙文字庫可實現(xiàn)全部蒙文字符的正確顯示。
[0058]S023、優(yōu)選的,整理與所述名義字符的相關的、蒙文字庫所需的高級布局信息。
[0059]聞級布局/[目息是字庫(如OpenType)中所需的常規(guī)彳目息,其用于指不字符的語目類型、詞性等,可包括文本信息、語言信息、特征信息等。由于高級布局信息可采用蒙文字庫中的已有格式,故在此不再詳細描述。
[0060]本實施例中,整理高級布局信息的步驟位于S021和S022步驟之后;但應當理解,該步驟也可在S021和S022步驟之間或之前進行,只要其能在構造字庫步驟之前完成即可。
[0061]S03、構造字庫:將上述顯示字型和信息整理步驟中整理的信息加入蒙文字庫中構造蒙文字庫。
[0062]也就是說,將上述的名義字符、名義字符的各顯示字型、名義字符的蒙文顯示規(guī)貝U、名義字符與其他蒙文字符的位置關系顯示規(guī)則、與名義字符相關的高級布局信息等加入字庫中,從而構造蒙文字庫。
[0063]優(yōu)選的,蒙文字庫為OpenType字庫(又稱Type 2字庫)的形式。OpenType字庫是Microsoft公司和Adobe公司聯(lián)合開發(fā)的基于Unicode編碼的字體格式,其是TrueType字庫的擴展,融合了 PostScript字體技術,在功能上還容納了基線調整,豎排替換,變體替換等排版軟件才可具備的操作;因此,使用OpenType字庫具有使用方便、適應性好、可跨平臺、功能多樣、支持國際化處理等優(yōu)點。
[0064]實施例3:
[0065]本實施例提供一種蒙文顯示方法,其包括:
[0066]S11、判斷要顯示的名義字符與其他蒙文字符間的位置關系。
[0067]S12、根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型,其中,所述蒙文字庫是按照上述方法預先構造的。
[0068]也就是說,在進行蒙文顯示時,利用由上述方法構造的蒙文字庫,對于復雜文本布局引擎不識別的蒙文名義字符(如unilSAA名義字符)及與其相鄰的蒙文字符,根據(jù)名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇它們的顯示字型,從而如圖5所示,使該名義字符和與其相鄰的字符均正確顯示;當然,對于復雜文本布局引擎能識別的蒙文名義字符,可以根據(jù)蒙文字庫中已有的、常規(guī)的蒙文顯示規(guī)則顯示,或者也可統(tǒng)一根據(jù)名義字符與其他蒙文字符的位置關系顯示規(guī)則進行顯示。
[0069]由于本實施例的蒙文顯示方法中使用按上述方法構造的蒙文字庫,因此其能正確顯示復雜文本布局弓I擎不識別的蒙文名義字符及與其相鄰的蒙文字符。
[0070]實施例4:
[0071]本實施例提供一種蒙文顯示裝置,其包括:
[0072]蒙文字庫存儲單元,用于存儲按照上述方法預先構造的蒙文字庫。[0073]判斷單元,用于判斷要顯示的名義字符與其他蒙文字符間的位置關系。
[0074]顯示字型選擇單元,用于根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型。
[0075]也就是說,將上述方法構造的蒙文字庫存儲在蒙文顯示裝置中,并根據(jù)其中的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇顯示字型,從而使復雜文本布局引擎不識別的蒙文名義字符及與其相鄰的蒙文字符均能被正確的顯示。
[0076]當然,本實施例中的各種單元可以是獨立的部件,也可以集成為一體(如集成為一個存儲器和一個控制器);另外,本實施例的蒙文顯示裝置還可包括其他常規(guī)單元,例如用于供用戶輸入字符的輸入單元(如鍵盤、鼠標)、用于給出顯示結果的輸出單元(如顯示器、打印機)等;例如,該蒙文顯示裝置可為計算機的形式。
[0077]由于本實施例的蒙文顯示裝置中存儲有按上述方法構造的蒙文字庫,因此其能正確顯示復雜文本布局引擎不識別的蒙文名義字符及與其相鄰的蒙文字符。
[0078]而采用的示例性實施方式,然而本發(fā)明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發(fā)明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發(fā)明的保護范圍。
【權利要求】
1.一種構造蒙文字庫的方法,其特征在于,包括: 1)制作顯示字型:制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型; 2)信息整理:整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則,所述名義字符與其他蒙文字符的位置關系顯示規(guī)則規(guī)定了該名義字符與其他蒙文字符處于不同位置關系時分別對應的顯示字型; 3)構造蒙文字庫:將所述步驟I)中制作的顯示字型以及所述步驟2)中整理的信息加入蒙文字庫中以構造蒙文字庫。
2.根據(jù)權利要求1所述的構造蒙文字庫的方法,其特征在于,所述制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型具體為: 制作與要加入蒙文字庫中的蒙文名義字符對應的顯示字型的TrueType字庫。
3.根據(jù)權利要求1所述的構造蒙文字庫的方法,其特征在于,所述顯示字型包括: 獨立字型、詞首字型、詞中字型、詞尾字型中的至少一種。
4.根據(jù)權利要求1所述的構造蒙文字庫的方法,其特征在于, 在所述步驟2)中,在整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則之前,還包括:整理能被復雜文本布局引擎識別的所述名義字符的蒙文顯示規(guī)則; 整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則具體為:根據(jù)所述名義字符的蒙文顯示規(guī)則,整理所述名義字符與其他蒙文字符的位置關系顯示規(guī)則。
5.根據(jù)權利要求4所述的構造蒙文字庫的方法,其特征在于, 所述復雜文本布局引擎為Uniscribe。
6.根據(jù)權利要求1所述的構造蒙文字庫的方法,其特征在于,在所述步驟2)中,還包括: 整理與所述名義字符的相關的、蒙文字庫所需的高級布局信息。
7.根據(jù)權利要求1至6中任意一項所述的構造蒙文字庫的方法,其特征在于, 所述蒙文字庫為OpenType字庫。
8.根據(jù)權利要求1至6中任意一項所述的構造蒙文字庫的方法,其特征在于, 所述蒙文名義字符為未加入復雜文本布局引擎中的蒙文名義字符。
9.一種蒙文顯示方法,其特征在于,包括: 判斷要顯示的名義字符與其他蒙文字符間的位置關系; 根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型,其中,所述蒙文字庫是按照權利要求1至8中任意一項所述的方法預先構造的。
10.一種蒙文顯示裝置,其特征在于,包括: 蒙文字庫存儲單元,用于存儲按照權利要求1至8中任意一項所述的方法預先構造的蒙文字庫; 判斷單元,用于判斷要顯示的名義字符與其他蒙文字符間的位置關系; 顯示字型選擇單元,用于根據(jù)蒙文字庫中存儲的名義字符與其他蒙文字符的位置關系顯示規(guī)則選擇所述名義字符及與其相鄰的蒙文字符的顯示字型。
【文檔編號】G06F17/30GK103870515SQ201210552880
【公開日】2014年6月18日 申請日期:2012年12月18日 優(yōu)先權日:2012年12月18日
【發(fā)明者】王玉欣, 張國榮, 唐英敏, 馬蕾, 欒瑛 申請人:北大方正集團有限公司, 北京大學, 北京北大方正電子有限公司