CN1045227C - 字形数据的压缩复原方法和有关产品 - Google Patents
字形数据的压缩复原方法和有关产品 Download PDFInfo
- Publication number
- CN1045227C CN1045227C CN93104688A CN93104688A CN1045227C CN 1045227 C CN1045227 C CN 1045227C CN 93104688 A CN93104688 A CN 93104688A CN 93104688 A CN93104688 A CN 93104688A CN 1045227 C CN1045227 C CN 1045227C
- Authority
- CN
- China
- Prior art keywords
- font
- data
- character
- radical
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种字形数据的压缩、复原方法和有关产品,属于字形数据处理领域。该方法是将正规拼接字形数据压缩为字元引用数据、字形拼接数据和字元占位数据或字元的部分定位定比参数数据;不同字体的独立字根数据,繁体字和非基本字体的例外字形数据和独立的短码变换表共用正规字形的数据;复原字形时用占位数据比例法等方法从压缩的正规拼接数据复原字形。本发明压缩比高、复原失真小、字模制作工作量小,可用于字形存储和输出。
Description
本发明是一种字形数据的压缩、复原方法和有关产品,属于字形数据处理领域,特别是汉字字形压缩和复原技术领域。
汉字字形数据的压缩和汉字字形复原技术是本领域有待解决的重要课题。在需要多种字体、多种字号的汉字字形数据处理场合,为了减少字形库存储量,通常对每种字体存储一套方形字形作为基准字形库,配合纵向和横向变倍方法,产生不同大小的方形或长、扁形字。字形、特别是高分辨率汉字字形的压缩和复原技术的关键是设计一种字形数据压缩方法和相应的复原方法,对汉字有尽可能小的复原失真和高压缩比。
《计算机中文信息处理》上册(赵珀璋,徐力著,宇航出版社出版,1987年12月,第一版)第172到175页概述了一种嵌套结构汉字库的设计方法,笔划为线段式,分辨率32×32,不能作高精度字库。中国专利CN85108434①、CN87102002A②(均基于48×48点阵并采用笔划模板法)、台湾专利6911064③(基于16×16点阵)、中国专利CN10455474A④(基于512×512点阵,采用高精度可塑笔划模板法和稀疏网格法)和欧洲专利EP0095536⑤(基于96×96点阵,采用笔划轮廓向量法)均是现有技术的组成部分。专利②到④均采用了字元拼形嵌套表示法。
历来的汉字字形数据压缩方法和复原方法的主要缺点是:字形复原时产生失真;字库压缩比不够高;每种字体需一套库;字模制作工作量大;不能动态生成库外字形,构成的系统成本较高。
现有的汉字字形数据压缩方法主要有以下两类失真:
一、构架失真:主要取决于基准字形构架分辨率。当复原字形分辨率超过基准字形构架分辨率时,如图14,就会产生构架定位误差(Δx和Δy)和比例尺误差(l′-l)。上述专利①到④的基准字形构架分辨率不超过48×48,失真较大,专利⑤的构架失真相对较小。其中专利④对字元和笔划的位移和比例尺采用了稀疏网格,取值范围为0-31,因此其构架分辨率相当于32×32。
二、弯曲笔划骨架线曲率失真和边缘拟合失真:主要由笔划(模板)分辨率低和不完善的笔划描述方法引起。专利①到③对每种弯曲笔划采用有限个笔划模板,曲率有限。模板分辨率不超过48×48,专利④每种弯曲笔划一个笔划模板,曲率固定。因此专利①到④不能避免曲率失真,同时专利①到③的边缘拟合失真也较大。专利⑤采用笔划轮廓向量法,也有边缘拟合失真。
专利①到⑤的压缩比均不够高。如果为了减少失真而提高基准字形分辨率,专利①到⑤的压缩比还会进一步降低。专利①到⑤的字模制作须逐字进行,而且不能动态生成库外字形。
用Adobe系统有限公司开发的外形字根系统(PostScript)表示方法(见《PostscriptLanguageReferenceManual》,Adobe系统有限公司著,Addison-Wesley出版社出版,1990年第二版)第393页描述汉字字形可以消除上述第二类失真,其曲线外形轮廓用Bezier曲线表示。但用这种方法仍没有完全解决上述问题,特别是如果提高字形表示精度还是要大大降低压缩比。
用中国专利CN88100794A所述方法可以生成高精度的笔划粗细可控的文字图形,但其压缩比也不够高,字模制作较复杂。
本发明的目的就是设计一种压缩比高、复原失真小、字模制作工作量小、能方便地压缩和动态生成由已有字形组成的库外字形、多种字形标准共用和简化/繁体字形共用字形数据的含有汉字字形的字形数据压缩方法、相应的复原方法和有关产品,按本方法可以构成低成本高质量的字形生成系统。本发明是采用字元占位数据法或部分定位定比参数法、字元引用不等长压缩法等一系列方法实现的字形,特别是汉字字形数据压缩方法、相应的复原方法和有关产品。
本发明的目的是这样实现的:
本发明一种字形数据压缩方法,是将字形分为正规拼接字形和非正规拼接字形,用正规字标志数据区分正规拼接字形和非正规拼接字形,将正规拼接字形数据压缩为字元引用数据、字形拼接数据和字元占位数据或字元的部分定位定比参数数据;字元引用数据是等长引用数据或不等长的字元代码,字形拼接数据是各字元的方位或字形组成结构编号加字元排列顺序,字元占位数据是字元的占位数据或线度,该占位数据或线度可以是在所表示字形各字元信息中,或来自所引用字元的字形数据,且至少在每个字根的字形信息中包含该字根的占位数据或线度;在同时压缩多种字体、多种字形标准或压缩简体和繁体字形数据时,可任选地将它们具有的多套非字根字的字形数据压缩为一套,由多种字体、多种字形标准或简体/繁体字共享。
对组字较多的一批字元的引用数据压缩为较短的引用数据,并增加短码长字元编号变换表,该变换表用短码长字元编号寻址,表中包含标准长度字元引用数据,非短码字元也作相应变换。
所述的字形拼接数据是字形组成结构编号和字元排列顺序,所述的正规拼接字形最大字元数限为3,且字形组成结构取左右结构,上下结构,左中右结构,上中下结构,上左右结构,左右下结构,左上下结构和上下右结构共8种。
所述的字元的部分定位定比参数数据是正规拼接字形的T个字元共4T个定位定比参数中的N个,T-1≤N<4T,对组字结构相同的字形使用相同的部分定位定比参数。
所述的将多字体的多套非字根字数据压缩为一套的方法是,保留一种字体的非字根字形数据,删除其它字体的非字根字形数据,每种字体保留独立的字根字形数据。
所述的将简化字形和繁体字形的非字根字形数据压缩为一套的方法是,以简化字或繁体字的一种作为基本字形,保留所说基本字形的非字根字形数据,删除非基本字形的非字根字形数据,保留非基本字形的字根字形数据,对非基本字形增加例外字形寻址表,字形引用数据不等长时还保留简体和繁体字形的短码长字元编号变换表,采用简化与繁体字之间的等价字形有相同编号的字形编号。
所说的将多标准字形的非字根字形数据压缩为一套的方法是,以一种标准作为基准字形标准,保留所说基准字形标准的非字根字形数据,删除非基准字形标准的非字根字形数据,保留非基准字形标准的字根字形数据和其短码长字形编号变换表,对非基准字形标准增加例外字形数据,所说的例外字形压缩方法与基本字形相同,采用不同标准之间的等价字形有相同编号的字形编号。
本发明一种字形数据复原方法,是对压缩为字元引用数据、字形拼接数据和字元占位数据的正规字形,按下述相应方法复原:
(1)用字元引用数据得到所引用字元的字形数据,若对多字体、多字形标准或简体和繁体压缩了非字根字形数据,则可用对应的短码变换表得到短码对应的标准字形码,再检索例外字形表,若被复原字在表中,从中得到字形数据,否则从共享的非字根数据表中得到字形数据,
(2)用字元拼接数据确定各字元相对位置和拼接关系,
(3)对二字元字形,用两字元占位数据按比例方法得到至少一个字元在两字元拼接方向上的比例尺和整个字形的占位数据,并进一步得到各字元的其余定位定比参数,
(4)对字元数超过2的字形,将其逐层分解为两部分组成的字形,对每一层次的两部分,采用(3)的方法,最终得到各字元的各定位定比参数。
本发明一种字形数据复原方法,是对压缩为字元引用数据、字形拼接数据和N个部分字元参数数据的正规字形,按下述相应方法复原:
(1)用字元引用数据得到所引用字元的字形数据,若对多字体、多字形标准或简体和繁体压缩了非字根字形数据,则可用对应的短码变换表得到短码对应的标准字形码,再检索例外字形表,若被复原字在表中,从中得到字形数据,否则从共享的非字根数据表中得到字形数据,
(2)用字元拼接数据确定各字元相对位置和拼接关系,
(3)对每种字形拼接结构根据已知定位定比参数复原出每字元的全部定位定比参数。
对短码长字元引用数据从短码长字形编号变换表得到对应的标准字元引用数据,对非短码字元引用数据,用其压缩方法对应的复原方法得到其标准字元引用数据。
在压缩了多字体非字根字形数据时,复原时对每种字体使用共用的正规字形数据和该字体特有的字根数据区复原字形。
在压缩了简体和繁体非字根字形数据时,复原时对非基本字形的每一字形,检索对应的例外字形数据,对其中已有字形从中得到该字形的字形数据,对其中没有的字形检索对应的基本字形数据,得到字形数据。
在压缩了多字形标准非字根字形数据时,复原时对各非基准字形标准的例外字形检索对应的例外字形数据并复原字形,对例外字根检索对应的例外字根数据并复原字根,对每种字形标准用对应的短码长字形信息作变换,对非基准标准的非例外字形和字根按基准标准复原方法复原字形数据。
一种压缩和复原字形数据的产品,是用所述的字形数据压缩和复原方法处理字形数据。
下面对本发明作详细说明:
如果一汉字字形划分成的各字元均有矩形边界,并且各字元的矩形边界互不相交、嵌入或重叠,则称其为正规拼接字形。例如″投″是正规拼接字形,而″奉″、″者″、″阐″和″还″不是,如图15所示。
1、用字元占位系数和方位表示正规拼接字形字元的各定位定比参数
字形的占位系数反映一字元与其它字元拼接时占据空间的能力。笔划多的字元占位系数较大,占据空间的能力较强。占位系数可取基准字形各笔划所占面积,对阳文点阵字形相当于点阵黑点数。
对每个正规拼接字形,可以将其数据压缩为字元引用数据、各字元的占位系数和方位表示。可以用这些数据采用比例方法得到每个字元的横、纵向位移和比例尺。例如对″投″字,可以表示为:
″投″=(″扌″,″扌″的占位数据,左;″几″,″几″的占位数据,右上;″又″,″又″的占位数据,右下)
调换上述三组字元数据的顺序效果相同。
可选择嵌套或不嵌套的字元引用压缩法。选择前者时,组成一字形的字元可以由其它字元组成,而后者每个字形的字元必须是字根。
对于非正规拼接字形和非汉字字形,可以采用多种基于字元拼形的压缩方法,最好采用基于字元笔划的表示方法,例如笔划轮廓向量表示法,Adobe的PostScript表示法等。可选择基准字形字体和分辨率,例如分辨率选择16×16以上均可,最好选择256×256或以上,字体最好选择宋体。
所表示的字形集合可以是中国大陆汉字字形标准(ChineseHanziforGBsource)、台湾汉字字形标准(ChineseHanziforTCAsource)、日本汉字字形标准(JapaneseKanji)或韩国汉字字形标准(KoreanHanja)中任何一种,也可以是简化字形或繁体字形。
2、不由其它字形组成的字形称为字根。至少在每个字根的字形数据中包含该字根的占位系数。每个正规拼接字形或非正规拼接字形总能逐层分解为字根,所以每个字形的占位系数总能从被引用字元逐层由字根得到。例如,″投″的字形数据可进一步压缩如下:
″投″=(″扌″,左;″又″,右下;″几″,右上)
″扌″、″又″和″几″的占位数据可从它们的字根数据中得到。
当然在正规拼接字形以外的更多字形乃至全部汉字字形数据中包含占位系数都是可以的。例如,可以在全部可嵌入字形(能组成其它字形的字形)的字形数据中包含占位系数。
3、以字形各笔划轮廓所围面积或字形点阵黑点数表示的字形占位系数与基准字形笔划宽度有关。当生成字形笔划宽度与基准字形相差较大时,字形复原质量变坏。为了摆脱这种不利影响,可以用字形线度表示占位系数。把字形各笔划看成是无宽度的线段,称为笔划骨架线。一字形的横向线度可取值为该字形各笔划骨架线各段在字形坐标系X轴上投影长度的总和,其纵向线度可取值为各笔划骨架线各段在Y轴上的投影长度的总和。把字形线度与当前笔划宽度相乘即可得到当前笔划宽度下的字形占位系数。把字形X,Y线度之和作为字形线度也是可以的。
4、为节省字形占位系数存储量,可以用占位系数(或线度)与大于1的一个整常数K之比的整数部分代替其原值。设基准字形分辨率为Q×Q,则最好取K≤Q,并取为2的整数次幂。
5、按已有的字元拼形组字法,每个字元需位移和比例尺参数各两个。有T个字元的字形共需4T个参数定位定比。对有T个字元的正规拼接字形,本发明只需用其各字元引用数据、字元的方位和4T个参数中的N个(N<4T)表示,根据已知参数,经简单计算即可得到其它定位定比参数。对组字结构相同的字形保留相同的参数,例如对左上下结构所有字形可统一保留第二字元的X,Y比例尺,字形″投″可以压缩为:
″投″=(″扌″,左;″几″,右上;″又″,右下;″几″的Y比例尺,″几″的X比例尺)
当然,调换″;″分隔的各字元段的顺序,取更多的参数或取4T个参数中的其它适当组合(如取″又″的X和Y比例尺或″几″的X和Y位移)都是可以的。同样可选择嵌套或不嵌套的字元引用压缩方法。
对于非正规拼接字形和非汉字字形,可以采用多种基于字元拼形的压缩方法,最好采用基于字元笔划的表示方法,例如笔划轮廓向量表示法,Adobe的PostScript表示法等。可选择基准字形字体和分辨率。分辨率选择16×16以上均可,最好选择256×256或以上,字体最好选择宋体。
所表示的字形集合可以是中国大陆汉字字形标准(ChineseHanziforGBsource)、台湾汉字字形标准(ChineseHanziforTCAsource)、日本汉字字形标准(JapaneseKanji)或韩国汉字字形标准(KoreanHanja)中任何一种,也可以是简化字形或繁体字形。
6、对T个字元的正规拼接字,取4T个参数中的T-1个即可充分表示4T个参数,如上述例所示。
7、单独使用1到5所述的方法对一些字形效果不一定好。比如,在用占位系数(或线度)法压缩字形″哀″时,可能复原出的字形在字元″亠″和″口″之间空隙过小而″口″与″__″之间距离又偏大。可以将1到5所述方法与6或7所述方法组合使用,用6或7所述方法控制这类字形字元间的比例。
8、字元方位用字形结构和字元排列顺序表示。
对每种可能的正规拼接字形的组字结构,规定一种字元排列顺序。对每一正规拼接字形,用其组字结构规定的顺序排列其各字元。给出组字结构及按顺序排列的各字元就可确定各字元的方位。
例如,可规定左右结构二字元字形的字元顺序为先左后右,则字形″江″可以压缩为:
″江″=(左右结构;″氵″;″工″)
9、可以将正规拼接字形的最大字元数限为3,组字结构如图5所示,字形组成结构取左右结构,上下结构,左中右结构,上中下结构,上左右结构,左右下结构,左上下结构和上下右结构共8种。图5还给出一种字元排列顺序。这已能覆盖绝大多数正规拼接字形。字元数超过3的用非正规拼接字形表示法表示。
10、用字元引用不等长压缩方法提高字元引用压缩比
字元组字能力相差很大。为了减少字元引用存储量,可采用字元引用不等长压缩方法,将组字较多的字元的引用数据压缩为长度较短的数据。可以按组字多少将所有可嵌入字形顺序排列,用香农编码方法或霍夫曼(Huffman)编码方法对它们作不等长编码。
11、为了表示方便,字元引用数据长度可取一基本存取单位长度的整数倍。对基本存取单位为一字节(byte,等于8bits)的情况,可取数据长度为n个字节(n=1,2,3、、、)。这时可采用变形的霍夫曼编码方法对可嵌入字元编码。
12、将字元引用不等长压缩方法与字元占位系数压缩法或部分参数法组合起来压缩字形数据能比单一压缩方法得到更高的压缩比。
13、基准字形选择较高分辨率可减少复原失真。基准字形分辨率选为256×256或更高可使复原字形分辨率小于等于该分辨率时无构架失真。选择高分辨率并不增加正规拼接字的字形数据,只增加非正规拼接字形及字根的构架定位定比参数长度,对字形表示压缩比影响不大。
14、简化字与繁体字的多数字形相同。为共用字形数据,可选择一种对简化字形与繁体字形之间的等价字形有相同编号的字形编码作字形编号,例如可选GB/T12345-90的编码,并将其中一种作为基本字形,用前述方法压缩,对另一种增加例外字形数据和短码长字形编号变换信息,进一步提高压缩比。
15、中国大陆、台湾、日本、韩国的字形标准中的汉字字形有许多互相相同或相似。在同时需要其中两种或两种以上字形标准的场合,充分共用字形数据可以提高多字形标准字库的总体压缩比。至少选择两种标准作为压缩对象,并选择其中一种字形标准作为基准字形标准,选择一种对不同字形标准中相同字形有相同编号的编码标准作字形编号,对每种非基准字形标准,增加例外字形数据和例外字根数据,如果字元引用采用不等长方法压缩,则每种非基准字形标准还增加短码长字形编号变换数据。
16、用前述方法压缩的正规拼接字形在个别情况下可能个别字元定位定比不准或笔划端点定位不准。例如″折″字,其中″斤″应向左移一些并稍加宽,而且″扌″应稍加宽些。又如″投″字的字元″又″的左下角端点应左移一些比较美观,如图20所示。可以在字形数据中增加字元定位定比参数微调数据和/或笔划定位点微调数据。对有微调数据的字形,用字元参数微调数据调整相应的定位定比参数,在生成字形时用笔划定位点微调数据调整相应的笔划定位点,使字形美观。
17、字形编号可以取ISO/IEC10646、中国大陆、台湾、日本或韩国的任何一种字形标准代码。
18、用占位系数比例方法复原字形
字元拼型方法压缩的字形数据标准压缩形式如图4所示。字形的放缩可通过改变各字元的位移和比例尺参数控制。按各字元的字形数据和位移与比例尺参数可以生成各字元的字形,从而生成一字形。
可以采用下述方法将基于字元拼型方法压缩的正规拼接字形压缩形式(如图3所示)变换为标准表示形式:
(1)用字元引用数据得到各字元的字形数据,用字元方位确定字元之间的拼接关系。
(2)对左右拼接二字元字形,用每字元占位数据按比例方法得到至少一个字元的横向比例尺或字形中部的字元拼接线的X坐标,并进一步推算出各字元的其余定位定比参数。
对上下拼接二字元字形,用每字元占位数据按比例方法得到至少一个字元的纵向比例尺或字形中部的字元拼接线的Y坐标,并进一步计算出各字元的其余定位定比参数。
(3)对字元数超过2的字形:
(3-1)选择符合、1或、2条件的两部分,把它们当作一个子字形,按上述1或2所述方法得到两部分在该子字形内的各定位定比参数;
(3-2)用该两字元的占位数据和两字元在子字形内的比例尺得到该子字形的总体占位数据;
(3-3)如果当前处理的两部分的任何一个是由不止一字元组成的子字形,则用该部分的定位定比参数对该部分每个最终字元作平移和放缩,得到该子字形每个最终字元相对于该部分内的新定位定比参数;
(3-4)如果还没有得到全部字元的各定位定比系数,则继续重复(3-1)到(3-3)的处理,直到各字元的各定位定比参数完全得到为止。
19、可以用下述方法从字元的X线度和Y线度得到字元占位数据和所组成字形的X、Y线度:
其中:
W字元i:为一字形第i个字元的占位数据;
Kx:为横笔划宽度;
Ky:为竖笔划宽度;
LX字形:字形的X线度;
T:字形的字元数;
Lxi:该字形第i个字元的X线度;
Fxi:该字形第i个字元的X比例尺;
LY字形:为字形的Y线度;
Lyi:该字形第i个字元的Y线度;
Fyi:该字形第i个字元的Y比例尺。
斜、撇、捺等非平直笔划宽度可规定为横和竖笔划宽度的函数,如取二者之和的平均值。
20、对基于字元拼形方法压缩的正规拼接字形,可以采用如下方法从已知的部分定位定比参数得到全部定位定比参数:
(1)用字元引用数据得到各字元的字形数据,用字元方位确定字元之间的拼接关系。
(2)对每一种组字结构,从已知的部分定位定形参数可简单地计算出各字元未知的其它定位定形参数。
21、可以将占位数据比例复原方法与部分字元参数复原方法组合使用,提高字形复原质量。例如对″哀″字,用前一种复原方法可能不理想,但用后一种方法可改善成字质量。
22、字形复原时,从已知的正规拼接字形的组字结构和字元的排列顺序可以得到字元数和各字元的方位。按组字结构与字元排列顺序的对应关系可以确定各字元的方位,从组字结构可以得到字元个数。
23、个别正规拼接字形复原后拼接效果可能不太理想。可以用字形数据中的字元参数微调数据调整对应字元的对应定位定比参数,用字形数据中的笔划定位点微调数据调整笔划定位点位置,改善字形质量。
24、在复原字形时可以将不等长的字元引用数据按编码方法的逆过程将不等长码解码,变换为等长字元引用形式。例如,可采用短码长字形编号变换表作变换。
25、复原字形时,将字形数据变换为标准形式:将不等长字形引用变换为标准长度字形引用形式,并且将各字元参数转换为标准字元拼形表示形式。
26、对简化字和繁体字的基本字形采用前述的一般方法复原,对非基本字形先查例外字形区,如果例外区中有此字形则按该区取得字形数据用于复原,如果该区中无此字形则按与基本字形相同的方法取得字形数据用于复原字形。
27、汉字字形以字形编号表示时,编号可以取ISO/IEC10646或中国大陆、台湾、日本、韩国的任何一种汉字编码标准表示,以便能适应不同字形编码标准,生成不同标准的字形。
28、至少两种字形标准共用字形数据时,其中非基准字形标准字形的复原方法是,对每个字形(或字元),检索该字形标准的例外字形数据,如果有此字形则按其中的字形数据生成字形,否则按与基准字形标准相同的方法得到字形数据并生成字形。对于字根先检索该字形标准对应的例外字根数据,如果有此字根则按例外字根字形数据生成字根,否则按基准字形标准的字根数据生成字根。
29、将上述每种字形复原方法与上述的相应字形压缩方法相结合,可组成多种依赖于本发明所述的字形压缩方法的字形复原方法。
30、按本发明所述的字形数据压缩方法可形成字形压缩数据。将这些压缩数据存储到一种数据存储介质上,可形成包含本发明所述字形数据的存储产品。所说的数据存储介质可以是软磁盘、硬磁盘、磁带、各种半导体存储芯片或磁芯存储器等等。
31、按本发明所述的字形复原方法可设计出字形复原产品,例如一种计算机程序。该程序可以存储到一种数据存储介质上,形成包含本发明所述复原方法的产品。所说的数据存储介质可以是软磁盘、磁带,各种半导体或磁芯存储器等等。
32、进一步可以设计出包含按本发明所述的字形数据压缩方法表示的字形数据和能按本发明所述的字形数据复原方法生成字形的产品。该产品可以是汉字排版软件、汉卡、汉字显示终端或汉字印字机,也可以是一种半导体汉字字形发生芯片,等等。
本发明具有如下特点:
1、本发明所述的字形数据压缩方法具有高压缩比和高表示精度,并且字库存储量随基准字形精度提高增加量很少。占汉字总数90%的正规拼接字仅用组字结构和各字元表示,接近压缩极限。对256×256精度6763个汉字的字库,一种字体的总存储量在64KB之内,4种字体时平均每种字体占32KB,压缩比达1600倍,优于任何现有的字形压缩方法,而基准字形表示精度高于这些方法。由于字形表示精度仅取决于约10%的非正规拼接字形的表示精度,所以提高字库精度对总压缩比影响很小。例如在65536×65536精度下4种字体的字库总存储量在256KB之内,压缩比更高。由于存储量小,可以降低所构成字形生成系统的存储成本。
2、本发明的非正规拼接字形可采用多种已知的成熟压缩方法和复原方法。选择一种高表示精度的字形表示和复原方法,如PostScript方法就能达到高复原精度,并增加通用性,降低成本。
3、因为至多只需制作10%非正规拼接字形的字模,所以减少了字库设计工作量。造由字库中已有字形组成的正规拼接字形的工作也很简单。对偶尔使用而不需入库的字形,可以临时指定其结构和各字元,由复原程序动态生成库外字形。
4、由于正规拼接字形压缩方法与笔划粗细、字号、简化/繁体字、和选择的字形标准(中国大陆,台湾,日本或韩国字形标准)高度独立,因此可以使用一套正规拼接字形数据容纳上述多种字形变化因素,而只须增加少量字形数据,达到更高的压缩比。
图1是说明本发明所述的汉字字形压缩方法的一个具体压缩方法的示意图;
图2是图1字根字形数据区中一个字根所包含数据的示意图;
图3是正规拼接字形数据的一种结构;
图4是非正拼接字形数据的一种标准结构例;
图5是8种正规拼接字形结构示意图,并假定了一种字元排列顺序;
图6是一种按本发明的字形压缩方法和字形复原方法复原字形的字形发生过程的示意图;
图7是一个说明图6所示的汉字字形参数复原过程的流程图;
图8是一个说明图7所示的正规拼接字形变换过程的流程图;
图9a和图9b是分别说明图8中所示的左右结构字形变换过程和上下结构字形变换过程的流程图;
图10是一个说明图7所示的得到非正规拼接字形总线度过程的流程图;
图11是一个说明图7、图9a、图9b中所示的得到当前字形线度过程的流程图;
图12是一个说明由图6中601步的汉字参数复原过程所产生的一个字形的各字根数据结构的示意图;
图13是一个说明简化字和繁体字的多种字体共用非字根字形数据区的字形库的示意图;
图14是生成字形的精度超过基准字形表示精度时产生失真的示意图;
图15是正规拼接字形和非正规拼接字形例;
图16是一个多种字形标准共用字形数据的字形数据压缩方法的示意图;
图17是说明图16中一种字形标准的一种字体的例外字形数据区结构的示意图;
图18是一个说明按本发明所述的字形数据压缩和复原方法实现的一个具体装置的硬件结构示意图;
图19a是一个说明字形数据中字元定位定比参数微调数据结构的示意图;
图19b是一个说明字形数据中笔划定位点微调数据结构的示意图;
图20是笔划端点微调示意图。
先按照附图说明本发明的一种对所压缩字形集合中的汉字字形信息的具体压缩方法。该方法可用于压缩一种汉字字形标准的简体或繁体字形的一种字体。对非汉字字形可以用一种已知的方法表示,例如用PostScript表示方法。图1是该压缩方法的示意图。选择基准字形分辨率为256×256,字体为宋体,采用嵌套的不等长字形引用方法。
图14表示横笔划放大到超过基准字形分辨率时可能产生的失真。图中包括正确复原的笔划外形1403、其定位点1401和长度l,失真笔划的外形1404、其定位点1402和长度l′,两定位点横向定位误差Δx,和纵向误差Δy。Δx和Δy是该笔划构架定位误差,l′-l是其比例尺误差。取较高的基准字形分辨率可使这类误差较小。
图1所示的压缩方法包括一个字形数据寻址区101,一个正规拼接标志区102,一个非字根字形数据区103,一个字根标志区104,一个短码长字形编号变换区105,一个字根数据寻址区106,和字根字形数据区107。字根标志区104,正规拼接标志区102和字形数据寻址区101均按相同的字形编号寻址。字根标志区104中每字形占一位(bit),表示一字形是否是字根。正规拼接标志区102中每字形也占一位,表示一字形是否是正规拼接字。非字根字形数据区103存储非字根的字形数据。当一字形被标志为正规拼接字时,其字形数据按正规拼接字形解释。当一字形被标志为非字根的非正规拼接字时,其字形数据按非正规拼接字形解释,字形数据在其中的存储顺序按字形编号的顺序,每字形所占数据存储长度可从来自101的本字形和下字形在字形数据存储区中的始地址得到。字根数据寻址区106存储各字根在字根字形数据区107中的地址,按字根编号寻址。字根字形数据区107存储每个字根的字形数据。字形数据寻址区101在一字形被标志为字根时存储该字根编号,此外存储该字形在非字根字形数据区103中的地址。短码长字形编号变换区105存储每个短码对应的字形的标准编号,用短码字形编号寻址。
字元引用编码可采用如下的变形的霍夫曼编码方法:
1、确定用一字节表示的短码编号字形数S:
其中:
int:是取整函数;
Cmax:汉字字形集合最大字形编号;
Cmin:汉字字形集合最小字形编号。
S也可取小于上式得出的值。
2、选择组字最多的S个字形,分别编号为0到S-1,用一字节表示。
3、对编号为Ci的字形,用第一字节B1和第二字节B2表示:
其中:
mod:是取余数函数;
Cmin,S:同上。
105区存储S个短码对应的字形编号。
对正规拼接字形,每个字形在字根字形数据区103中的数据结构如图3所示,其中包括一个结构码区301,第1字元区和第T字元区302和可选的微调数据区303。结构码区301占3位,取值0-7,表示图5中所示的8种组字结构及规定顺序。字元区302可以有2个或3个,每个占1字节或2字节,表示组成该字形的字元。同时,字元排列的顺序与图5规定的字元顺序相同。可选的微调数据区303存储字元定位定比参数微调数据和/或笔划定位点微调数据,见下述。
对每个非字根非正规拼接字形,非字根字形数据区103中的数据结构如图4所示,包括字元1数据区401,字元1编号区402和字元1的X比例尺403,Y比例尺404,X位移量405,Y位移量406。字元T数据区407和微调信息区408。字元1数据区401由402到406各区组成,其它每字元的数据区407与401有相同结构。可选的微调数据区408存储笔划定位点微调数据。
图19a说明字元定位定比参数微调数据结构,图19b说明笔划定位点微调数据结构。对正规拼接字形,其微调数据区303中可包含一个或多个图19a和/或一个或多个图19b所示数据,需要用一标志位区分两种情况。对非正规拼接字形,其微调数据区中只能包括一个或多个图19b所示数据。图19a包括字元序号1901,微调参数选择1902和微调值1903。字元序号1901指定正规拼接字形字元序号,与图5所规定的顺序相同,取值为1到3。微调参数选择1902指定被调整的字元参数,可以是X、Y位移或X、Y比例尺四参数之一。微调值1903是一个有符号数,若基准字形分辨率为Q×Q,该值的绝对值一般可取≤0、25Q。图19b包含字元序号1904,笔划序号1905,调整点选择1906和微调值1907。字元序号1904与1901类似,但其取值上限为非正规拼接字形最大字元数。笔划序号1905指定被调整笔划,上限为字形最大笔划数。调整点选择1906指定被调整笔划定位点(例如一端点)和调整X或Y坐标的哪一个。微调值1907与1903类似。在图20中,Δx是″投″的字元″又″左下角的微调量,虚线表示该端点没调整前的位置。按上述方法将此端点左移Δx效果较好。
每个字根在字形数据区107中的结构至少包括图2所示的内容。图中字根线度区201存储本字根线度或占位数据,例如可存储字根X和Y两线度。字根字形压缩区202存储字根压缩数据。可选择多种已知的字形数据压缩法压缩字根数据,最好选择一种基于笔划用PostScript方法表示的高质量字形表示法。该表示法最好具有字体和笔划宽度改变增加存储量较少的特性。
非正规拼接非字根字形数据存储在另一单独区域中也行。
下面说明生成按上述方法压缩的字形数据的方法。选定基准字形分辨率(例如选256×256)和字体(例如选宋体)。选择采用嵌套字元引用方式。把所压缩字形集合中的每个汉字分为正规拼接字形或非正规拼接字形,确定每个正规拼接字形的结构并加以标识,并按规定顺序排列各字元;将所有非正规拼接字形进一步分为字根和非字根字形并标识,将非字根字形按常规字元拼形方法表示,将字根按一种已知的字形压缩方法压缩。给字根编号,并将字根压缩数据按与编号相同顺序排列,存入字根字形数据区107,并造字根数据索引表存入字根数据寻址区106,统计非字根字形中字元引用数,将引用数最多的一批字元(不多于S个)用一字节编号表示,按此造编号变换表并存入短码长字形编号变换区105,其余字元引用用两字节编号表示;对需微调的字形,调整字元或笔划达到满意,将调整数据用图19a或图19b所述结构压缩并加入字形数据中;将非字根字形压缩数据按字形编号顺序排列,存入非字根字形数据区103,并造索引表存入字形数据寻址区101;将正规拼接字形标识和字根标识分别存入正规拼接标志区102和字根标志区104。
将上述字形压缩数据存入一种存储介质,就得到了包含这些字形数据的存储产品。
下面对照图7,图8,图9a和图9b,图10,图11和图12说明图6所示的字形发生过程。在本过程的入口处,应有生成字形所需的入口参数,如要生成字形的编号、字号、横笔划宽度、竖笔划宽度等,供字形复原使用。图6包括汉字字形参数复原过程601,字形生成过程602和字形数据区603。字形数据区603至少包括图1所示的汉字字形信息。汉字字形参数复原过程601产生如图12所述的字形的各字根数据,供602步使用。字形生成过程602是与图1中107的字根字形压缩方法相匹配的一种已知的字形生成过程,它使用601步生成的具有图12结构的字根字形数据和图1中的106,107区,生成指定字号的汉字字形。在生成字根时,可以用图12中1207中的笔划定位点微调数据区中数据调整指定笔划的X或Y坐标。汉字字形参数复原过程如图7所示。
图7所示的汉字字形参数复原过程由图6的601处使用。在701处根据102区判断被复原字形是否是正规拼接字形。对正规拼接字形,执行702、703、704、705所示的诸步骤。对非正规拼接字形,先在710处判断其是否是字根。若不是字根,则执行706、707、708、709所示的诸步骤,若是字根,执行711和712所示的步骤。
对正规拼接字形,702步从字形数据寻址区101中得到字形数据首地址和该字形数据区长度。703步从103中得到如图3所示的正规拼接字形数据。704步使用105区完成不等长字形引用变换,将此字形中用不等长码压缩的各字元302变换为等长形式。705完成正规拼接字形数据变换,形成如图4所示的标准字元拼形表示形式。706步从101中得到字形数据首地址和该字形数据区长度。707步从103中得到如图4所示的非正规拼接字形数据,如果有笔划定位点微调数据,则保留该数据,供字形生成过程602用于调整笔划定位点。708步与704步相同。709步得到非正规拼接字形的总线度。711步从101中得到字根编号。712步以字根作为当前字形,得到其线度和字形数据。
与上述不等长编码方法例对应的不等长字形引用变换过程可以采用如下方法:若字元首字节小于S,则用首字节编号查短码长字形编号变换区105,得到字元编号;否则字元编号#AC*T/i@#a按下式计算:
Ci=256×(B1-S)+Cmin+B2
其中:
B1:字元第一字节;
B2:字元第二字节;
S,Cmin:同前。
图8所示的正规拼接字形变换过程由图7中705处使用。图中省略了5种组字结构的处理分支。801步从301处得到字形组成结构,并推算出字元数。8种结构及规定的字元顺序如图5所示。802步判断字形组成结构,对左右结构字形,执行803步和804步,对上下结构字形,执行805步和806步,对上左右结构字形,执行807、808、809、810诸步,等等。结合下面的处理分支说明,本领域普通技术人员很容易理解和实施上述三种结构之外各结构分支的处理流程。
下面对照图3和图5说明各字形结构分枝处理过程。下面所述字元序号均指图3中的字元排列顺序。803步设置第1字元为左字形,第2字元为右字形。804步执行左右结构字形变换过程。805步设置第1字元为上字形,第2字元为下字形。806步执行上下结构字形变换过程。807步设置第2字元为左字形,第3字元为右字形。808步执行左右结构字形变换过程。809步设置第1字元为上字形,字元2和字元3组成的子字形为下字形。810步执行上下结构字形变换过程。811步除本过程得到的其它数据外,特别要返回字形X、Y总线度。
图9a和图9b所示的两过程分别由图8中有关分支使用。两者除字元拼接方向以外处理流程相同。下面以图9a为例详细说明。本领域普通技术人员很容易据此理解并实施图9b所示的处理过程。
901步使左字形为当前处理字形。902步得到当前字形线度。903步使右字形为当前处理字形。904步得到当前字形线度。905步分别用两字元X、Y线度和横、竖笔划宽度求出两字元占位数据。906步用占位数据比例方法计算出两字元的X、Y比例尺和X、Y位移量。左字元横向比例尺可以用如下字形占位数据比例计算方法:
FX左字元=W左字元/(W左字元+W右字元)
其中:
FX左字元:左字元横向比例尺;
W左字元:左字元占位数据;
W右字元:右字元占位数据。
其余定位定比参数可以简单计算出来。907步中判断本字形是否有字元或笔划微调数据,如果有字元微调信息,则对每组字元微调数据用微调值1903调整1901所指定字元的1902选定的字元参数;若有笔划微调数据则将其保留,由字形生成过程602在生成字形时用于调整笔划定位点。908步用两字元X、Y比例尺和X、Y线度计算出字形X、Y总线度。909步也特别返回两字元组成字形的X、Y总线度。
图10所示的得到非正规拼接字形总线度过程由图7中709处使用。1001步将总线度置为零。1002处判断是否超过图4中字元T数据区408。如果已超过则转1006返回,特别返回字形X、Y总线度。如果没超过则依次执行1003、1004、1005诸步。1003步将当前处理字元作为当前字形,得到其线度。1004将上步返回的字元线度加入字形总线度。1005步转向下一被处理字元。
图11所示的得到当前字形线度过程由图7的709步、图9a和图9b的902、904、911、913步和图10的1003步使用。1101步判断字形是否是字根。如果不是字根,执行1104步(即图7所示的)汉字字形参数复原过程(递归调用,进一步得到下层字元的字形数据),否则得到该字根的X、Y线度。1105处返回,特别返回字形X、Y线度。
图12表示了图6中601步产生的字形字根参数数据结构。字根1的数据由1201、1202、1203、1204、1205和可选的1207各区组成,字根2到字根T的数据区1206与字根1有相同结构。1201区是字根1的编号,1202、1203、1204和1205区分别是该字根的X比例尺,Y比例尺,X位移和Y位移,1207是笔划定位点微调数据区,可以含有一组或多组如图19b结构的微调数据。
按上述字形复原方法可以设计出一种计算机字形复原程序,至少能由一种数据处理设备执行。将上述复原程序存入一种存储介质,就得到包含上述复原方法的数据存储产品。
图13说明简化字与繁体字的多种字体共用字形数据的方法。本例中以简化字作为基本字形,选择GB/T12345-90的编号作为字形编号。图13包含寻址区1301,非字根字形数据区1302,简化字短码长编号变换区1303,繁体字短码长编号变换区1304,繁体字例外字形区1305和多种字体的字根区1306。1301区与图1中的101,102和104区等价,1302区与图1中的103区等价,每个字根区1306相当于图1中的106和107区。1303区适用于简化字,1304区适用于繁体字,两区均与图1中的105区结构相同。1305中每个字形的信息包括该字形的编号及其在1302区的字形数据的地址。复原字形时,如果需要生成简化字,则按前述方法使用1301,1302,1303和一个字体的1306区复原字形。生成繁体字时,先检索1305区,若有此字形,则按其中地址得到字形数据,否则从1301中得到字形地址,对复原过程中遇到的字元引用短码,从1304中得到标准字元编号。得到字根编号后,按当前所需字体从对应的字根库1306中得到字根数据。本例中例外字形数据在非字根字形信息区1302中,在独立于1302区的存储区也是可以的。
下面说明图13所述简繁体多种字体共用字库的字形数据的制作方法。先按前述的方法制作简化形字库的字形数据,形成1301、1302、1303区,每种字体的字根数据放入各自的字根区1306,然后将简化字中没有的各字形用与简化字形相同的方法压缩并加入1302区,复制1303区作为1304区并将其中属于《汉字简化字总表》(文字改革出版社,1977年12月第三版)第二表(可作简化偏旁用的简化字和简化偏旁)的字形编号置为对应的繁体字或繁体偏旁的编号,例如将″讠″的编号置为″言″的编号。最后,将经上述处理后仍表示不正确的各繁体字形的编号及该字正确字形数据在1302区中的地址一起放入1305区。各种字体的字根数据可采用相同的一种已知的高精度字形表示方法。本领域普通技术人员很容易按上述方法的提示制作以繁体字形为基本字形的简繁体多字体共用的字库,或使繁体字例外字形数据与1302区独立,并实施其复原方法。
下面对照图16说明多种字形标准的多种字体共用字形数据的压缩方法。本例中选择全部四种字形标准(中国大陆、台湾、日本和韩国)作为压缩对象,选择中国大陆字形标准作为基准字形标准,选择ISO/IEC10646字形编码作字形编号,采用嵌套不等长字元引用方法。图16包括寻址区1601,非字根字形数据区1602,短码长字形编号变换区1603,例外字形区1604,字根数据区1605,例外字根数据区1606和字形存在标志区1607。1601和1602区分别与图13中的1301和1302区等价。1603区对每种字形标准有一短码长字形编号变换区,每个与105区结构相同。例外字形数据区1604中包含除中国大陆字形标准之外三种字形标准的例外字形数据区,每种字形标准一个,其中每个例外字形的结构可以如图17所示。从第2到第y个例外字形的数据结构(如1705,1709)与例外字形1区1701有相同结构。1701区包括字形码区1702,字形数据区长度1703和字形数据区1704。1702中存储例外字形码,1703中存储1704区的长度,1704中存储例外字形数据。例如,字形″与″在日本字形标准中写作″与″,与基准字形标准不同,其压缩例子如图中的1705区。字根字形区1605中包含n种字体的字根字形区,相当于图13中的n个1306区。每种非基准字形标准在例外字根字形区1606中有n个例外字根区,每种字体一个。每种字体的例外字根区与图17中所述结构类似。每种非基准字形标准的一种字体的一个字根与基准字形标准不同时,将其编号和字形数据存入该区。例如,字根″__″在日本和韩国字形标准中作″__″,在1606中的日本和韩国每种字体的例外字根数据区中增加该字根的编号及其字形数据。在例外字形数据区1604、例外字根区1606中包含索引表也是可以的。字形存在标志区1607表示每个字形编号在每种字形标准中是否存在,每个字形编号对每种字形标准用一位(bit)表示。例如,字形″宝″(ISO/IEC10646编码为5B9D)仅在韩国字形标准中没有,因此字形5B9D的四位中仅与韩国字形标准对应的标志位被置为″不存在″,与其它三种标准对应的三位均置为″存在″。
复原字形时,入口参数应有选定的字形标准、选定的字体、字号、横笔划宽度/竖笔划宽度和字形编号等。先按字形标准参数和字形编号查字形存在标志区1607,若该字形标准无指定编号的字形则返回字形不存在标志。对非基准字形标准,按选定的字形标准从1604区中选择对应的例外字形数据区,从1603区中选对应的短码长字形编号变换区,根据选定的字形标准和字体从1606区中选择本字形标准本字体的例外字根区,按选定的字体从1605区中选择本字体对应的字根数据区,用这些选定的数据区和通用区1601、1602复原字形:对例外字形从选定的例外字形数据区得到字形数据,否则按1601区从1602中得到字形数据;对短码长字元引用使用选定的短码长字形编号变换区作短码译码;对每个字根,检索选定的例外字根区,如果有此字根则按例外字根字形数据生成字根,否则按从1605区选出的本字体字根字形数据区生成字根。本领域普通技术人员根据本说明前面已有的提示能够制作多种字形标准共用字形数据字库的字形压缩数据并实施相应的复原方法。
下面结合图18说明本发明的一个具体装置。图12所示的硬件结构包括一个处理器1801,一个主存储器1802,一个控制磁盘输入输出的磁盘控制器1803,一个磁盘设备1804,一个显示设备1807,一个键盘1809,一个印字设备1811,一个用于存储送到显示设备的数据的显示存储器1806,一个用于控制显示器的显示控制器1805,一个控制向印字机输出的印字控制器1810和控制来自键盘的输入的键盘控制器1808。
磁盘设备存储如图1,图13或图16所示本专利所述的字形压缩数据和用相应的复原方法编制的字形复原程序。该装置工作时,通过磁盘控制器1803从磁盘设备1804将字形数据和复原程序装入主存储器1802,等待键盘1809的输入。通过键盘1809在键盘控制器1808控制下输入字形的有关数据,如字形的编号、选定的基准字形标准(或简化字/繁体字)、字号、字体、字形横笔划和竖笔划宽度等。复原字形时,复原程序通过处理器1801按输入的上述参数和主存储器1802中的字形信息生成字形,可以通过显示控制器1305或印字控制器1810分别在显示设备1807或印字设备1811上显示或印字。制作字形的字模时,字模制作程序通过处理器1801按输入的上述参数生成字模数据:对每一字形还从键盘1809等待输入该字形是否是正规拼接字形的数据,对正规拼接字形,还接收来自键盘1809的字形的组字结构和各组成字元数据(或还接收部分定位定比参数),对非正规拼接字形还得到来自键盘1809的各字元及其定位定比参数,可选择显示或印出该字形,得到确认后按本专利所述方法存入主存储器1802的非字根字形数据区或字根字形数据区,并更新相应的寻址表等,还通过磁盘控制器1803写入磁盘设备1804存储。
由于字形数据存储量小,因此可以将各字体各字形标准的全部字形数据装入主存储器,复原程序运行时不必为取得字形数据访问慢速的磁盘设备,因此可以提高字形复原速度。用本方法可以设计一种基于一台1、2MB甚至360KB的软磁盘设备的高质量字形生成系统,降低系统成本,扩展使用领域。
Claims (17)
1、一种字形数据压缩方法,其特征在于将字形分为正规拼接字形和非正规拼接字形,用正规字标志数据区分正规拼接字形和非正规拼接字形,将正规拼接字形数据压缩为字元引用数据、字形拼接数据和字元占位数据或字元的部分定位定比参数数据;字元引用数据是等长引用数据或不等长的字元代码,字形拼接数据是各字元的方位或字形组成结构编号加字元排列顺序,字元占位数据是字元的占位数据或线度,该占位数据或线度可以是在所表示字形各字元信息中,或来自所引用字元的字形数据,且至少在每个字根的字形信息中包含该字根的占位数据或线度;在同时压缩多种字体、多种字形标准或压缩简体和繁体字形数据时,可任选地将它们具有的多套非字根字的字形数据压缩为一套,由多种字体、多种字形标准或简体/繁体字共享。
2、一种按照权利要求1所述的字形数据压缩方法,其特征在于对组字较多的一批字元的引用数据压缩为较短的引用数据,并增加短码长字元编号变换表,该变换表用短码长字元编号寻址,表中包含标准长度字元引用数据,非短码字元也作相应变换。
3、一种按照权利要求1所述的字形数据压缩方法,其特征在于所述的字形拼接数据是字形组成结构编号和字元排列顺序,所述的正规拼接字形最大字元数限为3,且字形组成结构取左右结构,上下结构,左中右结构,上中下结构,上左右结构,左右下结构,左上下结构和上下右结构共8种。
4、一种按照权利要求1所述的字形数据压缩方法,其特征在于所述的字元的部分定位定比参数数据是正规拼接字形的T个字元共4T个定位定比参数中的N个,T-1≤N<4T,对组字结构相同的字形使用相同的部分定位定比参数。
5、一种按照权利要求1所述的字形数据压缩方法,其特征在于所述的将多字体的多套非字根字数据压缩为一套的方法是,保留一种字体的非字根字形数据,删除其它字体的非字根字形数据,每种字体保留独立的字根字形数据。
6、一种按照权利要求1所述的字形数据压缩方法,其特征在于所述的将简化字形和繁体字形的非字根字形数据压缩为一套的方法是,以简化字或繁体字的一种作为基本字形,保留所说基本字形的非字根字形数据,删除非基本字形的非字根字形数据,保留非基本字形的字根字形数据,对非基本字形增加例外字形寻址表,字形引用数据不等长时还保留简体和繁体字形的短码长字元编号变换表,采用简化与繁体字之间的等价字形有相同编号的字形编号。
7、一种按照权利要求1所述的字形数据压缩方法,其特征在于所说的将多标准字形的非字根字形数据压缩为一套的方法是,以一种标准作为基准字形标准,保留所说基准字形标准的非字根字形数据,删除非基准字形标准的非字根字形数据,保留非基准字形标准的字根字形数据和其短码长字形编号变换表,对非基准字形标准增加例外字形数据,所说的例外字形压缩方法与基本字形相同,采用不同标准之间的等价字形有相同编号的字形编号。
8、一种按照权利要求1所述的字形数据压缩方法,其特征在于字形数据中包含字元定位定比参数微调数据和笔划定位点微调数据。
9、一种按照权利要求1所述的字形数据压缩方法,其特征在于字形编号取ISO/IEC10646、中国大陆、台湾、日本或韩国等任何一种字形标准交换码。
10、一种字形数据复原方法,其特征在于对压缩为字元引用数据、字形拼接数据和字元占位数据的正规字形,按下述相应方法复原:
(1)用字元引用数据得到所引用字元的字形数据,若对多字体、多字形标准或简体和繁体压缩了非字根字形数据,则可用对应的短码变换表得到短码对应的标准字形码,再检索例外字形表,若被复原字在表中,从中得到字形数据,否则从共享的非字根数据表中得到字形数据,
(2)用字元拼接数据确定各字元相对位置和拼接关系,
(3)对二字元字形,用两字元占位数据按比例方法得到至少一个字元在两字元拼接方向上的比例尺和整个字形的占位数据,并进一步得到各字元的其余定位定比参数,
(4)对字元数超过2的字形,将其逐层分解为两部分组成的字形,对每一层次的两部分,采用(3)的方法,最终得到各字元的各定位定比参数。
11、一种字形数据复原方法,其特征在于对压缩为字元引用数据、字形拼接数据和N个部分字元参数数据的正规字形,按下述相应方法复原:
(1)用字元引用数据得到所引用字元的字形数据,若对多字体、多字形标准或简体和繁体压缩了非字根字形数据,则可用对应的短码变换表得到短码对应的标准字形码,再检索例外字形表,若被复原字在表中,从中得到字形数据,否则从共享的非字根数据表中得到字形数据,
(2)用字元拼接数据确定各字元相对位置和拼接关系,
(3)对每种字形拼接结构根据已知定位定比参数复原出每字元的全部定位定比参数。
12、一种按照权利要求10或11所述的字形数据复原方法,其特征在于对短码长字元引用数据从短码长字形编号变换表得到对应的标准字元引用数据,对非短码字元引用数据,用其压缩方法对应的复原方法得到其标准字元引用数据。
13、一种按照权利要求10或11所述的字形数据复原方法,其特征在于压缩了多字体非字根字形数据时,复原时对每种字体使用共用的正规字形数据和该字体特有的字根数据区复原字形。
14、一种按照权利要求10或11所述的字形数据复原方法,其特征在于压缩了简体和繁体非字根字形数据时,复原时对非基本字形的每一字形,检索对应的例外字形数据,对其中已有字形从中得到该字形的字形数据,对其中没有的字形检索对应的基本字形数据,得到字形数据。
15、一种按照权利要求10或11所述的字形数据复原方法,其特征在于压缩了多字形标准非字根字形数据时,复原时对各非基准字形标准的例外字形检索对应的例外字形数据并复原字形,对例外字根检索对应的例外字根数据并复原字根,对每种字形标准用对应的短码长字形数据作变换,对非基准标准的非例外字形和字根按基准标准复原方法复原字形数据。
16、一种按照权利要求10或11所述的字形数据复原方法,其特征在于用字形数据中的字元定位定比参数微调数据调整字元定位定比参数,用笔划定位点微调数据调整笔划定位点。
17、一种压缩和复原字形数据的产品,其特征在于该产品是用权利要求1和10或11所述的字形数据压缩和复原方法处理字形数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN93104688A CN1045227C (zh) | 1993-04-24 | 1993-04-24 | 字形数据的压缩复原方法和有关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN93104688A CN1045227C (zh) | 1993-04-24 | 1993-04-24 | 字形数据的压缩复原方法和有关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1076036A CN1076036A (zh) | 1993-09-08 |
CN1045227C true CN1045227C (zh) | 1999-09-22 |
Family
ID=4985287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93104688A Expired - Fee Related CN1045227C (zh) | 1993-04-24 | 1993-04-24 | 字形数据的压缩复原方法和有关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1045227C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080068383A1 (en) * | 2006-09-20 | 2008-03-20 | Adobe Systems Incorporated | Rendering and encoding glyphs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86102047A (zh) * | 1985-03-29 | 1986-10-22 | 娄水音 | 确定与构成字体的改进方法和设备 |
CN88102466A (zh) * | 1987-04-30 | 1988-11-16 | 株式会社日立制作所 | 产生字形的方法及其系统 |
-
1993
- 1993-04-24 CN CN93104688A patent/CN1045227C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86102047A (zh) * | 1985-03-29 | 1986-10-22 | 娄水音 | 确定与构成字体的改进方法和设备 |
CN88102466A (zh) * | 1987-04-30 | 1988-11-16 | 株式会社日立制作所 | 产生字形的方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1076036A (zh) | 1993-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1027472C (zh) | 文字生成方法及其装置 | |
CN1045835C (zh) | 产生字符的方法和装置 | |
CN1008021B (zh) | 图象数据处理方法及其系统 | |
CN101060629A (zh) | 图像压缩/解压方法及图像编/解码器和解码电路 | |
CN1181618C (zh) | 数据压缩/解压设备/方法 | |
CN1465035A (zh) | 信息处理装置 | |
CN101047733A (zh) | 短信处理方法以及装置 | |
CN1698093A (zh) | 根据代表对象的二维距离场确定一个象素成分的反锯齿强度的方法及装置 | |
CN1109294C (zh) | 位映像字符转换器 | |
CN1093953C (zh) | 字符图形发生装置 | |
CN1088319A (zh) | 产生字符的方法和装置 | |
CN1099096C (zh) | 字符发生装置 | |
CN1045227C (zh) | 字形数据的压缩复原方法和有关产品 | |
CN1107939C (zh) | 用于处理字符的方法和装置 | |
CN1271846C (zh) | 图像处理方法及图像处理装置 | |
CN1698071A (zh) | 在与二维对象的拐角相关联的单元内生成一个二维距离场的方法 | |
CN1698073A (zh) | 根据动画脚本将对象动态化为帧序列的方法 | |
CN101038664A (zh) | 图像处理设备和图像处理方法 | |
CN1146796C (zh) | 堆栈式寄存器堆及其控制方法 | |
CN1071976C (zh) | 字符生成方法及装置 | |
CN1976473A (zh) | 编码和解码坐标内插符的关键值数据的方法和装置 | |
CN1324060A (zh) | 图像编码/解码方法及其装置和记录节目的记录介质 | |
CN1185060A (zh) | 压缩电子墨迹的方法和装置 | |
CN1698065A (zh) | 将二维距离场转换到边界描述符集合的方法 | |
CN100343879C (zh) | 编码和解码坐标内插符的关键字值数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |