CN105513006B - 一种TrueType字体轮廓粗细调整方法及装置 - Google Patents
一种TrueType字体轮廓粗细调整方法及装置 Download PDFInfo
- Publication number
- CN105513006B CN105513006B CN201410547453.6A CN201410547453A CN105513006B CN 105513006 B CN105513006 B CN 105513006B CN 201410547453 A CN201410547453 A CN 201410547453A CN 105513006 B CN105513006 B CN 105513006B
- Authority
- CN
- China
- Prior art keywords
- profile
- point
- truetype font
- triangle
- truetype
- 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.)
- Active
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供一种TrueType字体轮廓粗细调整方法及装置,其中方法包括:读取待调整的TrueType字体的轮廓数据;对轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;对离散化处理后的轮廓数据的TrueType字体的轮廓进行Delaunay三角划分处理;提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;对于待调整的TrueType字体的轮廓上的各点,确定各点对应的骨架线上的对应点,在各点与对应点的连线上依据调整类型,选取各点对应的新轮廓点;将各点对应的新轮廓点连接形成的轮廓作为调整后的TrueType字体的轮廓。本申请提高了TrueType字体的轮廓粗细调整的效率。
Description
技术领域
本发明涉及字形调整技术领域,更具体地说,涉及一种TrueType字体轮廓粗细调整方法及装置。
背景技术
TrueType字体是一种可用数学函数描述字体轮廓外形的新型数学形描述技术,TrueType字体含有字形构造、颜色填充、数字描述函数、流程条件控制、栅格处理控制、附加提示控制等指令。
TrueType字体的轮廓粗细调整是TrueType字体设计的一个方面,TrueType字体的轮廓粗细调整主要是指,对TrueType字体进行加粗或变细;目前TrueType字体的轮廓粗细调整的方式主要为:采用人工方式通过编辑工具对TrueType字体的轮廓粗细进行编辑,进而实现对TrueType字体的轮廓粗细调整。然而,这种方式存在TrueType字体的轮廓粗细调整效率降低,进而导致TrueType字体的设计周期较长,设计成本较高的问题。
可见,提供一种TrueType字体轮廓粗细调整方法,以提高TrueType字体的轮廓粗细调整效率,缩减TrueType字体的设计周期和成本,成为本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种TrueType字体轮廓粗细调整方法及装置,以解决现有技术存在的TrueType字体的轮廓粗细调整效率降低,导致TrueType字体的设计周期较长,设计成本较高的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种TrueType字体轮廓粗细调整方法,包括:
读取待调整的TrueType字体的轮廓数据;
对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行德劳内Delaunay三角划分处理;
提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
将各点对应的新轮廓点连接形成的轮廓,作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
其中,所述TrueType字体轮廓粗细调整方法还包括:
将各点对应的新轮廓点连接形成的轮廓中自交的轮廓,按交点分解成若干轮廓;
去除所述若干轮廓中的不合理的轮廓,保留所述若干轮廓中的合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
其中,所述对所述轮廓数据进行离散化处理包括:
对于表示待调整的TrueType字体的轮廓曲线的贝塞尔曲线参数方程
将参数t等分为M等分,求得曲线上M个x和y的坐标
值,其中,坐标x和y都是t的参数。
其中,所述对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理包括:
采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形;
判断所组成的三角形是否是Delaunay三角形;
若所组成的三角形是Delaunay三角形,则将该所组成的三角形从轮廓上切除;
持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
其中,所述判断所组成的三角形是否是Delaunay三角形包括:
若所述离散化处理后的轮廓数据对应的TrueType字体的轮廓中,除所组成的三角形外的其他边界点,要么不包含在该所组成的三角形的外接圆内部,要么包含在该外接圆内部,但该其他边界点与三角形顶点的连接线不是全部都在该TrueType字体的轮廓围成的区域内,则确定所组成的三角形是Delaunay三角形。
其中,所述TrueType字体轮廓粗细调整方法还包括:
对于待调整的TrueType字体的轮廓上的线外点,在线外点所在的贝塞尔bezier曲线上取t=0.5的点,确定轮廓粗细调整后该t=0.5的点对应的轮廓点,通过该轮廓点反求对应的线外点。
本发明实施例还提供一种TrueType字体轮廓粗细调整装置,包括:
读取模块,用于读取待调整的TrueType字体的轮廓数据;
离散化模块,用于对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
三角划分模块,用于以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行德劳内Delaunay三角划分处理;
提取模块,用于提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
新轮廓点选取模块,用于对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
第一结果确定模块,用于将各点对应的新轮廓点连接形成的轮廓,作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
其中,所述TrueType字体轮廓粗细调整装置还包括:
第二结果确定模块,用于将各点对应的新轮廓点连接形成的轮廓中自交的轮廓,按交点分解成若干轮廓,去除所述若干轮廓中的不合理的轮廓,保留所述若干轮廓中的合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
其中,所述离散化模块包括:
等分单元,用于对于表示待调整的TrueType字体的轮廓曲线的贝塞尔曲线参数方
程将参数t等分为M等分,求得曲线上M个x和y的坐标值,
其中,坐标x和y都是t的参数。
其中,所述三角划分模块包括:
三角形组成单元,用于采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形;
判断单元,用于判断所组成的三角形是否是Delaunay三角形;
切除单元,用于若所组成的三角形是Delaunay三角形,则将该所组成的三角形从轮廓上切除;
持续切除单元,用于持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
基于上述技术方案,本发明实施例提供的TrueType字体轮廓粗细调整方法,可读取待调整的TrueType字体的轮廓数据,对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据,以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理,从而提取到进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;进而对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;将各点对应的新轮廓点连接形成的轮廓作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。由于对于字形相同,粗细不同的两个字符来说它们应有相同的骨架线,也就是说在做系列字或加粗字库时是以同一骨架线为基础的,因此若能得到字体轮廓的骨架线,即可从骨架线出发加粗字体或减细字体;本发明实施例通过对待调整的TrueType字体的轮廓数据进行离散化处理,对离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理,从而提取到骨架线,进而从骨架线出发确定待调整的TrueType字体上的各点对应的新轮廓点,相当于通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整;相比于现有采用人工方式通过编辑工具对TrueType字体的轮廓粗细进行编辑,进而实现对TrueType字体的轮廓粗细调整的方式,本发明实施例通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整,大幅提高了TrueType字体的轮廓粗细调整效率,缩减了TrueType字体的设计周期和成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的TrueType字体轮廓粗细调整方法的流程图;
图2为本发明实施例提供的进行Delaunay三角划分处理的示意图;
图3为本发明实施例提供的对TrueType字体加粗时在所述两点连接的直线上选取新轮廓点的方向的示意图;
图4为本发明实施例提供的对TrueType字体变细时在所述两点连接的直线上选取新轮廓点的方向的示意图;
图5为本发明实施例提供的轮廓自交的现象的示意图;
图6为本发明实施例提供的进行Delaunay三角划分处理的方法流程图;
图7为本发明实施例提供的TrueType字体轮廓粗细调整装置的结构框图;
图8为本发明实施例提供的TrueType字体轮廓粗细调整装置的另一结构框图;
图9为本发明实施例提供的离散化模块的结构框图;
图10为本发明实施例提供的三角划分模块的结构框图;
图11为本发明实施例提供的判断单元的结构框图;
图12为本发明实施例提供的TrueType字体轮廓粗细调整装置的再一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的TrueType字体轮廓粗细调整方法的流程图,该方法可应用于电子设备,该电子设备具有对TrueType字体轮廓的粗细进行调整的需求,参照图1,该方法可以包括:
步骤S100、读取待调整的TrueType字体的轮廓数据;
可选的,TrueType对字形的描述是由轮廓描述的,轮廓由直线和曲线组成,每一条曲线都由B样条曲线描述,B样条曲线是由一串有序控制点组成,控制点有在线上和不在线上两种属性,分别称为线上点和线外点,这些控制点通过二次贝塞尔(bezier)曲线来决定实际的轮廓曲线。
可选的,待调整的TrueType字体可以认为是本发明实施例需要进行轮廓粗细调整的TrueType字体;本发明实施例所读取的待调整的TrueType字体的轮廓数据,可以为待调整的TrueType字体的轮廓的直线和B样条曲线的描述数据。
步骤S110、对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
对待调整的TrueType字体的轮廓数据进行离散化处理的目的主要是为使本发明实施例对TrueType字体的轮廓粗细所进行的调整更为准确;对所述轮廓数据进行离散化处理的方式可以为将待调整的TrueType字体的轮廓线上的每段直线或B样条曲线等分成M等分;离散化处理后的数据是本发明实施例步骤S120进行Delaunay(德劳内)三角划分的初始数据。
步骤S120、以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理;
可选的,本文所指的Delaunay三角划分处理可以通过Delaunay三角剖分算法实现,二维任意域内点集的Delaunay三角划分处理可以认为是将二维任意区域划分成若干个不重叠的三角形,用这些三角形的集合表示这个二维区域;图2示出了进行Delaunay三角划分处理的示意图可进行参照;参照图2,本发明实施例可将多连通域变为单连通域,单连通域的边界三角划分可以通过每次寻找一个由相邻两条边界边组成的三角形来生成,该三角形在某一区域(以域D表示)内,并且它的内部和边界上都不含域D的其他边界点。将这个三角形去掉后得到新的域边界,重复这一过程直至形成边界三角划分,这个过程称为环切边界。在环切边界的时候要同时保证每次切下的三角形是一个Delaunay三角形,也就是说,若每次切下的三角形表示为三角形ABC,则边界上的其他边界点(以E表示),要么不包含在ABC的外接圆内部,要么包含在该外接圆内部,但EA,EB,EC不是全部都在域D内。
步骤S130、提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
本发明的发明人研究发现,TrueType字体的轮廓加粗或变细,只是将轮廓点沿着一定方向,向轮廓外或轮廓内移动,形成新的轮廓,因此正确找到这个方向并在此方向上取点则格外重要;而对于字形相同,粗细不同的两个字符来说它们应有相同的骨架线。也就是说在做系列字或加粗字库时是以同一骨架线为基础的。因此若能得到字体轮廓的骨架线,即可从骨架线出发加粗字体或变细字体。
本发明实施例步骤S110对待调整的TrueType字体的轮廓数据进行离散化处理,步骤S120对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理,可以认为是提取骨架线的基础,是为步骤S130提取Delaunay三角划分处理后的TrueType字体的轮廓的骨架线作准备。
步骤S140、对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
步骤S150、将各点对应的新轮廓点连接形成的轮廓作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
可选的,本发明实施例可寻找待调整的TrueType字体的轮廓上的某一点对应的骨架线上的点,在两点(即轮廓上的某一点与对应的骨架线上的点)连接的直线上的相应位置取一点作为该点对应的新轮廓点,对于待调整的TrueType字体的轮廓上的各点均作上述处理,可得到各点对应的新轮廓点,将所有这样的点连接形成新轮廓,新轮廓即为对TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
可选的,本发明实施例可依据TrueType字体轮廓粗细调整的类型,在待调整的TrueType字体的轮廓上的某一点,与该点对应的骨架线上的点连接的直线上,与该类型对应的方向上的相应位置取一点,作为该点对应的新轮廓点。TrueType字体轮廓粗细调整的类型主要是指TrueType字体轮廓的加粗和变细,由于加粗和变细属于不同的调整类型,因此在所述两点连接的直线上选取新轮廓点的方向也应不同,对于一个TrueType字体轮廓而言,加粗和变细时在所述两点连接的直线上选取新轮廓点的方向应是相反的;图3示出了对TrueType字体加粗时在所述两点连接的直线上选取新轮廓点的方向的示意图,图4示出了对TrueType字体变细时在所述两点连接的直线上选取新轮廓点的方向的示意图,可进行参照,其中箭头方向表示选取新轮廓点的方向,其中A为待调整TrueType字体的轮廓上的任意点A,B为与A对应的骨架线上的点,BA连接的射线与A点附近的轮廓线垂直,在BA射线上所取的点C为新轮廓点;因为TrueType字体轮廓只有线上点和线外点两种属性的点,因此加粗或减细时只需对点进行操作,本发明实施例对于待调整TrueType字体的轮廓上的每个点都进行上述操作,可得到一系列C点,按顺序连接这些新的轮廓点,即可完成轮廓的加粗或减细。
对于所述两点连接的直线上选取新轮廓点的具体方向,本发明实施例可视TrueType字体轮廓的形状,和,加粗或变细的调整类型而定。
本发明实施例提供的TrueType字体轮廓粗细调整方法,可读取待调整的TrueType字体的轮廓数据,对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据,以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理,从而提取到进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;进而对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;将各点对应的新轮廓点连接形成的轮廓作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。由于对于字形相同,粗细不同的两个字符来说它们应有相同的骨架线,也就是说在做系列字或加粗字库时是以同一骨架线为基础的,因此若能得到字体轮廓的骨架线,即可从骨架线出发加粗字体或减细字体;本发明实施例通过对待调整的TrueType字体的轮廓数据进行离散化处理,对离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理,从而提取到骨架线,进而从骨架线出发确定待调整的TrueType字体上的各点对应的新轮廓点,相当于通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整;相比于现有采用人工方式通过编辑工具对TrueType字体的轮廓粗细进行编辑,进而实现对TrueType字体的轮廓粗细调整的方式,本发明实施例通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整,大幅提高了TrueType字体的轮廓粗细调整效率,缩减了TrueType字体的设计周期和成本。
可选的,步骤S150将各点对应的新轮廓点连接形成的轮廓后可能存在轮廓自交的现象,若存在轮廓自交的现象,则步骤S150将各点对应的新轮廓点连接形成的轮廓只能认为是TrueType字体轮廓粗细调整后的初步结果,本发明实施例还需对该初步结果进行后续处理;
具体的,本发明实施例可将自交的轮廓按交点分解成若干轮廓,去除不合理的轮廓,保留合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。图5示出了轮廓自交的现象的示意图,可进行参照;参照图5,自交的轮廓按交点可分解成轮廓A,轮廓B,轮廓C三部分,可以看到轮廓A的方向与轮廓C的方向相同,轮廓B的方向与轮廓A、C的方向相反,且B正是不合理的轮廓,应该去掉,本发明实施例可以根据这一特点判断分解后轮廓的合理性,即将轮廓方向与原轮廓的方向(原轮廓的方向可以认为是主方向)不同的轮廓确定为不合理的轮廓,去除不合理的轮廓。
可选的,在对待调整的TrueType字体的轮廓数据进行离散化处理时,本发明实施例对于表示待调整的TrueType字体实际的轮廓曲线的贝塞尔曲线参数方程:
其中,坐标x和y都是t的参数;
可将参数t等分为M等分,求得曲线上M个x和y的坐标值。M值越大提取的中心线越平滑准确,但是字体轮廓中的直线或曲线长度不一,若所有直线或曲线的M值都为某一固定值,则得到的离散点有的地方密不可分,有的地方却很稀疏。所以M值对不同的直线或贝塞尔曲线来说并不相同,需分别确定。
可选的,在对离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理时,本发明实施例可采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形,判断所组成的三角形是否是Delaunay三角形,若是Delaunay三角形,则将此三角形从轮廓上切除;继续判断切除此三角形后的轮廓中的形成的三角形是否为Delaunay三角形,若是,则再将三角形从轮廓上切除,直到轮廓只剩三个点,即本发明实施例需持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
可选的,图6示出了本发明实施例提供的进行Delaunay三角划分处理的方法流程图,参照图6,该方法可以包括:
步骤S200、采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形;
步骤S210、任取相邻两边组成一个三角形;
步骤S220、判断组成的三角形是否是Delaunay三角形,若是,执行步骤S230,若否,执行步骤S210、
步骤S230、将所组成的三角形从轮廓上切除,执行步骤S240;
步骤S240、判断轮廓是否只剩三个点,若是,执行步骤S250,若否,执行步骤S210;
步骤S250、结束流程。
可选的,判断三角形是否是Delaunay三角形的方式可如前文所述,即若离散化处理后的轮廓数据对应的TrueType字体的轮廓中,除所组成的三角形外的其他边界点,要么不包含在三角形的外接圆内部,要么包含在该外接圆内部,但该其他边界点与三角形顶点的连接线不是全部都在该TrueType字体的轮廓围成的区域内,则可确定三角形为Delaunay三角形。
可选的,由于B样条曲线是由一串有序控制点组成,控制点有线上点和线外点之分,对于轮廓上的线上点,本发明实施例可确定每个线上点对应的骨架线上的点,在线上点和对应骨架线上点的连接线上的适当位置取点,作为轮廓粗细调整的新轮廓点;
对于轮廓上的线外点,由于没有对应的中心线点,不能直接得到,本发明实施例可以先求出新轮廓上的点再反求新轮廓的控制点;在线外点所在的贝塞尔(bezier)曲线上取t=0.5的点,求轮廓粗细调整后此点对应的轮廓点,通过轮廓粗细调整后的轮廓点反求对应的线外点。
本发明实施例通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整,大幅提高了TrueType字体的轮廓粗细调整效率,缩减了TrueType字体的设计周期和成本。
下面对本发明实施例提供的TrueType字体轮廓粗细调整装置进行介绍,下文描述的TrueType字体轮廓粗细调整装置可与上文描述的TrueType字体轮廓粗细调整方法相互对应参照。
图7为本发明实施例提供的TrueType字体轮廓粗细调整装置的结构框图,该装置可应用于电子设备,该电子设备具有对TrueType字体轮廓的粗细进行调整的需求,参照图7,该TrueType字体轮廓粗细调整装置可以包括:
读取模块100,用于读取待调整的TrueType字体的轮廓数据;
离散化模块200,用于对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
三角划分模块300,用于以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理;
提取模块400,用于提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
新轮廓点选取模块500,用于对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
第一结果确定模块600,用于将各点对应的新轮廓点连接形成的轮廓,作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
可选的,将各点对应的新轮廓点连接形成的轮廓后可能存在轮廓自交的现象,若存在轮廓自交的现象,则将各点对应的新轮廓点连接形成的轮廓只能认为是TrueType字体轮廓粗细调整后的初步结果,本发明实施例还需对该初步结果进行后续处理;对应的,图8示出了本发明实施例提供的TrueType字体轮廓粗细调整装置的另一结构框图,结合图7和图8所示,该TrueType字体轮廓粗细调整装置还可以包括:
第二结果确定模块700,用于将各点对应的新轮廓点连接形成的轮廓中自交的轮廓,按交点分解成若干轮廓,去除所述若干轮廓中的不合理的轮廓,保留所述若干轮廓中的合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
可选的,图9示出了本发明实施例提供的离散化模块200的一种可选结构,参照图9,离散化模块200可以包括:
等分单元210,用于对于表示待调整的TrueType字体的轮廓曲线的贝塞尔曲线参
数方程将参数t等分为M等分,求得曲线上M个x和y的坐标
值,其中,坐标x和y都是t的参数。
可选的,图10示出了本发明实施例提供的三角划分模块300的一种可选结构,参照图10,三角划分模块300可以包括:
三角形组成单元310,用于采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形;
判断单元320,用于判断所组成的三角形是否是Delaunay三角形;
切除单元330,用于若所组成的三角形是Delaunay三角形,则将该所组成的三角形从轮廓上切除;
持续切除单元340,用于持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
可选的,图11示出了本发明实施例提供的判断单元320的一种可选结构,参照图11,判断单元320可以包括:
确定子单元321,用于若离散化处理后的轮廓数据对应的TrueType字体的轮廓中,除所组成的三角形外的其他边界点,要么不包含在该所组成的三角形的外接圆内部,要么包含在该外接圆内部,但该其他边界点与三角形顶点的连接线不是全部都在该TrueType字体的轮廓围成的区域内,则确定所组成的三角形是Delaunay三角形。
可选的,由于B样条曲线是由一串有序控制点组成,控制点有线上点和线外点之分,对于轮廓上的线上点,本发明实施例可确定每个线上点对应的骨架线上的点,在线上点和对应骨架线上点的连接线上的适当位置取点,作为轮廓粗细调整的新轮廓点;对于轮廓上的线外点,由于没有对应的中心线点,不能直接得到,本发明实施例可以先求出新轮廓上的点再反求新轮廓的控制点;在线外点所在的贝塞尔(bezier)曲线上取t=0.5的点,求轮廓粗细调整后此点对应的轮廓点,用轮廓粗细调整后的轮廓点反求线外点。对应的,图12示出了本发明实施例提供的TrueType字体轮廓粗细调整装置的再一结构框图,结合图7和图12所示,该TrueType字体轮廓粗细调整装置还可以包括:
反求模块800,用于对于待调整的TrueType字体的轮廓上的线外点,在线外点所在的bezier曲线上取t=0.5的点,确定轮廓粗细调整后该t=0.5的点对应的轮廓点,通过该轮廓点反求对应的线外点。
本发明实施例提供的TrueType字体轮廓粗细调整装置,通过骨架线形成新的设计字库,实现对TrueType字体轮廓粗细调整,大幅提高了TrueType字体的轮廓粗细调整效率,缩减了TrueType字体的设计周期和成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种TrueType字体轮廓粗细调整方法,其特征在于,包括:
读取待调整的TrueType字体的轮廓数据;
对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行德劳内Delaunay三角划分处理;
提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
将各点对应的新轮廓点连接形成的轮廓,作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓;
其中,还包括:
将各点对应的新轮廓点连接形成的轮廓中自交的轮廓,按交点分解成若干轮廓;
去除所述若干轮廓中的不合理的轮廓,保留所述若干轮廓中的合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
2.根据权利要求1所述的TrueType字体轮廓粗细调整方法,其特征在于,所述对所述轮廓数据进行离散化处理包括:
对于表示待调整的TrueType字体的轮廓曲线的贝塞尔曲线参数方程
将参数t等分为M等分,求得曲线上M个x和y的坐标值,其中,t是坐标x和y的参数。
3.根据权利要求1所述的TrueType字体轮廓粗细调整方法,其特征在于,所述对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行Delaunay三角划分处理包括:
采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形;
判断所组成的三角形是否是Delaunay三角形;
若所组成的三角形是Delaunay三角形,则将该所组成的三角形从轮廓上切除;
持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
4.根据权利要求3所述的TrueType字体轮廓粗细调整方法,其特征在于,所述判断所组成的三角形是否是Delaunay三角形包括:
若所述离散化处理后的轮廓数据对应的TrueType字体的轮廓中,除所组成的三角形外的其他边界点,要么不包含在该所组成的三角形的外接圆内部,要么包含在该外接圆内部,但该其他边界点与三角形顶点的连接线不是全部都在该TrueType字体的轮廓围成的区域内,则确定所组成的三角形是Delaunay三角形。
5.根据权利要求1所述的TrueType字体轮廓粗细调整方法,其特征在于,还包括:
对于待调整的TrueType字体的轮廓上的线外点,在线外点所在的贝塞尔bezier曲线上取t=0.5的点,确定轮廓粗细调整后该t=0.5的点对应的轮廓点,通过该轮廓点反求对应的线外点。
6.一种TrueType字体轮廓粗细调整装置,其特征在于,包括:
读取模块,用于读取待调整的TrueType字体的轮廓数据;
离散化模块,用于对所述轮廓数据进行离散化处理,得到离散化处理后的轮廓数据;
三角划分模块,用于以所述离散化处理后的轮廓数据为依据,对所述离散化处理后的轮廓数据对应的TrueType字体的轮廓进行德劳内Delaunay三角划分处理;
提取模块,用于提取进行Delaunay三角划分处理后的TrueType字体的轮廓的骨架线;
新轮廓点选取模块,用于对于待调整的TrueType字体的轮廓上的各点,确定各点对应的所述骨架线上的对应点,在各点与对应的对应点的连线上依据TrueType字体轮廓粗细调整的类型,选取各点对应的新轮廓点;
第一结果确定模块,用于将各点对应的新轮廓点连接形成的轮廓,作为TrueType字体轮廓粗细调整后的TrueType字体的轮廓;
其中,还包括:
第二结果确定模块,用于将各点对应的新轮廓点连接形成的轮廓中自交的轮廓,按交点分解成若干轮廓,去除所述若干轮廓中的不合理的轮廓,保留所述若干轮廓中的合理轮廓,将保留合理轮廓的轮廓作为最终的TrueType字体轮廓粗细调整后的TrueType字体的轮廓。
7.根据权利要求6所述的TrueType字体轮廓粗细调整装置,其特征在于,所述离散化模块包括:
等分单元,用于对于表示待调整的TrueType字体的轮廓曲线的贝塞尔曲线参数方程将参数t等分为M等分,求得曲线上M个x和y的坐标值,其中,t是坐标x和y的参数。
8.根据权利要求7所述的TrueType字体轮廓粗细调整装置,其特征在于,所述三角划分模块包括:
三角形组成单元,用于采用环切边界法将离散化处理后的轮廓数据对应的TrueType字体的轮廓,划分成若干个Delaunay三角形,划分时任取相邻两边组成一个三角形;
判断单元,用于判断所组成的三角形是否是Delaunay三角形;
切除单元,用于若所组成的三角形是Delaunay三角形,则将该所组成的三角形从轮廓上切除;
持续切除单元,用于持续从轮廓上切除所组成的Delaunay三角形,直到轮廓只剩三个点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410547453.6A CN105513006B (zh) | 2014-10-16 | 2014-10-16 | 一种TrueType字体轮廓粗细调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410547453.6A CN105513006B (zh) | 2014-10-16 | 2014-10-16 | 一种TrueType字体轮廓粗细调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105513006A CN105513006A (zh) | 2016-04-20 |
CN105513006B true CN105513006B (zh) | 2018-10-19 |
Family
ID=55720964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410547453.6A Active CN105513006B (zh) | 2014-10-16 | 2014-10-16 | 一种TrueType字体轮廓粗细调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105513006B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121690B (zh) * | 2016-11-29 | 2020-08-07 | 北大方正集团有限公司 | 字体处理方法和装置 |
CN108665514B (zh) * | 2017-03-29 | 2021-02-09 | 北大方正集团有限公司 | 字形剖分方法及字形剖分装置 |
CN108875720B (zh) * | 2017-05-12 | 2022-02-25 | 北大方正集团有限公司 | 矢量字体的骨架线提取方法及装置 |
CN110070554A (zh) * | 2018-10-19 | 2019-07-30 | 北京微播视界科技有限公司 | 图像处理方法、装置、硬件装置 |
CN111523531B (zh) * | 2020-04-14 | 2023-09-29 | 北京奇艺世纪科技有限公司 | 文字处理方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132878A (zh) * | 1994-12-05 | 1996-10-09 | 佳能株式会社 | 字符处理设备和字符处理方法 |
CN1175749A (zh) * | 1996-08-23 | 1998-03-11 | 夏普株式会社 | 字符图形发生装置 |
US6393159B1 (en) * | 1998-06-29 | 2002-05-21 | The Regents Of The University Of California | Multiscale characterization and analysis of shapes |
CN1484201A (zh) * | 2002-09-20 | 2004-03-24 | 财团法人工业技术研究院 | 可呈现笔划粗细变化的字型描述法 |
CN1679021A (zh) * | 2002-07-03 | 2005-10-05 | 2012244安大略公司 | 可缩放笔划字体的系统和方法 |
-
2014
- 2014-10-16 CN CN201410547453.6A patent/CN105513006B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132878A (zh) * | 1994-12-05 | 1996-10-09 | 佳能株式会社 | 字符处理设备和字符处理方法 |
CN1175749A (zh) * | 1996-08-23 | 1998-03-11 | 夏普株式会社 | 字符图形发生装置 |
US6393159B1 (en) * | 1998-06-29 | 2002-05-21 | The Regents Of The University Of California | Multiscale characterization and analysis of shapes |
CN1679021A (zh) * | 2002-07-03 | 2005-10-05 | 2012244安大略公司 | 可缩放笔划字体的系统和方法 |
CN1484201A (zh) * | 2002-09-20 | 2004-03-24 | 财团法人工业技术研究院 | 可呈现笔划粗细变化的字型描述法 |
Non-Patent Citations (1)
Title |
---|
三维剖分的应用研究;刘杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110415(第4期);第4.2-4.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN105513006A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105513006B (zh) | 一种TrueType字体轮廓粗细调整方法及装置 | |
JP5890105B2 (ja) | 平行測地線によってモデリングされるパーツの設計 | |
CN107219941B (zh) | 软笔实时轨迹生成方法、存储介质、处理设备 | |
WO2017166687A1 (zh) | 一种三维交叉道路模型生成的方法、装置及存储介质 | |
CN110032771B (zh) | 一种顾及局部细节特征的露天煤矿dem精确裁剪方法 | |
CN112991529B (zh) | 一种利用三角形进行地图网格化的划分算法 | |
CN111508054B (zh) | 地形构建方法、装置及设备 | |
CN106951166B (zh) | 笔迹绘制方法及装置 | |
CN112116721B (zh) | 三维模型的标记方法、装置、电子设备及存储介质 | |
CN103236056A (zh) | 基于模板匹配的图像分割方法 | |
CN105741287B (zh) | 牙齿三维网格数据的分割方法及装置 | |
KR20020058608A (ko) | 컴퓨팅 장치에서 두 개의 비-스플라인 곡선이나 곡면의경계가 연속성을 갖도록 하기 위한 대수적 블렌딩 처리방법 | |
CN111295695B (zh) | 三维网格数据简化方法及装置 | |
CN103020402B (zh) | 建模方法和装置 | |
CN103714188B (zh) | 用于优化在晶片上制造的管芯数目的系统 | |
Yang et al. | Interactive tooth segmentation method of dental model based on geodesic | |
CN112437919A (zh) | 稳定图布局确定 | |
CN111125825B (zh) | 古木建筑遗产智能化建模方法及装置 | |
US8730235B2 (en) | Method for determining point connectivity on a two manifold in 3D space | |
CN107393019A (zh) | 一种基于粒子的布料模拟方法与装置 | |
CN105718672B (zh) | 一种cad目标选取方法 | |
CN108427804A (zh) | 一种基于bim的一体化外墙拼装方案生成方法及装置 | |
CN108182171A (zh) | Pdf文件内的路径处理方法及装置 | |
CN109949420B (zh) | 适用于GPU的Delaunay三角剖分网格细化方法、GPU及系统 | |
CN108921950B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 100036 201, 2f, building 2, zone 5, yard 2, Cuiwei Road, Haidian District, Beijing Patentee after: Beijing Hanyi Innovation Technology Co., Ltd Address before: 100036 Beijing city Haidian District Cuiwei Road No. 2 China of printing technology A block two layer Patentee before: BEIJING HANYI KEYIN INFORMATION TECHNOLOGY CO., LTD. |
|
CP03 | Change of name, title or address |