專利名稱:字庫字形標準性的檢測方法
所屬技術領域本方法涉及一種計算機軟件信息標準化處理技術,尤其是一種字庫標準符合性自動檢測方法。
背景技術:
首先,字庫的制作是按一定規(guī)則進行,一套完整的字庫在面市前要經(jīng)過多個流程才能完成。特別是漢文、藏文等復雜文字字庫,更是復雜繁瑣,每個筆劃及細節(jié)都得仔細處理。
一個字庫的產(chǎn)生基本包含字稿、掃描、數(shù)字化擬合、修字等步驟。其中的某些步驟是很浩大的工程,在制作過程中很難保證不出現(xiàn)失誤,字庫中的每個編碼的字形都不一定會符合國家的相應標準。
另外,目前字庫的設計格式主要有TrueType和OpenType兩種,這兩種字庫生成的字形都是通過字庫內部的Bezier曲線來定義的。OpenType更是使用字庫中的GSUB與GPOS表格,可以實現(xiàn)字庫中字形的多對一、一對多和多對多的替換與組合,并能夠實現(xiàn)復雜的字形定位。
但是國家標準是針對字形制定的,而不是針對曲線或者表格制定的,因此,字庫中的每個編碼的字形是否符合國家的標準字形是需要檢測的。
發(fā)明內容
本發(fā)明的目的在于提供一種字庫字形的檢測方法,自動檢測字庫字形是否符合國家標準。
本發(fā)明的字庫字形標準性的檢測方法,其步驟包括1)根據(jù)被測字庫輸入字符集內的碼點,生成一被測字形;2)將上述被測字形轉化為位形格式;3)根據(jù)標準點陣字形生成一對應的標準字形;4)將上述標準字形轉化為位形格式;5)對上述兩位形格式進行歸一化操作,消除標準字形和被測字形的大小差異;6)將上述兩位形格式分別進行M1×M2分塊,提取每塊的特征值,形成兩對應的特征向量,其中M1和M2均為大于1的正整數(shù);
7)計算特征向量的歐式距離;8)當特征向量的矢量距離小于設定的閾值時,判定被測字形符合標準。
本發(fā)明還對兩位形格式進行剪裁操作,消除字形周圍多余的空白區(qū)域。
上述提取特征值的過程為使用Garbor濾波器對上述各分塊上的所有象素點進行分析,按照下列公式(1)對分塊中對應的象素點分配權值,按照公式(2)得出分塊的特征值;G(x,y)=κ2σ2exp[-κ2(x2+y2)2σ2]=4λ2exp[-2(x2+x2)λ2]---(1)]]>Fd(xi,yj)=Σx=-Nx=NΣy=-Ny=Nfd(xi+x,yj+y)G(x,y)---(2)]]>其中σ=π,κ=2πλ,]]>波長λ為一大于等于1的正整數(shù),N為大于1的正整數(shù)。優(yōu)選長λ=8,N=2λ。
本發(fā)明優(yōu)選將上述兩位形分別分為8×8塊,形成兩64維的特征向量。
當字庫中符合標準的字形的比例大于設定的閾值后,判定該字庫符合標準。
為了判定信息處理中使用的字庫是否符合國家標準,并實現(xiàn)計算機自動測試,本發(fā)明提供了基于模式匹配的字庫標準符合性自動檢測的方法。利用了字庫生成的字形信息,通過和國家標準字形進行比對,使用計算機自動判定信息處理中使用的字庫對國家標準的符合程度。
本方法將檢測字庫的重點放在了最后生成的字形上,并不關注字庫內部的組織、結構和格式,具有良好的通用性且性能良好。通過計算機來進行測試,能夠節(jié)省大量的人力,提高測試準確度,節(jié)省時間。
具體實施例方式
本方法的具體實施方式
是第一步對被測字庫輸入字符集內的任意碼點,生成碼點對應字的被測字形。一個字庫覆蓋了一系列碼點,每個碼點對應一個確定的字,碼點和字是一對一的關系。
首先判斷被測字庫的格式。如果是點陣字庫、TrueType字庫,則直接輸入字形的碼點產(chǎn)生被測字形,碼點一般是16bit數(shù)字。如果是OpenType字庫,因為OpenType字庫通過內部的GSUB與GPOS表格,可以實現(xiàn)字庫中字形的多對一、一對多和多對多的替換與組合,并能夠實現(xiàn)復雜的字形定位。所以我們輸入字符的碼點序列,然后根據(jù)GSUB表確定字符的連體字形、疊加字形和組合字形;根據(jù)GPOS表確定各個基本字形的相對位置,最后得到字符的字形。
第二步,將被測字形存為被測Bitmap文件(Bitmap,位圖,亦稱為點陣圖像或繪制圖像,是由稱作像素(圖片元素)的單個點組成的。這些點可以進行不同的排列和染色以構成圖樣)。
第三,使用國家質量技術監(jiān)督局制定的標準點陣字形作為標準字形,并據(jù)此生成標準Bitmap文件。
第四步進行模式匹配,具體包括以下步驟a)對被測Bitmap文件和標準Bitmap文件進行剪裁操作,消除字形周圍多余的空白區(qū)域。
b)對被測Bitmap文件和標準Bitmap文件進行歸一化操作,消除標準字形和被測字形在字號大小上的差異,把兩幅圖形都放縮到相同的尺寸。
c)對被測Bitmap文件和標準Bitmap文件進行分塊處理,分割歸一化后的圖象,將圖象分割為8×8個小圖象。
d)對每一塊提取特征值,使用Gaussian濾波器(這里用Gabor濾波器的Gaussian包絡表示)計算每個小圖象的特征值。
提取特征值的算法使用Garbor濾波器對該小塊上所有象素點進行分析,其中具體過程如公式(1)(2)。
G(x,y)=κ2σ2exp[-κ2(x2+y2)2σ2]=4λ2exp[-2(x2+x2)λ2]---(1)]]>Fd(xi,yj)=Σx=-Nx=NΣy=-Ny=Nfd(xi+x,yj+y)G(x,y)---(2)]]>在公式(1)(2)中,我們設參數(shù)σ=π,κ=2πλ.]]>其中波長λ=8,N=2λ。
公式(1)的作用是對矩形中的8×8個元素對應的象素點分配它們的權值。公式(2)使用公式(1)計算出的矩形中每個元素的權值乘以每個元素的實際值(0或1),得出小圖象的特征值(即以每個小矩形中心點為采樣點,以M1×M2為區(qū)域的所有像素點經(jīng)過Guassian濾波器加權后的和值)。
e)求得標準圖象和被測圖象的特征向量,產(chǎn)生兩個64維的特征向量。
f)求得標準特征向量和被測特征向量之間的歐式距離,這個距離就代表了被測字形對標準字形的相似度,距離越近相似度越高。如果距離小于設定的閾值,則認為該碼點對應的被測字形合格。
通過輸入字庫包含的所有碼點,對每個碼點生成的字形進行匹配操作,得出被測字庫所有字形的合格率,如果合格率大于設定的閾值,則認為被測字庫是合格的。
權利要求
1.一種字庫字形標準性的檢測方法,其步驟包括1)根據(jù)被測字庫輸入字符集內的碼點,生成一被測字形;2)將上述被測字形轉化為位形格式;3)根據(jù)標準點陣字形生成一對應的標準字形;4)將上述標準字形轉化為位形格式;5)對上述兩位形格式進行歸一化操作,消除標準字形和被測字形的大小差異;6)將上述兩位形格式分別進行M1×M2分塊,提取每塊的特征值,形成兩對應的M1×M2維的特征向量,其中M1和M2均為大于1的正整數(shù);7)計算特征向量的歐式距離;8)當特征向量的歐式距離小于設定的閾值時,判定被測字形符合標準。
2.如權利要求1所述的字庫字形標準性的檢測方法,其特征在于對兩位形格式進行剪裁操作,消除字形周圍多余的空白區(qū)域。
3.如權利要求1或2所述的字庫字形標準性的檢測方法,其特征在于使用Garbor濾波器對上述各分塊上的所有象素點進行分析,按照下列公式(1)對分塊中對應的象素點分配權值,按照公式(2)得出分塊的特征值;G(x,y)=κ2σ2exp[-κ2(x2+y2)2σ2]=4λ2exp[-2(x2+y2)λ2]...(1)]]>Fd(xi,yj)=Σx=-Nx=NΣy=-Ny=Nfd(xi+x,yj+y)G(x,y)...(2)]]>其中σ=π,κ=2πλ,]]>波長λ≥1,為正整數(shù),N>1,為正整數(shù)。
4.如權利要求3所述的字庫字形標準性的檢測方法,其特征在于λ=8,N=2λ。
5.如權利要求1或2所述的字庫字形標準性的檢測方法,其特征在于所述M1=M2。
6.如權利要求5所述的字庫字形標準性的檢測方法,其特征在于所述M1=M2=8,特征向量維數(shù)=64。
7.如權利要求1所述的字庫字形標準性的檢測方法,其特征在于如果被測字庫是點陣字庫或TrueType字庫,直接輸入字形的碼點產(chǎn)生被測字形;如果是OpenType字庫,因為OpenType字庫,輸入字符的碼點序列,根據(jù)GSUB表確定字符的連體字形、疊加字形和組合字形;根據(jù)GPOS表確定各個基本字形的相對位置,以得到字符的字形。
8.如權利要求1所述的字庫字形標準性的檢測方法,其特征在于當字庫中符合標準的字形的比例大于設定的閾值后,判定該字庫符合標準。
全文摘要
本方法涉及一種字庫標準符合性自動檢測方法。根據(jù)被測字庫輸入字符集內的碼點,生成一被測字形;將上述被測字形轉化為位形格式;根據(jù)標準點陣字形生成一對應的標準字形;將上述標準字形轉化為位形格式;對上述兩位形格式進行歸一化操作,消除標準字形和被測字形的大小差異;將上述兩位形格式分別進行分塊,提取每塊的特征值,形成兩對應的特征向量;計算特征向量的矢量距離;當特征向量的矢量距離小于設定的閾值時,判定被測字形符合標準。本發(fā)明將檢測字庫的重點放在了最后生成的字形上,通過計算機來進行測試,能夠節(jié)省大量的人力,提高測試準確度,節(jié)省時間。
文檔編號G06F17/22GK101055565SQ200710111100
公開日2007年10月17日 申請日期2007年6月15日 優(yōu)先權日2007年6月15日
發(fā)明者劉瀚猛, 白真龍, 芮建武, 吳健 申請人:中國科學院軟件研究所