本发明专利技术公开了一种基于轮廓字形模拟点阵字形效果的方法及系统,属于文字信息处理技术领域。在现有技术中,当轮廓字形尺寸较小时会出现笔画粘连等问题,通常采用点阵字形代替轮廓字形,因此需要在轮廓字库中嵌入点阵字形,从而造成了数据冗余,同时会增加用户的成本。本发明专利技术通过将所有的笔画调整代码嵌入到轮廓字库的公共数据部分,将调用关系代码嵌入到在指定尺寸上需要调整笔画的轮廓字形数据的前面,当读取需要调整笔画的轮廓字形数据时,字体引擎通过该轮廓数据前面的调用关系代码调用公共数据部分的笔画调整代码,在字形渲染之前对轮廓字形中笔画进行调整。本发明专利技术与嵌入点阵字形的方式相比,避免了数据冗余,同时降低了用户的成本。
【技术实现步骤摘要】
本专利技术属于文字信息处理
,具体涉及一种基于轮廓字形模拟点 阵字形效果的方法及系统。
技术介绍
目前比较成熟的字形存储方式有点阵字形存储方式和轮廓字形存储方式。点阵字形存储方式采用二进制来存储固定尺寸大小的点阵字形,即黑白位图的存储方式。每个字形均以黑白象素点矩阵组成。其中,黑色像素用'T, 表示,白色像素用"0"表示。点阵字形存储方式占用的存储空间较大,例如 单个16 x 16的点阵字形需要占用32个字节的存储空间,而单个48 x 48的点 阵字形则需要占用288个字节的存储空间。轮廓字形存储方式采用 一个或多个封闭曲线轮廓来描述字形,使用时再 采用相关的字体引擎进行尺寸缩放和填充,将其转换为位图。这种方式只需 存储封闭轮廓上曲线的描述数据,具备无级平滑缩放而保持字体风格不变等 优点。随着技术的发展,点阵字形的应用场合越来越少,因为轮廓字形技术基 本上可以取代点阵字形技术。但当字形尺寸较小时,采用轮廓字形技术在字 形缩放和填充后得到的结果会出现笔画粘连等问题,影响阅读效果。由于点 阵字形中每一个字都是按照点矩阵大小来设计,所以不会出现上述问题。因此,当字形尺寸较小时,现有的处理方式是用点阵字形来替代轮廓字形。这 种方式在提供轮廓字形数据的同时,还必须提供点阵字形数据,因此造成了 字形数据的冗余,而且在同时提供多套点阵字形数据的情况下,数据量将会 成倍的增长。另外,嵌入点阵字形数据必须获得相关部门的授权,从而增加 了用户的成本
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的是提供一种基于轮廓字形模 拟点阵字形效果的方法及系统,该方法及系统在轮廓字形的基础上,通过直 接调整轮廓字形中笔画的方式,来模拟点阵字形的显示效果。为了实现上述目的,本专利技术釆用的技术方案是, 一种基于轮廓字形模拟 点阵字形效果的方法,包括以下步骤(1 )将所有的笔画调整代码嵌入到轮廓字库的公共数据部分,所述的笔画调整代码是指对轮廓字形中某类笔画进行调整的代码;(2 )将调用关系代码嵌入到在指定尺寸上需要调整笔画的轮廓字形数据 的前面,所述的调用关系代码是指参照点阵字形的效果调用公共数据部分的 笔画调整代码以完成对轮廓字形中的笔画进行调整的代码;(3)当读取需要调整笔画的轮廓字形数据时,字体引擎通过该轮廓数 据前面的调用关系代码调用公共数据部分的笔画调整代码,在字形渲染之前 对轮廓字形中的笔画进行调整。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,步骤(l)中, 笔画调整方式包括笔画变形方式、笔画隐藏方式、笔画整体平移方式和笔画 延伸方式。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的 笔画变形方式包括水平类笔画和竖直类笔画之间的相互转换,水平类笔画和 撇类笔画之间的相互转换,水平类笔画和捺类笔画之间的相互转换。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的 水平类笔画和竖直类笔画之间的相互转换包括水平类笔画转换为竖直类笔画 和竖直类笔画转换为水平类笔画;所述的水平类笔画转换为竖直类笔画的过 程为,①缩短水平类笔画的宽度,②延长水平类笔画的高度;所述的竖直类 笔画转换为水平类笔画的过程与水平类笔画转换为竖直类笔画的过程相反。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的水平类笔画和撇类笔画之间的相互转换包括水平类笔画转换为撇类笔画和撇 类笔画转换为水平类笔画;所述的水平类笔画转换为撇类笔画的过程包括以下步骤① 缩短水平类笔画的宽度;② 将步骤①得到的笔画左边顶点或者右边顶点在竖直方向上整体向上或者向下移动;③ 将步骤②得到的笔画的上边顶点在水平方向上整体向右移动或者下 边顶点在水平方向上整体向左移动;所述的撇类笔画转换为水平类笔画的过程与水平类笔画转换为撇类笔 画的过程相反。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的 水平类笔画和捺类笔画之间的相互转换包括水平类笔画转换为捺类笔画和捺 类笔画转换为水平类笔画;所述的水平类笔画转换为捺类笔画的过程包括以 下步骤① 缩短水平类笔画的宽度;② 将步骤①得到的笔画左边顶点或者右边顶点在竖直方向上整体向上 或者向下移动;③ 将步骤②得到的笔画的上边顶点在水平方向上整体向左移动或者下 边顶点在水平方向上整体向右移动;所述的捺类笔画转换为水平类笔画的过程与水平类笔画转换为捺类笔 画的过程相反。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的 笔画隐藏方式的过程包括以下步骤① 在笔画调整过程中始终没有被调整的笔画上任选一点作为隐藏点;② 将待隐藏笔画上的所有点沿着水平方向移动到与隐藏点在同一竖直 方向上,或者沿着竖直方向移动到与隐藏点在同一水平方向上;③ 将待隐藏笔画上的所有点沿着竖直方向移动到隐藏点,或者沿着水平 方向移动到隐藏点。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的 笔画整体平移方式包括在水平方向上移动和在竖直方向上移动两种方式;所 述的在水平方向上移动的过程为将笔画上的所有点加上在水平方向的移动 量,移动所有点;所述的在竖直方向上移动的过程为将笔画上的所有点加上 在竖直方向的移动量,移动所有点。如上所述的一种基于轮廓字形模拟点阵字形效果的方法,其中,所述的笔画延伸方式包括笔画的延长和缩减两种方式;所述的笔画的延长和缩减的 过程为,首先确定延长或缩减的方向和距离,然后将笔画一端的顶点沿着确 定的方向延长或缩减至确定的距离处。一种基于轮廓字形模拟点阵字形效果的系统,所述的系统包括将所有的 笔画调整代码嵌入到轮廓字库的公共数据部分和将调用关系代码嵌入到在指 定尺寸上需要调整笔画的轮廓字形数据前面的嵌入装置,以及读取需要调整 笔画的轮廓字形数据时,字体引擎通过该轮廓数据前面的调用关系代码调用 公共数据部分的笔画调整代码,在字形渲染之前对轮廓字形中的笔画进行调 整的调整装置;所述的笔画调整代码是指对轮廓字形中某类笔画进行调整的 代码;所述的调用关系代码是指参照点阵字形的效果调用公共数据部分的笔 画调整代码以完成对轮廓字形中的笔画进行调整的代码。本专利技术所述的方法及系统在轮廓字形的基础上通过对轮廓字形中的笔画 进行调整的方式,实现了在指定尺寸上模拟点阵字形的效果,避免了嵌入点 阵字形数据时造成的数据冗余,同时降低了用户的成本。附图说明图1是本专利技术所述的方法流程图2是具体实施方式中矩形类水平笔画转换为竖直类笔画示意图; 图3是具体实施方式中矩形类水平笔画转换为撇类笔画示意图;图4是具体实施方式中矩形类水平笔画转换为捺类笔画示意图5是具体实施方式中笔画隐藏方式示意图6是具体实施方式中笔画整体平移方式示意图7是具体实施方式中笔画延伸方式示意图8是实施例1中轮廓字形"疆"字示意图9是实施例1中轮廓字形"疆"字调整后的效果图IO是实施例2中轮廓字形"置"字示意图ll是实施例2中轮廓字形"置"字调整后的效果图。具体实施例方式下面结合实施例和附图对本专利技术进行详细描述。本专利技术主要应用于当在指定尺寸上轮廓字形中的笔画发生粘连,影响正 常阅读时,通过调整轮廓字形中笔画的方式,来模拟点阵字形的显示效果。本专利技术所述的基于轮廓字形模拟点阵字形效果的系统,包括将所有的笔 画调整代码嵌入到轮廓字库的公共数据本文档来自技高网...
【技术保护点】
一种基于轮廓字形模拟点阵字形效果的方法,包括以下步骤: (1)将所有的笔画调整代码嵌入到轮廓字库的公共数据部分,所述的笔画调整代码是指对轮廓字形中某类笔画进行调整的代码; (2)将调用关系代码嵌入到在指定尺寸上需要调整笔画的轮廓 字形数据的前面,所述的调用关系代码是指参照点阵字形的效果调用公共数据部分的笔画调整代码以完成对轮廓字形中的笔画进行调整的代码; (3)当读取需要调整笔画的轮廓字形数据时,字体引擎通过该轮廓数据前面的调用关系代码调用公共数据部分的笔画调 整代码,在字形渲染之前对轮廓字形中的笔画进行调整。
【技术特征摘要】
【专利技术属性】
技术研发人员:李明,王玉欣,唐英敏,
申请(专利权)人:北大方正集团有限公司,北京大学,北京北大方正电子有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。