CN1062800A - 产生字模数据的方法与装置 - Google Patents
产生字模数据的方法与装置 Download PDFInfo
- Publication number
- CN1062800A CN1062800A CN 91111970 CN91111970A CN1062800A CN 1062800 A CN1062800 A CN 1062800A CN 91111970 CN91111970 CN 91111970 CN 91111970 A CN91111970 A CN 91111970A CN 1062800 A CN1062800 A CN 1062800A
- Authority
- CN
- China
- Prior art keywords
- data
- stroke
- shape data
- character
- type matrix
- 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.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
一种字模数据生成方法与装置,其中:制备表示
一个预定字符的一种第一字模的一个第一笔划外形
数据群;制备表示该预定字符的与第一字模形状不同
的一种第二字模的一个第二笔划外形数据群;制备定
义图形变换以在第一图形与第二图形外形数据的基
础上得到第三图形外形数据的变换数据;以及将该变
换数据定义的回形变换应用于第一与第二笔划外形
数据群以生成表示与第一与第二字模形状不同的一
种第三字模的一个第三笔划外形数据群。
Description
本发明一般涉及用于产生字模数据的方法与装置。它具体地涉及使用表示两种形状互异的字模,诸如一个字符中的笔划的粗细,的两个字模数据群来产生表示字符形状更不同的一种新字模的新字模数据的一种字模数据产生方法与装置。
一种保存字符外形数据(将一个字符的整体基本上看成是一个图形的情况下表示这一图形的数据)并输出该字模的方法称作“一种字符外形方法”或“一种矢量字符方法”。最近,该方法已得到评介并进行了标准化。这一方法有一个优点,即不同大小的字模能够通过制备表示一个字符的一种字模的字符外形数据来容易地输出,因为字符的大小与斜度可通过这种变换得到变形,这对于将字模作为一个点阵来保存的传统方法曾经是难于做到的。关于外形曲线的表示方法,简单地使用直线或者使用诸如圆等二次曲线。在最近的实际应用中,普通使用直线与所谓Bezier(贝西里)曲线。在此以前,Bezier曲线曾被用于在汽车外形等的计算机辅助设计领域内表示一个曲面的形状,并且也用于表示一个字模的曲线。对于用于表示字模的Bezier曲线,一个曲线段用三或四个控制点定义。三或四个控制点中,两个控制点是所定义的曲线段的两端,而剩下的一或两个点则通常不在曲线上画出。用三个控制点定义的曲线称为“二次Bezier曲线”而用四个控制点定义的曲线则称为“三次Bezier曲线”。
例如,Bezier曲线、其大小变换方法及其旋转变换方法在读物“POSTSCRIPT LANGUAGE REFERENCE MANUAL”(“POSTSCRIPI语言考考手册”)(ADOBE系统公司著,Addison-Wesley出版公司出版,1989)150、218与221页上已有说明。较早的以外形数据表示一个字模的例子在J.Flowers的“COMPUTER”,IEEE,1984年5月,40-48页,中已说明过。通过将一个字符的一种字模看成是一个图形,用一个图形的外形来表示该字符的外形形状。外形分为两群,即外侧外形与内侧外形。用字符外形方法来表示一个字模以后简单地称为“字符外形表示”。
用于获得字符外形表示的手段是一种事先读取画在纸上的原始字符的模式以及产生其字符外形的方法。按照这一方法,如果原始模式存在,则生成字模数据的人工并不太多。然而,这一方法存在着难于改变字形,诸如笔划的粗细(宽度)的问题。从而,为了产生一个字符中笔划粗细之类互异的字模数据,必须制备与分别读入笔划粗细之类互异的各种原始字模。从而,用于生产的总的人工是巨大的。此外,不能期望使用这些各式各样的原始字符。当前的情况是,为了保存一个字符中字模的大小相等而笔划粗细不同的丰富多彩的字模种类并提供基本设计相同的字形族,对字形的需要不断增加。
例如,Yamazaki等人在电子通信学会,卷J70-D,第二号,1987,387-395页的论文中所描述的内插/外插法已经作为使用字符外形方法来满足这种环境中的下述需要的一项技术进行过试用。这一方法此后称作“字符外形的内/外插法”。按照这一方法,例如,事先为一个字符制备了两种基本设计相同但笔划粗细互异的字符外形数据,便可以用内插法(今后认为是包括内插法与外插法的一个概念)生成一个保留了该基本设计但笔划粗细与这两种字模都不同的一种字符外形模式。
另一方面,在对应于日本专利JP-A-63-271290的美国专利4,931,953中公开了一种以骨架数据及笔划的形状数据为基础的生成具有任意粗细的字模的方法。按照美国专利4,931,953,在骨架数据的基础上生成一个字模的过程中获得具有目标粗细及边缘形状的笔划状态外形数据。此后,这一方法称作“骨架矢量法”而由这一方法表示的字符则称为“骨架矢量字符”。这一方法获得由一系列直线与Bezier曲线构成的作为笔划状态外形模式的笔划外形数据。虽然这一表示方法与上述字符外形法在目标字符图形的图元上互不相同,但可以提供它们共同的外形曲线的表示方法。在信息处理学会,卷30,第九号,1989,1111-1118页的论文中描述了一种以所生成的直线形笔划外形数据为基础的直线形字符外形数据的生成方法从而根据骨架矢量字符数据控制笔划的粗细之类。
如上所述,字符外形模式集有难以改变诸如笔划粗细这样的形状的问题。作为对付这一问题的措施而提出的字符外形内/外插法可以减轻这一问题,但在使用中存在着下述限制。
当同一字形族中的最细字模与最粗字模与通常在印刷业中使用的字形互相比较时,两种字模不能永远表示相同的字符外形图形。即,在细字模中互相远离的笔划当笔划的粗细加粗时有可能互相重叠,从而两种字模在以字符外形模式表示的目标图形的图元上变得不一样。以汉字(在日文中使用的中文字符)“和”为例,印刷业中通常使用的最细字模与最粗字模分别示出在图12A与12B中。图12A中部位A中互相远离的相邻笔划在图12B中部位A中互相接触,使得这两种字模在以字符外形模式表示的目标图形的图元上有所不同。对于汉字“食”,最细字模与最粗字模分别示出在图13A与13B中,图13A部位C、D与E中互相远离的相邻笔划在图13B部位C、D与E中互相接触,使得这两种字模在作为字符的总体的目标图形的图元上互不相同。对于汉字“泳”,最细的字模与最粗的字模分别示出在图14A与14B中。图14A中部位G与F中互相远离的相邻笔划在图14B部位G与F中互相接触,使得这两种字模在作为字符的总体的目标图形的图元上互不相同。由于上述字符外形的内/外插法只能在作为字符的总体的图形的图元相同的前提下使用,就不可能根据图形的图元不相同的两种字模生成一种新的字模。尤其是,先有技术的字符外形内/外插法只能在作为变换源(生成源)的两种字符外形模式表示相同的图元的前提下使用。反过来说,先有技术的字符外形内/外插法具有这样的问题,即当作为变换源的字符外形数据分别由不同的圆元组成时,这一方法便不能使用。这显示了字符外形内/外插法的限制,即这一方法只能用在改变笔划等的粗细时相邻笔划之间的接触关系不变的范围内。然而,从印刷业的当前状态的观点来看,几乎没有需要这样一种特殊条件下的变换。
本发明的一个目的是提供一种字模数据生成方法,它能够放松先有技术的字符外形内/外插法上的上述限制,使得即使在先有技术的字符外形内/外插法中不可能的接触关系改变的范围内改变相邻笔划间的接触关系的情况中也能生成新的字模数据,并提供一种实现该方法的装置。
在提出上述目的时,根据本发明的一个方面,提供了一种字模数据生成方法,它包括:制备表示一个预定字符中的一个第一字模的一个第一笔划外形数据群;制备与第一字模形状不同的表示该预定字符的一种第二字模的一个第二笔划外形数据群;制备用于定义在第一图形外形数据与第二图形外形数据基础上得到第三图形外形数据的图形变换的变换数据;以及将由该变换数据所定义的图形变换作用在第一与第二笔划外形数据群上从而生成表示与第一与第二字模形状不同的一种第三字模的一个第三笔划外形数据群。
根据本发明的另一个方面,提供了一种字模数据生成装置,它包括:一个第一存储器单元,用于存储表示一个预定字符中的第一字模的一个第一笔划外形数据群;一个第二存储器单元,用于存储表示该预定的字符中与第一字模形状不同的一种第二字模的一个第二笔划外形数据群;一个第三存储器单元,用于存储定义在第一图形外形数据与第二图形外形数据的基础上获得第三图形外形数据的图形变换的变换数据;以及一个单元,用于将由从第三存储器单元读出的变换数据所定义的图形变换作用在从第一与第二存储器单元读出的第一与第二笔划外形数据群上,从而生成表示与第一及第二字模形状不同的第三字模的一个第三笔划外形数据群。
如上所述,在先有技术的字符外形内/外插法中,两种笔划粗细不同之类的字符外形数据(在整个字符基本上作为一个图形理解时,表示该图形的外形的数据)群被用作生成新字模数据的一个源。反之,在本发明中,表示形状(诸如笔划粗细之类)不同的字模的两个笔划外形数据(在构成一个字符的各笔划作为一个图形理解时,表示一个图形的外形的数据)群被用作生成新字模数据的一个源。与整个字符的图元相比,构成一个字符的各笔划的图元很少变化,即使在字模的笔划粗细之类不同的情况中也是这样。例如,图12A、13A与14A中所示的笔划的图元分别等于图12B、13B与14B中所示的笔划的图元。从而,在本发明中,对先有技术的字符外形内/外插法的限制可以放松,使得即使在先有技术的字符外形内/外插法中不可能的接触关系改变的范围内改变相邻笔划间的接触关系的情况下也能生成新的字模数据。也就是说,例如,根据本发明,使用表示图12A与12B中的字模的字模数据作为一个生成源可以生成一种新的字模(未示出),而图12B中的字模则可以通过表示图12A中的字模的字模数据及表示一种在部位A处较宽并且相似于图12A中的字模但较12A中的字模为粗的一种字模(未示出)的字模数据作为生成源生成。从而,在本发明中,可以容易而快速地生成各种字形。
此外,在本发明中,即使出现笔划重叠的情况也不成问题。虽然在改变线条的粗细之类时如果同时改变了各笔划本身的图元的情况中有可能出现问题,但是由于这种情况相对说来比较少见,即使将这种情况忽略不计,本发明的实用特性也不致受损。
从作为生成源的那种数据的观点上看,本发明的方法可称作“笔划外形数据内插法”,这是与字符外形内/外插法对立的。
图1为示出根据本发明的一种字模数据生成装置的配置的例子的方框图;
图2A为展示一个字符的笔划外形数据与字符外形数据的内容与格式的一个例子的视图;
图2B为展示图2A中各图形外形数据的内容与格式的视图;
图2C为展示图2B中各部分外形数据的内容与格式的视图;
图3为展示在两种笔划外形数据的基础上生成一种新的笔划外形数据的一个过程的流程图;
图4A为展示两种笔划外形数据的一个例子的图形;
图4B为展示用内插法生成笔划外形数据的一个例子的视图;
图4C为展示内插法的一个例子的视图;
图5A至5C为说明笔划外形数据与字符外形数据的视图;
图6A与6B为说明三次Bezier曲线的特征的视图;
图7A与7B为说明二次Bezier曲线的特征的视图;
图8为展示将一个笔划外形数据群变换成字符外形数据群的一个过程的流程图;
图9为具体展示图8中的过程的一个部分的流程图;
图10为示出外侧外形曲线描绘法的视图;
图11为示出内侧外形曲线描绘法的视图;
图12A与12B为展示一个字符的两种字模的视图;
图13A与13B为展示另一个字符的两种字模的视图;以及
图14A与14B为展示又一个字符的两种字模的视图。
参见图1,那里示出了使用根据本发明的一种字模数据生成方法的字模数据生成装置的配置的一个例子。
在图1中,参照数码501指定一个磁盘设备,502一个CPU(中央处理单元),520一个主存储器,503由一个存储器构成的笔划外形字典,504由一个存储器构成的字符外形字典,505由一个存储器构成的骨架数据字典,506一个键盘,507一个显示器单元,508一台打印机,530一个涂色处理器部件,509一个笔划外形数据生成器部件,510一个用于将笔划外形数据变换成字符外形数据的数据变换器部件,以及511一个用于将骨架数据变换成笔划外形数据的数据变换器部件。CPU502执行存储在磁盘设备501中并事先从那里读入主存储器520中的一个程序,借此按照通过键盘506输入的各种指令以下述方式控制上面提到的各组成部件。通过键盘506输入的字符序列通过导线L6与总线500传送到CPU502。必要时,CPU502执行字符码变换以通过总线500对笔划外形字典503进行功问,这是在用于标识字符的字符码的基础上进行的,借此从字典503中读出两种作为各字符的生成源数据存储的笔划外形数据。这些数据通过导线L3、总线500及导线L10馈送到笔划外形数据生成器部件509上。笔划外形数据生成器部件509生成的新的笔划外形数据通过导线L9、总线500及导线L3反馈给笔划外形字典503。或者新的笔划外形数据通过导线L30提交给涂色处理器部件530中的一个涂色进程(用于涂色外形的内部将外形转换成点映象的进程),然后通过导线L31与L3或者L31与L8馈送到显示器单元507或打印机508上。在需要对字符外形数据进行变换的情况下,字典503中的笔划外形数据或作为变换结果的笔划外形数据通过总线500与导线L12馈送给变换器部件510。必要时,结果字符外形数据通过导线L11、总线500与导线L4存储在字符外形字典504中。或者结果字符外形数据通过导线L11、总线500及导线L30提交给涂色处理器部件530中的一个涂色进程,然后通过导线L31与L7馈送到显示器单元507。或者该结果字符外形数据通过导线L11、总线500与导线L30提交给涂色处理器部件530中的一个涂色进程,然后通过导线L31与L8馈送到打印机508。当需要根据骨架数据来生成笔划外形数据时,具有指定标识码的各字符的骨架数据被从骨架数据字典505中选出并通过导线L5、总线500及导线L14送到变换器部件511。然后,结果笔划外形数据通过导线L13、总线500及导线L3存储在笔划外形字典503中,或者通过导线L11、总线500、导线L30、涂色处理器部件530、导线L31与L7送到显示器单元507,或者通过导线L11、总线500、导线L30、涂色处理器部件530、导线L31及L8送到打印机508。
下面将对图1中的各组成部件进行详细说明。
参见图2A至2C,其中示出了存储在笔划外形字典503中的笔划外形数据以及存储在字符外形字典504中的字符外形数据的内容与格式的例子。一个字符的一个笔划外形数据群的各笔划外形数据以及一个字符的一个字符外形数据是用构成一个字符的一序列图形外形数据表示的,如图2A所示。在图2A中,参照数字30指定用于区分笔划外形数据与字符外形数据的数据,31构成一个字符的图形数数以及32作为各图形的外形数据的一序列图形外形数据。在笔划外形数据的情况中,构成一个字符的图形对应于该字符的笔划。反之,在字符外形数据的情况中,构成一个字符的图形对应于字模中的分离的图形模式部分。图2A中的各图形外形数据32的内容与格式示出在图2B中。在图2B中,参照数字33指定用于区分内侧外形曲线与外侧外形曲线的数据,34构成一个图形外形数据的部分外形数据的数目,以及35根据该数目的一序列部分外形数据。在笔划外形数据的情况中,用于区分内侧外形曲线与外侧外形曲线的数据33永远作为外侧外形曲线设定为“0”。在字符外形数据的情况中,数据33对应于图形外形盖据设置。图2B中的各部分外形数据35的内容与格式示出在图2C中。在图2C中,参照数字36指定(曲线分类)用于区分直线与Bezier曲线的数据以分类部分外形曲线,37用于表示该部分外形数据的控制点的数目的数据,以及38根据该数目的一序列控制点的坐标。
在多个字符的笔划外形字典503中存储有:各具有上述内容与格式并表示一个予定字符的一个第一字模的第一笔划外形数据群;以及各具有上述内容与格式并表示在形状(诸如线条粗细)与该予定字符的第一字模不同的一种第二字模的第二笔划外形数据群。
下面将对图1中的笔划外形数据生成器部件509进行详细描述。
例如,笔划外形数据生成器部件509是由一微型计算机构成的并具有图3中所示的功能,图3是一个流程图示出用于在一个字符的两个笔划外形数据群A与B的基础上通过以参数R指定的内插获得一个笔划外形数据群C的一个示意性过程。示出在本图中的过程将在下面参照赋予该流程图中各对应步骤的数字进行说明。
图3中的过程根据CPU502给出的一条指令启动。在步骤11,从笔划外形字典503中将通过键盘506指定的一个字符的两个笔划外形数据群A与B读入笔划外形数据生成器部件509的一个内存储器中。
为了方便,令AX、BX与CX为图2A中参照数字30表示的分别对应于笔划外形数据群A、B与C的区分数据。令AY、BY与CY为图2A中参照数字31表示的分别对应于笔划外形数据群A、B与C的数目数据。令A(I)、B(I)与C(I)分别为笔划外形数据群A、B与C中的第I个笔划形数据(对应于图2A中的第I个图形外形数据32)。令A(I)·M、B(I)·M与C(I)·M为分别对应于第I个笔划外形数据A(I)、B(I)与C(I)的区分内侧外形与外侧外形的数据,如图2B中参照数字33所表示的。令A(I)·N、B(I)·N与C(I)·N为分别对应于第I个笔划外形数据A(I)、B(I)与C(I)的数目数据,如图2B中参照数字34所表示的。令A(I)·Part(J)、B(I)·Part(J)与C(I)·Part(J)分别为第I个笔划外形数据A(I)、B(I)与C(I)中的第J个部分外形数据(相当于图2B中的第J个部分外形数据35)。令A(I)·Part(J)·T、B(I)·Part(J)·T与C(I)·Part(J)·T分别为对应于数据A(I)·Part(J)、B(I)·Part(J)与C(I)·Part(J)的曲线分类数据,如图2C中参照数字36所表示的。令A(I)·Part(J)·SB(I)·Part(J)·S与C(I)·Part(J)·S分别为对应于数据A(I)·Part(J)、B(I)·Part(J)与C(I)·Part(J)的数目数据,如图2C中参照数字37所表示的。令A(I)·Part(J)·O(K)、B(I)·Part(J)·O(K)与C(I)·Part(J)·O(K)分别为对应于数据A(I)·Part(J)、B(I)·Part(J)与C(I)·Part(J)的第K个控制点坐标数据(相当于图2C中第K个控制点坐标38)。
图4A示出笔划外形数据A(1)与B(1)的例子。笔划外形数据A(1)由作为图形表示的A1-A2-A3-A4-A1表示。笔划外形数据B(1)由作为图形表示的B1-B2-B3-B4-B1表示。点A1至A4及点B1至B4分别表示控制点,在这一例子中,上述各数据分别以下列等式表示:
A(1)·M=B(1)·M=0,A(1)·N=B(1)·N=4,
A(1)·Part(1)·T=B(1)·Part(1)·T=1,
A(1)·Part(1)·S=B(1)·Part(1)S=2,
A(1)·Part(1)·O(1)=A1,
A(1)·Part(1)·O(2)=A2,
B(1)·Part(1)·O(1)=B1,
B(1)·Part(1)·O(2)=B2,
A(1)·Part(2)·T=B(1)·Part(2)·T=1,
A(1)·Part(2)·S=B(1)·Part(2)·S=2,
A(1)·Part(2)·O(1)=A2,
A(1)·Part(2)·O(2)=A3,
B(1)·Part(2)·O(1)=B2,
B(1)·Part(2)·O(2)=B3,
A(1)·Part(3)·T=B(1)·Part(3)·T=1,
A(1)·Part(3)·S=B(1)·Part(3)·S=2,
A(1)·Part(3)·O(1)=A3,
A(1)·Part(3)·O(2)=A4,
B(1)·Part(3)·O(1)=B3,
B(1)·Part(3)·O(2)=B4,
A(1)·Part(4)·T=B(1)·Part(4)·T=1,
A(1)·Part(4)·S=B(1)·Part(4)·S=2,
A(1)·Part(4)·O(1)=A4,
A(1)·Part(4)·O(2)=A1,
B(1)·Part(4)·O(1)=B4,and
B(1)·Part(4)·O(2)=B1
其中A1至A4及B1至B4分别表示控制点。
当图3中步骤11结束时,在步骤12中,将通过键盘506指定的一个变换参数R=(R1,R2)读入笔划外形数据生成器部件509的内存储器中。这一变换参数R在以后的步骤中使用并构成用于定义图形变换的变换数据的一个部分,以在第一与第二图形外形数据的基础上获得第三图形外形数据。
在步骤13中,将CX的值设置为“1”。这是因为新生成的笔划外形数据群C不是由字符外形数据而是由笔划外形数据构成的。
在步骤14中,用AY的值代替CY的值。即,设定新生成字模笔划的数目使之等于生成源字模笔划的数目。由于等式AY=BY成立,也可用BY来代替CY的值。
在步骤15中,变量I的值初始化为“1”。结果,首先对第一笔划外形数据执行步骤15以后的一系列过程。
在步骤16,将C(I)·M的值设置为“0”。这是因为新生成的数据是笔划外形数据。
在步骤17,用A(I)·N的值代替C(I)·N的值。即,设定新生成部分外形数据的数目使之等于生成源部分外形数据的数目。由于等式A(I)·N=B(I)·N成立,也可用B(I)·N的值来代替C(I)·N的值。
在步骤18,将变量J的值初始化为“1”。结果是,首先对第I个笔划外形数据中的第一个部分外形数据执行步骤18以后的一系列过程。
在步骤19,用A(I)·Part(J)·T的值代替C(I)·Part(J)·T的值。即,设定新生成的部分外形数据的曲线类别使之等于生成源的部分外形数据的曲线类别。由于等式A(I)·Part(J)·T=B(I)·Part(J)·T成立,也可用B(I)·Part(J)·T的值来代替C(I)·Part(J)·T的值。
在步骤20,用A(I)·Part(J)·S的值代替C(I)·Part(J)·S的值。即,设定新生成的部分外形数据的控制点的数目使之等于生成源的部分外形数据的控制点的数目。由于等式A(I)·Part(J)·S=B(I)·Part(J)·S成立,也可用B(I)·Part(J)·S的值来代替C(I)·Part(J)·S的值。
在步骤21,将变量K的值初始化为“1”。结果是,首先对第一个控制点执行步骤21以后的一系列过程。
在步骤22,通过对A(I)·Part(J)·O(K)与B(I)·Part(J)·O(K)执行由变换参数R=(R1,R2)定义的图形变换得到C(I)·Part(J)·O(K)。即通过对生成源的控制点执行由变换参数R所定义的图形变换(例如,内插)而得到一个新的控制点。图4B中示出了在图4A中的笔划外形数据A(I)与B(I)的基础上通过内插得到一个笔划外形数据C(1)的例子。作为内插结果的笔划外形数据C(1)是以作为图形表示的C1-C2-C3-C4-1来表示的。作为在控制点A1·Part(1)·O(1)(即A1)与控制点B(1)·Part(1)·O(1)(即B1)的基础上进行内插的结果的控制点为C(1)·Part(1)·O(1)(即C1)。下面将参照图4C对在控制点Ai与Bi的基础上用内插法得到控制点Ci的一种方法进行描述,当变换参数R=(R1,R2)时,以分比R2∶R1分割控制点Ai=(ax,ay)与Bi=(bx,by)之间的线段的内插法得到的控制点Ci=(cx,cy)的坐标cx与cy可用下列等式表示:cx=(R1·ax+R2·bx)/(R1+R2)及cy=(R1·ay+R2·by)/(R1+R2)。虽然图4C中示出的例子中用于计算cx的R1与R2的值等于用于计算cy的R1与R2的值,但事实上分比通常没有必要互相相等,并且在两个方向上可以提供不同的参数。这一内插法是以分比R2∶R1分割变换源的对应控制点之间的线段来得到作为变换的结果的一个控制点的内插法。虽然在图4所示的例子中内插法被用作内/外插法,本发明也能用于这样的例子,其中外插可用作内/外插法。当在步骤12读入变换参数时,用于区分内插与外插的数据也可作为定义图形变换的变换数据的一部分读入。
上述说明是对具有图2A到2C中所示的上述内容与格式的笔划外形数据群A与B的例子作出的。然而,各个部分外形数据是由一序列用于生成外形曲线的速制点及包含曲线类别的曲线参数构成的。曲线参数除了控制点数据以外可包含尺寸数据(例如,关于一条园弧的半径)以及曲线类别。除了对控制点数据以外,也有必要对尺寸数据进行上述内插,但步骤18中的说明省略了生成尺寸数据的说明。
当完成了图3中的步骤22时,在步骤23,作出判断是否对相关的部分外形数据的所有控制点的生成都已完成。具体地说,作出判断是否K≥A(I)·Part(J)·S成立。当在步骤23作出结论尚未完成生成时,过程的状态进行到步骤24。在步骤24中,在变量K的原有值上加“1”来代替变量K的值,然后过程的状态返回到步骤22。当在步骤23判定生成已经完成时,过程的状态进行到步骤25。
在步骤25,作出判断是否对相关的笔划外形数据中的所有部分外形数据的生成都已完成。具体地说,判断J≥A(I)·N是否成立。当在步骤25判定生成尚未完成时,过程的状态进行到步骤26。在步骤26中,在变量J的原有值上加“1”来代替变量J的值,然后,过程的状态返回到步骤19。当在步骤25判定生成已经完成时,过程的状态进行到步骤27。
在步骤27,作出判断是否所有笔划外形数据的生成都已完成。当在步骤27判定生成尚未完成时,过程的状态进入步骤28。在步骤28中,在变量I的原有值上加“1”以代替变量I的值,然后过程的状态返回到步骤16。当在步骤27中判定生成已经完成,图3中的过程便终止了。
根据上述过程,能够从作为生成源的两种笔划外形数据中的对应笔划输出数据中的对应部分输出数据的对应控制点之间用内插法以及用取出其部分外形曲线类别来获得作为生成结果的一个笔划外形数据群。
虽然主要描述的是不同粗细的形状的内插,图3中的过程对于下述形状改变也是有用的并且可以直接应用。
· 边的形状,名词“边”是指垂直于笔划的运动方向的粗细方向上的一个笔划的两侧。边按照设计形成一条凹或凸曲线。曲线的次数可以内插。
· 起笔或收笔边的凸出形状:某些设计在一笔起笔边的头上可能具有一个凸出的形状,或者某些设计在收笔边可能具有鱼鳞状凸起,如明体(Ming-style)的模。凸出的形状的次数可以内插。
下面将参照图5A至5C以汉字“日”作为例子对上述笔划外形数据及以后要说明的字符外形数据进行说明。虽然图5A至5C示出的例子中只采用了直线线段作为部分外形曲线类别,这一说明同样可以应用在包含曲线的一般字符。
图5A示出两竖20与22及三横21、23与24,它们构成汉字“日”。在该图中,每一白点表示一个控制点,它形成一个笔划的一个部分外形数据的一个端点。
图5B示出将图5A中所示的各笔划结合在一起表示的汉字“日”。在图5B中用参照数字26等指示的白点表示重叠点,在那里,笔划的部分外形的端点重叠,而用参照数字27等指示的黑点则表示交叉点,在那里笔划的部分外形相交。
图5C示出了作为字符外形数据表示的同一字模。这字模是由外侧外形数据28与内侧外形数据29构成的。
Bezier曲线的表示及其特征公开在读物,Fujio Yamaguchi的“使用计算机显示器的形状处理厂程〔Ⅱ〕”(Nikkan Kogyo Shinbun有限公司,1982)4-7及10-15页中,并将在下面描述。在图6A中,起始于Q。并结束于Q3的曲线61是一条具有四个控制点Q0、Q1、Q3及Q3的三次Bezier曲线。这一曲线是通过控制点的两端Q0及Q3画出并在两端具有切矢量Q0Q1及Q2Q3的一条三次曲线。这一曲线是通过一个参数t(0≤t≤1)以下述等式表示的。
P(t)=(1-t)3Q0+3t(1-t)2Q1+3(1-t)t2Q22+t3Q3
这一曲线在t=0时通过点Q0,而在t=1时通过点Q3。
在图7A中,起始于Q0并结束于Q2的曲线41是具有二个控制点Q0、Q1及Q2的二次Bezier曲线。这一曲线是通过控制点的两端Q0及Q2画出并在两端具有切矢量Q0Q1及Q1Q2的一条二次曲线。这一曲线是通过一个参数t(0≤t≤1)以下述等式表示的。
P(t)=(1-t)2Q0+2t(1-t)Q1+t2Q2
这一曲线在t=0时通过点Q0并在t=1时通过点Q2。已知二次Bezier曲线可以变换成二次Bezier曲线Ri(i=0、1、2、3),如图7B所示。在图7B中,R1与R2表示分别以比2∶1及1∶2分割Q0Q1及Q1Q2的点。
图6B示出得到一个三次Bezier曲线的方法,它以一条三次Bezier曲线的控制点的两端中的一个及该三次Bezier曲线上的一个任意点作为控制点的两端。也就是说,图6B示出了获得两个中间控制点的方法。显然,以一条三次Bezier曲线上的两个任意点作为控制点的两端一条三次Bezier曲线可以重复这一方法得到。具体地,图6B示出了得到一条三次Bezier曲线的一种方法,它以通过控制点Q0与Q2画出的一条三次Bezier曲线61的第一控制点及在该三次Bezier曲线上的一个任意点C作为控制点的两端。即,图6B示出得到控制点R0=Q0、R1、R2与R3=C的一种方法由于控制点的两端都是已知的,所要求的点是两个中间点R1与R2根据上面提到的读物,点R1是作为以比率1∶ts分割Q0Q1的一个点求得的,这里ts表示对应于曲线61上的点C的t的值。当S与T分别表示以同一比率分割Q1Q2与Q2Q3的点并且U表示以同一比率分割线段ST的一个点时,则所求的点R2是以比率1∶ts分割线段R1S的点。这一点同时也是UC的延长线与线段R1S的交点。点R2可作为在C点的切线与线段R1S的交点求得。上述方法是在参数ts的基础上求出一条与原来的三次Bezier曲线重合的一条新的三次Bezier曲线的一种已知的方法,ts是用于以原来的三次Bezier曲线的第一控制点及其点C作为控制点的两端来确定该三次Bezier曲线上的一个任意点C的。这一方法也能应用于以最后控制点而不是以第一控制点的情况。以一条三次Bezier曲线上的两个任意点作为控制点的两端并画在原来的曲线上的一条三次Bezier曲线可通过重复这一方法两次求出。求出用于确定点C的参数ts的一种方法如下。参数ts是通过求解在条件0≤t≤1下满足下述三次方程的t求出的。
C=(1-t)3Q0+3t(1-t)2Q1+3(1-t)t2Q2+t3Q3
将一条二次Bezier曲线变换成一条三次Bezier曲线的一种方法以及得到以一条原来的三次Bezier曲线上给定的两个点作为控制点的两端并画在该三次Bezier曲线上的一条Bezier曲线的一种方法已在图6A、6B、7A与7B中进行了描述。
大多数情况下,最新的外形字模的外形曲线是以二次Bezier曲线或三次Bezier曲线与直线的结合表示的。上述读物已经揭示作为另一类曲线的图可以精确地用一条三次Bezier曲线来逼近并且所谓三次样条曲线也能变换成三次Bezier曲线。从而,以上述几种曲线的结合表示的一条外形曲线可以变换成直线与三次Bezier曲线的结合。
下面将对图1中用于将笔划外形数据变换成字符外形数据的变换器部件510进行描述。例如,由一台微型计算机构成的该变换器部件510具有在从下面的说明中能够清楚地了解的功能。
上面提到的信息处理学会的文献中已经公开了在变换源与变换结果的部分外形曲线中的曲线的类别为直线的情况下将笔划外形数据群变换成字符外形数据的方法。
下面示意性地给出在变换源与变换结果的部分外形曲线中的曲线的类别为直线或Bezier的情况下将笔划外形数据群变换成字符外形数据的过程。
1.从存储各字符的笔划外形数据的笔划字典503中读取与一个指定字符相关的笔划外形数据。一个字符的笔划外形数据群包含的笔划外形数据与构成该字符的笔划在数目上相等。一个单一笔划的笔划外形数据是一序列表示该笔划的部分外形曲线的部分外形数据。部分外形数据则由一序列用于生成一条外形曲线的控制点及曲线标识数据构成。
2.构成该字符的笔划的外形的交叉点是在上述读取数据的基础上得到的并存储在存储器中。这时,包含这些交叉点的笔划群的形式存储。当然,群的数目随字符变化。在例如汉字“二”这样的字符的情况中没有交叉点,当各图元中顶点的坐标序列被直接认为是外侧外形数据时,这一过程便结束。
3.在一个群中的笔划部分外形数据及计算出的交叉点坐标的基础上生成定义一个图形的外侧外形的外侧外形数据,该图形是以组合互相接触及交叉的笔划得到的。在笔划的部分外形是一条Bezier曲线的情况中,用于定义一个图形的外侧外形数据是在该Bezier曲线的控制点及交叉点的坐标的基础上通过执行以上参照图6A、6B、7A与7B描述的过程生成的。
4.用于定义一个图形的内侧外形的内侧外形数据是在一个群内的笔划的部分外形数据以及计算出的交叉点的坐标的基础上生成的,该图形是以互相接触或交叉的笔划组合而成的。在笔划的部分外形是一条Bezier曲线的情况中,用于定义一个图形的内侧外形的内侧外形数据是在该Bezier曲线以及交叉点的坐标的基础上通过执行上面参照图6A、6B、7A与7B描述的过程生成的。
5.在第3与第4段中描过的过程应用于所有的群。
作为结果,由Bezier曲线与直线构成的笔划外形的数据可以变换成由一种曲线表示的字符外形数据。
上述变换器部件510具有图8中的流程图中所示的功能。
图8是示出用于将作为笔划形态的外形数据的笔划外形数据变换成作为字符形态的外形数据的字符外形数据的一个示意性过程的流程图。图8中的流程图将按照赋予各步骤的参照数字的次序进行说明。
步骤211:从存储各字符的笔划外形数据的笔划外形字典503中将一个指定的字符的笔划外形数据读入变换器部件510的内存储器中。一个字符的笔划外形数据集包含在数目上等于构成该字符的笔划的笔划外形数据。一个单一笔划的笔划外形数据是一序列表示该笔划的部分外形曲线的部分外形数据。部分外形数据是由一序列生成一条外形曲线的控制点及曲线标识数据构成的。
步骤212:在步骤211读取并存储在该内存储器中的数据的基础上得到构成该字符的笔划的外形的交叉点。此时,作为群存储包含这些交叉点的笔划群。当然群的数目因字符而异。在诸如没有交叉点的汉字“二”的字符的情况中,该过程的状态跳过步骤213至215而将各图元中的顶点的坐标序列直接作为外侧外形数据。
步骤213:在一个群中的笔划的部分外形数据以及计算出的交叉点的坐标的基础上生成定义一个图形的外侧外形的外侧外形数据,该图形是以相互接触或交叉的笔划组合成的。外侧外形数据的格式与笔划外形数据的格式相同。
步骤214:在一个群中的笔划的部分外形数据以及计算出的交叉点的坐标的基础上生成用于定义一个图形的内侧外形的内侧外形数据,该图形是以相互接触或交叉的笔划组合成的。内侧外形数据的格式与笔划外形数据的格式相同。
步骤215:这是一个重复判定步骤用于将步骤213与214作用在所有按上述方法得到的群上。
步骤216:这一步骤216是由步骤213与214调用的一个步骤。在这一步骤中,计算出以一条Bezier曲线(以后要说明)的两个点01与04作为端点的一个曲线段中的交叉点一个分割率来用相同的分割率分割控制点之间的一个线段从而得到一条以该分割点作为一个新的控制点的部分Bezier曲线,该Bezier曲线原来有四个控制点01、02、03与04。这一曲线称作“部分Bezier曲线”因为这一曲线是原来的Bezier曲线的一部分。
可以用上述过程生成字符外形数据所必需的外侧外形数据及内侧外形数据。
上述变换过程将参照图5A、5B与5C使用汉字“日”作为一个例子来加以说明。
图5A示出构成汉字“日”的两竖20与22及三横21、23与24。在本图中,以参照数字25等指示的白点表示形成笔划的部分外形数据的端点的控制点。
图5B示出组合图5A所示的各笔划所表示的汉字“日”。在图5B中,用参照数字26等指示的白点表示在笔划的部分外形的端点重合的重合点,而用参照数字27等表示的黑点表示笔划的部分外形相交的交点。
图5C示出作为图8中所示的变换过程的一个结果得到的一个字符外形数据。这一数据由外侧外形数据28与内侧外形数据29构成。
以上述过程这样生成的字符外形数据通过下述方法变换成点图象:首先在外侧外形数据表示的外侧外形内部以“ON DOT”(“着色点”)方式涂色;然后在曾经涂色的区域内由内侧外形数据表示的内侧外形内部以“OFF DOT”(“去色点”)方式退色(返回未涂色前的颜色)。一个在必要的区域内涂色但在非必要的区域内不涂色形成的点字符便完成了。虽然不区分外侧外形与内侧外形的涂色方法可用作另一种涂色方法,但使用区分外侧外形与内侧外形可以提高涂色速度。这些涂色过程是由图1中的涂色处理器部件530执行的。
下面将参照图10详细说明图8中步骤212中所示的获得外侧外形数据的一种方法。在该图中,白点与黑点的意义与上面描述的一样。在那里示出了由点A、B、E及L构成的一个笔划(参照数字231)与由点D、F、N与J构成的一个笔划(参照数字232)的重叠而形成多个交叉点的情况。虽然为了简化说明,在图10中所示的是具有交叉点的两个笔划的情况,同一理论可应用于大量笔划重叠的情况。例如,在白色点(称为“顶点”)与黑色点(称为“交叉点”)中取位于右下位置的点A作为起点。从点A开始逆时针方向沿外形进行描绘曲线。由于第一个点B不是一个交叉点,所以确定线段AB为外侧外形数据的一部分。由于只有一个点C与点B连接,所以确定线段BC也是外侧外形数据的一个部分。由于外形从点B分叉并引向三个点(D、E及F),有必要确定分叉的方向。由于当前描述的是外侧外形,所以必须选择最外侧的点F。点F的选择可通过判定矢量的外积的符号来作出。即,当分别计算矢量BC与BD、矢量BC与BE以及矢量BC与BF的外积时,它们的符号分别为负、零与正。在如图10所示以逆时针方向描绘外侧外形曲线的情况中,首先寻找的是负符号的矢量。如果没有负符号的矢量,则依次寻找零与正符号的矢量。在图10中,首先选择的是矢量BF,从而描绘从点C前进到点F。在矢量的外积计算结果得出多个具有相同的符号的矢量的情况中,则计算对应的矢量中的单位矢量的内积并选择具有最大的值的矢量。重复上述过程直到描绘的点返回到起点,便得到按照描绘次序的顶点与交叉点的坐标序列构成的外侧外形数据。
下面将参照图11说明图8的步骤214中所示的求内侧外形数据的方法。为了简化说明,在图11中示出了只有一个内侧外形的情况。这一过程示意性地描述如下。求出所有不包括描绘过的外侧外形线段的最小封闭图形。当从一个群中的所有笔划的内部的外面得到一个封闭的图形时,构成该封闭图形的顶点与交叉点的坐标序列便被确定为一个内侧外形数据。下面将对此详细说明。
在图11中,下列点序列已经用图10中的方法选定为外侧外形数据的坐标序列。
B3,B2,Y3,Y2,A3,A2,A1,A4,X1,X4,B1,B4,B3
不包含由上述序列中的点构成的线段的最小封闭图形如下。
封闭图形H:X2,C2,C1,X1,X2
封闭图形K:X3,X4,C4,C3,X3
封闭图形L:X2,X3,Y4,Y1,X2
封闭图形M:Y1,Y2,D2,D1,Y1
封闭图形Q:Y4,D4,D3,Y3,Y4
各笔划中顶点的序列如下。
笔划c:A1,A2,A3,A4
笔划d:C1,C2,C3,C4
笔划e:D1,D2,D3,D4
笔划f:B1,B2,B3,B4
在封闭图形中,封闭图形H包含在笔划c(244)与d(245)中,封闭图形K包含在笔划d与f(247)中,封闭图形M包含在笔划c与e(246)中,以及封闭图形Q包含在笔划e与f中。作为结果,只有封闭图形L不包含在任何笔划中。从而,封闭图形L被确定为表示内侧外形的一个封闭图形。有些字符没有内侧外形。
通过上述过程,字符外形数据所必需的外侧外形数据与内侧外形数据可以在笔划数据集的基础上求得。
虽然为了容易理解过程的流程而只根据信息处理学会的文献在上面描述了作为直线的笔划外形的一个简单的例子,由直线与Bezier曲线混合组成的外形的表示方法也已经在实际应用中标准化了。如果上述变换能够按照图8的流程图用于曲线的表示,其作用就大了。下面将对用于将相同的过程应用于曲线的情况而有可能得到外侧外形与内侧外形的方法进行描述。
如上所述,外形曲线数据的表示方法示出在图2A、2B与2C中。
下面将对用与上面的说明相同的过程在曲线情况下得到外侧外形数据与内侧外形数据的方法进行描述。这是通过在图8的步骤213与214中所描述的顶点处理中加入对构成该外形的曲线的标识(在这一情况中,直线与Bezier曲线)的处理来完成的。结果,可以作为字符外形数据得到部分外形数据的序列,使得这些部分外形数据是以控制点的序列及曲线标识来表示的。
下面将在考虑Bezier曲线的表措与特征的情况下相对于曲线外形对图8中的过程进行描述。虽然上述描述是在用于图8中的描述的图10与11中的笔划外形是以线段表示的一序列部分外形数据表示的情况下作出的,现在考虑的是笔划外形是用一序列以线段或三次Bezier曲线表示的部分外形数据表示的。在任何情况中,笔划外形是用图2A、2B与2C的数据表示的。此外,图8的过程可直接应用。与图10与11中相关的描述并不依赖于曲线标识。依赖于曲线标识的过程为下列两个。
第一个是求出用直线或三次Bezier表示的两个笔划的部分外形之间的交叉点的过程。除了求解的方程的次数不同的外没有其它差别。
第二是在计算出的交叉点与原有的部分外形曲线数据的基础上新生成用直线或三次Bezier曲线表示的外侧/内侧外形的部分外形的数据的过程。这是通过使用一种对上述Bezier曲线的已知变换方法的一个过程来完成的。这一过程示出为参照数字216的步骤,它是与图8中参照数字为213与214的步骤共同使用的。达到这一目的的处理方法的一个例子示出在图9中。
图9示出了一种部分Beyier曲线生成方法的过程。图9更具体地示出用于提供参照数字216的步骤的辅助程序的流程,它是由图8中参照数字213与214的步骤以一个笔划外形的部分外形数据Part1及它上面的两个点P1与P2作为参数调用的。现在假定,当该部分外形数据Part1表示一条Bezier曲线时,对于该Bezier曲线的参数t,P1对应于小于P2的t。参照数字290指定取出这些参数的一个步骤。该辅助程序的访能是生成作为认Part1给定的曲线的部分的点P1与P2之间作为部分外形数据Part0的曲线数据。参照数字291指定判定Part1给定的曲线是直线还是Bezier曲线的步骤。参照数字293当曲线的种类是直线时指定生成部分外形数据Part0的步骤。在这一例子中,曲线标识设定为直线,控制点的数目设定为2,并且控制点的坐标简单地设为01=P1及02=P2。结果,在这一例子中这一步骤便完成了。另一方面,参照数字292在步骤291的判别结果为Bezier曲线的情况下指定一个步骤。在本例中,部分外形数据Part0的曲线标识是设定为Bezier曲线的,并且控制点的数目设定为4。在步骤294中及其以后的过程中得到控制点Oi的坐标序列。在步骤294中,作出判断是否点P1与P2中的一个与输入的部分外形上的某一控制点重合。从上述的假设以及Bezier曲线的中间控制点不在曲线上这一事实,这一判定等价于判定是否等式PI=I1与PI=I4中的一个成立。当这两个等式中有一个成立时,过程的状态进到步骤299。当两个等式都不成立时,过程的状态进到步骤295在步骤299中,两个点P1与P2中的一个与控制点的两个端点中的一个重合,因此设定01=P1与04=P2。然后在步骤910以Oi作为第一个参数及以Ii作为第二个参数调同作为另一个辅助程序的部分Bezier计算。
这一辅助程序是用于执行上面参照图6B描述的方法的一个程序。以三次Bezier曲线上的一个给定的点作为控制点的两个端点中的一个由该辅助程序得出一条画在原来的三次Bezier曲线上的一条新的三次Bezier曲线。具体地说,在原来的Bezier曲线中的一序列控制点被作为第二参数接收,而作为结果返回的新的Bezier曲线中的一序列控制点则作为第一参数被接收。在后者的四个控制点中,第一与第四控制点是设定为输入数据的。控制点中的一个与原来的Bezier曲线中的控制点的两端点中的一个重合,而另一个则是画在原来的三次Bezier曲线上的一个点。在该辅助程序中,求出作为第一参数的控制点序列中的第二与第三控制点,而其它两个点则和它们输入相同地返回。从上面的描述中可以理解,结果曲线是一条部分Bezier曲线。
当294的判断不成立时,过程的状态进行步骤295。这是当画在原来的三次Bezier曲线上的两个点完全不与给定的控制点的两端重合的情况下的一个步骤。在步骤295中,使用了暂时控制点Ti的坐标序列,从而在第一与第四控制点T1与T4分别设定为原来的Bezier曲线的第一控制点I1及输入点P2以后以Ti作为第一参数及以Ii作为第二参数调用该部分Bezier计算辅助程序。作为结果,在上面假定的点P1与P2的序列关系的基础上分别将原来的Bezier曲线的第一控制点T1与输入点P2设定为第一与第四控制点T1与T4之后,作为通过点P1画出的原来的Bezier曲线的一部分的一条新的Bezier曲线中的一序列控制点返回给Ti。在这一阶段,两个点P1与P2中的一个P2与该Bezier曲线Ti的第四控制点重合。剩下的过程与步骤299中的相同。而,在这一例子中用于部分Bezier计算的第二参数是一序列暂时控制点Ti。即,在步骤297中设定01=P1及04=P2之后,在步骤298以Oi作为第一参数及以Ti作为第二参数调用部分Bezier计算。通过步骤910或298,三次Bezier曲线中的一序列控制点完全地设定在控制点序列Oi中。其它有关部分外形数据Parto的数据则已经在步骤292中设定。
当从图8中的步骤213与214调用图9中的辅助程序时,以上述的次序将各部分外形曲线的部分外形曲线数据以及对于具有计算出的交叉点的笔划的两个交叉点的坐标供给该辅助程序。在部分外形曲线具有三个或三个以上交叉点的情况中,则重复这一调用。在部分外形曲线只有一个交叉点的情况中,求出结果部分曲线中所包含的控制点的两端之一,然后以这一点作为P1与P2之一调用辅助程序。结果,求得图2B中的部分外形数据35。要求出的其它与字符外形数据相关的数据是图2B中作为其组成部分的部分外形数据的数目34,内侧外形与外侧外形之间的区分33,以及构成图2A中的字符的图形的数目31。在这些数据中,数据33是在步骤213与214中的每一步中设定为一个对应值的。数据31是设置为由步骤212得到的群的数目的。数据34是在步骤213与214中设置的。
图1中的骨架数据字典505存储每一个字符的骨架数据与形状数据。这些数据被供给数据变换器部件511用于将骨架数据变换成笔划外形数据。在变换器部件511中,骨架数据以一种已知的方式变换成笔划外形数据。以直线及Bezier曲线表示的笔划外形数据存储在笔划外形字典503中。该数据以上述方式在笔划外形数据生成器部件509中作为一种生成源使用。作为生成源的笔划外形数据可用其它装置(诸如使用键盘506的输入装置)存储在笔划外形字典503中,而无须骨架数据字典505及变换器部件511的保证。美国专利4,931,953中已公开了从骨架数据到笔划外形数据的变换。
根据本发明,可以通过保存在字模的笔划形态的外形数据并在字模上进行内插而得到新的笔划外形数据,这些字模相对于一个字符的互相不同的模式。即使在由于出现笔划之间的接触而使得在字符外形模式上应用内插困难的情况下,也能进行变换。变换是适应最新的标准化情况的,可以进行以直线及三次Bezier曲线作为部分外形曲线的变换,从而本发明可以通过一种常用的显示器或打印机以调用将笔划外形数据群变换成字符外形数据的过程用于显示或打印各种字模。此外,通过使用一种已知的骨架字符方法生成作为笔划状态的字符外形数据的线条粗细不同或其它形状的变体字模来对各种笔划外形字形从而对各种字符外形字形进行变换或生成。相应地,这些字形可以组成一个字典或者输出到打印机或显示器。结果,从现在起产生各种形式的主要作为字符外形字形要求的各种变体的效率可以大为提高了。
Claims (14)
1、一种生成字模数据的方法,包括下述步骤:
制备一个表示对应于一个预定字符的第一字模的第一笔划外形数据群;
制备一个表示对应于所述予定字符的与所述第一字模形状不同的第二字模的第二笔划外形的数据群;
制备用于定义在第一与第二图形外形数据的基础上得出第三图形外形数据的图形变换的变换数据;以及
将用所述变换数据定义的所述回形变换应用于所述第一与第二笔划外形数据群借此生成表示在形状上与所述第一与第二字模不同的第三字模的一个第三笔划外形数据群。
2、根据权利要求1的一种生成字模数据的方法,其中:
各个所述第一与第二笔划外形数据具有表示多个控制点的数据;以及
所述第三笔划外形数据群生成步骤包括将用所述变换数据定义的所述图形变换应用在表示所述第一与第二字模的各字符部分的各对第一与第二笔划外形数据中各对应的控制点数据上,借此生成新的控制点数据以构成所述第三笔使外形数据的一部分的辅助步骤。
3、根据权利要求1的一个生成字模数据的方法,其中:
各所述第一与第二笔划外形数据具有多个部分外形数据,每个部分外形数据具有多个控制点数据及至少一个曲线类别数据;以及
所述第三笔划外形数据群生成步骤包括将用所述变换数据定义的图形变换应用在表示所述第一与第二字模的各字符部分的各对第一与第二笔划外形数据中的各对对应部分外形数据中的各对对应控制点数据上,借此生成新的控制点数据以构成所述第三笔划外形数据的一部分辅助步骤。
4、根据权利要求3的一种生成字模数据的方法,其中所述曲线类别数据是表示直线的数据及表示二次Bezier曲线或三次Bezier曲线数据中的一个。
5、根据权利要求1的一种生成字模数据的方法,还包括将所述第三笔划外形数据群变换成字符外形数据的步骤。
6、根据权利要求1的一种生成字模数据的方法,还包括通过一个显示器单元或一台打印机显示或打印由所述第三笔划外部数据群表示的字模的步骤。
7、根据权利要求5的一种生成字模数据的方法,还包括通过一个显示器单元或一台打印机显示或打印用所述字符外形数据表示的字模的步骤。
8、一种用于生成字模数据的装置,包括:
一个第一存储器装置,用于存储表示关于一个予定字符的一种第一字模的一个第一笔划外形数据群;
一个第二存储器装置,用于存储表示关于所述予定字符的与所述第一的模形状不同的一种第二字模的一个第二笔划外形数据群;
一个第三存储器装置,用于存储定义图形的变换的变换数据,以第二图形外形数据的基础上得到第三图形外形外形数据;以及
用于将从所述第三存储器装置中读取的所述变换数据定义的图形变换应用在所述第一与第二笔划外形数据群上的装置,所述第一与第二笔划外形数据群是从所述第一与第二存储器装置中读取的,借此生成表示与所述第一与第二字模形状不同的一种第三字模的一个第三笔划外形数据群。
9、根据权利要求8的一种用于生成字模数据的装置,其中:
各所述第一与第二笔划外形数据具有表示多个控制点的数据;以及
所述第三笔划外形数据群生成装置包括将以所述变换数据定义的所述图形变换应用在表示所述第一与第二字模的各字符部分的各对第一与第二笔划外形数据中各对对应的控制点数据上,借此生成新的控制点数据以构成所述第三笔划外形数据的一部分的装置。
10、根据权利要求8的一种用于生成字模数据的装置,其中:
各所述第一与第二笔划外形数据具有多个部分外形数据,各部分外形数据具有多个控制点数据以及至少一个曲线类别数据;以及
所述第三笔划外形数据群生成装置包括将用所述变换数据定义的所述图形变换应用于表示所述第一与第二字模的各字符部分的各对第一与第二笔划外形数据中各对对应的部分外形数据中的各对对应的控制点数据上,借此生成新的控制点数据以构成所述第三笔划外形数据的一部分的装置。
11、根据权利要求10的一种用于生成字模数据的装置,其中所述曲线类别数据是表示一条直线的数据与表示一条二次或三次Bezier曲线的数据中的一个
12、根据权利要求8的一种用于生成字模数据的装置,还包括用于将所述第三笔划外形数据群变换成字符外形数据的装置。
13、根据权利要求8的一种用于生成字模数据的装置,还包括一个显示器单元或一台打印机,用于显示或打印所述第三笔划外形数据群所表示的字模。
14、根据权利要求12的一种用于生成字模数据的装置,还包括一个显示器单元或一台打印机,用于显示或打印所述字符外形数据表示的字模。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP416994/90 | 1990-12-29 | ||
JP2416994A JPH04242793A (ja) | 1990-12-29 | 1990-12-29 | 文字パターン情報変換方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1062800A true CN1062800A (zh) | 1992-07-15 |
Family
ID=18525155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 91111970 Pending CN1062800A (zh) | 1990-12-29 | 1991-12-28 | 产生字模数据的方法与装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH04242793A (zh) |
CN (1) | CN1062800A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102881033A (zh) * | 2012-08-06 | 2013-01-16 | 孙计良 | 自适应曲线的生成方法及装置 |
CN103578450A (zh) * | 2012-07-31 | 2014-02-12 | 国民技术股份有限公司 | 一种字符显示方法、字符显示装置及安全认证装置 |
-
1990
- 1990-12-29 JP JP2416994A patent/JPH04242793A/ja active Pending
-
1991
- 1991-12-28 CN CN 91111970 patent/CN1062800A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103578450A (zh) * | 2012-07-31 | 2014-02-12 | 国民技术股份有限公司 | 一种字符显示方法、字符显示装置及安全认证装置 |
CN103578450B (zh) * | 2012-07-31 | 2016-02-03 | 国民技术股份有限公司 | 一种字符显示方法、字符显示装置及安全认证装置 |
CN102881033A (zh) * | 2012-08-06 | 2013-01-16 | 孙计良 | 自适应曲线的生成方法及装置 |
CN102881033B (zh) * | 2012-08-06 | 2018-06-19 | 西安科技大学 | 自适应曲线的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH04242793A (ja) | 1992-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109190722B (zh) | 基于满文字符图片的字体风格迁移变换方法 | |
US6577314B1 (en) | Character generation using data of plural types to which differing priorities are assigned | |
CN1103970C (zh) | 文字图形发生装置 | |
CN88102466A (zh) | 产生字形的方法及其系统 | |
JP7287038B2 (ja) | フォント選定装置及びプログラム | |
EP1279501B1 (en) | Ink and water supply controller in printing machine, printing system with such controller, and program therefor | |
CN1088869C (zh) | 一种信息处理装置和一种信息处理方法 | |
CN1062800A (zh) | 产生字模数据的方法与装置 | |
US8253971B2 (en) | Automated production control method | |
JPH1063249A (ja) | 文字パターン生成装置 | |
CN1071976C (zh) | 字符生成方法及装置 | |
CN1052320C (zh) | 轮廓线形成装置和方法 | |
CN1175743A (zh) | 面向书报刊的计算机辅助设计与网上出版方法及其系统 | |
US20050046900A1 (en) | Image outputting system, controlling apparatus, image dividing method, program to execute the method, and storage medium having the program | |
JP2924462B2 (ja) | 文書処理装置 | |
EP0779575B1 (en) | Output synchronization method and apparatus | |
CN106293553A (zh) | 图纸的裁剪方法及装置 | |
CN116543392B (zh) | 一种用于深度学习字符识别的标注方法 | |
CN110097147A (zh) | 图元绘制属性的设置方法、系统、计算机设备及存储介质 | |
JP3444726B2 (ja) | 文字処理装置 | |
EP0454125B1 (en) | Method of producing characters and figures using computer | |
JPS62173472A (ja) | イラスト画的画像の作成方法 | |
CN1700202A (zh) | 系统外字的异地自动取存技术 | |
JP2749858B2 (ja) | 文字処理装置 | |
JPH03107153A (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 | ||
C01 | Deemed withdrawal of patent application (patent law 1993) |