CN110675459A - 字体生成方法、装置及系统 - Google Patents
字体生成方法、装置及系统 Download PDFInfo
- Publication number
- CN110675459A CN110675459A CN201810707502.6A CN201810707502A CN110675459A CN 110675459 A CN110675459 A CN 110675459A CN 201810707502 A CN201810707502 A CN 201810707502A CN 110675459 A CN110675459 A CN 110675459A
- Authority
- CN
- China
- Prior art keywords
- font
- skeleton
- blood
- flesh
- library
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 210000004369 blood Anatomy 0.000 claims abstract description 160
- 239000008280 blood Substances 0.000 claims abstract description 160
- 235000013372 meat Nutrition 0.000 claims abstract description 90
- 230000015654 memory Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 230000000694 effects Effects 0.000 abstract description 17
- 238000013461 design Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000000601 blood cell Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本申请公开了一种字体生成方法、装置及系统。其中,该方法包括:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。本申请解决了现有技术中的字体生成方法的效果差的技术问题。
Description
技术领域
本申请涉及文字设计领域,具体而言,涉及一种字体生成方法、装置及系统。
背景技术
目前,在字体设计过程中,通常为对每个文字进行逐字逐笔画进行单独处理,需要设计师对每个文字进行笔画位置和形态的调节,相同形态的笔画应用在不同文字中,也需要设计师进行手动调整,手工操作太多、调整费时费力,降低了字体设计效率。
为了解决上述技术问题,现有技术中提供了一种字体设计方法,将字体拆解成各个笔画,再借由笔画组合成新的字体。但是,由于同一个笔画在不同文字之间、同一个文字不同位置都有不同大小和局部形态区别,导致生成的字体品质和效果较差。
针对现有技术中的字体生成方法的效果差的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种字体生成方法、装置及系统,以至少解决现有技术中的字体生成方法的效果差的技术问题。
根据本申请实施例的一个方面,提供了一种字体生成方法,包括:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
根据本申请实施例的另一方面,还提供了一种字体生成装置,包括:第一获取模块,用于获取输入的文字信息;第二获取模块,用于获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;生成模块,用于根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
根据本申请实施例的另一方面,还提供了一种字体生成系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备如下步骤:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
根据本申请实施例的另一方面,还提供了一种字体生成方法,包括:显示骨架库和血肉库;接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:显示骨架库和血肉库;接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
在本申请实施例中,在获取到输入的文字信息之后,可以从骨架库中选中字体骨架,从血肉库中选中字体血肉,进一步根据字体骨架和字体血肉,生成输入的文字信息对应的矢量字体,达到字体生成目的。
通过本申请上述实施例所提供的方案,通过将字体拆成字体骨架和字体血肉,用户可以通过选择字体骨架或字体血肉,生成相应的字体,与现有技术相比,无需预先设计大量字体,而且能够适应汉字字形各种变化,从而达到了简化字体生成过程,减少字体生成时间,降低字体生成成本,提升字体生成效果的技术效果,进而解决了现有技术中的字体生成方法的效果差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1根据本申请实施例的一种用于实现字体生成方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种字体生成方法的流程图;
图3是根据本申请实施例的一种可选的字体生成方法的流程图;
图4a是根据本申请实施例的一种可选的字体骨架的示意图;
图4b是根据本申请实施例的一种可选的调整竖向笔画的粗度的示意图;
图4c是根据本申请实施例的一种可选的调整横向笔画的粗度的示意图;
图4d是根据本申请实施例的一种可选的调整笔画边角的示意图;
图4e是根据本申请实施例的一种可选的矢量字体的示意图;
图4f是根据本申请实施例的一种可选的压缩平行笔画粗度的示意图;
图5是根据本申请实施例2的一种字体生成装置的示意图;
图6是根据本申请实施例3的一种字体生成方法的流程图;
图7是根据本申请实施例4的一种字体生成装置的示意图;以及
图8是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
字体骨架:保障梯子辨识度的核心基础笔画。
字体血肉:对字体的笔锋、笔画粗细转折、笔画链接等细节进行刻画,形成字体不同气质的表现层。
实施例1
根据本申请实施例,还提供了一种字体生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现字体生成方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的字体生成方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的字体生成方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的字体生成方法。图2是根据本申请实施例1的一种字体生成方法的流程图。如图2所示,该方法包括如下步骤:
步骤S202,获取输入的文字信息。
上述步骤S202中的文字信息可以是用户需要进行字体设计而输入的文字,可以是汉字也可以是英文,由于汉字字形变化较多,在本申请实施例中,以输入的文字信息为汉字为例,进行详细说明。
步骤S204,获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态。
可选地,字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
上述步骤S204中的骨架库和血肉库可以是根据设计师已经设计的字体,预先得到的骨架库和血肉库,也即,可以对设计师已经设计好的字体进行抽象拆分,拆分成字体骨架和字体血肉,并建立相应的骨架库和血肉库。
需要说明的是,骨架库中不同的骨架差别在于笔画链接具体形状、笔画间距、字的长宽比等。
步骤S206,根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
上述步骤S206中的矢量字体可以是可编译的矢量字体,用户可以进一步根据字体设计需求,对矢量字体进行调整,从而生成新的字体库。
在一种可选的方案中,当用户需要进行字体设计时,用户可以输入需要进行字体设计的文字信息,并从预先设置的骨架库和选肉库中选择进行字体设计的字体骨架和字体血肉,通过按照用户选择的字体骨架和字体血肉进行组合,得到文字信息对应的矢量字体。
下面结合图3对本申请实施例中一种字体生成方法的执行过程进行说明,如图3所示,用户可以输入“来一笼表情包”作为需要进行字体设备的文字信息,并通过点击“选择骨架”,从显示的多个骨架中选择自己喜欢的骨架,即骨架1,进一步通过点击“选择血肉”,从显示的多个血肉中选择喜欢的血肉,即血肉2,进一步按照骨架1和血肉2生成“来一笼表情包”对应的可编辑的矢量字体。
基于上述实施例所限定的方案可以获知,在获取到输入的文字信息之后,可以从骨架库中选中字体骨架,从血肉库中选中字体血肉,进一步根据字体骨架和字体血肉,生成输入的文字信息对应的矢量字体,达到字体生成目的。
通过本申请上述实施例所提供的方案,通过将字体拆成字体骨架和字体血肉,用户可以通过选择字体骨架或字体血肉,生成相应的字体,与现有技术相比,无需预先设计大量字体,而且能够适应汉字字形各种变化,从而达到了简化字体生成过程,减少字体生成时间,降低字体生成成本,提升字体生成效果的技术效果,进而解决了现有技术中的字体生成方法的效果差的技术问题。
本申请提供的一种可选实施例中,根据字体骨架和字体血肉,生成文字信息对应的矢量字体包括:根据字体骨架,将文字信息转化为由至少一条线段构成的文字骨架;根据字体血肉,对文字骨架中的至少一条线段进行调整,得到矢量字体。
上述的文字骨架可以是文字信息对应的骨架,上述的线段可以是简洁后的笔画,例如,点、横、竖、撇、捺、提、折、钩等笔画可以简洁成直线、竖线、斜线。
在一种可选的方案中,在用户选中字体骨架和字体血肉之后,可以根据用户选中的字体骨架,将文字信息转化为由至少一条线段构成的文字骨架,并根据用户选中的字体血肉,对文字骨架的粗度、间距、边角等进行调整,从而得到文字信息对应的矢量字体。
例如,仍以文字信息为“来一笼表情包”为例对本申请进行详细说明,在用户输入文字信息“来一笼表情包”,并选择骨架1和血肉2之后,可以按照骨架1生成“来一笼表情包”的文字骨架,如图4a所示;然后按照字体血肉对文字骨架中的47条线段进行调整,例如,在本申请实施例中,字体血肉包括:笔画粗度和笔画间距,具体可以将竖向笔画的粗度调整为1/5Y,如图4b所示;将横向笔画的粗度调整为1/7Y,如图4c所示;并将笔画边角调整成笔画1/6的圆角描边,如图4d所示;从而得到对应的可编辑的矢量字体,如图4e所示,用户进一步可以根据需要对矢量字体进行编辑;其中,每个字体的竖向尺寸和横向尺寸均为Y。
本申请提供的一种可选实施例中,在字体血肉包括:笔画粗度的情况下,根据字体血肉,对文字骨架中的至少一条线段进行调整,得到矢量字体包括:根据笔画粗度对至少一条线段的粗度进行调整,得到调整后的文字骨架;判断调整后的文字骨架中的平行笔画是否重叠;若调整后的文字骨架中的平行笔画出现重叠,则对调整后的文字骨架中的平行笔画的粗度进行压缩,直至平行笔画的间距满足预设间距,以得到矢量字体;若调整后的文字骨架中的平行笔画不重叠,则将调整后的文字骨架作为矢量字体。
上述的笔画粗度包括横向笔画粗度和竖向笔画粗度,笔画粗度可以根据字体的横向尺寸和竖向尺寸进行设定。
需要说明的是,由于有些字体中包含多条平行笔画,并且多条平行笔画之间不存在骨架相接的情况,当对多条平行笔画的粗度进行调整之后,多条平行笔画容易出现重叠,影响用户对字体的识别,因此,需要对出现重叠的平行笔画的粗度进行压缩,以使多条平行笔画之间的笔画间距调整为预设间距,从而得到文字信息对应的矢量字体。
上述的预设间距可以根据平行笔画的笔画粗度和进行确定,例如,预设间距可以是笔画粗度和的1/6。
例如,仍以文字信息为“来一笼表情包”为例对本申请进行详细说明,如图4c所示,调整后的文字骨架中“情”字的六个平行笔画出现重叠,需要对六个平行笔画进行压缩,直至笔画间距变为笔画粗度和的1/6距离,平行笔画压缩后的字体如图4f所示。
本申请提供的一种可选实施例中,在获取骨架库中的字体骨架以及血肉库中的字体血肉之前,该方法还包括:对字体集合中的每个字体进行处理,生成骨架库;以及获取字体生成算法,并根据字体生成算法,生成血肉库。
上述的字体集合可以是成熟的字库字体,通过将成熟的字库字体抽象成骨架库。
上述的字体生成算法可以是设计师设计字体的方法和过程,通过将设计师设计字体的方法和过程抽象成算法,建立血肉库。
需要说明的是,骨架库和血肉库可以动态学习。
通过上述方案,在营销Banner、活动主题字、EDM(电子邮件营销,是Email DirectMarketing的简称)等需要使用到特殊字体设计的场景中,通过将字体拆成骨架和血肉,用户可以设计少量字体获得完整的字库,而无需通过人工一个一个进行设计;用户可以通过设计字体的骨架或血肉,获得对应的字体;用户通过选择已有的字体骨架和血肉进行组合,生成新的字体库。从而字体设计时间成本变小,而且,设计师可以将字体设计灵感、方法沉淀到血肉库中,生成更多字体,带来更大的价值增量。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述字体生成方法的字体生成装置,如图5所示,该装置500包括:
第一获取模块502,用于获取输入的文字信息。
第二获取模块504,用于获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态。
可选地,字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
生成模块506,用于根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
此处需要说明的是,上述第一获取模块502、第二获取模块504和生成模块506对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
本申请提供的一种可选实施例中,如图5所示,生成模块506包括:生成单元508,用于根据字体骨架,将文字信息转化为由至少一条线段构成的文字骨架;调整单元510,用于根据字体血肉,对文字骨架中的至少一条线段进行调整,得到矢量字体。
本申请提供的一种可选实施例中,在字体血肉包括:笔画粗度的情况下,调整单元510,还用于根据笔画粗度对至少一条线段的粗度进行调整,得到调整后的文字骨架,并判断调整后的文字骨架中的平行笔画是否重叠;调整单元510,还用于若调整后的文字骨架中的平行笔画出现重叠,则对调整后的文字骨架中的平行笔画的粗度进行压缩,直至平行笔画的间距满足预设间距,以得到矢量字体;调整单元510,还用于若调整后的文字骨架中的平行笔画不重叠,则将调整后的文字骨架作为矢量字体。
本申请提供的一种可选实施例中,如图5所示,该装置500还包括:第一处理模块512,用于对字体集合中的每个字体进行处理,生成骨架库;第二处理模块514,用于获取字体生成算法,并根据字体生成算法,生成血肉库。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例3
根据本申请实施例,还提供了一种字体生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图6是根据本申请实施例3的一种字体生成方法的流程图。如图6所示,该方法包括如下步骤:
步骤S602,显示骨架库和血肉库。
上述步骤S602中的骨架库和血肉库可以是根据设计师已经设计的字体,预先得到的骨架库和血肉库,也即,可以对设计师已经设计好的字体进行抽象拆分,拆分成字体骨架和字体血肉,并建立相应的骨架库和血肉库。
步骤S604,接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态。
上述步骤S604中的文字信息可以是用户需要进行字体设计而输入的文字,可以是汉字也可以是英文,由于汉字字形变化较多,在本申请实施例中,以输入的文字信息为汉字为例,进行详细说明。
可选地,字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
需要说明的是,骨架库中不同的骨架差别在于笔画链接具体形状、笔画间距、字的长宽比等。
步骤S606,显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
上述步骤S606中的矢量字体可以是可编译的矢量字体,用户可以进一步根据字体设计需求,对矢量字体进行调整,从而生成新的字体库。
在一种可选的方案中,用户可以通过字体生成装置进行字体设计,字体生成装置可以向用户提供一个操作界面,在操作界面中显示预先得到的骨架库和血肉库供用户选择,用户可以根据自身需要,输入需要进行字体设计的文字信息,并从操作界面中显示的骨架库中选择字体骨架,并从血肉库中选择字体血肉,字体生成装置在接收到用户输入的文字信息以及选择好的字体骨架和字体血肉之后,通过按照用户选择的字体骨架和字体血肉进行组合,得到文字信息对应的矢量字体,并在操作界面中进行显示,从而用户可以知晓最终设计好的个性化字体。
基于上述实施例所限定的方案可以获知,在显示骨架库和血肉库之后,可以接收用户输入的字体信息,并接收用户从骨架库中选中的字体骨架以及从血肉库中选中的字体血肉,进一步根据字体骨架和字体血肉,生成输入的文字信息对应的矢量字体,并进行显示,达到字体生成目的。
通过本申请上述实施例所提供的方案,通过将字体拆成字体骨架和字体血肉,用户可以通过选择字体骨架或字体血肉,生成相应的字体,与现有技术相比,无需预先设计大量字体,而且能够适应汉字字形各种变化,从而达到了简化字体生成过程,减少字体生成时间,降低字体生成成本,提升字体生成效果的技术效果,进而解决了现有技术中的字体生成方法的效果差的技术问题。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例4
根据本申请实施例,还提供了一种用于实施上述字体生成方法的字体生成装置,如图7所示,该装置700包括:
第一显示模块702,用于显示骨架库和血肉库。
接收模块704,用于接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态。
可选地,字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
第二显示模块706,用于显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
此处需要说明的是,上述第一显示模块702、接收模块704和第二显示模块706对应于实施例3中的步骤S602至步骤S606,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1和3中的相关描述,在此不在赘述。
实施例5
根据本申请实施例,还提供了一种用于实施上述字体生成方法的字体生成系统,该系统包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行字体生成方法中以下步骤的程序代码:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
可选地,图8是根据本申请实施例的一种计算机终端的结构框图。如图8所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器802、以及存储器804。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的字体生成方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的字体生成方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
可选的,上述处理器还可以执行如下步骤的程序代码:字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
可选的,上述处理器还可以执行如下步骤的程序代码:根据字体骨架,将文字信息转化为由至少一条线段构成的文字骨架;根据字体血肉,对文字骨架中的至少一条线段进行调整,得到矢量字体。
可选的,上述处理器还可以执行如下步骤的程序代码:在字体血肉包括:笔画粗度的情况下,根据笔画粗度对至少一条线段的粗度进行调整,得到调整后的文字骨架;判断调整后的文字骨架中的平行笔画是否重叠;若调整后的文字骨架中的平行笔画出现重叠,则对调整后的文字骨架中的平行笔画的粗度进行压缩,直至平行笔画的间距满足预设间距,以得到矢量字体;若调整后的文字骨架中的平行笔画不重叠,则将调整后的文字骨架作为矢量字体。
可选的,上述处理器还可以执行如下步骤的程序代码:在获取骨架库中的字体骨架以及血肉库中的字体血肉之前,对字体集合中的每个字体进行处理,生成骨架库;以及获取字体生成算法,并根据字体生成算法,生成血肉库。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:显示骨架库和血肉库;接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
采用本申请实施例,提供了一种字体生成的方案。在获取到输入的文字信息之后,可以从骨架库中选中字体骨架,从血肉库中选中字体血肉,进一步根据字体骨架和字体血肉,生成输入的文字信息对应的矢量字体,达到字体生成目的。
通过本申请上述实施例所提供的方案,通过将字体拆成字体骨架和字体血肉,用户可以通过选择字体骨架或字体血肉,生成相应的字体,与现有技术相比,无需预先设计大量字体,而且能够适应汉字字形各种变化,从而达到了简化字体生成过程,减少字体生成时间,降低字体生成成本,提升字体生成效果的技术效果,进而解决了现有技术中的字体生成方法的效果差的技术问题。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的字体生成方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取骨架库中的字体骨架以及血肉库中的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;根据字体骨架和字体血肉,生成文字信息对应的矢量字体。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:显示骨架库和血肉库;接收用户输入的文字信息,用户从骨架库中选择的字体骨架以及用户从血肉库中选择的字体血肉,字体骨架用于表征字体的结构,字体血肉用于表征字体的形态;显示文字信息对应的矢量字体,矢量字体是根据字体骨架和字体血肉生成的。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (15)
1.一种字体生成方法,其特征在于,包括:
获取输入的文字信息;
获取骨架库中的字体骨架以及血肉库中的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;
根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体。
2.根据权利要求1所述的方法,其特征在于,所述字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
3.根据权利要求2所述的方法,其特征在于,根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体包括:
根据所述字体骨架,将所述文字信息转化为由至少一条线段构成的文字骨架;
根据所述字体血肉,对所述文字骨架中的所述至少一条线段进行调整,得到所述矢量字体。
4.根据权利要求3所述的方法,其特征在于,在所述字体血肉包括:笔画粗度的情况下,根据所述字体血肉,对所述文字骨架中的所述至少一条线段进行调整,得到所述矢量字体包括:
根据所述笔画粗度对所述至少一条线段的粗度进行调整,得到调整后的文字骨架;
判断所述调整后的文字骨架中的平行笔画是否重叠;
若所述调整后的文字骨架中的平行笔画出现重叠,则对所述调整后的文字骨架中的平行笔画的粗度进行压缩,直至所述平行笔画的间距满足预设间距,以得到所述矢量字体;
若所述调整后的文字骨架中的平行笔画不重叠,则将所述调整后的文字骨架作为所述矢量字体。
5.根据权利要求2所述的方法,其特征在于,在获取骨架库中的字体骨架以及血肉库中的字体血肉之前,所述方法还包括:
对字体集合中的每个字体进行处理,生成所述骨架库;以及
获取字体生成算法,并根据所述字体生成算法,生成所述血肉库。
6.一种字体生成装置,其特征在于,包括:
第一获取模块,用于获取输入的文字信息;
第二获取模块,用于获取骨架库中的字体骨架以及血肉库中的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;
生成模块,用于根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体。
7.根据权利要求6所述的装置,其特征在于,所述字体血肉包括如下一种或多种:笔画粗度、笔画间距和笔画边角。
8.根据权利要求7所述的装置,其特征在于,所述生成模块包括:
生成单元,用于根据所述字体骨架,将所述文字信息转化为由至少一条线段构成的文字骨架;
调整单元,用于根据所述字体血肉,对所述文字骨架中的所述至少一条线段进行调整,得到所述矢量字体。
9.根据权利要求8所述的装置,其特征在于,在所述字体血肉包括:笔画粗度的情况下,
所述调整单元,还用于根据所述笔画粗度对所述至少一条线段的粗度进行调整,得到调整后的文字骨架,并判断所述调整后的文字骨架中的平行笔画是否重叠;
所述调整单元,还用于若所述调整后的文字骨架中的平行笔画出现重叠,则对所述调整后的文字骨架中的平行笔画的粗度进行压缩,直至所述平行笔画的间距满足预设间距,以得到所述矢量字体;
所述调整单元,还用于若所述调整后的文字骨架中的平行笔画不重叠,则将所述调整后的文字骨架作为所述矢量字体。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一处理模块,用于对字体集合中的每个字体进行处理,生成所述骨架库;
第二处理模块,用于获取字体生成算法,并根据所述字体生成算法,生成所述血肉库。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备如下步骤:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;
根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体。
13.一种字体生成系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取输入的文字信息;获取骨架库中的字体骨架以及血肉库中的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;根据所述字体骨架和所述字体血肉,生成所述文字信息对应的矢量字体。
14.一种字体生成方法,其特征在于,包括:
显示骨架库和血肉库;
接收用户输入的文字信息,用户从所述骨架库中选择的字体骨架以及用户从所述血肉库中选择的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;
显示所述文字信息对应的矢量字体,所述矢量字体是根据所述字体骨架和所述字体血肉生成的。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:显示骨架库和血肉库;接收用户输入的文字信息,用户从所述骨架库中选择的字体骨架以及用户从所述血肉库中选择的字体血肉,所述字体骨架用于表征字体的结构,所述字体血肉用于表征字体的形态;显示所述文字信息对应的矢量字体,所述矢量字体是根据所述字体骨架和所述字体血肉生成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810707502.6A CN110675459A (zh) | 2018-07-02 | 2018-07-02 | 字体生成方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810707502.6A CN110675459A (zh) | 2018-07-02 | 2018-07-02 | 字体生成方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110675459A true CN110675459A (zh) | 2020-01-10 |
Family
ID=69065368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810707502.6A Pending CN110675459A (zh) | 2018-07-02 | 2018-07-02 | 字体生成方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110675459A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007245659A (ja) * | 2006-03-17 | 2007-09-27 | Ricoh Co Ltd | 画像処理装置 |
CN103136769A (zh) * | 2011-12-02 | 2013-06-05 | 北京三星通信技术研究有限公司 | 用户书写风格字体生成的方法和装置 |
CN103942552A (zh) * | 2014-02-11 | 2014-07-23 | 北京大学 | 一种基于骨架指导的文字图像矢量化方法及系统 |
CN104063359A (zh) * | 2014-05-19 | 2014-09-24 | 严永亮 | 个性化汉字字库的实现方法 |
-
2018
- 2018-07-02 CN CN201810707502.6A patent/CN110675459A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007245659A (ja) * | 2006-03-17 | 2007-09-27 | Ricoh Co Ltd | 画像処理装置 |
CN103136769A (zh) * | 2011-12-02 | 2013-06-05 | 北京三星通信技术研究有限公司 | 用户书写风格字体生成的方法和装置 |
CN103942552A (zh) * | 2014-02-11 | 2014-07-23 | 北京大学 | 一种基于骨架指导的文字图像矢量化方法及系统 |
CN104063359A (zh) * | 2014-05-19 | 2014-09-24 | 严永亮 | 个性化汉字字库的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815339B (zh) | 基于TextCNN知识抽取方法、装置、计算机设备及存储介质 | |
CN109447895B (zh) | 图片生成方法和装置、存储介质及电子装置 | |
CN110060317A (zh) | 海报自动配置方法、设备、存储介质及装置 | |
CN110515951B (zh) | 一种bom标准化方法、系统及电子设备和存储介质 | |
CN108319888B (zh) | 视频类型的识别方法及装置、计算机终端 | |
CN106020504A (zh) | 信息输出方法和装置 | |
CN105574092A (zh) | 信息挖掘方法和装置 | |
CN110942763A (zh) | 语音识别方法及装置 | |
CN111399831A (zh) | 页面的展示方法和装置、存储介质、电子装置 | |
CN111914571A (zh) | 语句切分方法及装置、存储介质、处理器及终端设备 | |
CN109271083B (zh) | 数据处理方法和装置、计算设备及存储介质 | |
CN113407254A (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN109254803A (zh) | 应用程序启动控制方法、装置、终端及可读存储介质 | |
CN113128534A (zh) | 情绪识别的方法、装置以及存储介质 | |
CN112765981A (zh) | 一种文本信息的生成方法和装置 | |
CN110675459A (zh) | 字体生成方法、装置及系统 | |
CN109740074B (zh) | 参数配置信息的处理方法、装置及设备 | |
CN107423051B (zh) | 数据的配置方法和装置 | |
CN114970761A (zh) | 模型训练方法及装置、系统 | |
CN114757836A (zh) | 图像处理方法、装置、存储介质及计算机设备 | |
CN114299073A (zh) | 图像分割方法、装置、存储介质以及计算机程序 | |
CN110929866B (zh) | 神经网络模型的训练方法、装置和系统 | |
CN113011182A (zh) | 一种对目标对象进行标签标注的方法、装置和存储介质 | |
CN115700519A (zh) | 一种文本到图像的生成方法、装置、存储介质及终端 | |
CN112036119A (zh) | 一种文本显示方法、装置及计算机可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200110 |
|
RJ01 | Rejection of invention patent application after publication |