字型产生法及电脑媒介的制作方法

文档序号:6416185阅读:190来源:国知局
专利名称:字型产生法及电脑媒介的制作方法
技术领域
本发明是有关将书写字体或符号作成数字化表现的一种技术,尤指产生书写字体或符号的外围字型于低、高解像度空间上的方法及电脑可阅读的媒体装置。此项技术的应用特征是可从笔划基础的字型资料直接产生外围基础的字型资料,而达到两种基础的字型或符号的表现,皆可同时显示于各种不同解像度仪器上的方法及装置。
本发明是延续台湾专利申请案号87100912号,申请日期九十八年一月二十一日的另一项发明专利案。而该前案更是延伸第86107505号,申请日期九十七年六月二日的另一项发明专利案。
目前市面上已经有很多字型产生系统,可用来产生亚细亚字体家族的字型。一个亚细亚字型是由很多个字形或相关符号所组成。它们的字型产生技术可以依照笔划基础及外围形状基础两类分别叙述如下一种笔划基础的字型技术是采用字形模组资料,包括字形骨干数据、笔划宽度、及形状参数数据,这种技术的典型例子可参看美国专利号4,897,638。另外一种笔划基础的技术是采有笔划的高度、宽度、及曲率点为参数来定义字型,如美国专利号4,990,903。这些笔划基础的技术虽然是属于用高阶描述的方式产生字型,亦即可以在高解像度空间上产生高品质的字型,但是它们没有考虑解像度尺寸(或层级数)相容的问题,使得它们不足以产生在低解像度空间上的高品质的字型。
另外一类的字型技术是采用直线段及曲线段连接成字形外围封闭路径来呈现,这种方式称为外围形状基础的字型技术,例如描述在爱迪生一威斯礼(Addison-Wesley)图书公司在一九八五年为阿多米系统公司(AdobeSystems,Inc.)所出版的一本手册“Postscript Language Tutorial and Cookbook”即为其中一例.此种方法是将字形的外围形状以直线段及曲线段的组合表示,且在输出时可再将其形状转化,例如放大、缩小、旋转、或其他变形,皆能得到高品质的字型输出。由于外围形状是以图形的方式储存,不但转化容易,而且可用相对少量的存储装置来储存高品质的字型资料;但是当字数增加时,储存装置的空间就会随的增大。一般而言,此种方法比较适合于产生高品质英文体系的字型,用于产生中文体系的字型则是属于中度量储存的一种方法。
通常外围基础的字型资料是很难自动转换成为笔划基础的字型资料;反之笔划基础的字型资料仅能产生字型的涂黑输出。若要它产生外围基础的字型资料则需花费很大的力气去消除重叠的部份笔划。换言之,这两类字型资料在目前的技术里是很难互相转换的。然而这两类字型资料在目前的输出仪器上各有其需求。例如笔划基础的字型资料适用于低存储量的输出仪器,而外围基础的字型资料适用于高品质的打印机。由于互相转换字型资料的困难问题,于是造成字型资料在不同输出仪器上流通的不便及困难。
因此本发明的目的即在提供一种技术来消除上述的缺点,并可进一步地据此技术做为未来发展相关技术的基础。例如在中文文件的分析和中文字形及字体的辨认等相关技术上。更具体而言,本发明目的是在提供一种方法、装置、和电脑可读取媒体可用来产生笔划导向图样为基础的外围字型资料,且使得该字型资料可以在不同解像度需求的输出仪器上使用。
本发明的可以按下述方式实现,本发明是揭露一种与解像度无关的字型影像的产生方法,据此方法可以产生字型影像并显示在任何一个事先预定的解像度的输出仪器上。每一个被产生的字型影像是由一组基本笔划导向图样为基础所定义。此种方法选一个字型显示在输出仪器上,并撷取预存基本笔划导向图样来建造该字型。该预存基本笔划导向图样包括有外显及隐含的两种数据资料,外显数据资料包含至少一个笔划码的预制关键点和宽度。而隐含数据资料包含定义图样形状的特征点以及曲线段的参数值,其中的特征点、曲线值、及解像度的层级定义了一个图样的外围曲线上笔划互相重叠相交的资讯。其次,本发明方法藉由这些被撷取笔划导向图样码里的各个所预定及预存的外显及隐含数据资料来呈现对应各个解像度层级的图样形状。
本发明的进一步包括当采用笔划导向图样方法产生点矩阵字型时,亦包含将每个被产生的图样外围形状作呈现的动作,包括画边线及著色涂黑的呈现动作。
本发明的进一步包括笔划导向图样的定义里的曲线段相交的资讯,是和解像度层级结构树及其对应在各个层级的特征点和曲线值息息相关。
本发明的进一步包括图样在显像空间的涂黑动作的过程中所需要决定的图样形状,是和定义图样所根据解像度层级结构树所预存的层级数有关,亦即显像空间维度决定被撷取的对应层级里的数据资料,而这些资料会依据该图样在字型空间上的预存关键点的位置,来决定其在显像空间上的图样形状。
本发明的进一步包括用一个图形界面工具让使用者可以用一组基本笔划导向图样集去定义一组字型,其中每一个字型是用至少一个笔划定义,而笔划是由至少两个关键点及至少一个宽度值,及依照笔形生成所定义的特征点、曲线值、和显像度层级数来产生其在显像空间上的笔形。此图形界面工具让使用者可以从一组字型中撷取相似的图样,其中每个图样至少包含一个笔划。如果这些相似图样是由一些笔划重叠相交所组成时,此工具可以让使用者根据被选定的各个不同显像度层级数所对应的曲线段以叙述的方式来定义这些笔划相交点,使得这些被定义的相交点可以在不同层组数完全依照叙述方式被计算出来,其结果并可以在反算过程中显示各个相似图样形状于画面上时得到验证,然后工具就依照使用者观看这些画面的效果,将笔划资料以及它们在各个不同显像层级数的笔型相交资料储存起来,以构成定义一个基本图样的外显及隐含的参数数据,做为提供此工具再进一步的造字工作。
综上所述,在引述以上的一些目前字型技术的缺点后,本发明提供一种新颖且进步的笔划导向图样的组字方法。其目的乃是在提供一种方法、装置、和电脑可读取媒体可以有效地贮存字型外围形状相关的数据资料,亦即采用笔划导向图样为基础的外围字型资料,以及根据这些被储存的外围形状相关的数据资料,以有效地将字型呈现出来,包括将字型涂黑成点矩阵的输出动作。
本发明的各项优点及观点,可从以下的附图及详述的优先实施例中,得到更深入的了解,其中的附图有

