CN107665186A - 一种特有字体生成方法 - Google Patents

一种特有字体生成方法 Download PDF

Info

Publication number
CN107665186A
CN107665186A CN201710910625.5A CN201710910625A CN107665186A CN 107665186 A CN107665186 A CN 107665186A CN 201710910625 A CN201710910625 A CN 201710910625A CN 107665186 A CN107665186 A CN 107665186A
Authority
CN
China
Prior art keywords
font
peculiar
generation method
data
animation
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.)
Granted
Application number
CN201710910625.5A
Other languages
English (en)
Other versions
CN107665186B (zh
Inventor
邵猛
魏博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Hand Painted Technology and Culture Co Ltd
Original Assignee
Shenzhen Qianhai Hand Painted Technology and Culture Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Hand Painted Technology and Culture Co Ltd filed Critical Shenzhen Qianhai Hand Painted Technology and Culture Co Ltd
Priority to CN201710910625.5A priority Critical patent/CN107665186B/zh
Publication of CN107665186A publication Critical patent/CN107665186A/zh
Application granted granted Critical
Publication of CN107665186B publication Critical patent/CN107665186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请涉及一种特有字体生成方法,包括如下步骤:(1)获得文字库中字形的路径数据;(2)通过路径解析运算重组上述路径数据;(3)通过字体生成绘制引擎模块生成手绘动画;(4)截取手绘动画图片;(5)生成目标格式。本申请能够排序重组文字字形路径并根据路径生成手绘动画,并且将手绘动画特效生成视频格式。能够直接使用字库(ttf)文件做算法处理,不需要人工干预,极大降低数据准备成本。根据算法得出文字对应的字形路径,所以无关字体不同,可以有复用性。

Description

一种特有字体生成方法
技术领域
本申请数据字体输入技术领域,特别涉及一种特有字体生成方法。
背景技术
在很多行业,尤其是视频,内容展示等领域,都会使用到文字的书写过程,我们需要按照文字本身的笔画和笔顺还原文字的书写过程。而目前行业对于手绘字体的生成过程的展示是一个很大的难题,尤其是汉字,常用字就有3500个以上。在古代,字体通常以字帖形式存在,而在计算机诞生后,字体以更容易储存和传播的形式存在,也就是字库。字库通常会包括该字体的所有文字的形状信息,可以用来做静态的文字展示,但是字库中并不存在文字的生成过程,也就是说我们没办法通过字库来实现字体的生成过程。现在所有涉及到汉字生成过程展示使用的技术,都是人工去完成每一个汉字的仿写,包括笔画和笔顺,记录仿写的路径,最终展示,这是一种非常耗费人力时间,不自动化的方式。而且每种不同的字体,都有着完全不同的笔画风格,方向和长度等,完全没办法做到复用。
字体是文字的外在形式特征,是文字的风格,单个文字的形体称为字形。现在字体普遍以字库的形式来存储,字库里存储了该字体包括的全部文字的字形信息。不同的字体有可能会相似,如宋体的多种变形,这些相似的字体被称为一个字型;也有可能差异很大,例如宋体和楷体,或者毛笔字体。如前面提到的,不同的字体,生成和展示时,最大的不同就是字形。字形是一种人眼可辨认的图形符号,每种字体中,相同内容的文字都拥有不尽相同的字形,而当一系列文字的字形拥有统一的风格时,就形成了字体。
而字库中存储的文字的字形是矢量路径数据,这就保证了字体在不同的缩放情况下,不会出现失真和模糊的情况。
发明内容
现有文字生成过程是通过人工事先书写好每一个文字,固定记录下路径,读取对应文字路径展示来实现。这样前期的人工录入工作非常繁重,且不同字体间没有复用性。而来画使用特有的处理技术实现了完全自动的生成过程。对于文字,本申请通过获取文字库中字形的路径数据,并通过路径解析运算和重新的组合排序,再加上绘画手势,利用自主研发的“字体生成引擎”生成手绘文字动画。
为解决上述技术问题:本申请提出一种特有字体生成方法,其包括如下步骤:
(1)获得文字库中字形的路径数据;
(2)通过路径解析运算重组上述路径数据;
(3)通过字体生成绘制引擎模块生成手绘动画;
(4)截取手绘动画图片;
(5)生成目标格式。
所述的特有字体生成方法,其中,在所述步骤(1)之前,还包括:(1)加载字体资源,包括通过程序代码,把ttf文件加载到程序内存中,在程序中使用文字的font-family属性。
所述的特有字体生成方法,其中,所述步骤(3)中的字体生成引擎模块具体包括:存储字形数据模块、公开的方法Functions、公用工具模块、控制字体动画的控制器;所述存储字形数据模块,用于存储文字数据中每个字符的路径数据集合,公开的方法Function,指的是整个字体生成过程对外暴露出来的一系列可见的操作方式。
所述的特有字体生成方法,其中,所述控制字体动画的控制器包括控制字体动画的初始化单元,播放单元、暂停单元、停止单元。
所述的特有字体生成方法,其中,所述公用工具模块具体包括:字形边缘获取单元getIntersectionPoints(),用于取得字形数据的所有边缘交叉点集合,字形中间点获取单元getMiddlePoints(),用于取得字形数据的内边缘和外边缘的中间点集合,筛选单元filterMiddlePoints(),用于筛选所述字形中间点获取单元getMiddlePoints()得到的中间点集合,分组单元groupMiddlePoints(),用于把中间点集合进行分组,分出每个文字,排序单元sortMiddlePoints(),用于重新排序中间点集合,按照从上到下,从左到右的基本顺序重新排序,显示单元getMiddlePoints(),用于在分组和排序后,获得最终显示的中间点集合。
所述的特有字体生成方法,其中,所述显示单元getMiddlePoints()得到的数据为中间点集合数据,对每一个文字设定一个动画时长,每秒固定获取30帧图像,得到总帧数,通过中间点集合左右点的距离相加,得到中间点连线的总长度,确定平均在每一帧需要显示的点连线数,根据集合中的顺序,从前到后,显示所有线段,手势图片跟随当前绘制的点去移动,生成手绘动画。
所述的特有字体生成方法,其中,所述筛选单元filterMiddlePoints()对取得的数据进行笔画的分组,分组方式包括:循环取得所有中间点,如果某两点间距离大于设定阈值,则认为是两个笔画,则分为两个组;如果某两点间距离小于设定阈值,则认为是一个笔画,则分为一个组;每个组代表不同的笔画。
所述的特有字体生成方法,其中,所述步骤(4)截取手绘动画图片具体包括:在导出视频时,通过后台渲染来展示动画,然后,固定每秒30帧截取当前渲染的区域范围,按照截屏的方式截取图像,保存成一张图片。
所述的特有字体生成方法,其中,所述步骤(5)中目标格式具体包括:视频格式、GIF图片格式、PNG图片。
所述的特有字体生成方法,其中,所述生成视频格式具体包括:通过步骤(4)中截取手绘动画图片,取得每一帧的图像,对所述每一帧的图像序列,利用通用的视频编码技术,生成所述视频格式。
本申请能够排序重组文字字形路径并根据路径生成手绘动画,并且将手绘动画特效生成视频格式。现有技术是针对每一种字体的每一个文字,先行录入路径数据;而来画的字体生成方式,是直接使用字库(ttf)文件做算法处理,不需要人工干预,极大降低数据准备成本。来画的字体生成方式,直接使用ttf文件,根据算法得出文字对应的字形路径,所以无关字体不同,可以有复用性。
附图说明
图1为本申请特有自行生成方法的一种优选实施例示意图。
图2为本申请特有自行生成方法的另一种优选实施例示意图。
图3为本申请字体生成绘制引擎模块示意图。
具体实施方式
下面结合附图对本申请作进一步详细描述,有必要在此指出的是,以下具体实施方式只用于对本申请进行进一步的说明,不能理解为对本申请保护范围的限制,该领域的技术人员可以根据上述申请内容对本申请作出一些非本质的改进和调整。
实施例一:
如图1所示,为本申请特有自行生成方法的一种优选实施例示意图。包括加载字体资源,获得自行路径数据,获得和重组中心路径数据,根据数据生成手绘动画,截取手绘动画图片,生成视频格式。
本申请提出一种特有字体生成方法,其包括如下步骤:
(1)获得文字库中字形的路径数据;
(2)通过路径解析运算重组上述路径数据;
(3)通过字体生成绘制引擎模块生成手绘动画;
(4)截取手绘动画图片;
(5)生成视频格式。
所述的特有字体生成方法,其中,在所述步骤(1)之前,还包括:(1)加载字体资源,包括通过程序代码,把ttf文件加载到程序内存中,在程序中使用文字的font-family属性。
如图3所示,为本申请字体生成绘制引擎模块示意图。
ANIMATION是来画字体生成绘制引擎,包括存储字形数据的List,公开的方法Functions,公用工具Tool,控制字体动画的控制器Animator,控制字体动画的初始化init,播放play,暂停pause,停止stop。使用手势按照中间点的路径轨迹移动实现字体生成动画。
所述的特有字体生成方法,其中,所述步骤(3)中的字体生成引擎模块具体包括:存储字形数据模块、公开的方法Functions、公用工具模块、控制字体动画的控制器;所述存储字形数据模块,用于存储文字数据中每个字符的路径数据集合,公开的方法Function,指的是整个字体生成过程对外暴露出来的一系列可见的操作方式。存储字形数据的List,指的是文字数据中每个字符的路径数据集合。
公开的方法Function,指的是整个字体生成过程对外暴露出来的一系列可见的操作方式,它的形式可以是一个按钮,点击触发字体生成的动画。所述的特有字体生成方法,其中,所述控制字体动画的控制器包括控制字体动画的初始化单元,播放单元、暂停单元、停止单元。
所述的特有字体生成方法,其中,所述公用工具模块具体包括:字形边缘获取单元getIntersectionPoints(),用于取得字形数据的所有边缘交叉点集合,字形中间点获取单元getMiddlePoints(),用于取得字形数据的内边缘和外边缘的中间点集合,筛选单元filterMiddlePoints(),用于筛选所述字形中间点获取单元getMiddlePoints()得到的中间点集合,分组单元groupMiddlePoints(),用于把中间点集合进行分组,分出每个文字,排序单元sortMiddlePoints(),用于重新排序中间点集合,按照从上到下,从左到右的基本顺序重新排序,显示单元getMiddlePoints(),用于在分组和排序后,获得最终显示的中间点集合。
所述的特有字体生成方法,其中,所述显示单元getMiddlePoints()得到的数据为中间点集合数据,对每一个文字设定一个动画时长,每秒固定获取30帧图像,得到总帧数,通过中间点集合左右点的距离相加,得到中间点连线的总长度,确定平均在每一帧需要显示的点连线数,根据集合中的顺序,从前到后,显示所有线段,手势图片跟随当前绘制的点去移动,生成手绘动画。
所述的特有字体生成方法,其中,所述筛选单元filterMiddlePoints()对每个文字,因为filterMiddlePoints()取得的数据是没有固定书写顺序的中间点集,所以需要按照人类书写习惯,进行笔画的分组,例如“三”,需要分成三个“一”的分组。分组方式是:循环取得所有中间点,如果某两点间距离大于某个阈值,则认为是两个笔画,所以是两个组。按照这种规则,把文字分成不同的组,即不同的笔画。
所述的特有字体生成方法,其中,所述步骤(4)截取手绘动画图片具体包括:在导出视频时,通过后台渲染来展示动画,然后,固定每秒30帧截取当前渲染的区域范围,按照截屏的方式截取图像,保存成一张图片。
实施例二:
如图2所示,为本申请特有自行生成方法的另一种优选实施例示意图。包括加载字体资源,获得自行路径数据,获得和重组中心路径数据,根据数据生成手绘动画,截取手绘动画图片,生成视频格式、GIF图片格式、PNG图片。其他实施方式与实施例一相同。
本申请能够排序重组文字字形路径并根据路径生成手绘动画,并且将手绘动画特效生成视频格式。现有技术是针对每一种字体的每一个文字,先行录入路径数据;而来画的字体生成方式,是直接使用字库(ttf)文件做算法处理,不需要人工干预,极大降低数据准备成本。来画的字体生成方式,直接使用ttf文件,根据算法得出文字对应的字形路径,所以无关字体不同,可以有复用性。

Claims (10)

1.一种特有字体生成方法,其特征在于,包括如下步骤:
(1)获得文字库中字形的路径数据;
(2)通过路径解析运算重组上述路径数据;
(3)通过字体生成绘制引擎模块生成手绘动画;
(4)截取手绘动画图片;
(5)生成目标格式。
2.如权利要求1所述的特有字体生成方法,其特征在于,在所述步骤(1)之前,还包括:(1)加载字体资源,包括通过程序代码,把ttf文件加载到程序内存中,在程序中使用文字的font-family属性。
3.如权利要求1所述的特有字体生成方法,其特征在于,所述步骤(3)中的字体生成引擎模块具体包括:存储字形数据模块、公开的方法Functions、公用工具模块、控制字体动画的控制器;所述存储字形数据模块,用于存储文字数据中每个字符的路径数据集合,公开的方法Function,指的是整个字体生成过程对外暴露出来的一系列可见的操作方式。
4.如权利要求3所述的特有字体生成方法,其特征在于,所述控制字体动画的控制器包括控制字体动画的初始化单元,播放单元、暂停单元、停止单元。
5.如权利要求3所述的特有字体生成方法,其特征在于,所述公用工具模块具体包括:字形边缘获取单元,用于取得字形数据的所有边缘交叉点集合,字形中间点获取单元,用于取得字形数据的内边缘和外边缘的中间点集合,筛选单元,用于筛选所述字形中间点获取单元得到的中间点集合,分组单元,用于把中间点集合进行分组,分出每个文字,排序单元,用于重新排序中间点集合,按照从上到下,从左到右的基本顺序重新排序,显示单元,用于在分组和排序后,获得最终显示的中间点集合。
6.如权利要求5所述的特有字体生成方法,其特征在于,所述显示单元得到的数据为中间点集合数据,对每一个文字设定一个动画时长,每秒固定获取30帧图像,得到总帧数,通过中间点集合左右点的距离相加,得到中间点连线的总长度,确定平均在每一帧需要显示的点连线数,根据集合中的顺序,从前到后,显示所有线段,手势图片跟随当前绘制的点去移动,生成手绘动画。
7.如权利要求5所述的特有字体生成方法,其特征在于,所述筛选单元对取得的数据进行笔画的分组,分组方式包括:循环取得所有中间点,如果某两点间距离大于设定阈值,则认为是两个笔画,则分为两个组;如果某两点间距离小于设定阈值,则认为是一个笔画,则分为一个组;每个组代表不同的笔画。
8.如权利要求1所述的特有字体生成方法,其特征在于,所述步骤(4)截取手绘动画图片具体包括:在导出视频时,通过后台渲染来展示动画,然后,固定每秒30帧截取当前渲染的区域范围,按照截屏的方式截取图像,保存成一张图片。
9.如权利要求1所述的特有字体生成方法,其特征在于,所述步骤(5)中目标格式具体包括:视频格式、GIF图片格式、PNG图片。
10.如权利要求9所述的特有字体生成方法,其特征在于,所述生成视频格式具体包括:通过步骤(4)中截取手绘动画图片,取得每一帧的图像,对所述每一帧的图像序列,利用通用的视频编码技术,生成所述视频格式。
CN201710910625.5A 2017-09-29 2017-09-29 一种特有字体生成方法 Active CN107665186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710910625.5A CN107665186B (zh) 2017-09-29 2017-09-29 一种特有字体生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710910625.5A CN107665186B (zh) 2017-09-29 2017-09-29 一种特有字体生成方法

Publications (2)

Publication Number Publication Date
CN107665186A true CN107665186A (zh) 2018-02-06
CN107665186B CN107665186B (zh) 2019-09-20

Family

ID=61097053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710910625.5A Active CN107665186B (zh) 2017-09-29 2017-09-29 一种特有字体生成方法

Country Status (1)

Country Link
CN (1) CN107665186B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110322538A (zh) * 2019-06-26 2019-10-11 广州视源电子科技股份有限公司 文字显示方法、装置,存储介质及处理器
WO2020103245A1 (zh) * 2018-11-23 2020-05-28 北京方正手迹数字技术有限公司 字体渲染方法、装置及计算机可读存储介质
CN113240779A (zh) * 2021-05-21 2021-08-10 北京达佳互联信息技术有限公司 文字特效的生成方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120256884A1 (en) * 2011-04-05 2012-10-11 Apache R R Goyakla Sport-Strator
CN106407179A (zh) * 2016-08-26 2017-02-15 福建网龙计算机网络信息技术有限公司 汉字字形相似度计算方法及其系统
CN107180443A (zh) * 2017-04-28 2017-09-19 深圳市前海手绘科技文化有限公司 一种手绘动画生成方法及其装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120256884A1 (en) * 2011-04-05 2012-10-11 Apache R R Goyakla Sport-Strator
CN106407179A (zh) * 2016-08-26 2017-02-15 福建网龙计算机网络信息技术有限公司 汉字字形相似度计算方法及其系统
CN107180443A (zh) * 2017-04-28 2017-09-19 深圳市前海手绘科技文化有限公司 一种手绘动画生成方法及其装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020103245A1 (zh) * 2018-11-23 2020-05-28 北京方正手迹数字技术有限公司 字体渲染方法、装置及计算机可读存储介质
CN111221597A (zh) * 2018-11-23 2020-06-02 北京方正手迹数字技术有限公司 字体渲染方法、装置及计算机可读存储介质
US11507727B2 (en) 2018-11-23 2022-11-22 Beijing Founder Handwriting Digital Technology Co., Ltd Font rendering method and apparatus, and computer-readable storage medium
CN110322538A (zh) * 2019-06-26 2019-10-11 广州视源电子科技股份有限公司 文字显示方法、装置,存储介质及处理器
CN110322538B (zh) * 2019-06-26 2023-09-05 广州视源电子科技股份有限公司 文字显示方法、装置,存储介质及处理器
CN113240779A (zh) * 2021-05-21 2021-08-10 北京达佳互联信息技术有限公司 文字特效的生成方法、装置、电子设备及存储介质
CN113240779B (zh) * 2021-05-21 2024-02-23 北京达佳互联信息技术有限公司 文字特效的生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN107665186B (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
US9141134B2 (en) Utilization of temporal and spatial parameters to enhance the writing capability of an electronic device
CN110009643B (zh) 基于捕获内容的截屏图像的像素将显示内容分割成区域
KR20180097519A (ko) 도식들에서의 필기 인식의 시스템 및 방법
CN105069104B (zh) 一种动态漫画的生成方法与系统
CN107665186B (zh) 一种特有字体生成方法
KR20120095852A (ko) 디스플레이 표면상에서 손글씨 잉크 객체를 그리기 및 지우기 하는 방법 및 장치
Shi et al. EmoG: supporting the sketching of emotional expressions for storyboarding
CN111695518B (zh) 结构化文档信息标注的方法、装置及电子设备
US20070262991A1 (en) Arabic input output method and font model
CN109388725A (zh) 通过视频内容进行搜索的方法及装置
CN104834677A (zh) 一种基于属性类别的表情图片显示方法、装置和终端
US20210342496A1 (en) Geometry-aware interactive design
Zhao et al. Sketcholution: Interaction histories for sketching
CN109636885A (zh) 一种用于h5页面的序列帧动画制作方法和系统
CN108961361B (zh) 生成特效文字图像的方法及系统、计算机设备
Kwon et al. DASH: Visual Analytics for Debiasing Image Classification via User-Driven Synthetic Data Augmentation
CN115469954A (zh) 一种基于Canvas的图像标注方法及系统
CN106250035B (zh) 动态生成个人化手写字型的系统和方法
Mittal et al. Photo-realistic emoticon generation using multi-modal input
US11301125B2 (en) Vector object interaction
Naya et al. ParSketch: a sketch-based interface for a 2D parametric geometry editor
Sobhan Sarbandi Navigating the Latent: Exploring the Potentials of Islamic Calligraphy with Generative Adversarial Networks
US9082005B2 (en) Smart scribbles for sketch segmentation
Grolaux et al. SketchADoodle: Touch-Surface Multi-Stroke Gesture Handling by Bézier Curves
Sampath Quantifying scribal behavior: a novel approach to digital paleography

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant