CN113850051A - 一种字体贴图的动态生成方法、装置、及可读存储介质 - Google Patents

一种字体贴图的动态生成方法、装置、及可读存储介质 Download PDF

Info

Publication number
CN113850051A
CN113850051A CN202111128039.8A CN202111128039A CN113850051A CN 113850051 A CN113850051 A CN 113850051A CN 202111128039 A CN202111128039 A CN 202111128039A CN 113850051 A CN113850051 A CN 113850051A
Authority
CN
China
Prior art keywords
character
font
size
map
chartlet
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
Application number
CN202111128039.8A
Other languages
English (en)
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 Vision Mutual Entertainment Technology Co ltd
Original Assignee
Shenzhen Vision Mutual Entertainment Technology 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 Vision Mutual Entertainment Technology Co ltd filed Critical Shenzhen Vision Mutual Entertainment Technology Co ltd
Priority to CN202111128039.8A priority Critical patent/CN113850051A/zh
Publication of CN113850051A publication Critical patent/CN113850051A/zh
Pending legal-status Critical Current

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
    • 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)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明涉及计算机技术领域,且公开了一种字体贴图的动态生成方法,包括以下步骤:S1、利用操作系统默认绘图工具,根据预设尺寸生成一个固定尺寸空白的初始化位图;S2、利用操作系统默认静态字体工具,生成动态贴图字体基本调控参数;S3、输入目标文本,制作用于动态文本贴图的固定字符集,并统计所有字符集数量MaxTexts;本发明提供的字体贴图的动态生成方法、装置及可读存储介质,提供了一种个性化字体贴图的动态生成方式,制作人员提前完成艺术字体的预先绘制工作,并存放于可读存储介质,在移动网络游戏运行时,应用在交互截面、剧情、活动等各个模块,具有很强的通用性,能显示增强产品体验。

Description