图1是执行本发明方法所使用的一种广义计算机及打印机的示意图。
图2(1)是用以表示建造本发明方法的笔划导向图样基础字型的流程图。
图2(2)是用以表示呈现笔划导向图样字型的显像动作的流程图。
图3(1)示范出从关键点位置及宽度值决定特征点位置及曲线形状,并撷取其中一条二次贝兹曲线段从事远缩近放的示意当做其几何说明。
图3(2)~(7)示出电脑辅助设计工具上从事制订曲线结构树的层级的过程画面。
图3(8)示出经由图3(2)~(7)的程序所产生的结构化的曲线资料。
图3(9)~(13)示出指定点矩阵尺寸范围对应曲线结构层级数的过程画面。
图4~图8示出图2(1)所述具有相似图样的一些字型的例子。
图9示范出呈现一个字型图样“中”字的外围线段的一种追迹技术。
图10示出“中”字的直笔的关键点不被标示(不被移动)及被标示(被移动)分别得到的二张显像画面。
图11示出“哑”字在启动直笔对称的暗示情报前及启动后的提示效果。
图12(1)~(2)示出“逢”字在启动水平笔位调节的暗示情报前及启动后的提示效果。
图13(1)~(2)示出“鲹”字在启动垂直笔位调节的暗示情报前及启动后的提示效果。
图14(1)~(2)示出“亚”字在启动平衡(白点)空隙的暗示情报前及启动后的提示效果。
图15是曲线结构层级数对应点矩阵尺寸范围的示意图。
图16~图18示出经由本发明方法呈现一些亚细亚字字型于不同解像度空间24×24(0层级)、48×48(1层级)、128×128(3层级)解像度空间上的范例。
图1示出实施本发明方法及装置系统的示意图。图中表示用一部广义用途的数字计算机10匹配一部打印机12的系统,当配置有一视窗型的软体作业系统,例如视窗九五(Windows 95TM,),就可以完全实施本发明的方法。打印机12及数字计算机10的显像萤幕可以印出及显示低解像度(如点矩阵)或高解像度(如激光)的品质,其他型态的电脑系统,例如纲路型或大型系统,在提供相容的视窗作业系统的条件下,亦可用来实施本发明。
本发明所产生外围字型的数据,是和打印机的标准描述档案(.pdf)以及其他外围字型的数据格式是相容的。且这些可以在不同仪器上操作的外围字型数据,具有从一组单独的数据集来产生不同层级的细部外围形状的特性。
本发明提供一个系统来产生定义字型的一组单独的数据集,以及从这些被产生的数据集来建造外围字型的组成数据。此单独的数据集是用来描述在多层级的各个不同解像度的字型生成,本系统是藉由从预先定义的基本笔划的资料库中撷取产生必要的图样集的资讯来定义字型的生成。每一个图样至少包含一个单独的笔划,或者包含多个相交的笔划。一组基本图样集是一个缩简的图样集,它们是用来代表所有出现在字模字型的图样的拓璞外围形状。用这种笔划基础图样所定义的方法来产生一组外围字型的步骤是如图2(1)所示,且其细节将在以下描述。图2(2)示范出藉由图2(1)的程序所定义的重建笔划基础字型成为外围基础字型的过程。图3~图8示范出本发明的一些例子,其细节将在以下描述,且这些例子仅提供示范说明用。
图2(1)的步骤示范出如何从预先定义的笔划基础字型集去产生基本外围图样的步骤。这些预先定义的笔划基础字型集,是由一些预制的关键点及宽度值在多个层级解像度的字型空间上所定义的字型。笔划基础字型的基本笔划的定义可用以下的方程式表示Si=fi({Kj},{Wm},L),i=1,……n其中S=笔划形状i=笔划码fi=产生笔划码为i的笔划形状的演算法k=输入关键点位置j=在笔划码为i的关健点码w=输入宽度值m=在笔划码为i的宽度码L=输入解像度层级每一个笔划是由一组贝兹三角形(曲线段)定义其外围形状,且这些贝兹三角形的数目会根据不同打印机或显像仪器所输入解像度层级的不同而撷取到不同数目的曲线段来生成在一个字型里的笔划形状。
图3(1)~图3(7)示范出如何使用一种电脑辅助工具来定义一个笔划在L层级解像度的曲线值。字型设计人员在电脑辅助工具上创造足够的曲线资讯供低解像度显像使用,以及更足够的曲线的资讯描述更细部的形状供高解像度显像使用,并将这些曲线资讯储存成为一个对应树状层级的表格数据结构。
这种电脑辅助工具会首先在二个特征点间产生它们的连线并在连线中点产生一个可游动的中间控制点,采用一个二次贝兹曲线计算式产生一条二次贝兹曲线段于二个特征点及中间控制点所构成的贝兹三角形内,产生二次贝兹曲线的几何图形就如图3(1)所示一条二次贝兹曲线是伴随着一个三角形,三角形的首尾二个端点P1和P2是特征点,顶点Pm是可游动的中间控制点,此三角形又称为贝兹三角形。同时,在贝兹三角形的底线P1P2的中点和顶点Pm之间连接一条线段,则被产生的贝兹曲线段145通过此线段的中点146,且该线分别在P1和P2点上和P1Pm及P2Pm相切。
如图3(2)所示,字体设计者需在电脑辅助设计工具上从事曲线结构化的描述程序,以提供可分别在高解像度及低解像度显像的所需数据结构。首先一字体设计者在二个相邻特征点间产生一个贝兹三角形及贝兹曲线段,其次再根据曲线段细切规则,在每次的替代过程中将每个考虑中的曲线段分成二小段,使二个特征产生更多的中间控制点来渐次逼近高解像度所需的曲线形状。例如图3(1)所示若字体设计者想要制作细切曲线上段部份145的程序,则字体设计者选择在特征点P1和点146连线间作细切曲线的指令,这时画面会出现可游动的中间控制点于该段连线的中点上,移动中间控制点产生贝兹三角形及贝兹曲线以完成如图3(1)所示的另一个细部曲线段逼近的替代动作。
在图3(2)~图3(7)所示的过程中,字体设计者指定各个中间过程中分别被产生的结构化曲线段的曲线层级码,字体设计者可以将二个特征点间的一条曲线详细定义其细切成有层级结构的很多个小曲线段,层级愈多愈能满足高解像度显像的所需,同时亦可用层级较低的曲线段数据来提供低解像度显像用,所以曲线层级码的设定提供了解决高解像度和低解像度资料并容的问题,这项发现亦是本发明的重点所在。
每一曲线层级的节点代表一组中间控制点或其比例值在该树状数据结构中的兄弟节点,它们的层级代码被储存在存储器,作为代表二个相邻特征点间描述该层级细分曲线段的中间控制点或其比例值的数据群。
以下是依据上述说明来描述图3(2),字体设计者搜取曲线层级的视窗147,及在方框149键入一曲线层级码为0,此时会有一个中间控制点P1出现在相邻特征点PA和PB之间,请注意到中间控制P1是位于较靠接近特征点PA的图三(3)工作区65里,此时曲线层级为第0层所储存的点数据是(PAP1PB)。
在图3(4)示出字体设计者在曲线视窗147上定义曲线层级为第1层的状况,如图3(5)所示,P1是PA和PB连线上一点切割曲线成二段的地方,因此将在PA和P1间的曲线段细分成二段,其中P0是其分别被指定的新的中间控制点,而由于P1和PB间的曲线形状在层级等于1上已经吻合字体设计者的要求,因此该段不必再细切,使得第1层级是由曲线段(PAP0P1)和曲线段(P1P3PB)所构成。图3(6)中示出字体设计者在曲线视窗147定义曲线第2层级的状况,如图3(7)所示,字体设计者将P1和P3间的曲线段及P3和PB间的曲线段分别再细切成二段,产生了新的中间控制点P2和P4于分别的曲线段上,使得第2曲线层级是由第一曲线段(PAP0P1)、第二曲线段(P1P2P3)、及第三曲线段(P3P4PB)所构成。
图3(8)示出由步骤如上述图3(2)~图3(7)所定义的整个曲线段(代码等于0),它是笔划代码0所储存部份数据资料,显示该笔划代码在该曲线段的数据结构。笔划代码0是由二个定义在视窗(341,31)和(38,344)上的关键点,以及二个宽度参考值10和20为其外部显现的数据资料。其内部隐含的数据资料包含特征点及结构化曲线值,其中图3(8)代码为0和1的二个相邻特征点是依据它们和关键点及宽度的空间关系值为数据储存。图3(2)~图三(7)所示相邻特征点PA和PB间的曲线段代码为0,是以各节点至PAPB(PA和PB连线)的距离比例为它们的数据被储存,其中的树状结构143是以Infix标记144的列表方式储存。在树状结构143中,二个特征点PA和PB间的结构化曲线段是用贝兹三角形顶点(中间控制点)至底线的比例值的数据储存,而结构化层级则代表由低至高解像度的各该数据资料的撷取范围,例如树状结构143的最上层节点P1被归在第0层级是属于曲线层级为0的节点(参见图3(2)~图3(3)),因此PAP1PB是对应第0层级的曲线段。同理,树状结构143的第二层节P0和P3被归在第1层级,它们是属于曲线层级为1的节点(参见图3(4)~图3(5)),因此PAP0P1和P1P3PB是对应第1层级的曲线段,在该层级上是属使用P0和P3的比例值。依此类推,当一曲线层级的节点比例值建造完成后,它就会根据层级数被用来产生对应的中间控制点及它们的贝兹三角形或贝兹曲线段。据此可知中间控制点的比例值是依解像度的需求分层级一次被建构完成并被储存成线状列表的Infix标记144,所以,这种方式的曲线段表现,是以最少储存空间就可提供不同解像度空间上显像的使用,甚中线状列表的Infix标记144是树状结构143的一种储存方式,其他的线状标记,如Postfix或Prefix标记亦同样适用。
当每层级的曲线数据如图3(2)~图3(7)所示步骤完成后,字体设计者就指定每个层级数去对应某个点矩阵尺寸的范围,其情形的示意图如图15所示,因此任一点矩阵尺寸的字型显像皆有一对应的曲线层级数,可以自动地找出适合该尺寸使用的曲线数据值。例如,若某一曲线段的曲线数据是提供低解像度较小点矩阵尺寸显像使用时,当使用一个中间控制点(层级数等于0)与多个中间控制点层级数大于0)的曲线数据分别显像后,观察到它们所产生的效果几乎一样或者前者(低层级数)的效果较好时,则字体设计者当然会决定指定该点矩阵尺寸的对应曲线层级数为0,因为这样会使计算曲线形状的时间最少且最适合在显像的运算。
如图3(9)所示,字体设计者在设计者电脑辅助工具的主画面的下拉清单上选Add Level的指令150,来做设定每个被储存层级的点矩阵尺寸的范围。如图3(10)所示,选Add Level指令150就添增一个叠在其上的AddLevel视窗152,其内包含一个设定点矩阵尺寸范围的区块154,以及一个层级数对应尺寸范围的显示区域156。在图3(10)的例子,字体设计者键入点矩阵尺寸为24于区域154里,因此,如图3(11)所示,在显示区域156内会指示所有点矩阵尺寸24×24及以下的尺寸皆使用层级数为0的曲线数值。在图3(11)里,字体设计者输入下一个最高点矩阵范围=64在区块154里,因此,如图3(12)所示,显示区域156就示出对应层级数为1的点矩阵尺寸范围是由25至64。最后在图3(12)里,字体设计者输入点矩阵尺寸256在区块154里,因此如图3(13)所示,在显示区域156就示出对应层级数为2的点矩阵尺寸范围是由65至256。如此的指定方式就可完成如图15所示的曲线层级数与点矩阵尺寸范围对应的建表工作。
此时字体设计者变可在对应层级上指定在那个层级数及以下时该从事使用暗示情报,提示字型的每个笔划在低解像度点矩阵空间上的微调方式。例如字体设计者选择层级数是1及0者为暗示情报的设定层级,则上述图3(2)~图3(4)的例子中,所有设定层级数及其下者(1和0层级)将会在其笔形产生过程中启动各个被标示有暗示情报的关键点,移动它们以产生微调的笔形,这种产生笔形微调的提示动作将会在下面的叙述中作更详细的说明。
图4示出一个预先定义的笔划码为340的基本笔划,基本笔划340包含关键点K0及K1、一个宽度W0、特征点F0-F2、及曲线控制点P0-P8。其中控制点的数目是是根据解像度层级的呈现需求做细分一个基本笔划的曲线及副曲线,其数目等于贝兹三角形的端点数目。菱形控制点P0、P2、P4、P6、及P8定义副曲线的端点,而正方形控制点P1、P3、P5、及P7定义副曲线的中间控制点。当连接特征点F0-F4之间所有的控制点P0-P8皆被取用时,由于其曲线段细分的密度甚高,笔划340明显地可提供更高解像度层级输出仪器使用。一个高解像度层级输出仪器的例子是激光打印机。当笔划340只有部份控制点被取用时,由于曲线段细分的密度较低,它仅提供低解像度输出仪器使用。一个低解像度层级输出仪器的例子是点矩阵打印机。
图5所示出从笔画基础字型建造图样基础外围字型的过程的例子。如图5列向的笔划字型所示,它们具有相同重叠笔划的图样可以用来组合这些字型。例如,列向A的每一个字型皆包含两个笔划导向的图样351,它是由两个笔划350及352所构成。其他列表包含的字型具有和图样351类似的图样。但是在列向B-D的相似图样上由两个不同笔划码所组成。若这些字型的显像输出是取用一个基本图样时,则在列向A的图样351将被选取用来定义该基本图样,因为基本笔划350及352的出现的次数为最多,所以如图6所示的笔划350及352组合的图样351就被选取用来定义一个基本图样,用来表示在图5那些字型的共用特征的图样。
图7(1)示出图样351的两个笔划350及352的一个交点360。图7(2)示出交点360系属于那两个对应的笔划码相交得到,以及是由那些曲线和副曲线的编码的曲线段座落处得到。在这个例子里,视窗362指出笔划350的笔划码为180,交点360出现在曲线3及副曲线1上。而且,第二个笔划352的笔划码为9,交点360出现在曲线5及副曲线0上(0指示在此曲线段上没有副曲线)。一旦确认笔划交点的所有曲线及副曲线的座落处决定后,它们就和如图5列向B-D所示的其他相似图样作比较。如果曲线及副曲线的座落处和上述的情况不一样时,就必须再另外产生一个新的基本图样,可以确认不同曲线及副曲线的相交点的决定,否则只要记录不同的基本笔划码于外显字型资料即可。
图8(1)及图8(2)示出当执行消除重叠演算法后的基本图样351的外围形状。由于重叠线段的部份不需要追踪,所以它们的资讯就不被记录下来。换言之,只要记录下笔划相交的资讯,然后再应用消除重叠演算法即可得到图样的外围形状。
具体而言,消除笔划演算法系一种非零绕境规则,非零绕境规则系一个程序规则用以决定一个图样的重叠笔划追踪的外围形状,及用以产生一个基本图样的明暗呈现动作。非零绕境规则可以是右手规则或是左手规则。在图9的例子系采用左手规则来追踪图样370。根据左手规则所有外面的图样外围是用一个逆时针方向的追踪如外图374所示,以及所有里面的图样外围是用一个顺时针方向的追踪如外围376所示。而且左手规则会使得被填充区域总是在追踪方向的左手侧,如外围374及376所示的左侧涂黑区域。
字体设计者可以藉着暗示关键点的微调来提升字型在低解像度空间显像的品质,暗示情报可微调笔形,以避免各笔形挤成一堆,并可保持笔形对称的一致性。为了设定暗示情报,使用者仅需指定那个关键点在低解像度空间时,需要微调的动作,换言之,设定暗示情报的动作只需对欲被微调的关键点作标示。
暗示情报会驱动关键点及其相关特征点的位置的重新计算。一个被标示的关键点会先被移至其显像格子(图素)的中心位置,图10(1)及图10(2)示出关键点387a及388a被标示及不被标示的两种显像状况,在图10(1)中关健点387a及388a皆不被标示,因此笔形389a的外围形状在低解像度空间上,因为外围形状分别覆盖二行显像格子的50%以上,而占据了两行显像格子。相反地如图10(2)所示,关键点387b及388b皆被标示,它们会被移至显像格子的中心位置,此时,笔形389b的外围形状占据一行图素(四舍五入后)的区域,所以笔形189b会保持在一行的显像格子。
图11(1)示出另一项从事启动暗示动作的技巧,例如图11(1)左边所示的字型,为保持该字型在直笔方向的笔形的整洁性,其垂直笔划皆需有两个图素的宽度。但是由于直笔位置通常系跨越在两个相邻图素网格之间,使得有的直笔范围系以占据一个图素风格被启动,而有的直笔范围则是以占据两个图素网格被启动(指涂黑动作的启动),此种造成不一致直笔宽度的情形就如图11(1)右边的点矩阵字型所示。为了保持一些近似相等宽度的直笔在点矩阵输出时的宽度的一致性,须先决定每一直笔所占的宽度范围和占据的图素网格数,若该被决定的网格数系为奇数,则将每一笔直的被标示关键点移至该点座落的网格的中心位置;反之若为偶数则移至最靠近的网格线上。如图11(2)所示,当所有直笔的关键点皆被移至它们分别最靠近的网格线上时,就能保持该点矩阵字型的直笔宽度的一致性。
如上所述,字型在低解像度显示其点矩阵字型时,一字型里的水平平行或垂直平行的笔划,通常会伴随着叠合或分离的现象,而造成平行笔划不均衡的显像,例如中间水平笔划会因为上下叠合其他水平笔划或者中间垂直笔划会左右叠合其他垂直笔划,而造成字型在该叠合部份产生不均衡的现象。图9~图11示出可能发生这个问题的现象以及本发明的解决之道。
如图12(1)所示的三个水平笔划420、422、424,叠合是发生在二个水平笔划420和422上,这种情形是不能被接受的,因为该三个笔划皆应个别分离于其显像上。以下的规则可以舒解上述上叠合的问题;(1)最上的笔划可以往上移一格。(一个图素网格),(2)最下的笔划可以被允许往下移一格。因此,据此规则的舒解程序为若察觉有叠合的情况,首先查看最下的笔划是否可以往下移一格,否则,查看最上的笔划是否可以往上移一格,查看的方法是检查将笔划的标示关键点上下移动是否会造成和其他笔划叠合,叠合的检查系由笔划宽度值被其标示关键点移动后的加减程序得知。图9的例子所使用的规则系水平笔划的间距至少一格且笔划426至少有一个网格在最下端突出,图12(2)示出依上述程序上下移动三个水平垂直笔划所得到的结果。
如图13(1)所示的三个垂直笔划430、432、434、,不均衡分布系发生在笔划432的中心位置较靠近笔划434(距离为一格)而较远离笔划430(距离为二格)的情形,这种情形是不能被接受的,因为该三个笔划应保持对称于其显像上。以下的规则可用以解决不对称问题(1)查看两笔划间是否最小的白点空间可以被扩大,若不能则(2)较大的白点空间是否可以被缩小,使得缩小的白点空间和最小者一致。上述查看的方法是检查笔划的标示关键点左右移动,再由两个笔划间宽度值相减的分布得知。图10(1)的例子所使用的规则系将笔划434往右移一格使得它和笔划432间的白点空间距离为两个图素,因此而得到和笔划432和其左边笔划430之间具有相同的白点空间。若右边笔划434不能右移(发生会和其他笔划有交叉且一边突出的情况),则左边笔划430会靠向笔划432移一格而缩小它们的白点空间,图13(2)所示根据上述规则所得到的结果。
图14(1)示出可能发生四个平行垂直笔划应一致却不一致的点矩阵字型显像的情况。如图14(1)左边字型所示,在两个笔划442和446之间白点间距以及两个笔划440和442之间的白点间距皆为三个图素网格,但是在二个笔划446和448之间的白点间距却是两个图素网格,此种情形的舒解方法如前所述的直笔对称的处理程序,图14(2)示出将右笔448向右移一格而使直笔的显像对称的情形。
低解像度显像时经常会造成一个图样里的平行笔划重叠连接在一起的情形,或者造成多个平行笔划异常地不均匀分布的情形。例如一个图样的中间笔划因为四舍五入的关系使得它更靠近左侧笔划而较较远离右侧笔划,或者形成比较窄或比较宽的笔形呈现。这些现象可以透过重新移动笔划关键点的位置而得到改善。换言之,当一个图样在一个低解像度字型空间上显像时,其组成笔划可能产生扭曲的图样。为了避免扭曲图样的产生,它们所组成的笔划资料亦需带有暗示的动作,这种更正资讯会使得在开始产生扭曲状况的解像度层级以及更低解像度的层级里可以有微调关键点位置的动作。更正资讯系依照在不同解像度层级所显像的效果来决定关键点移动的方式,其方式包含将关键点的位置移至网格中心或者移至网格的边缘。
字型产生技术是字型构建技术的逆向处理过程。当一个图样基础的字型被要求显像时,首先根据解像度层级决定是否要启动暗示情报,若要启动时则将每一个被标示的关键点从其座落的点矩阵网点(图素)移至网点中心或网格的边缘,每个不被标示的关键点就不被移动;然后特征点位置就根据新得到的关键点位置及宽度值去计算求得,并在每对相邻特征点间根据被储存中间控制点的比例值,去计算出它们之间的曲线段,将曲线段连接起来就得到笔形的外围形状,最后用一种涂黑技术将笔形外围形状所包围的区域涂黑技术是根据预定的规则去启动图素是否为黑点,本发明采用的规则是根据;若图素的面积被笔形区涵盖达一半以上者;或者若图素的中心点落在笔形区域内时,则将输出仪器的该图素涂黑。当然其他型态的涂黑技术亦可用以完成字型的产生。
至于在那个解像度层级以下才启动暗示情报这件事系由字体设计人员所决定。例如若字体设计人员指定图3(2)~图3(13)的层级1为启动暗示情报的层级,则所有低于层级1(包括层级1)的标示关键点将会展示其暗示动作于各项相关的计算上,换言之用移动后的关键点位置重新计算特征点位置以及计算适当层次的曲线数据值,而高于层级1的显像时就不会移动关键点的位置,依原建构的关键点及特征点的位置关系计算曲线数据值,并且字型依照层级数呈现的情形会如图15所示,使得任一点矩阵尺寸的字型显像皆有一对应的曲线层级数,可以自动地找出适合该尺寸使用的曲线数据值。
图16~图18示出经由本发明的方法处理后的一些字型输出例,图16是明体字型在24×24低解像度的一些点矩阵字型,图17是48×48解像度的输出(注48及以下的输出皆含有暗示动作的处理),图18系128×128解像度的输出(注勿需暗示动作的处理)。
一旦本发明的优先实施例被揭露及详细叙述后,明显地,熟悉此项技艺的人士就不难根据本发明的精神及范围做出各项改变,来达成与本发明一样的目的。
权利要求
1.一种字型产生方法,用以产生保持字型风貌于各解像度空间的字型点矩阵影像,并显示于不同解像度空间需求的输出仪器上,其特征在于每一个被产生的字型是由一组笔划导向图样所定义,此种方法包括下列步骤(1)选一字型显示于输出仪器上;(2)撷取于该字型相关的预存笔划导向图样,其中预存的笔划导向图样包含有外显及隐含的数据;(3)决定输出仪器的解像度空间的范围;(4)呈现被撷取的笔划导向图样于字型空间上以产生该字型,是根据输出仪器的解像度的层级,以及其相关预存笔划导向图样的外显及隐含数据值。
2.根据权利要求1所述的字型产生法,其特征在于第(1)步的每个图样至少包含一个笔划的资讯。
3.根据权利要求2所述的字型产生法,其特征在于定义一个图样的各个笔划的外显数据包含关键点和宽度。
4.根据权利要求2所述的字型产生法,其特征在于定义一个图样的各个笔划的隐含数据包含特征点及曲线值,且在该图样的重叠笔划相交的资讯,系由特征点、曲线值、及输出仪器的解像度层级所定义。
5.根据权利要求1所述的字型产生法,其特征在于第(4)步的呈现被撷取的笔划导向图样于字型空间上以产生该字型,更进一步地包含将图样里相交笔划的外围形状涂黑以呈现每一个图样。
6.根据权利要求5所述的字型产生法,其特征在于特征点、曲线值、以及曲线段相交的资讯,是和解像度层级范围有关,亦即解像度层级会影响特征点、曲线值、以及曲线段相交点在字型空间上的实际位置。
7.根据权利要求5所述的字型产生法,其特征在于更进一步地包含呈现一个图样在字型显像空间的手段,该手段会根据输出仪器的显像度层级来微调图样形状,亦即会藉由移动原预存关键点位置后再来计算特征点、曲线值、以及曲线段相交点,以达到微调图样形状的效果。
8.一种字型产生方法,其特征在于笔划基础的字型系由至少一个笔划所定义,每个笔划的形状系由至少两个关键点和至少一个宽度值,以及特征点和曲线段(或曲线比例值)所定义,且在呈现笔划形状时是与解像度层级范围相关,此种方法包含(1)从一组笔划基础字型撷取相似图样,其中一个图样至少包含一个笔划;(2)若相似图样包含重叠相交笔划时,则决定在不同解像度层级的重叠笔划分别的曲线段的相交状况;(3)测试相似图样在各个字型上是否可被正确生成,亦即它们皆有相同的重叠笔划相交状况,以决定用一个基本图样来定义这些相似图样;(4)储存相似图样的笔划资讯以及它们在不同解像度层级的相交曲线段,以构成一个基本图样;(5)重复(1)~(4)的步骤,一直到一组笔划基础字型的所有字型皆可被基本图样所确认为止。
9.根据权利要求8所述的方法,其特征在于更进一步地包含将对应的笔划基础字型以基本图样传送的动作。
10.一种字型产生法的电脑媒介,是以数据结构编码为主体,并可用将其码转化成字型影像显示于不同解像度空间需求的输出仪器上,其特征在于每一个被产生的字型是由一组笔划导向图样所定义,此种方法包含下列步骤(1)选一字型显示于输出仪器上(2)撷取于该字型相关的预存笔划导向图样,其中预存的笔划基础图样包含有外显及隐含的数据;(3)决定输出仪器的解像度空间的范围;(4)呈现被撷取的笔划导向图样于字型空间上以产生该字型,是根据输出仪器的解像度的层级,以及其相关预存笔划基础图样的外显及隐含数据值。
11.根据权利要求10所述的电脑媒介,其特征在于第(1)步的每个图样至少包含一个笔划的资讯。
12.根据权利要求11所述的电脑媒介,其特征在于定义一个图样的各个笔划的外显数据包含关键点及宽度。
13.根据权利要求12所述的电脑媒介,其特征在于定义一个图样的各个笔划的隐含数据包含特征点及曲线值,且在该图样的重叠笔划相交的资讯,系由特征点、曲线值、及输出仪器的解像度层级所定义。
14.根据权利要求10所述的电脑媒介,其特征在于第(4)步的呈现被撷取的笔划导向图样于字型空间上以产生该字型,更进一步地包含将图样里相交笔划的外围形状涂黑以呈现每一个图样。
15.根据权利要求14所述的电脑媒介,其特征在于特征点、曲线值、以及曲线段相交的资讯,和解像度层级范围有关,亦即解像度层级会影响特征点、曲线值、以及曲线段相交点在字型空间上的实际位置。
16.根据权利要求14所述的电脑媒介,其特征在于更一步地包含呈现一个图样在字型显像空间的手段,该手段会根据输出仪器的显像度层级来微调图样形状,亦即会藉由移动原预存关键点位置再来计算特征点、曲线值、以及曲线段相交点。
17.一种字型产生法,其特征在于笔划基础的字型是由至少一个笔划所定义,每个笔划的形状系由至少两个关键点和至少一个宽度值,以及特征点和曲线段(或曲线比例值)所定义,且在呈现笔划形状时系与解像度层级范围相关,此种图形界面工具包含(1)从一组笔划基础字型撷取相似图样的手段,其中一个图样至少包含一个笔划;(2)若相似图样包含重叠相交笔划时,则决定在不同解像度层级的重叠笔划分别曲线段的相交状况的手段;(3)测试相似图样在各个字型上是否可以被正确生成的手段,亦即它们是否皆有相同的重叠笔划的相交状况,以及决定用一个基本图样来定义这些相似图样的手段;(4)储存相似图样的笔划资讯以及它们在不同解像度层级的相交曲线段,以构成一个基本图样的手段;(5)重复(1)~(4)的步骤,一直到一组笔划基础字型的所有字型皆可被基本图样所确认为止的手段。
全文摘要
一种在电脑系统及电脑可读媒介上的字型产生法,一个基本笔划的属性包含至少两个关键点及至少一个宽度值的笔划码所表现。电脑处理器撷取由基本笔划集定义的一组代表性的字型,并在该组字型上确认一群相似图样,每个图样是由基本笔划集里的一些笔划重叠组合而成。处理器从每个被确认相似图样集中选择一个拓璞代表性的图样,来决定此基本图样的重叠基本笔划相交点的计算方法,用以产生该基本图样的外围形状的曲线值数据,根据这些被产生的图样外围形状数据值来呈现字型于输出仪器上的显现或存储。
文档编号G06F17/20GK1234564SQ99100828
公开日1999年11月10日 申请日期1999年2月23日 优先权日1998年2月23日
发明者郑国扬 申请人:华康科技开发股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1