CN114861595B - 一种基于矢量线条变换的个性字体生成方法 - Google Patents

一种基于矢量线条变换的个性字体生成方法 Download PDF

Info

Publication number
CN114861595B
CN114861595B CN202210287228.8A CN202210287228A CN114861595B CN 114861595 B CN114861595 B CN 114861595B CN 202210287228 A CN202210287228 A CN 202210287228A CN 114861595 B CN114861595 B CN 114861595B
Authority
CN
China
Prior art keywords
font
vector
command
straight line
bezier curve
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
Application number
CN202210287228.8A
Other languages
English (en)
Other versions
CN114861595A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210287228.8A priority Critical patent/CN114861595B/zh
Publication of CN114861595A publication Critical patent/CN114861595A/zh
Application granted granted Critical
Publication of CN114861595B publication Critical patent/CN114861595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种基于矢量线条变换的个性字体生成方法,属于图像处理技术领域,其特征在于,包括以下步骤:a、导出矢量字体;b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;c、摘要预处理,包括摘要字符串转换和编码分区;d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;e、导入矢量字库,得到个性化字库。本发明能够简单快捷的生成以适应不同应用场景的个性化字体,且能够实现对文档的简易身份认证,具有良好的适用性。

Description

一种基于矢量线条变换的个性字体生成方法
技术领域
本发明涉及到图像处理技术领域,尤其涉及一种基于矢量线条变换的个性字体生成方法。
背景技术
目前现有的个性化字库制作方法中,王伦在“个性化艺术字体库生成方法”中提出了个性化艺术字体库生成方法,扫描用户手写的180个汉字并以灰度图像保存,在二值化,细化,平滑和归一化之后,将字体图像处理转换为归一化二进制数字点阵数据,从核心汉字库中提取352个字符构建组件,通过平移,缩放和旋转组件可以实现汉字的自动生成。
刘成东、连宙辉等在“基于部件拼接的高质量中文字库自动生成***”中提出了基于部件拼接的高质量汉字字库自动生成***,用户需写775个汉字,将所写汉字根据参考字符分为几个部分。根据汉字组成部分之间的关系,对部分进行缩放和拼接,以获得汉字的完整图片。由于骨架提取算法的不足,当拼接过程中组件的缩放比例过大时,会在笔画的交叉点和末端产生失真。
宋春晓在“基于汉字笔画和结构信息的个性化字库构造与优化”中提出通过对手写汉字的径迹点集进行多种特征的提取,并对用户的输入汉字集进行结构特征的划分与提取,基于机器学习对多特征数据进行书写风格分类的验证分析。然后,进行基于输入例字的笔画情境的建立,将优化的结构特征与情境赋予到基本特征字库中从而生成最终的个性化特征字库。这些研究大多是对手写汉字生成模型的研究。
字库分为点阵字库和矢量字库,点阵字库常用来作为显示字库使用,这类点阵字库汉字最大的缺点是不能放大,一旦放大后就会发现文字边缘的锯齿。矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始或终止坐标,半径或弧度。在显示或打印这一类字库时,要经过一系列的数学运算才能输出结果,但是这一类字库保存的汉字理论上可以被无限地放大,笔划轮廓仍然能保持圆滑,打印时使用的字库均为此类字库。在处理字体时,矢量字体处理比点阵字体更具方便性和准确性。由于设计的字体经常需要随意缩放、拉伸和旋转操作,普通的点阵字体会出现锯齿,且占用空间随着字体变大而成比例增加。而矢量字体中每一个字符都是通过数学曲线来刻画的,是一种基于轮廓技术的字体。矢量字体是用贝塞尔曲线段来刻画的,包含了字符轮廓上的锚点和其连接线的导数信息,字体通过读取这些数学信息,进行特定的矢量运算来渲染每一个字符,故可以任意缩放而保持光滑,既不变形也不变色,且无论字符多大,存储空间都不变。但现有技术仍没有恰当的算法以实现矢量字体的生成。
公开号为CN112784531A,公开日为2021年05月11日的中国专利文献公开了一种基于深度学习和部件拼接的中文字形生成方法,对目标字库中的汉字字形进行结构拆分得到用于重组的基础矢量部件;根据目标字库中的汉字字形的布局预测待生成字形的布局,将基础矢量部件拼接生成新的矢量字形;
所述中文字形生成方法包括线下处理过程和线上处理过程;
所述线下处理过程对已有字库的字体进行处理,得到训练数据和参考模板,包括步骤A~D;
所述线上处理过程针对任意包含少量特定汉字字形的目标字库,采用部件拼接的方法生成完整的中文矢量字形,包括步骤E~I;
A、对字库中的汉字字形进行笔画类别标记,得到笔画类别;
B、对字库中的汉字字形进行部件提取,将每个汉字字形标记好的笔画进行组合,得到不同的基础矢量部件;对每个组合好的部件进行特征提取,通过聚类得到部件类别;
C、再根据部件类别,选择相应的汉字字符形成最终输入字符集;
D、对已有字库中的汉字字形进行部件拆分处理,获得用于模型预训练的输入数据集;
E、采集得到目标字库的部分矢量汉字字形,所述字形的字符对应于输入字符集中的字符;
F、对步骤E中得到的汉字字形进行部件拆分和提取,形成可用于拼接的基础部件;所述拆分包括图像级别的拆分和矢量字形的拆分;
G、构建件架结构预测模型,对不在输入字符集中的字符对应的字形的件架结构进行预测;
H、利用步骤G训练好的件架结构预测模型,从步骤F得到的拆分好的部件中选择部件,并将其放置在预测包围框中,实现拼字和字体生成;
I、生成矢量曲线描边字库TTF,实现基于深度学习和部件拼接的中文字形生成。
该专利文献公开的基于深度学习和部件拼接的中文字形及字库生成方法,可根据设计好的少量矢量汉字字形,自动生成一套完整且可以被实际使用的高质量中文矢量字库。但是,不能简单快捷的生成以适应不同应用场景的个性化字体,适用性欠佳。
发明内容
本发明为了克服上述现有技术的缺陷,提供一种基于矢量线条变换的个性字体生成方法,本发明能够简单快捷的生成以适应不同应用场景的个性化字体,且能够实现对文档的简易身份认证,具有良好的适用性。
本发明通过下述技术方案实现:
一种基于矢量线条变换的个性字体生成方法,其特征在于,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
所述步骤c中,摘要字符串转换具体是指将摘要字符串转换为二维十进制list。
所述步骤c中,编码分区具体是指将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变。
所述步骤d中,字形变换具体包括:
q命令添加信息,绘制二阶贝塞尔曲线;
h命令添加信息,将直线转换为二阶贝塞尔曲线;
v命令添加信息,当f>8时,v命令将直线转换为三阶贝塞尔曲线,当f<8时,v命令将直线转换为二阶贝塞尔曲线;
l命令添加信息,将直线转换为二阶贝塞尔曲线;
所述q命令是指绘制贝塞尔曲线命令;
所述h命令是指绘制水平直线命令;
所述v命令是指绘制竖直直线命令;
所述l命令是指绘制直线命令;
所述f是指在l i st中固定位置提取出来的数字。
所述步骤e中,采用Fontforge软件将字形变换处理后的字形导入矢量字库具体是指采用Fontforge软件中的API函数提取所有字形svg格式图片路径标签中的字形路径进行字形变换处理。
本发明所述SM3算法是指密码杂凑算法。
本发明所述Fontforge软件是指字体编辑软件。
本发明所述API函数是指应用程序编程接口函数。
本发明所述svg是指图形文件格式。
本发明所述l i st是编程语言中类库中的一个类,指双向连结串行,以线性列的方式管理物件集合。
本发明的有益效果主要表现在以下方面:
1、本发明,a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;c、摘要预处理,包括摘要字符串转换和编码分区;d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库,较现有技术而言,能够简单快捷的生成以适应不同应用场景的个性化字体,由于基于SM3算法,从而能够实现对文档的简易身份认证,具有良好的适用性。
2、本发明,字体生成简单快捷,用户在网页或word插件中即可完成生成、安装和使用字体撰写文档,操作。
3、本发明,字体生成可以支持一事一体,面对不同的应用场景,处理身份证明,用户还可以输入不同的事件及相关描述获得个性化字体,这些字体不仅代表了用户身份,而且能够通过增加不同情景来体现字体应用的独特性。
4、本发明,基于SM3算法的单向性,对于不同的输入会产生不同的参数列表来确定个性字体对于用户输入的唯一性,用户能够基于个性化字体通过视觉呈现对文档来源进行第一重验证,且字体能够提供基本的防抵赖能力,增强了安全性。
5、本发明,在字形变化处理时,字体加密使用的公钥除了只使用身份信息,也可以添加一些其他的信息一起输入,同一个用户也可以添加一些其他不同的信息来生成更多个性化的字体,不仅使文字的表现形式更加生动丰富,而且使文字背后的情感与个性通过视觉的形式传达出来,增强体验感。
附图说明
下面将结合说明书附图和具体实施方式对本发明作进一步的具体说明:
图1为本发明的流程框图;
图2为示例中“荣”字经过算法处理之前的字体字形图;
图3为示例中“荣”字经过算法处理之后的字体字形图。
具体实施方式
实施例1
参见图1,一种基于矢量线条变换的个性字体生成方法,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
本实施例为最基本的实施方式,较现有技术而言,能够简单快捷的生成以适应不同应用场景的个性化字体,由于基于SM3算法,从而能够实现对文档的简易身份认证,具有良好的适用性。
实施例2
参见图1,一种基于矢量线条变换的个性字体生成方法,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
本实施例为一较佳实施方式,字体生成简单快捷,用户在网页或word插件中即可完成生成、安装和使用字体撰写文档,操作。
实施例3
参见图1,一种基于矢量线条变换的个性字体生成方法,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
所述步骤c中,摘要字符串转换具体是指将摘要字符串转换为二维十进制list。
所述步骤c中,编码分区具体是指将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变。
本实施例为又一较佳实施方式,字体生成可以支持一事一体,面对不同的应用场景,处理身份证明,用户还可以输入不同的事件及相关描述获得个性化字体,这些字体不仅代表了用户身份,而且能够通过增加不同情景来体现字体应用的独特性。
实施例4
参见图1,一种基于矢量线条变换的个性字体生成方法,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
所述步骤c中,摘要字符串转换具体是指将摘要字符串转换为二维十进制list。
所述步骤c中,编码分区具体是指将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变。
所述步骤d中,字形变换具体包括:
q命令添加信息,绘制二阶贝塞尔曲线;
h命令添加信息,将直线转换为二阶贝塞尔曲线;
v命令添加信息,当f>8时,v命令将直线转换为三阶贝塞尔曲线,当f<8时,v命令将直线转换为二阶贝塞尔曲线;
l命令添加信息,将直线转换为二阶贝塞尔曲线;
所述q命令是指绘制贝塞尔曲线命令;
所述h命令是指绘制水平直线命令;
所述v命令是指绘制竖直直线命令;
所述l命令是指绘制直线命令;
所述f是指在list中固定位置提取出来的数字。
本实施例为又一较佳实施方式,基于SM3算法的单向性,对于不同的输入会产生不同的参数列表来确定个性字体对于用户输入的唯一性,用户能够基于个性化字体通过视觉呈现对文档来源进行第一重验证,且字体能够提供基本的防抵赖能力,增强了安全性。
实施例5
参见图1-图3,一种基于矢量线条变换的个性字体生成方法,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
所述步骤c中,摘要字符串转换具体是指将摘要字符串转换为二维十进制list。
所述步骤c中,编码分区具体是指将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变。
所述步骤d中,字形变换具体包括:
q命令添加信息,绘制二阶贝塞尔曲线;
h命令添加信息,将直线转换为二阶贝塞尔曲线;
v命令添加信息,当f>8时,v命令将直线转换为三阶贝塞尔曲线,当f<8时,v命令将直线转换为二阶贝塞尔曲线;
l命令添加信息,将直线转换为二阶贝塞尔曲线;
所述q命令是指绘制贝塞尔曲线命令;
所述h命令是指绘制水平直线命令;
所述v命令是指绘制竖直直线命令;
所述l命令是指绘制直线命令;
所述f是指在list中固定位置提取出来的数字。
所述步骤e中,采用Fontforge软件将字形变换处理后的字形导入矢量字库具体是指采用Fontforge软件中的API函数提取所有字形svg格式图片路径标签中的字形路径进行字形变换处理。
本实施例为最佳实施方式,在字形变化处理时,字体加密使用的公钥除了只使用身份信息,也可以添加一些其他的信息一起输入,同一个用户也可以添加一些其他不同的信息来生成更多个性化的字体,不仅使文字的表现形式更加生动丰富,而且使文字背后的情感与个性通过视觉的形式传达出来,增强体验感。
下面以方正黑体示例对本发明个性字体生成进行详细说明:
步骤1、导出方正黑体字库中所有字形的矢量图片;
步骤2、提取信息摘要,使用SM3国密摘要算法提取信息摘要,所处理的信息格式为“用户邮箱+事件”;如对[email protected]办公提取信息摘要:
=eddcd1e894c7f181bec43b58dc1831fbeba5e23e8ad1778ee8faf2b0eb2209a3
步骤3、摘要预处理
1、摘要字符串转换,将摘要字符串转换为二维十进制list,如将eddcd1e894c7f181bec43b58dc1831fbeba5e23e8ad1778ee8faf2b0eb2209a3转换为:
Figure BDA0003558768660000091
2、编码分区
将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变;
步骤4、添加信息到字形中
q命令添加信息(q=quadratic Bézier curve)
命令为绘制二阶贝塞尔曲线,由于终点位置不能改变,我们将信息加入到控制点的信息中,考虑到改动幅度应与曲线长度基本成正比,具体变化为:
Figure BDA0003558768660000092
其中α为自定义参数,可改变α以得到想要的字体,dx为q命令的第三参数,dy为q命令的第四参数,i为待变化字所属的编码分区;
h命令添加信息(h=horizontallineto)
h命令为沿着x轴移动一段位置,当list[0][(i+2)%32]>8时,h命令将直线转换为三阶贝塞尔曲线,即(h dx)转换为:
Figure BDA0003558768660000101
具体变化为:
Figure BDA0003558768660000102
当list[0][(i+2)%32]≤8时,h命令将直线转换为二阶贝塞尔曲线,即(h dx)转换为:(c ctrlxctrlydx 0),具体变化为:
Figure BDA0003558768660000103
其中β为自定义参数,可改变以得到想要的字体;
v命令添加信息(V=vertical lineto)
v命令为沿着y轴移动一段位置,当f>8时,v命令将直线转换为三阶贝塞尔曲线,(v dy)转换为:
Figure BDA0003558768660000104
具体变化为:
Figure BDA0003558768660000105
当f<8时,v命令将直线转换为二阶贝塞尔曲线,(v dy)转换为:(qctrlxctrly0dv),具体变化为:
Figure BDA0003558768660000106
1命令添加信息(l=lineto)
1命令为将直线转换为二阶贝塞尔曲线,即(l dx dy)变化为q命令
(q ctrlx ctrly dx dy),具体变化为:
Figure BDA0003558768660000111
可见,本发明能够简便快捷的根据用户信息生成个性化字体。