一种字体贴图的动态生成方法、装置、及可读存储介质
技术领域
本发明涉及计算机技术领域,具体为一种字体贴图的动态生成方法、装置、及可读存储介质。
背景技术
随着计算机技术的不断发展,越来越多的移动网络游戏通过交互界面、剧情、动态活动等凡是提高用户体验,在现有的移动网络游戏中,文本显示主要采用操作系统默认的静态显示方式,只能使用操作系统自带的固定字体,导致在具体使用的时候,不能增强产品的体验。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种字体贴图的动态生成方法、装置、及可读存储介质,解决了上述背景技术中所存在的问题。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种字体贴图的动态生成方法,包括以下步骤:
S1、利用操作系统默认绘图工具,根据预设尺寸生成一个固定尺寸空白的初始化位图;
S2、利用操作系统默认静态字体工具,生成动态贴图字体基本调控参数;
S3、输入目标文本,制作用于动态文本贴图的固定字符集,并统计所有字符集数量MaxTexts;
S4、根据基本调控参数,利用操作系统默认静态字体工具绘制所有字符,每一个字符产生一个字符贴图文件,生成的所有字符贴图文件简称字符贴图集;
S5、将每一个字符贴图文件按先后顺序排列,利用操作系统绘图工具绘制在初始化位图中。
优选的,所述步骤S1中初始化位图的预设尺寸可根据当前主流的移动GPU显卡显存,预设尺寸一般为512×512像素,也可以根据需要调整为其他尺寸。
优选的,所述步骤S2中的基本调控参数包括:字体名、字号。
优选的,所述步骤S3中的字符集在生成字体贴图后不可改变。
优选的,所述方法还包括S6、可以根据操作系统提供的工具,为每一个字符贴图预生成加粗、斜体、描边、阴影等效果,增加效果会导致原字符贴图的大小改变,此时需要重新计算生成每一个字符贴图的尺寸。
优选的,所述方法还包括S7、为节省输出位图尺寸,可以优化字符贴图集排列方式,具体如下:
S71、对字符贴图集进行排序,排血的策略是可以指定的,可以选择策略有:每一个字符贴图的面积、宽、高、最旁边的边;
S72、根据现代移动硬件GPU显卡显存的大小,预先指定128×128、256×256、256×128、512×512、1024×512、1024×1024、1024×2048、2048×2048、2048×4096、4096×4096等尺寸作为输出位图尺寸集;
S73、按输出位图尺寸集的顺序,依次尝试每一个尺寸是否可以按顺序填充放进全部字符贴图集,此时字符贴图集已经完成排序,每次放入一张字符贴图,都会将位图划分为大、小两个空间,迭代填充入全部剩余字符贴图集到两个空间即可;
S74、生成一份配置文件,记录字符集中所有字符串在输出位图中对应贴图的坐标和尺寸信息。
优选的,一种字体贴图的动态生成装置,包括字符集输入模块,用于生成包括中文、日文、韩文、英文等各国语言字符集;字体贴图设计模块,用于根据操作系统字体工具,设置字体贴图的字号大小、加粗、斜体、描边、阴影等调控参数;位图生成模块,用于基于指定字符集输入,依据字符贴图集,根据现代移动硬件GPU显卡显存的大小输出最小尺寸的字体贴图及对应的配置文件。
优选的,一种计算机可读存储介质,所述介质上存储有计算机程序,该程序被处理器执行时实现一种字体贴图的动态生成方法。
(三)有益效果
本发明提供了一种字体贴图的动态生成方法、装置、及可读存储介质,具备以下有益效果:
本发明提供的字体贴图的动态生成方法、装置及可读存储介质,提供了一种个性化字体贴图的动态生成方式,制作人员提前完成艺术字体的预先绘制工作,并存放于可读存储介质,在移动网络游戏运行时,应用在交互截面、剧情、活动等各个模块,具有很强的通用性,能显示增强产品体验。
附图说明
图1为本发明字体贴图的动态生成方法的流程图;
图2为本发明中字符贴图集的示意图;
图3为本发明中将字符贴图填充绘制到初始化位图中的示意图;
图4为本发明计算最小位图尺寸的方法流程图;
图5为本发明计算最小位图尺寸时,每一次填充字符集贴图时对原位图空间分割的示意图;
图6为本发明中字体贴图的动态生成装置的示意图;
图7为本发明中体贴图的动态生成装置的另一示意图;
图8为本发明中电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明提供一种字体贴图的动态生成方法,该方法有字体贴图的动态生成装置执行,该装置通过软件和/或硬件实现,并具体配置与具备移动数据运算能力的电子设备中,具体如下:
1、根据预设尺寸生成空白初始化位图;
2、调整字体参数:字体名、字号;
3、输入并生成固定字符集;
4、利用字体工具绘制所有字符,生成字符贴图集;
5、将字符贴图集按一定顺序填充绘制在初始化位图中;
6、生成并存储字符集贴图配置文件。
在本实施例中,生成字符贴图集,及时将固定字符集中的文字拆分为像素位图显示,从而实现动态绘制,如图2所示,“ABCD”作为固定字符集,生成了“A”、“B”、“C”、“D”4张不同尺寸的贴图文件,在需要增加颜色、粗细、阴影、描边等效果的地方,通过将字体文件绘制成图像文件来实现文本的显示,可以很好的吸引用户。
本实施例中的最终输出文件由字体贴图的配置文件和保存所有字符贴图集的位图文件组成,如图3所示,依据图2字符贴图集,最终优化位置,填充绘制到位图中的样例,“A”、“B”、“C”、“D”4张贴图文件,被填充合并到了一张固定尺寸的贴图文件中,按照设计,每一个字符被转化为图片,按尺寸排序后,填充存储在一张经过校正后固定尺寸的位图文件中。
本实施例中最终输出的配置文件中,至少包含字符集中每一个字符对应的字符编码、字符贴图在位图中坐标信息和尺寸信息,每一个字符按顺序占一行配置文件,例如:“char id=‘\u534e’x=0 y=0 width=33 height=36”对应的配置文件表示,Unicode编码“\u534e”对应的中文字符“华”,位于的(0,0)坐标,贴图的尺寸33像素,宽36像素。
本实施例中,字符集的字符编码可以遵循Unicode国际编码,以支持包含中、日、韩、英语等所有语言字体。Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
实施例2
如图4所示,本发明提供可一种计算最小位图尺寸的方法,具体如下:
1、对字符贴图集进行排序;
2、按预设顺序,调整输出位图尺寸;
3、按顺序填充放进全部字符贴图集到该位图尺寸;
4、检测该尺寸是否超出最大尺寸。
在步骤4中,如果超出最大尺寸,则重复步骤2,采用更大一级的位图尺寸。
本实施例中,位图尺寸的单位是像素,据现代移动硬件GPU显卡显存的大小,预先指定的尺寸可以为128×128、256×256、256×128、512×512、1024×512、1024×1024、1024×2048、2048×2048、2048×4096、4096×4096等,实际操作中,一般默认初始大小为128×128可以满足主流移动硬件终端的需求。
本实施例中,对字符贴图集进行排序是有必要的,实际操作用,不同的排序策略在不同的文字大小下,有非常大的效果差异,主要体现在最终输出位图的宽比例不同。排序的策略是可以指定的,可以选择策略有:每-个字符贴图的面积、宽、高、最旁边的边为排序依据。
本实施例中,每次放人一张字符贴图,都会将位图划分为大、小两个空间,如图5所示,需要将已经完成排序的全部剩余字符贴图集,全部迭代填充入到大空间和小空间,即可完成所有字符贴图集的合并工作。
本实施例中,合并所有字符集贴图到一个位图是有必要的。实际操作中,中文等其他字体包含大量字符,如果不合并所有字符集贴图,将会产生大量的零散贴图,导致移动渲染性能降低。
实施例3
如图6所示,本发明提供一种字体贴图的动态生成装置,具体包括:
字符集输入模块:用于生成包括中文、日文、韩文、英文等各国语言字符集;
字体贴图设计模块:用于根据操作系统字体工具,设置字体贴图的字号大小,加粗、斜体、描边、阴影等调控参数;
位图生成模块:用于基于指定字符集输入、依据字符贴图集,根据现代移动硬件GPU显卡显存的大小输出最小尺寸的字体贴图及对应的配置文件。
本实施例的字体贴图绘制装置,通过采用上述模块实现字体贴图的动态绘制,与上述相关方法实施例的实现原理相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
实施例4
如图7所示,本发明提供一种字体贴图的动态生成装置,在图6的基础上,进一步的详细的介绍该装置的结构原理。
本实施例的字体贴图的动态生成装置中,贴图预览模块,具体用于根据配置文件及实际位图贴图,及时展示字体贴图的实时渲染效果。
在本实施例中,实际操作的时候,贴图预览模块-般显示26个字母及0-9这10个数字,默认不展示中、日、韩文等非英文字母。
可选的,贴图预览模块可以检测字符集中是否包含中、日、韩文等非英文字母,当检测成立时,可以截取用户输入的前几位字符用于实施贴图预览。由于字符集的字符编码是Unicode国际编码,中、日、韩等字符集在Unicode编码中处于特定编码位,可以依据输入的Unicode编码检测是否字符集中是否包含中、日、韩文等非英文字母。
进一步可选的,由于添加了贴图预览模块,可以为字符配置增加其他的配置选项。实际操作的时候,由于描边、阴影效果导致贴图边缘的alpha数值难以精确计算,可以通过调整字符集的内外边距等配置选项进行修正,具体实现的配置文件示例如:“char id=‘\u534e’x=0 y=0 width=33 height=36 xoffset=0 yoifset=28”,对应的配置文件表示,Unicode编码“\u534e”对应的中文字符“华”,位于的(0,0)坐标,贴图的尺寸33像素,宽36像素,x坐标偏移0像素,y坐标偏移28像素。
实施例5
如图8所示,本发明提供一种电子设备,包括输入装置、输出装置、处理器和存储器,其中:
输入装置:用于获取输入字符集;
输出装置:用于展示字体贴图;
一个或多个处理器;
存储器:用于存储一个或多个程序。
本实施例以一个处理器为例,该电子设备中的输入装置可以通过总线或其他方式与输出装置、处理器以及存储器相连,且处理器和存储器也通过总线或其他方式连接,本实施例中以通过总线连接为例。
在本实施例中,电子设备中的处理器可以控制输入装置获取输入字符集;还可以调整字体参数:字体名、字号,设置字体贴图的字号大小、加粗、斜体、描边、阴影等;还可以控制输出装置展示字体贴图。
该电子设备中的存储器作为一种计算机可读存储介质,可用于存储-个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中字体贴图的动态生成方法对应的程序指令/模块。处理器通过运行存储在存储装置中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的字体贴图的动态生成方法。
存储装置可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少-个功能所需的应用程序;存储数据区可存储数据等(如上述实施例中的字体贴图以及配置文件等)。在一些实例中,存储装置可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例6
本发明提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种字体贴图的动态生成方法,该方法包括:
1、根据预设尺寸生成一个固定尺寸空白的初始化位图,可以根据需要调整为其他尺寸;
2、生成动态贴图字体基本的调控参数:字体名、字号;
3、输入目标文本,制作用于动态文本贴图的固定字符集;
4、根据基本调控参数:字体名、字号,绘制所有字符,每一个字符产生一个字符贴图文件,生成的所有字符贴图文件简称字符贴图集;
5、将字符贴图集按先后顺序排列,填充绘制在初始化位图中并生成一份配置文件,记录字符集中所有字符串在输出位图中对应贴图的坐标和尺寸信息。
本实施例中,所提供的-种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的字体贴图的动态生成方法的相关操作。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言--诸如Java、C++等,还包括常规的过程式程序设计语言--诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络--包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得-台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (8)

