CN1052798C - 字形数据压缩方法和复原方法 - Google Patents
字形数据压缩方法和复原方法 Download PDFInfo
- Publication number
- CN1052798C CN1052798C CN95117458A CN95117458A CN1052798C CN 1052798 C CN1052798 C CN 1052798C CN 95117458 A CN95117458 A CN 95117458A CN 95117458 A CN95117458 A CN 95117458A CN 1052798 C CN1052798 C CN 1052798C
- Authority
- CN
- China
- Prior art keywords
- stroke
- font
- data
- width
- occupy
- 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
本发明属于信息处理技术领域,具体说是属于字形数据处理领域。
汉字字形数据的压缩和复原是本领域有待解决的重要课题。一种优秀的字形数据压缩方法和复原方法应该同时有复原精度高、综合压缩比高、复原速度高、字库设计简单等优点。现有技术不能同时满足这些要求。汉字字数多,字体丰富。例如,宋体字有书宋、报宋、标题宋、黑宋等多种,字形笔划间关系类似,只是笔划宽度、横竖笔划宽度比、笔锋形状等特征不同。这时称宋体为主字体,从主字体派生出的各种字体称为它的变体。用传统的方法,每种变体均是一套新字库;而且一套字库不能在太宽的范围内变倍,在复原小号字时会产生笔划粘连、笔划间距不均、粗细不一致或丢失笔锋等失真,在复原大号字时笔划显得单薄,笔锋形状也不够细腻,因此有时对同一字体的大、中、小号字分别配备字库。这都使字库容量成倍增加。有时使用暗示(Hint)数据避免小字失真,也使容量增加,设计复杂。在广告、出版等行业,字库字体越来越多,要求能处理3到6万的大字集。在这些需要多种字体、多种字号、超大字集和高精度字形的汉字数据处理场合,即使采用现有的压缩比较高的字形压缩方法,字库容量仍然巨大。提高精度也增加字库容量。因此要求字库既有高压缩比又有足够精度。应综合提高三种压缩比:单套字库压缩比;变体合并压缩比,即将多种笔划宽度和笔锋不同的变体设计成一套字库;变倍覆盖压缩比,在宽范围内变倍时保持足够精度。其中变体合并压缩比对总压缩比的贡献最大,更能成倍减少字库设计工作量。
现在通常用Bezier曲线表示曲线轮廓(见《(Postscript LanguageReference Manual》,Adobe系统有限公司,Addison-Wesley出版社出版,1990年第二版第393页)。这种方法的压缩比不够高,笔划不能变宽,为保证字形精度,还需增加暗示数据,字形设计复杂。中国专利CN1076036A①(1993.9.8公开)提出了一种目前对单套字库的正规拼接字形有最高压缩比的字形数据压缩和复原方法。按这种方法,提高少数字根的表示精度就能提高整套字库的精度,而字根可采用其它适用的方法压缩。这种方法需要一种笔划宽度可控的字形压缩方法和复原方法用于压缩字根,其变体合并和变倍覆盖压缩比取决于采用的字根压缩和复原方法。其缺点是用占位系数比例方法复原字形时,有的字字元之间结合偏紧或稍松,笔划宽度改变时尤甚。用字元微调方法会增加字形数据量。同时,由于字形中不同笔划骨架点位置互相关联,微调一笔划时还要调整其关联笔划,使微调数据量增加,设计难度也增加。
按中国专利CN88100794A②(1988.9.7公开)的方法,字形数据由四部分组成:1.笔划级别(种类)标识及骨架点的数量和坐标;2.笔划宽度;3.起止边缘角度;4.笔锋形状参数。复原时,从上述四种数据得到每个笔划的轮廓控制点,对每种笔划级别按预定的方法连接控制点,得到每个笔划的轮廓线。其优点是,笔划粗细、起止角度和笔锋可以分别控制,改变上述3,4类笔锋数据就能改变笔锋和角度,能以与字形变倍率不同的比率改变笔划宽度,能生成高精度字型。其缺点是,字库需逐字设计,一套字库不能生成多套笔划宽度和风格差别较大的字形,横竖笔划宽度比不能分别控制,也无法避免小字笔划粘连或不等距。特别是当笔划变宽时会产生失真,见图15。图15显示了一个经笔划简单变宽后的字形″旧″。图中的虚线1509是基准字形在基准笔划宽度下的边线。1503是字形框线,1507是上端笔划″横″的左骨架点,1508是″左竖″的上骨架点。1501和1504分别是变宽前的横、竖笔划宽度。可以看到笔划轮廓超出框线的部分1506,笔划衔接处产生空缺区1505,左侧″竖″的上下端与右侧的″日″的上下笔划外缘有一个宽度差1502。笔划简单变窄时会出现相反的情况。这些失真都是不允许的。中国专利CN88102466A③(1988.4.9公开)公开了一种笔划变宽方法,对笔划附加加粗方向角和骨架线两侧的加粗宽度,在复原时可在笔划骨架线两侧以不同宽度加宽,可以避免上述失真,但可能产生另一种失真,仍以图15为例,如果使左侧的″竖″不超出框线而使该笔划右侧加宽多于左侧,则可能造成它与右侧的″日″过于接近或粘连,而且字形设计变得复杂。现有技术不能解决上述问题。
中国专利CN1105762A④(1995.7.26公开)说明了将字分为字,字元,笔划三级结构的汉字字形压缩和复原方法。该方法的字结构级数据由各字体公用,每字形比专利①增加了位置和大小数据。每种主字体的各变体公用字元级结构信息,且各有一组笔划结构级数据。这种方法的压缩比较高,但由于每种变体的每种笔划形态有限(在实施例中一字体的笔划总共限255种),所以在描述高精度字形时会产生笔划压缩失真。与此类似,字元、子字形态数的有限也会产生压缩失真。由于同一字各种字体的字元的位置和大小相同,所以当笔划宽度改变时会使字元间距对细笔划字变宽,对粗笔划字过窄或粘连,不能实现笔划变宽。
采用现有技术,有的字库在字形数据中没有笔划宽度控制数据,不能保证在复原小字时产生的笔划等宽等距;有的字库在字形数据中包含笔划宽度控制数据,但增加了字库容量。对以字为表示单位的字形压缩方法,每种字体的每种变体均须逐字设计,造成字库设计工作量太大。另外,用户通常不能控制所生成字形的特征,也不能设计具有新特征的字形库。
现有技术不能解决上述问题。
本发明的目的就是设计一种压缩比高、复原失真小、字模制作工作量小、用户能简单控制/改变字形特征或设计具有新特征的字库、能与中国专利①配合使用并改进其缺点的字形数据压缩方法和相应的复原方法。使用本发明的笔锋控制和笔划变宽方法能大幅度提高变体合并和变倍复盖压缩比,可以将同一主字体的多套变体的字库合并成一套字库。
为了达到上述目的,把每个字形分解为笔划分别压缩,每个字形的字形数据包括该字形各笔划的笔划种类标识数据,笔划骨架点位置数据和笔划端点和转折点的笔锋类型数据;每种字体的基准字形数据包括各字形的上述字形数据和该字体的一组笔划形状控制数据,所说的笔划形状控制数据包括互相独立的横、竖笔划宽度和表示成横、竖笔划基准宽度或当前字高、字宽的对应关系的其它笔划形状控制数据。同一主字体的多种变体还可以共用上述的主字体基准字形数据;每种变体各包括一组上述的笔划形状控制数据。为使笔划变宽时避免失真,还在字形的笔划数据中附加笔划骨架点变宽类型数据。为减少笔划微调数据,还在字形的笔划数据中附加笔划骨架点随动数据,所说的随动数据包括随动类型、被随动笔划序号(可以是绝对序号或相对于当前笔划的相对序号)和被随动笔划中被随动骨架点的序号。为减少笔划冗余数据并避免小字时的笔划不等距、粘连等失真,还将多个互相关联或等距类的笔划作为一个复合笔划压缩。为了使笔划宽度变倍率不同于字型变倍率,还在字形数据中附加按字形变倍率检索的非线性笔划宽度变倍系数表。为实现按字形横、竖笔划疏密调整笔划宽度,还在字形数据中附加按字形占位数据检索的非线性笔划宽度变倍系数表,在每个字的字形数据中附加字形占位数据;所说的占位数据可以是字形线度或占位系数,可以是字形总占位系数/总线度或X,Y占位系数或X,Y线度;所说的按占位数据检索的非线性笔划宽度变倍系数表可以是按占位系数或线度检索的表,可以是按总占位数据检索的或分别按X,Y占位数据检索的表。作为一种替代方案,将字根按照上述方法压缩,正规拼接字形压缩为字元引用数据、字形拼接数据和字元占位数据,至少在每个字根的字形数据中包括字根的占位数据。为在拼形时根据两字元边缘的凹凸性和当前笔划宽度调整字元,至少还在字形数据中增加字形边缘凹凸性数据。
为了达到上述目的,字形复原过程包括用基准字形竖/横笔划宽度乘以当前字形横/纵向变倍率,得到当前横/竖笔划宽度的过程,按上述笔划形状控制数据中的对应关系确定每个笔划形状控制参数的过程,按骨架点和上述笔划参数确定笔划主体轮廓控制点和用笔锋类型和上述参数确定笔锋轮廓控制点的过程,和连接控制点,并将形成的封闭区间涂黑的过程。还可以附加按当前字体所属的主字体选择主字体字形数据,按所属变体选择对应笔划形状控制数据的过程。还可以附加按笔划数据中的骨架点变宽数据和笔划变宽宽度差对笔划骨架点作变宽调整的过程。还可以附加用笔划随动数据确定随动点位置的过程。对由其它笔划组成的复合笔划,还包括按照该复合笔划的骨架点坐标和笔锋类型数据得到其每个组成笔划的骨架点坐标和笔锋类型,并用得到的各组成笔划参数调用相应的笔划生成过程,生成每个笔划的过程;对等距类复合笔划,还增加调整笔划距离使之等距的步骤,和判断在当前笔划宽度下笔划是否粘连,如果粘连则调整当前复合笔划宽度避免粘连的步骤。还可以采用对正规拼接字形用其各字元的占位数据比例方法确定每个字元的大小和位置,最终得到每个字根的大小、位置、字形整体的占位数据和整体凹凸性,然后对每个字根用前述方法复原的方法;在字元拼接时附加按字元边缘凹凸性数据和当前笔划宽度调整字元大小和位置的过程。还附加按当前字形横/纵向变倍率、占位数据和非线性笔划宽度变倍数据确定当前笔划宽度变倍率和笔划宽度调整系数,并确定当前横、竖笔划宽度,再按照笔划形状控制数据中的对应关系确定当前各笔划形状控制参数的过程。可以采用对每种主字体各设一套笔划生成过程,对每种主字体的每一笔划种类各设一个独立的笔划生成过程,复原字形时按当前字体所属主字体和当前笔划种类标识选择对应的笔划生成过程的方法。
下面按照附图详细说明本发明的实施例。实施例中字体选宋体,基准字形分辨率选256×256,字型的左下角作为字型坐标系的原点。
图1是按本发明所述方法的字形复原过程流程图;图2是按本发明所述方法的字形数据结构例;图3是宋体复合笔划″日″的示意图;图4a,b,c,d,e是宋体笔划″竖″的形状控制数据和笔锋类型例;图5a,b,c分别是按字形变倍率、按字形线度和按字形占位系数的笔划变宽系数表;图6a,b,c说明字形周边的凹凸性;图7是记录对应关系的笔划形状控制数据例;图8是宋体笔划撇的形状控制数据和笔锋类型例;图9是宋体复合笔划″日″生成过程流程图;图10a和图10b分别是左右结构和上下结构字形凹凸调整过程流程图;图11是笔划形状控制数据确定过程流程图;图12是宋体笔划″撇″生成过程流程图;图13是字型变倍和笔划变宽调整过程流程图;图14是随动点坐标定位过程流程图;图15说明现有笔划变宽方法造成的失真;图16是笔划随动特性示意图;图17a,b说明笔划变宽方法。
图2和图7分别表示了按本发明的方法压缩的一个字形的数据结构和一种字体的笔划形状控制数据结构。用图2所示结构压缩一种字体的每个字形的数据,并用现有技术组织起来,加上一个该字体如图7那样的笔划形状控制数据,就组成了这种字体按本发明方法压缩的字形数据库。进一步可以对一种主字体的每种变体增加一个图7所示的结构,就形成了共用主字体字形数据的多种变体的字形数据库。图2所示的结构由字形码区201,字形数据长度区202,占位数据区203,凹凸性数据区204,笔划数区205,和m个笔划的笔划数据区206,207,...,到208组成。每个笔划的数据区结构与笔划1数据区206相同。笔划1数据区206包括笔划种类标识区209,笔锋类型标识区210(由该笔划笔锋1到f1的笔锋类型组成),骨架点变宽类型区211(由骨架点1到点g1的变宽类型组成),骨架点随动标识区212(由该笔划骨架点1到点g1的随动标识组成),和n1个数据区213,214,...,到215。占位数据区203,可以是单一的总占位系数或总线度,也可以是字形的X和Y占位系数或线度。本实施例取X和Y线度1x和1y。骨架点变宽类型区211对每个笔锋记录变宽类型。当骨架点的Y坐标要随字形横笔划宽度变化纵向调整时,称为Y浮动;当X坐标要随竖笔划宽度变化横向调整时,称为X浮动。骨架点的变宽类型共有四种:独立(如图16的1601上端);X浮动(如图15的1508);Y浮动(如图16的1603左端)和XY浮动(如图15的点1507)。变宽方法见图17的说明。随动标识区212对每个骨架点标识其随动类型。随动是指一笔划的某骨架点与另一笔划的一骨架点联动。在图16中,笔划1601的上端点不随其它笔划而动,笔划1602的左端X坐标与1601上端点的X坐标一致,笔划1603的Y坐标与1601下端的Y坐标一致,笔划1605的X、Y坐标与1604左端的X、Y坐标对应一致。随动类型可以是不随动,X随动,Y随动和X,Y均随动四种,对应图16的上述四种情况。当一骨架点在212区中对应的随动类型为″X随动″或″XY随动″时,它在数据区213到215中对应的X坐标位置实际记录的是X随动数据,当对应的随动类型为″Y随动″或″XY随动″时,Y坐标位置实际记录Y随动数据,其它情况记录骨架点坐标。随动数据包括笔划编号和骨架点编号,说明该坐标与哪个笔划的哪个骨架点坐标值一致。例如,对图16的字形″上″的笔划1602,在图2的骨架点随动数据区212的点1随动标识区中记录″X随动″,在数据1区213中,不再记录X坐标值,而记录随动数据,其中笔划编号为绝对号1或相对号-1,骨架点编号为1,表示该X坐标与该字型第一笔划的第一骨架点的X坐标相同。凹凸性数据区204记录字形周边凹凸性,用图6说明。图6a中的N0到N7定义了一字形周边以左上角为起点的8个凹凸方向。采用上、下、左、右四个方向上的凹凸性也可以。如果一字形在某一方向的边缘没有阻档笔划,则称此字在该方向上是凹的,与其它字形拼接时,允许另一字形的笔划嵌入。如果用1标识凹,用0标识凸,则字形″上″的周边凹凸性可以表示为″10100001″,如图6b所示。如果左字形的凹凸性为N0L到N7L,右字形的凹凸性为N0R到N7R,则该两字形左右拼接形成的字形的凹凸性如图6c所示。其中上部凹凸性是左字形右上凹凸性N2L和右字形左上凹凸性N0R的逻辑或;下部凹凸性是左字形右下凹凸性N4L和右字形左下凹凸性N6R的逻辑或。上下结构字形的整体凹凸性可以用类似方法从上字形和下字形的凹凸性数据得到。
207区是表示字形″亘″中的复合笔划″日″的例子,包括笔划标识区216,笔锋标识区217,骨架点变宽类型区218,随动标识区219,各骨架点数据区220,221,222和223(分别相当于图3中″日″的左上角骨架点坐标X1和Y1,右下角骨架点坐标X2和Y2)。其中的笔锋标识区217记录该复合笔划左下和右下笔锋标识分别为II型和II型;笔锋变宽类型区218和随动标识区219分别记录左上和右下骨架点变宽类型均为″XY浮动″和随动类型均为″不随动″。
笔锋类型标识区210和图7的笔划形状控制数据以图4为例说明。图4a,b,c分别是宋体笔划竖的三种上笔锋类型,顺序标识为I,II和III型;图4d,e分别是两种下笔锋类型,顺序标识为I和II型。对每种笔划,有几个骨架点有笔锋是确定的。例如对每个″竖″,在如210区中有两个笔锋标识,三种上锋和两种下锋共能组合成6种笔锋各异的宋体笔划″竖″。对字形″上″的第一笔″竖″,其上锋为III型,下锋类型为I型。图4a到e有下列笔划形状控制参数:Wh:竖笔划宽度;W1:竖上锋左斜宽;Hl:竖上锋左斜高;Wr:竖上锋右尖锋外距;Hu:竖上锋右上斜距;Hr:竖上锋右尖锋下斜高;Hd:竖下锋右斜高。可以看出,改变这些控制参数或增加其它参数,笔划的风格也有所变化,就形成了一种新的变体。用户可以通过增加一套参数设计一种新变体。如果在字形复原开始前用参数设置指令改变一些参数及相关的其他参数,就能达到在不改变字形数据的情况下动态改变字形的目的。这些参数可以在图7所示结构中得到(图7中的其余参数在下面说明)。图7的第二栏表示各参数与横、竖笔划宽度Wk和Wh的对应关系,各参数可以按给定对应关系从Wk和Wh得到。在图4a,c,d,e中,点401和402是笔划竖的上、下骨架点,点403到412是外形特征点。其中点403,404,405和406是笔划主体轮廓点,分别从骨架点401或402向左、右平移Wh/2,点407从点403向左平移W1,点408从点404向下垂直移动Hu,点409处在点407和408连线的延长线上,距点404的水平距离为Wr,点410位于点408的正下方,距点409的垂直距离为Hr,点411在点403正下方,距离为Hl,点412在点406的正上方,距离为Hd。点408到410的曲线是以点408,409和410为特征点的二次Bezier曲线,点405到412的曲线是以点405,406和412为特征点的二次Bezier曲线。图4b中的点401′是从点401向上平移Hu+Wk/2得到,其它参数与图4c相同,但参照401的点变为参照点401′。这种笔锋用于与″横″左端重合的″竖″上端,保证″横″变宽时不产生如图15中1505那样的失真。还可以将图7中的一些参数设计成当前字高和字宽的对应关系(对不希望随笔划宽度变化的参数)。由于将笔划宽度数据和笔锋形状数据从字形数据中独立出来,所以减少了字形数据量,使字形设计更容易,也使一种主字体的变体共用同一组字形数据成为可能;又由于横、竖笔划宽度互相独立,所以横、竖笔划宽度比不同的变体可以共用同一主字体的字形数据,达到了既保持精度又大幅度提高变体合并压缩比的目的。
图3是复合笔划″日″的例子。复合笔划就是两个或多个其它笔划组成的,笔划间有某种相关性的笔划组。如这个具体的″日″由笔划左竖、横折竖、中横、下横组成,而横折竖又由横和竖组成,中间的横与上下的横之间等距。笔划形状控制参数有对应″日″的II型笔锋向下延伸的长度Hh和当前横、竖笔划宽度Wk和Wh(在图7中给出)。左下和右下的虚线分别是II型左下笔锋和II型右下笔锋外形,而虚线上面的实线是相应的左下和右下I形笔锋外形,右上角的虚线是笔划横折竖右上笔锋为I型时的外形,实线是其II型笔锋的外形,P1和P2是″日″的左上和右下角骨架点,P3和P4或P′4(分别对应左下笔锋为I型和II型的情况)分别是笔划左竖上、下骨架点,P1和P5或P′5(分别对应右下笔锋为I型和II型的情况)分别是笔划横折竖的左上和右下骨架点,P6、P7和P8、P2分别是笔划中横和下横的左、右骨架点。在图2和图7中,复合笔划″日″的笔锋数为2,骨架点数也是2。这个″日″的各子笔划骨架点的坐标值可以按下式计算:
Y6=Y7=Y2+(Y1-Y2+1)/2
Y2=Y8=2Y6-Y1(由三笔″横″等距条件Y6-Y8=Y1-Y6得到)
X3=X′4=X4=X6=X8=X1
Y3=Y1+Wh/2+Hu
Y4=Y5=Y2-Wh/2-Hd
Y′4=Y′5=Y4-Hh
X5=X′5=X7=X2。
使用复合笔划可以减少笔划冗余数据,对这个复合笔划,也可以消除如图15中1505那样的失真,还可以保证等距类复合笔划的等距性。
下面说明形成由多个图2所示的结构组成的字形数据表的过程。首先对给定字体确定基本笔划种类,再确定由其它笔划组成的复合笔划,并依次编号,作为笔划标识。通常把出现较多、坐标重复数据较多或等距类的笔划组合确定为复合笔划。每种笔划有相同的骨架点数和笔锋数。对每种笔划的有不同形状的每个端点和转折点确定笔锋类型,并分别编号,作为笔锋标识。然后按字形码顺序依次处理每个字形。对每个字形,将其字形码、凹凸性数据和笔划数放入201,204和205区。对该字形的第一个笔划,将其笔划编号、各笔锋编号、各骨架点变宽类型、随动标识数据依次放入209,210,211,212各区,按随动标识将坐标数据或随动数据依次放入213,214,...,到215各区。对以下的各笔划仿照笔划1处理。最后,计算该字形的X和Y线度及该字形的数据区长度,分别放入203和202区。将每个字形的字形数据顺序连接,就形成了本发明的字形数据表。
下面结合图9,图11,图12,图13和图14说明图1所示的字形生成过程流程图。该过程的入口参数包括字形码,字体标识和X,Y变倍率Kx,Ky。在图1中,101步按字形码从字形数据表中得到字形起始位置。102步执行如图11所示的笔划形状控制数据确定过程。103步执行如图13所示的字形变倍和笔划变宽调整过程。104步执行如图14的随动点坐标定位过程。105步得到当前字形笔划数m,并置当前笔划号s为1。106步按当前字体所属的主字体从107,108,...等之中选择对应的一个执行。107步按当前笔划种类标识从109,110,及以下各宋笔划生成过程中选择一个执行。109步执行如图12所示的宋体笔划″撇″生成过程,110步执行如图9所示的宋体复合笔划″日″生成过程,等等。108步按当前笔划种类标识从111,112,及以下各黑体笔划生成过程中选择一个执行。111和112步分别是黑体笔划″撇″和复合笔划″日″生成过程,等等。113步将当前笔划号s加1。114步判断是否s>m。如果条件不成立,则执行106步,否则本过程结束。
图11所示的笔划形状控制数据确定过程由图1的102步使用。1100步按当前字体选择所属主字体的字形数据作为当前字形数据,选择所属变体的笔划形状控制数据作为当前控制数据。1101步用当前X,Y变倍率Kx,Ky分别检索图5a的表,得到当前变倍率下的竖、横笔划宽度变倍率KWh和KWk。1102步计算KWk*Wk和KWh*Wh,得到当前变倍率下的基准横、竖笔划宽度Wk1和Wh1。1103步从图2的203处得到当前字形线度1x和1y,分别乘以Wk和Wh,得到字形X和Y占位系数WX和WY,并分别用WX和WY检索图5c所示表的左、右半部,得到横、竖笔划宽度调整系数CX和CY。1104步计算CX*Wk1和CY*Wh1,分别得到当前字形的实际横、竖笔划宽度W′k和W′h。1105步用Wk和W′h和图7记录的对应关系计算其它参数,形成如图2结构的当前字形的形状控制参数结构供图1的103到114各步复原当前字形使用,然后返回。作为一种替代方案,在1103步还可以直接用1x和1y分别检索图5b所示表的左、右半部,得到CX和CY。另外一种方案是1102到1104步使用下述方法:用1x和1y分别检索图5b所示表的左、右半部,从第3、6列得到经过调整的基准横、竖笔划宽度,再分别乘以KWh和KWk,同样可以得到W′k和W′h。1104和1105步保证笔划宽度和各参数值≥1,不用暗示数据也不会丢失笔锋。以字形″丨″(区位码为5613,1x=0,1y=225)为例说明本过程。设当前字体为宋体,Kx=Ky=0.5。在1101步,用0.5检索图5a,得到KWh=KWk=0.5*0.8=0.4。1102步得到Wk1=7*0.4≈3,Wh1=13*0.4≈5。1103步直接用1x和1y检索图5b,得到CX=1.3,CY=1.15。1104步得到W′k=3*1.3≈4;W′h=5*1.15≈6。1105步用W′k=4和W′h=6计算出当前字形各笔划形状控制参数。达到的效果是,1.笔划变窄比例小于字形缩小比例(当字形放大时相反);2.对竖或横笔划少的字使竖宽Wh或横宽Wk增大(对横竖划多的字相反),同时其它笔划形状控制参数也得到相应调整。因此每个笔划中虽然没有宽度数据,确能保证字形笔划宽度恰当。在图5a,b,c中增加行数可使控制更细。对每种主字体,还可以设置独立的一套如图5a,b,c的表。
现在结合图17说明笔划端点变宽调整方法。在图17中,1701是基准字形边框线,1702是当横竖笔划宽度均比基准字形增加时由1701缩小得到,1703是当横竖笔划宽度均比基准字形减少时由1701放大得到。也可以是横划加宽竖划变窄或相反。1704和1705是基准字形中心线。1706和1707分别是1702和1703经平移得到。Zh和Zw分别是基准字形的高和宽。ΔWk=W′k-Wk和ΔWh=W′h-Wh分别是变宽后的横竖笔划宽度W′k、W′h与变宽前宽度之差。设X′i和Y′i分别为Xi和Yi作变宽调整后的新坐标,变宽方法如下式:
X′i=Xi*nx+ΔWh/2 (公式1)
Y′i=Xi*ny+ΔWk/2 (公式2)
其中:ΔWh,ΔWk;Zw和Zh:如前所述;nx=1-ΔWh/Zw;ny=1-ΔWk/Zh。
公式1和公式2分别用于图13中的1307和1311步。公式1的意义是:当字形中的竖笔划变宽时,是以其骨架点为中心向左右两侧各加宽半个竖笔划宽度增量ΔWh/2,使位于字形边缘的竖笔划可能超出框线,如图15中的1506。因此,应将左、右边缘的″竖″的骨架点X坐标向字形中心线1705移动ΔWh/2。为保持笔划间距均匀,越靠近中心线的X坐标移动距离应越小。在公式1中,实际上是用将字形横向缩小ΔWh,再平移ΔWh/2的方法达到上述效果(只变换图2中骨架点变宽类型标识区211标识为X或XY方向须变宽的点的X坐标)。竖笔划变窄时情况刚好相反。公式2对笔划的纵向变宽调整方法与此类似。这种方法达到的效果是,当字形在相同边框线内改变笔划宽度时,不会产生类似1505那样的失真,同时保持了字形结构匀称,克服了中国专利③的缺点。同时,由于在变宽类型标识区211中将图15中左侧的″竖″的骨架点Y坐标标识为″独立″而保持不变,而右侧″日″的上端已向下调整,所以可以避免如图15的1502那样的失真。图13的字形变倍和笔划变宽调整过程由图1的103步使用。1301步得到笔划数m,并置当前笔划号s为1。1302步从笔划形状控制数据中得到当前笔划骨架点数ts,置当前骨架点号v为1。1303从图2的211和212处分别得到当前笔划当前骨架点的变宽类型和随动标识。1304步判断当前点X坐标是否随动。若随动,则执行1308步,否则执行1305步。1305步将当前X坐标按当前字形X变倍率Kx变倍。1306步判断当前点X坐标是否独立。如果独立则跳过1307步。1307步将当前点X坐标按公式1作变宽调整。1308步判断当前点Y坐标是否随动。若随动则执行1312步,否则执行1309步。1309步将当前Y坐标按当前字形Y变倍率Ky变倍。1310步判断当前点Y坐标是否独立。如果独立则跳过1311步。1311步将当前点Y坐标按公式2作变宽调整。1312步将当前骨架点号v加1。1313步判断是否v>ts。如果条件不成立,则执行1303及以下步,否则执行1314步。1314步将当前笔划号s加1。1315步判断是否s>m。如果条件不成立,则再执行1302及以下步,否则本过程结束并返回。
图14所示的随动点坐标定位过程由图1的104处使用。1401和1402步分别与图13的1301和1302相同。1403步得到当前点的X,Y坐标值。1404步判断当前点的X坐标是否随动。如果不随动,则跳过1405步(此时1403步得到的X坐标值实际是随动数据)。1405步从该点的X随动数据中得到被随动笔划序号和被随动点序号,得到该点X坐标值,并赋给当前点的X坐标位置。1406步判断当前点的Y坐标是否随动。如果不随动,则跳过1407步。1407步从在1403步得到的Y随动数据中得到被随动笔划序号和被随动点序号,得到该点Y坐标值,并赋给当前点的Y坐标位置。1408步判断是否v≥ts。如果条件成立,则执行1410步,否则执行1409步后转1403步继续。1409步将当前骨架点号v加1。1410步判断是否s≥m。如果条件成立,则本过程返回,否则执行1411步后转1402步继续。1411步将当前笔划号s加1。利用随动数据可减少笔划微调数据。例如,如果在″卡″字中需将图16的1601左移,应同步将1602左移,需要两组笔划微调数据。用本发明的方法使1602左端的X与1601上端的X随动,则只需一组微调数据,克服了专利①的缺点。
图12的宋体笔划″撇″生成过程由图1的109步使用,生成的笔划如图8所示。该过程的入口参数包括笔锋类型标识、骨架点坐标和当前字形笔划形状控制数据。图8所示的″撇″有三个骨架点801,802和803,上端有I,II,III三种笔锋类型。点805,806,807,808,809,810和803是该笔划的主体形状控制点。因此用图2的210区压缩″撇″时,笔锋标识数f1为1,骨架点数g1为3。″撇″的形状控制参数有上端宽度Wx,中点宽度Wz,下尖锋半径WR,右上峰外点距Wt和右上峰高Wy,它们连同笔锋标识数和骨架点数都在如图7所示的笔划形状控制数据中给出。过骨架点801,802,803的骨架线是过这三点的二次Bezier曲线。点805和806在过点801的骨架线的法线上,距点801的距离均是Wx/2。点807和808在过点802的骨架线的法线上,距点802的距离均是Wz/2。点804在骨架线上,距点803的距离是WR。点809和810在过点804的骨架线的法线上,距点804的距离均是WR。过点805,807,809的左轮廓线和过点806,808,810的右轮廓线分别是过上述两组点的二次Bezier曲线,过点810,803和809的曲线是过这三点的半圆弧。点811在过点805和806的直线的延长线上,距点806的距离为W#-[t]。点812在右轮廓线上,距点806的距离为Wy。点813到814的水平直线过点801,分别在该直线与左、右轮廓线的交点上。在图12中,1201步确定过骨架点801,802和803的骨架线。1202步先确定点804,再确定主体控制点805到810。1203步分别确定过点805,807,809和点806,808,810的曲线。在1201和1203步,设所求Bezier曲线在中点处的参量t=0.5,得到参数方程的系数。如果采用(或专设一个)三次Bezier曲线的笔划″撇″,可取中间两点的参量t为1/3和2/3。1204步按图8的说明计算其它笔划形状控制点。1205步按上笔峰类型选择,对I、II和III型笔锋分别执行1206、1207和1208步。1206、1207和1208步分别形成三种笔锋的″撇″的轮廓曲线。1209步是一个已知的涂黑过程,将上步形成的封闭轮廓线内部的区间涂黑,然后返回。
图9的宋体笔划″日″生成过程由图1的110步使用,其入口参数与笔划″撇″类似。901步按图3的说明计算各点的坐标。902步判断是否X2-X1<2(左、右竖笔划在竖宽为1时是否粘连)。若条件不成立,则跳过903步。903步置X2为X1+2。904步判断是否Y1-Y2<4(三个横笔划在横宽为1时是否粘连)。若条件不成立,则跳过905步。905步置Y2为Y1-4。906步判断三个横笔划是否粘连,即判断是否Y1-Y2<2*Wk+2。如果不粘连,则跳过907步。907步置当前复合笔划″日″横宽度W′k为(Y1-Y2-2)/2。908步判断左、右竖之间是否粘连,即判断是否X2-X1<Wh+1。如果不是,则跳过909步。909步置当前复合笔划″日″竖宽度W′h为X2-X1-1。907和909步还按图7重新计算各形状控制参数,形成当前笔划的笔划形状控制参数。910步置上笔锋类型为II型,下笔锋类型为II型。911步判断″日″的左下笔锋类型,对I型锋执行912步,对II型锋执行913步。912或913步分别用上下骨架点P1、P4或P1、P′4和910步设置的笔锋类型执行笔划″竖″生成过程。914步置笔划横折竖的左、右上和下笔锋类型分别为I型、II型和II型。(在图9中,假定笔划横的矩形左、右锋均为I型,笔划横折竖的左锋类型同横左锋,下锋类型同竖下锋。)915步判断″日″的右下锋类型,对I型或II型笔锋分别执行916和917步。916步或917步分别用横折竖的左上和右下骨架点P1和P5或P1和P′5和915步设置的笔锋执行笔划横折竖生成过程。918和919步分别置中横和下横的左、右笔锋均为I型,并用左右骨架点P6、P7或P8、P2和设置的笔锋执行笔划横生成过程。最后本过程返回。在912,913,916,917,918和919各步,使用当前笔划的笔划形状控制参数执行各组成笔划生成过程。如果在单线时笔划粘连且不允许增加″日″的高度,容易实现将″日″的中横变形为一斜点,形成″口″。这里利用复合笔划也可消除如图15中1505所示的失真。另外,对等距类复合笔划还能避免小字时的笔划不等距或粘连。
下面说明对一种具体字体得到图7所示的笔划形状控制数据的方法和构造该字体各笔划生成过程的方法。对选定的被压缩字形的每种笔划,选择它在字形中的一种典型形态,确定其骨架点和笔划主体控制点,确定从骨架点得到各主体控制点需要的形状控制参数和它们与横竖笔划宽度的关系,再确定各端点、转折点的各种笔锋的控制点,确定从骨架点或主体控制点得到各笔锋需要的形状控制参数和它们与横、竖笔划宽度的关系,确定其可能有笔锋的端点和转折点数和骨架点数。将这些笔划形状控制参数及关系按图7所的示方式组织起来,就构成了该字体的笔划形状控制数据表。不同字体的笔划形状控制数据数量可以不同。对每种基本笔划,其生成过程按下述方法确定:入口参数包括该笔划各骨架点位置和各端点、转折点笔锋类型,首先是确定骨架点和笔划主体控制点的步骤和确定笔划主体轮廓线的步骤,下面顺序是对每个端点和转折点的确定步骤(包含按该笔锋类型选择对应处理步骤的步骤和每种笔锋类型各控制点的确定步骤)。然后是按照各笔锋类型联结对应笔锋控制点或笔划主体控制点的步骤,最后是执行一个涂黑过程的步骤和返回的步骤。对各复合笔划,入口参数与基本笔划相同,其生成过程为:首先计算各骨架点的坐标,然后按骨架点和笔锋确定其各组成笔划的骨架点和笔锋,最后以各组成笔划的骨架点和笔锋数据作为参数,调用各组成笔划生成过程。对等距类复合笔划,还增加等距调整和为避免粘连的笔划宽度调整的步骤。根据上述说明和图8、图4的说明,仿照图12的宋体笔划″撇″生成过程的例,本领域普通技术人员容易实现图4的宋体笔划″竖″生成过程,进一步能确定各种字体各种变体的各笔划的形状控制数据并能实现它们的生成过程。
按上述笔划复原方法,每个笔划的形状由其专用的复原过程按形状控制数据控制。不同主字体的复原过程不同,同一主字体的不同变体形状控制数据不同。这种设计把对笔划形状的复杂控制转移到专用的笔划复原过程中,使字形数据得到简化,达到了设计容易、控制灵活的效果,通过改变骨架点位置,笔锋标识和相关控制数据,就可以用该笔划的一个生成过程生成多种形态的这种笔划。同时,当复原大字时,可以用笔划复原过程精确控制笔锋形状,达到光滑联接,但笔划数据量不需增加。这就达到了不增加基准字形分辨率而在大字复原时保持笔锋质量的效果。复原小字时,不需按示数据也能避免丢失笔锋等失真。本发明能大幅度提高变体合并和变倍覆盖压缩比。
下面结合图10a,b说明字根压缩和复原采用本专利的方法,其它字形采用中国专利CN1076036A(以下称″该专利″)所述方法的实施方案。以该专利图1和以下的相关压缩方法及图6和以下的相关复原方法为例。该专利所述的字根字形数据区107的每个字根采用本发明图2所示的结构。对共用正规字形数据的多种字体,每种主字体的多种变体共用一个采用本发明方法的字根区,每种变体有一个单独的笔划形状控制数据区。该专利所述的字形生成过程602用本发明图1的字形生成过程代替。该专利图9a所述的左右结构字形变换过程907步(参数微调)之前增加本发明图10a所示的左右结构字形凹凸调整过程。该专利图9b所述的上下结构字形变换过程916步(参数微调)之前增加本发明图10b所示的左右结构字形凹凸调整过程。在该专利图11的1002步,还得到字根的凹凸性。在该专利图7到图11的各图结束处,除返回总线度外还返回当前字形凹凸性。在该专利的图9a和图9b的902,904步和911,913步(得到当前字形线度)已经从图11的1105步(返回字形线度和凹凸性)得到了两个子字形的凹凸性,供下面使用。
在本发明的图10a中,1001步分别得到左、右字形凹凸数据,1002步判断是否可对向嵌入。如果不可嵌入,执行1003步,如果可嵌入,执行1005步。1003步判断左右对向是否有一方向可嵌入。如果是,则转到1006步,否则执行1004步。1004步将两子字形缩小一定比例,右字形右移。1005步将两子字形放大一定比例,右字形左移,使两字形对向嵌入。1006步按竖笔划宽度差调整左右字形。1007步按图6的方法得到整体凹凸性。1008步返回整体凹凸性。1004和1006步分别在左右子字形之间多留了宽度为ΔWh和ΔWh/2的间隙。令ΔWh为0就是不考虑笔划变宽影响的左右字形凹凸调整过程。这时,1006步可省略。本领域普通技术人员容易根据上面的提示,实施如图10b所示的上下结构字形凹凸性调整过程。这种方法能按当前笔划宽度和字元边缘凹凸性调整字元大小和位置,可以减少字元微调数据,也改进了专利①在正规字形拼接时的缺点。
用本发明所述的字形数据压缩方法形成的字形数据可以被存入一个数据存储装置中,形成使用本发明压缩方法的产品;所述的复原方法可以用一个数据处理程序实现,该程序也能被存入一种数据存储装置,并能在某种数据处理装置上运行,形成包含发明方法的产品。在同一种产品上同时使用本发明的字形数据压缩方法和复原方法也是可以的。所说的数据处理装置通常具有数据存储、处理、输入、输出等功能,例如一台计算机。
本发明可以独立使用,也可以与前述专利①结合使用。可以用于汉字库,也可用于西文字库;还可以用作设计字库的辅助工具。与专利①结合使用时能充分发挥专利①压缩比高、正规字形数据高度独立和正规拼接字形设计工作量小等优点和本专利字形压缩精度高、变体合并压缩比高、笔划可大幅度变宽和变倍复盖压缩比高等优点,是本专利最佳实施方案之一。由于所有正规拼接字形共用一套字形数据,对基准字形精度为256×256含6万字的大字集,一套主字体(包扩其多种变体)总存储量约300KB,每增加一种主字体(及其多种变体)约增加150KB,10套主字体(可包含多达50到100套变体,即通常所说的50到100套字库)的总容量不超过2000KB,相当通常一套同精度2万字的字库容量,其总压缩比大大超过任何一种现有技术,同时保持相当高的复原精度。由于正规字形超过6万字的90%,所以字库设计工作量也很小。采用传统技术,一般是把4套常用字库各约1500字(共约6000字,占约1000KB容量)调入内存常驻,达到95%的内存访问击中率,当用到其余字形时,临时从硬盘调入。以每次硬盘平均等待时间5ms计,每复原100字平均等待总计约50ms。如改变字体,时间还会大大增加。所以,这种技术的复原速度相当依赖于硬盘性能,而硬盘平均等待速度提高很慢。由于本实施例的变体合并压缩比高,因此可以用等量内存同时把传统概念的数十套字库同时调入内存,复原字形时不必访问硬磁盘,有利于充分利用CPU的速度,而CPU的性能价格比提高很快。因此用本发明复原字形还能达到不慢于现有技术的效果。
Claims (17)
1.一种字形数据压缩方法,把字形分解为笔划分别压缩,其特征在于每个字的字形数据中包含该字形各笔划的种类标识数据、骨架线定位点数据和端点转折点笔锋类型数据,每种字体的字形数据包括该字体的一组笔划形状控制数据和每个字形的上述字形数据,笔划形状控制数据包括互相独立的横、竖笔划主体宽度和表示成横、竖笔划宽度和/或当前字高和字宽的对应关系的其它笔划形状控制数据。
2.一种按照权利要求1所述的字形数据压缩方法,其特征在于同一主字体的各变体共用主字体的字形数据,并且每种变体各设一套笔划形状控制数据。
3.一种按照权利要求1所述的字形数据压缩方法,其特征在于每个笔划的笔划数据中包括骨架点的变宽类型数据,笔划形状控制数据中还包括每种笔划的骨架点数。
4.一种按照权利要求1所述的字形数据压缩方法,其特征在于笔划数据包含笔划端点随动数据,所说的随动数据包含随动类型标识、被随动笔划的序号和被随动点序号,笔划形状控制数据中还包括每种笔划的骨架点数。
5.一种按照权利要求1所述的字形数据压缩方法,其特征在于将多个笔划的组合当做一个复合笔划压缩,将等距类笔划组当作复合笔划压缩。
6.一种按照权利要求1所述的字形数据压缩方法,其特征在于将正规拼接字形用字元引用数据、字形拼接数据和字元占位数据压缩,至少在每个字根的字形数据中包含其占位数据和字形边缘凹凸性数据,占位数据可以是占位系数或线度。
7.一种按照权利要求1所述的字形数据压缩方法,其特征在于字体数据中还包含笔划宽度非线性变倍数据,所说的笔划宽度非线性变倍数据可以是基于字形变倍率、字形占位系数或字形线度的笔划宽度变倍系数表。
8.一种按照权利要求6所述的字形数据压缩方法,其特征在于字体数据中还包含笔划宽度非线性变倍数据,所说的笔划宽度非线性变倍数据可以是基于字形变倍率、字形占位系数或字形线度的笔划宽度变倍系数表。
9.一种字形复原方法,用字形复原过程将字形的每个笔划的骨架点变倍确定笔划位置,其特征在于按字形的当前横、纵向变倍率,基准字形横、竖笔划主体宽度、当前字高/字宽和笔划形状控制数据中的对应关系确定当前横、竖笔划宽度和每个笔划形状控制参数,按当前笔划形状控制参数和该笔划的骨架点位置得到笔划主体轮廓控制点,按笔划的笔锋类型数据和笔划形状控制参数确定笔锋轮廓控制点,并复原整个笔划。
10.一种按照权利要求9所述的字形复原方法,其特征在于按字形的字体所属的主字体选择对应的字形数据,用所属变体选择笔划形状控制数据,用于复原字形。
11.一种按照权利要求9所述的字形复原方法,其特征在于包括用笔划数据中的骨架点变宽数据和笔划变宽宽度差对笔划骨架点作变宽调整的过程。
12.一种按照权利要求9所述的字形复原方法,其特征在于包括用笔划数据中的骨架点随动数据定位随动骨架点的过程。
13.一种按照权利要求9所述的字形复原方法,其特征在于对由其它笔划组成的复合笔划,用其骨架点笔划形状控制参数及其笔锋类型数据导出各其它笔划的骨架点和笔锋类型,并按导出的各笔划参数复原各笔划,对等距类复合笔划还增加避免粘连或不等距的步骤。
14.一种按照权利要求9所述的字形复原方法,其特征在于对正规拼接字形,用字元占位系数比例方法得到每个字元的位置和大小,用字元边缘凹凸性数据调整字元位置和大小,最后得到每个字元每个笔划的笔划数据,并得到字形的占位系数或线度和字形整体凹凸性。
15.一种按照权利要求9所述的字形复原方法,其特征在于用字形当前横、纵向变倍率,占位数据和非线性笔划宽度变倍数据确定当前笔划宽度变倍率和笔划宽度调整系数,并确定当前横、竖笔划宽度,所说的占位数据可以是字形线度或占位系数,所说的笔划宽度非线性变倍数据可以是基于字形变倍率、字形占位系数或字形线度的笔划宽度变倍系数表。
16.一种按照权利要求9所述的字形复原方法,其特征在于每种主字体各设一套笔划生成过程,对每一主字体的每一笔划种类设一独立的笔划生成过程,复原时按当前字体和一笔划的种类标识选择对应的笔划生成过程复原该笔划。
17.一种按照权利要求14所述的字形复原方法,其特征在于用字形当前横、纵向变倍率,占位数据和非线性笔划宽度变倍数据确定当前笔划宽度变倍率和笔划宽度调整系数,并确定当前横、竖笔划宽度,所说的占位数据可以是字形线度或占位系数,所说的笔划宽度非线性变倍数据可以是基于字形变倍率、字形占位系数或字形线度的笔划宽度变倍系数表。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN95117458A CN1052798C (zh) | 1995-11-15 | 1995-11-15 | 字形数据压缩方法和复原方法 |
TW086101356A TW343311B (en) | 1995-11-15 | 1997-02-04 | Font message representation method and reconstructing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN95117458A CN1052798C (zh) | 1995-11-15 | 1995-11-15 | 字形数据压缩方法和复原方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1150269A CN1150269A (zh) | 1997-05-21 |
CN1052798C true CN1052798C (zh) | 2000-05-24 |
Family
ID=5081247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95117458A Expired - Fee Related CN1052798C (zh) | 1995-11-15 | 1995-11-15 | 字形数据压缩方法和复原方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1052798C (zh) |
TW (1) | TW343311B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662922A (zh) * | 2012-04-12 | 2012-09-12 | 董月夕 | 一种以笔画为基本构件的智能中文字体设计方法和系统 |
CN108305209B (zh) * | 2017-01-12 | 2021-06-04 | 富士通株式会社 | 字符变形方法和字符变形设备 |
CN107688812B (zh) * | 2017-08-25 | 2020-04-21 | 重庆慧都科技有限公司 | 一种基于机器视觉的食品生产日期喷墨字体修复方法 |
CN112817504B (zh) * | 2021-01-19 | 2023-04-07 | 上海义启信息科技有限公司 | 一种智能笔锋优化系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107780A (zh) * | 1985-11-15 | 1987-07-15 | 夏普公司 | 多字体生成装置 |
-
1995
- 1995-11-15 CN CN95117458A patent/CN1052798C/zh not_active Expired - Fee Related
-
1997
- 1997-02-04 TW TW086101356A patent/TW343311B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107780A (zh) * | 1985-11-15 | 1987-07-15 | 夏普公司 | 多字体生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1150269A (zh) | 1997-05-21 |
TW343311B (en) | 1998-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3049672B2 (ja) | 画像処理方法及び装置 | |
US5450536A (en) | Technique for automatically resizing tables | |
JP4071422B2 (ja) | モーションブラー画像描画方法及び描画装置 | |
US20170236021A1 (en) | Method and system for generating and selectively outputting two types of ink vector data | |
CN109086639A (zh) | 一维信号抽取的方法和装置 | |
JPS63271290A (ja) | 文字パタ−ン生成方式 | |
CN1052798C (zh) | 字形数据压缩方法和复原方法 | |
US20040263537A1 (en) | Flexibly resizeable vector graphics | |
WO2012155510A1 (zh) | 一种文字变形特效处理方法及装置 | |
JPH02289067A (ja) | 文字パターン信号発生装置 | |
JP4165060B2 (ja) | 図形縮小編纂方法及び装置並びに図形変形装置及び方法 | |
JPS62272295A (ja) | 線幅制御機能を持つ文字パタ−ンの拡大・縮小方式 | |
CN104978756B (zh) | 一种嵌入互动组件的页面的无缝缩放方法及装置 | |
CN110910302B (zh) | 一种特大图像的存储与读写方法 | |
JP3979162B2 (ja) | 画像処理装置およびその方法 | |
WO2020192212A1 (zh) | 图片处理方法、图集处理方法、计算机设备和存储介质 | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
CN1279451A (zh) | 数字化字体轮廓的三角化向量趋近方法 | |
Dalei et al. | A Review of LOD based Techniques for Real-time Terrain Rendering | |
JP2001084365A (ja) | 画像のあおり補正方法、画像のあおり補正装置およびあおり補正用プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3280160B2 (ja) | 文書処理装置および文書処理方法 | |
CN110133847B (zh) | 一种基于微结构的非阵列动态显示防伪图形的设计方法 | |
JPH01303489A (ja) | 文字出力方式 | |
WO2009005543A1 (en) | A method for automatic font character height restriction | |
JP2001256508A (ja) | アニメーション作成装置および方法、ならびにコンピュータで実行可能なアニメーション作成方法のプログラムを記録したコンピュータ読取可能な記録媒体 |
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 |