Claims (6)

1.一种基于矢量线条变换的个性字体生成方法,其特征在于,包括以下步骤:
a、导出矢量字体,采用Fontforge软件对矢量字库中的字形进行导出;
b、通过SM3算法进行摘要算法处理,对用户提供的信息提取信息摘要,将信息摘要变成固定长度的序列;
c、摘要预处理,包括摘要字符串转换和编码分区;
d、字形变换,设每个字形由直线与高阶贝塞尔曲线组成,通过改变直线为曲线,调整高阶贝塞尔曲线控制点的位置来对后缀名为.svg的矢量图片进行处理;
e、导入矢量字库,采用Fontforge软件将字形变换处理后的字形导入矢量字库,得到个性化字库。
2.根据权利要求1所述的一种基于矢量线条变换的个性字体生成方法,其特征在于:所述步骤a中,采用Fontforge软件对矢量字库中的字形进行导出具体是指通过Fontforge软件中的API函数将矢量字库中所有的字体导出为svg矢量图片。
3.根据权利要求1所述的一种基于矢量线条变换的个性字体生成方法,其特征在于:所述步骤c中,摘要字符串转换具体是指将摘要字符串转换为二维十进制list。
4.根据权利要求1所述的一种基于矢量线条变换的个性字体生成方法,其特征在于:所述步骤c中,编码分区具体是指将不同的字符ch分区到i=unicode(ch)%n,其中n为list的列数,处于编码分区i的字符则会取list中第i、i+1和i+2索引中的内容作为参数进行字形的转变。
5.根据权利要求1所述的一种基于矢量线条变换的个性字体生成方法,其特征在于:所述步骤d中,字形变换具体包括:
q命令添加信息,绘制二阶贝塞尔曲线;
h命令添加信息,将直线转换为二阶贝塞尔曲线;
v命令添加信息,当f>8时,v命令将直线转换为三阶贝塞尔曲线,当f<8时,v命令将直线转换为二阶贝塞尔曲线;
l命令添加信息,将直线转换为二阶贝塞尔曲线;
所述q命令是指绘制贝塞尔曲线命令;
所述h命令是指绘制水平直线命令;
所述v命令是指绘制竖直直线命令;
所述l命令是指绘制直线命令;
所述f是指在list中固定位置提取出来的数字。
6.根据权利要求1所述的一种基于矢量线条变换的个性字体生成方法,其特征在于:所述步骤e中,采用Fontforge软件将字形变换处理后的字形导入矢量字库具体是指采用Fontforge软件中的API函数提取所有字形svg格式图片路径标签中的字形路径进行字形变换处理。
CN202210287228.8A 2022-03-22 2022-03-22 一种基于矢量线条变换的个性字体生成方法 Active CN114861595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210287228.8A CN114861595B (zh) 2022-03-22 2022-03-22 一种基于矢量线条变换的个性字体生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210287228.8A CN114861595B (zh) 2022-03-22 2022-03-22 一种基于矢量线条变换的个性字体生成方法