1.一种字体贴图的动态生成方法,其特征在于:包括以下步骤:
S1、利用操作系统默认绘图工具,根据预设尺寸生成一个固定尺寸空白的初始化位图;
S2、利用操作系统默认静态字体工具,生成动态贴图字体基本调控参数;
S3、输入目标文本,制作用于动态文本贴图的固定字符集,并统计所有字符集数量MaxTexts;
S4、根据基本调控参数,利用操作系统默认静态字体工具绘制所有字符,每一个字符产生一个字符贴图文件,生成的所有字符贴图文件简称字符贴图集;
S5、将每一个字符贴图文件按先后顺序排列,利用操作系统绘图工具绘制在初始化位图中。
2.根据权利要求1所述的一种字体贴图的动态生成方法,其特征在于:所述步骤S1中初始化位图的预设尺寸可根据当前主流的移动GPU显卡显存,预设尺寸一般为512×512像素,也可以根据需要调整为其他尺寸。
3.根据权利要求1所述的一种字体贴图的动态生成方法,其特征在于:所述步骤S2中的基本调控参数包括:字体名、字号。
4.根据权利要求1所述的一种字体贴图的动态生成方法,其特征在于:所述步骤S3中的字符集在生成字体贴图后不可改变。
5.根据权利要求1所述的一种字体贴图的动态生成方法,其特征在于:所述方法还包括S6、可以根据操作系统提供的工具,为每一个字符贴图预生成加粗、斜体、描边、阴影等效果,增加效果会导致原字符贴图的大小改变,此时需要重新计算生成每一个字符贴图的尺寸。
6.根据权利要求1所述的一种字体贴图的动态生成方法,其特征在于:所述方法还包括S7、为节省输出位图尺寸,可以优化字符贴图集排列方式,具体如下:
S71、对字符贴图集进行排序,排血的策略是可以指定的,可以选择策略有:每一个字符贴图的面积、宽、高、最旁边的边;
S72、根据现代移动硬件GPU显卡显存的大小,预先指定128×128、256×256、256×128、512×512、1024×512、1024×1024、1024×2048、2048×2048、2048×4096、4096×4096等尺寸作为输出位图尺寸集;
S73、按输出位图尺寸集的顺序,依次尝试每一个尺寸是否可以按顺序填充放进全部字符贴图集,此时字符贴图集已经完成排序,每次放入一张字符贴图,都会将位图划分为大、小两个空间,迭代填充入全部剩余字符贴图集到两个空间即可;
S74、生成一份配置文件,记录字符集中所有字符串在输出位图中对应贴图的坐标和尺寸信息。
7.一种字体贴图的动态生成装置,其特征在于:包括字符集输入模块,用于生成包括中文、日文、韩文、英文等各国语言字符集;字体贴图设计模块,用于根据操作系统字体工具,设置字体贴图的字号大小、加粗、斜体、描边、阴影等调控参数;位图生成模块,用于基于指定字符集输入,依据字符贴图集,根据现代移动硬件GPU显卡显存的大小输出最小尺寸的字体贴图及对应的配置文件。
8.一种计算机可读存储介质,其特征在于:所述介质上存储有计算机程序,该程序被处理器执行时实现一种字体贴图的动态生成方法。
CN202111128039.8A 2021-09-26 2021-09-26 一种字体贴图的动态生成方法、装置、及可读存储介质 Pending CN113850051A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111128039.8A CN113850051A (zh) 2021-09-26 2021-09-26 一种字体贴图的动态生成方法、装置、及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111128039.8A CN113850051A (zh) 2021-09-26 2021-09-26 一种字体贴图的动态生成方法、装置、及可读存储介质

Publications (1)

Publication Number Publication Date
CN113850051A true CN113850051A (zh) 2021-12-28

Family

ID=78979506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128039.8A Pending CN113850051A (zh) 2021-09-26 2021-09-26 一种字体贴图的动态生成方法、装置、及可读存储介质

Country Status (1)

Country Link
CN (1) CN113850051A (zh)

Similar Documents

Publication Publication Date Title
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
CN110096277B (zh) 一种动态页面展示方法、装置、电子设备及存储介质
US6781600B2 (en) Shape processor
US7505041B2 (en) Iteratively solving constraints in a font-hinting language
US20140085311A1 (en) Method and system for providing animated font for character and command input to a computer
CN111221597A (zh) 字体渲染方法、装置及计算机可读存储介质
CN111695518B (zh) 结构化文档信息标注的方法、装置及电子设备
JP2015130158A (ja) クラウドベースのフォントサービスシステム
US20210350541A1 (en) Portrait extracting method and apparatus, and storage medium
US20200279415A1 (en) Efficiently Computed Distance Fields
CN111915705B (zh) 图片可视化编辑方法、装置、设备和介质
CN111221596A (zh) 字体渲染方法、装置及计算机可读存储介质
CN105844683A (zh) 基于Canvas和WebWorker的像素差逐帧动画的实现方法
CN113313027A (zh) 图像处理方法、装置、电子设备和存储介质
CN113657396B (zh) 训练方法、译文展示方法、装置、电子设备以及存储介质
US7463271B2 (en) Optimized access for drawing operations
US20200258273A1 (en) Vector Graphic Font Character Generation Techniques
CN103678261A (zh) 一种快速显示ttf字体的方法、装置及设备
CN115878935B (zh) 一种图表的局部刷新方法、系统、装置、设备及介质
US20140320527A1 (en) Hardware glyph cache
CN113850051A (zh) 一种字体贴图的动态生成方法、装置、及可读存储介质
US9905030B2 (en) Image processing device, image processing method, information storage medium, and program
CN113436298B (zh) 一种自动生成汉字笔顺动画的方法、装置及其相关组件
CN115329720A (zh) 一种文档展示方法、装置、设备及存储介质
US20220366621A1 (en) Systems for Generating Anti-Aliased Vector Objects

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20211228

WD01 Invention patent application deemed withdrawn after publication