Publications (2)

Publication Number Publication Date
CN114861595A CN114861595A (zh) 2022-08-05
CN114861595B true CN114861595B (zh) 2023-04-07

Family

ID=82627711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210287228.8A Active CN114861595B (zh) 2022-03-22 2022-03-22 一种基于矢量线条变换的个性字体生成方法

Country Status (1)

Country Link
CN (1) CN114861595B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666739B (zh) * 2020-06-04 2023-05-16 大连民族大学 基于Potrace算法的中文矢量字库生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625848A (zh) * 2009-07-28 2010-01-13 宁波新然电子信息科技发展有限公司 面向嵌入式平台的矢量字库实现方法
CN110110258A (zh) * 2018-02-01 2019-08-09 阿里巴巴集团控股有限公司 一种文字转换的方法、装置以及电子设备
CN111666739A (zh) * 2020-06-04 2020-09-15 大连民族大学 基于Potrace算法的中文矢量字库生成方法
CN112085816A (zh) * 2020-09-14 2020-12-15 北京乐学帮网络技术有限公司 一种字形曲线生成方法及装置
CN112784531A (zh) * 2019-11-05 2021-05-11 北京大学 一种基于深度学习和部件拼接的中文字形及字库生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625848A (zh) * 2009-07-28 2010-01-13 宁波新然电子信息科技发展有限公司 面向嵌入式平台的矢量字库实现方法
CN110110258A (zh) * 2018-02-01 2019-08-09 阿里巴巴集团控股有限公司 一种文字转换的方法、装置以及电子设备
CN112784531A (zh) * 2019-11-05 2021-05-11 北京大学 一种基于深度学习和部件拼接的中文字形及字库生成方法
CN111666739A (zh) * 2020-06-04 2020-09-15 大连民族大学 基于Potrace算法的中文矢量字库生成方法
CN112085816A (zh) * 2020-09-14 2020-12-15 北京乐学帮网络技术有限公司 一种字形曲线生成方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
胡雪峰 等.基于贝塞尔曲线位图矢量化方法的研究.《西昌学院学报 自然科学版》.2015,第29卷(第2期),第72-75页. *
郭名芳.基于按需索取的中文Web Fonts应用研究.《中国优秀硕士学问论文全文数据库 信息科技辑》.2013,(第11期),第I139-259页. *

Also Published As

Publication number Publication date
CN114861595A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
Jiang et al. Scfont: Structure-guided chinese font generation via deep stacked networks
US11899927B2 (en) Simulated handwriting image generator
CN108090400B (zh) 一种图像文本识别的方法和装置
CN110414519A (zh) 一种图片文字的识别方法及其识别装置
US20130181995A1 (en) Handwritten character font library
JPS6165290A (ja) ベクトル文字フオントの作成装置
CN103186511A (zh) 汉字造字方法和设备、构造字体库的方法
KR20150082097A (ko) 클라우드 기반 폰트 서비스 시스템
US9159147B2 (en) Method and apparatus for personalized handwriting avatar
CN112036137A (zh) 一种基于深度学习的多风格书法数字墨水仿真方法和***
CN114861595B (zh) 一种基于矢量线条变换的个性字体生成方法
CN103632387A (zh) 毛笔字帖的生成方法和***
CN112784531A (zh) 一种基于深度学习和部件拼接的中文字形及字库生成方法
CN103914503A (zh) 产生个人化手写字体的***及其方法
CN111507064A (zh) 一种基于计算机的字库设计方法
JP2019028094A (ja) 文字生成装置、プログラム及び文字出力装置
Zhang et al. Visual knowledge guided intelligent generation of Chinese seal carving
KR100856775B1 (ko) 필기 데이터 기반 사용자 특화 필체 제공 시스템
CN112200158B (zh) 训练数据生成方法及***
Gao et al. Automatic generation of chinese vector fonts via deep layout inferring
CN112132916B (zh) 一种利用生成对抗网络的篆刻作品定制化设计生成装置
CN112395834A (zh) 基于图片输入的脑图生成方法、装置、设备及存储介质
CN116975344B (zh) 一种基于Stable Diffusion的中文字库生成方法及装置
Cao Hierarchical‐based calligraphy style transfer
CN115620307B (zh) 用于扩充ocr训练集的随机字体样式生成方法及***

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