一种字体文件生成方法、装置、计算机设备以及存储介质与流程

allin2023-03-21  120



1.本公开涉及计算机技术领域,具体而言,涉及一种字体文件生成方法、装置、计算机设备以及存储介质。


背景技术:

2.目前,当用户在页面中显示存储在服务器中的字体文件时,通常需要完全加载该字体文件,才可以显示出该字体文件所对应字体的渲染效果。然而,在页面中显示的字符通常都是一些常见字符,为了显示这些常见字符也需要加载完整的字体文件。在字体文件较大的情况下,容易影响字体文件的加载效率,浪费较多的加载时间。


技术实现要素:

3.本公开实施例至少提供一种字体文件生成方法、装置、计算机设备以及存储介质。
4.第一方面,本公开实施例提供了一种字体文件生成方法,该方法包括:获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;对所述待分割字体文件中的全部字符进行分割,得到多组字符;确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;基于所述字体子文件确定目标字体文件。
5.一种可选的实施方式中,所述对所述待分割字体文件中的全部字符进行分割,得到多组字符,包括:获取待分割的预设字符类型;按照所述预设字符类型对所述待分割字体文件中的全部字符进行分割,得到至少一个第一目标字符组,其中,每个所述第一目标字符组对应一个预设字符类型;基于所述至少一个第一目标字符组确定所述多组字符。
6.一种可选的实施方式中,所述方法还包括:在所述全部字符中包含除所述至少一个第一目标字符组之外的其他字符的情况下,按照预设字符数量对所述其他字符进行分组,得到至少一个第二目标字符组;所述基于所述至少一个第一目标字符组确定所述多组字符,包括:基于所述至少一个第一目标字符组和所述至少一个第二目标字符组确定所述多组字符。
7.一种可选的实施方式中,所述方法还包括:获取预设字符编码范围,并基于所述预设字符编码范围确定所述预设字符数量。
8.一种可选的实施方式中,所述确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件,包括:获取字体映射文件,其中,所述字体映射文件中包含每组字符和预设字形之间的映射关系;基于所述字体映射文件确定与每组所述字符所对应的所述至少一个预设字形;在所述待分割字体文件所包含的字体文件中提取与所述所对应的至少一个预设字形相匹配的字体文件确定为该组字符的字体子文件。
9.一种可选的实施方式中,所述基于所述字体子文件确定目标字体文件,包括:生成所述字体子文件的在预设存储空间中的存储地址;利用所述存储地址和所述字体子文件生
成层叠样式css表,并将所述层叠样式css表确定为所述目标字体文件。
10.一种可选的实施方式中,所述方法还包括:在基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件之后,将所述字体子文件存储至所述预设存储空间中。
11.第二方面,本公开实施例还提供一种字体文件生成装置,包括:获取单元,用于获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;分割单元,用于对所述待分割字体文件中的全部字符进行分割,得到多组字符;第一确定单元,用于确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;第二确定单元,用于基于所述字体子文件确定目标字体文件。
12.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
13.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
14.通过上述描述可知,可以在获取待分割字体文件之后,对该待分割字体文件中的全部字符进行分割,得到多组字符。在确定出每组字符对应的至少一个预设字形之后,可以基于该组字符对应的至少一个预设字形确定该组字符对应的字体子文件,并基于该字体子文件确定目标字体文件。从而可以将文件尺寸较大的待分割字体文件分割成多个目标字体文件,进而可以提升网页中字体文件的加载效率,节省加载字体文件的时间和流量。
15.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
16.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1示出了本公开实施例所提供的一种字体文件生成方法的流程图;
18.图2示出了本公开实施例所提供的一种对待分割字体文件中的全部字符进行分割,得到多组字符方法的流程图;
19.图3示出了本公开实施例所提供的另一种对待分割字体文件中的全部字符进行分割,得到多组字符方法的流程图;
20.图4示出了本公开实施例所提供的基于字体子文件确定目标字体文件方法的流程图;
21.图5示出了本公开实施例所提供的一种目标字体文件的使用方法的示意图;
22.图6示出了本公开实施例所提供的字体文件生成方法的一种实施例的流程图;
23.图7示出了本公开实施例所提供的一种字体文件生成装置的示意图;
24.图8示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
25.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
26.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
27.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
28.经研究发现,非英文字体的文件尺寸一般都比较大,例如,一般中文字体的文件尺寸都大于10兆字节,甚至有些中文字体的文件尺寸可以达到30兆字节。当用户在页面中显示存储在服务器中的字体文件时,通常需要完全加载该字体文件,才可以显示出该字体文件所对应字体的渲染效果。然而,在页面中显示的字符通常都是一些常见字符,为了显示这些常见字符也需要加载完整的字体文件。在字体文件较大的情况下,容易影响字体文件的加载效率,浪费较多的加载时间。
29.基于上述研究,本公开提供了一种字体文件生成方法、装置、计算机设备以及存储介质。通过上述描述可知,可以在获取待分割字体文件之后,对该待分割字体文件中的全部字符进行分割,得到多组字符。在确定出每组字符对应的至少一个预设字形之后,可以基于该组字符对应的至少一个预设字形确定该组字符对应的字体子文件,并基于该字体子文件确定目标字体文件。从而可以将文件尺寸较大的待分割字体文件分割成多个目标字体文件,进而可以提升网页中字体文件的加载效率,节省加载字体文件的时间和流量。
30.为便于对本实施例进行理解,首先对本公开实施例所公开的一种字体文件生成方法进行详细介绍,本公开实施例所提供的字体文件生成方法的执行主体一般为具有一定计算能力的计算机设备。
31.参见图1所示,为本公开实施例提供的一种字体文件生成方法的流程图,所述方法包括步骤s101~s107,其中:
32.s101:获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件。
33.这里,待分割字体文件中可以包含字符和字形。其中,字符可以理解为待显示的文字,例如,字符可以为汉字,也可以为英文,也可以为符号等。字形可以理解为字符的显示形
式,例如,字形可以为宋体,也可以为times new roman等。
34.其中,预设字形可以理解为预先设定的字形,例如,该预设字形可以为宋体,也可以为楷体,也可以为times new roman等。本公开对上述预设字形的类型不作具体限定。
35.在本公开实施例中,预设字形的数量可以为n个,其中n为自然数,本公开对该预设字形的数量不作具体限定,以能实现为准。
36.在本公开实施例中,待分割字体文件即可以为:包含预设字形宋体所对应的全部字符的字体文件,或者,也可以为:包含预设字形times new roman所对应的全部字符的字体文件。
37.s103:对所述待分割字体文件中的全部字符进行分割,得到多组字符。
38.在本公开实施例中,可以对待分割字体文件中的全部字符进行分割,得到多组字符。
39.具体实施时,可以按照预设分割方法对待分割字体文件中的全部字符进行分割。例如,该预设分割方法可以为预先设定的按照待分割字体文件中全部字符的字符类型进行分割,得到多组字符的方法。或者,该预设分割方法还可以为预先设定的按照待分割字体文件中所包含字符的数量进行分割,得到多组字符的方法。
40.本公开对上述预设分割方法不作具体限定,以能实现为准。
41.s105:确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件。
42.在本公开实施例中,在对待分割字体文件中的全部字符进行分割得到多组字符之后,可以确定每组字符对应的至少一个预设字形,例如,得到的多组字符为3组,分别为字符组1、字符组2、字符组3。假设,针对字符组1,可以确定出该字符组1所对应的至少一个预设字形为:宋体和times new roman。
43.之后,可以基于每组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件。
44.例如,针对上述字符组1和该字符组1所对应的至少一个预设字形:宋体和times new roman,可以确定该字符组1对应的字体子文件分别为:字体子文件1和字符子文件2。其中,字体子文件1中包含字符组1和预设字形宋体,字体子文件2中包含字符组1和预设字形times new roman。
45.s107:基于所述字体子文件确定目标字体文件。
46.在本公开实施例中,在确定出每组字符对应的字体子文件之后,就可以基于该字体子文件确定目标字体文件。
47.通过上述描述可知,可以在获取待分割字体文件之后,对该待分割字体文件中的全部字符进行分割,得到多组字符。在确定出每组字符对应的至少一个预设字形之后,可以基于该组字符对应的至少一个预设字形确定该组字符对应的字体子文件,并基于该字体子文件确定目标字体文件。从而可以将文件尺寸较大的待分割字体文件分割成多个目标字体文件,进而可以提升网页中字体文件的加载效率,节省加载字体文件的时间和流量。
48.在一个可选的实施方式中,如图2所示,针对s103:对所述待分割字体文件中的全部字符进行分割,得到多组字符,具体包括如下步骤:
49.步骤s21:获取待分割的预设字符类型;
50.步骤s22:按照所述预设字符类型对所述待分割字体文件中的全部字符进行分割,得到至少一个第一目标字符组,其中,每个所述第一目标字符组对应一个预设字符类型;
51.步骤s23:基于所述至少一个第一目标字符组确定所述多组字符。
52.如上述描述可知,在本公开实施例中,可以按照待分割字体文件中全部字符的字符类型进行分割,得到多组字符。其中,该字符类型即为预设字符类型,本公开对该预设字符类型的内容和数量不作具体限定。例如,该预设字符类型可以为宋体,也可以为times new roman,也可以为楷体。此外,该预设字符类型的数量可以为一个,也可以为多个,本公开对该预设字符类型的内容和数量不作具体限定,以满足实际需要为准。
53.具体实施时,可以先获取待分割的预设字符类型,之后,可以按照该预设字符类型对待分割字体文件中全部字符的字符类型进行分割,得到至少一个第一目标字符组。
54.例如,在待分割的预设字符类型包括3种字符类型(例如,英文字符、中文字符、标点符号)的情况下,可以按照上述3个预设字符类型对待分割字体文件中全部字符的字符类型进行分割,得到3个第一目标字符组。
55.之后,可以基于确定出来的至少一个第一目标字符组确定多组字符。例如,在第一目标字符组为上述3个第一目标字符组的情况下,则每个第一目标字符组可以确定为一组字符。此时,可以确定出3组字符。
56.上述实施方式中,可以先获取待分割的预设字符类型,再按照该预设字符类型对待分割字体文件中全部字符进行分割,得到至少一个第一目标字符组。之后,再基于该至少一个第一目标字符组确定多组字符的方式,可以通过预设字符类型实现待分割字体文件中全部字符的灵活分割,进而可以得到更加多样化的多组字符。同时,还可以使分割得到多组字符更加符合实际需求。
57.在一个可选的实施方式中,如图3所示,针对步骤s21~s23,本公开方法具体还包括如下步骤:
58.步骤s31:在所述全部字符中包含除所述至少一个第一目标字符组之外的其他字符的情况下,按照预设字符数量对所述其他字符进行分组,得到至少一个第二目标字符组;
59.步骤s32:所述基于所述至少一个第一目标字符组确定所述多组字符,包括:基于所述至少一个第一目标字符组和所述至少一个第二目标字符组确定所述多组字符。
60.在本公开实施例中,在待分割字体文件的全部字符中包含,除上述步骤s21~s23确定出来的至少一个目标字符组之外的其他字符的情况下,还可以按照预设字符数量对该其他字符进行分组,得到至少一个第二目标字符组。
61.之后,可以基于上述得到的至少一个第一目标字符组和至少一个第二目标字符组对待分割字体文件中的全部字符进行分割,得到多组字符。
62.例如,在待分割字体文件中的全部字符除包含如上述所述的3种预设字符类型之外,还包含其他字符(例如,韩文字符)的情况下,可以按照预设字符数量对该其他字符(例如,韩文字符)进行分组,得到至少一个第二目标字符组。
63.在一个可选的实施方式中,针对上述预设字符数量,可以通过如下过程进行确定:
64.获取预设字符编码范围,并基于所述预设字符编码范围确定所述预设字符数量。
65.其中,预设字符编码范围可以理解为对一定数量的字符进行编码之后得到的编码范围,例如,针对字符:汉语拼音字母可以得到对应的字符编码范围为(u+3100

u+312f),此
时,可以将该字符编码范围(u+3100

u+312f)确定为预设字符编码范围。
66.在本公开实施例中,在基于预设字符编码范围确定预设字符数量的情况下,可以将该预设字符编码范围所对应的字符数量确定为预设字符数量。例如,在预设该字符编码范围为(u+3100

u+312f)的情况下,可以确定该字符编码范围为(u+3100

u+312f)所对应的字符数量为46,那么,就可以确定预设字符数量为46。
67.在此需要说明的是,本公开对上述预设字符编码范围不作具体限定,以能实现为准。
68.上述实施方式中,可以在待分割字体文件的全部字符中包含除至少一个目标字符组之外的其他字符的情况下,可以通过获取预设字符编码范围,并基于该预设字符编码范围确定预设字符数量。之后,就可以按照该预设字符数量对其他字符进行分组,得到至少一个第二目标字符组,并基于至少一个第一目标组和至少一个第二目标字符组确定多组字符。从而可以确保待分割字体文件中的全部字符完成分割,使得到的多组字符更加精确,进而可以进一步节省字体文件的加载时间和流量,提升字体文件的加载效率。
69.在一个可选的实施方式中,针对s105:确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件,具体包括如下步骤:
70.步骤s41:获取字体映射文件,其中,所述字体映射文件中包含每组字符和预设字形之间的映射关系;
71.步骤s42:基于所述字体映射文件确定与每组所述字符所对应的所述至少一个预设字形;
72.步骤s43:在所述待分割字体文件所包含的字体文件中提取与所述所对应的至少一个预设字形相匹配的字体文件确定为该组字符的字体子文件。
73.在本公开实施例中,字体映射文件中包含每组字符与该组字符所对应的至少一个预设字形之间的映射关系,具体实施时,可以通过确定每组字符的字符编码与各预设字形之间的映射关系来确定上述字体映射文件。
74.之后,可以基于该字体映射文件确定与每组字符所对应的至少一个预设字形,并在待分割字体文件所包含的字体文件中提取与上述所对应的至少一个预设字形相匹配的字体文件。此时,可以将该相匹配的字体文件确定为该组字符的字体子文件。
75.例如,在获取字体映射文件之后,在基于该字体映射文件确定出存在一组字符为上述字符组1,以及确定出该字符组1所对应的一个预设字形为宋体的情况下,就可以在待分割字体文件中所包含的字体文件中提取与上述预设字形宋体相匹配的的字体文件,并将该相匹配的字体文件确定为字符组1的字体子文件。
76.上述实施方式中,可以先获取字体映射文件,再基于该字体映射文件确定与每组字符所对应的至少一个预设字形。之后,可以在待分割字体文件所包含的字体文件中提取与上述所对应的至少一个预设字形相匹配的字体文件确定为该组字符的字体子文件。从而可以实现对待分割字体文件的分割,得到多组字符所对应的字体子文件。同时,还可以提高得到的字体子文件的准确度。
77.在一个可选的实施方式中,如图4所示,针对s107:基于所述字体子文件确定目标字体文件,具体包括如下步骤:
78.步骤s51:生成所述字体子文件的在预设存储空间中的存储地址;
79.步骤s52:利用所述存储地址和所述字体子文件生成层叠样式css表,并将所述层叠样式css表确定为所述目标字体文件。
80.在一个可选的实施方式中,在基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件之后,将所述字体子文件存储至所述预设存储空间中。之后,可以记录该字体子文件在该预设存储空间的存储地址。其中,该预设存储空间可以为静态随机存取存储寄存器,或者,该预设存储空间也可以为其他任意一种存储器,本公开对该预设存储空间不作具体限定,以能实现为准。
81.在本公开实施例中,在基于字体子文件确定目标字体文件的情况下,可以先生成该字体子文件的在预设存储空间的存储地址,之后,再利用该存储地址和该存储地址对应的字体子文件生成层叠样式css表。其中,上述层叠样式css表可以用于指示网页中各元素的样式。
82.在本公开实施例中,该层叠样式css表可以用于显示该字体子文件所包含的字符和该字符所对对应的预设字形。
83.在本公开实施例中,在生成层叠样式css表之后,可以将该层叠样式css表确定为该组字符所对应的目标字体文件。
84.在本公开实施例中,在确定出目标字体文件之后,就可以在网页中使用层叠样式css表的font-face规则加载该目标字体文件,进而可以将该目标字体文件中的字符和该字符所对应的字形展示在网页中。
85.其中,在网页中使用层叠样式css表的font-face规则加载该目标字体文件的实现过程可以为如图5所示的过程。由图5可知,在使用层叠样式css表的font-face规则加载的过程中,可以通过确定该组字符对应的预设字形(也即如图5所示的“字体的名称”)、该字体子文件的存储地址(也即如图5所示的“字体存储的地址”)、该组字符的展示形式(也即如图5所示的“font-style”、“font-display”、“font-weight”)、该组字符对应的预设字符编码范围(也即如图5所示的“unicode-range”)等信息来确定该组字符在网页中的展示形态。
86.上述实施方式中,在得到每组字符对应的字体子文件之后,可以生成该字体子文件的在预设存储空间中的存储位置,并利用该存储位置和该字体子文件生成层叠样式css表。之后,可以将该层叠样式css表确定为该组字符的目标字体文件。从而可以利用每组字符所对应的字体子文件以及该字体子文件的存储地址生成该组字符对应的层叠样式css表,进而可以使分割得到的每组字符可以在网页中实际应用。
87.本公开实施例还可以结合流程图详细介绍本公开实施例所提供的字体文件生成方法。
88.例如,如图6所示,在获取待分割字体文件之后,可以对该待分割字体文件中的全部字符进行分组。具体实施时,如图6所示,可以先按照待分割的预设字符类型(例如,英文字符、标点符号等类型)对待分割字体文件中的全部字符进行分组,之后,再按照预设字符数量对该待分割字体文件所包含的全部字符中除预设字符类型所对对应的字符之外的其他字符进行分组,得到多组字符。
89.接着,可以确定每组字符对应的字体子文件,并将该字体子文件存储至预设存储空间。同时,记录该字体子文件的存储地址。最后,可以基于该字体子文件的存储地址和该
字体子文件生成层叠样式css表,此时,该层叠样式css表即为本公开实施例中的目标字体文件。
90.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
91.基于同一发明构思,本公开实施例中还提供了与字体文件生成方法对应的字体文件生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述字体文件生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
92.参照图7所示,为本公开实施例提供的一种字体文件生成装置的示意图,所述装置包括:获取单元71、分割单元72、第一确定单元73、第二确定单元74;其中,
93.获取单元71,用于获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;
94.分割单元72,用于对所述待分割字体文件中的全部字符进行分割,得到多组字符;
95.第一确定单元73,用于确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;
96.第二确定单元74,用于基于所述字体子文件确定目标字体文件。
97.通过上述描述可知,可以在获取待分割字体文件之后,对该待分割字体文件中的全部字符进行分割,得到多组字符。在确定出每组字符对应的至少一个预设字形之后,可以基于该组字符对应的至少一个预设字形确定该组字符对应的字体子文件,并基于该字体子文件确定目标字体文件。从而可以将文件尺寸较大的待分割字体文件分割成多个目标字体文件,进而可以提升网页中字体文件的加载效率,节省加载字体文件的时间和流量。
98.一种可能的实施方式中,分割单元,还用于:获取待分割的预设字符类型;按照所述预设字符类型对所述待分割字体文件中的全部字符进行分割,得到至少一个第一目标字符组,其中,每个所述第一目标字符组对应一个预设字符类型;基于所述至少一个第一目标字符组确定所述多组字符。
99.一种可能的实施方式中,分割单元,还用于:在所述全部字符中包含除所述至少一个第一目标字符组之外的其他字符的情况下,按照预设字符数量对所述其他字符进行分组,得到至少一个第二目标字符组;所述基于所述至少一个第一目标字符组确定所述多组字符,包括:基于所述至少一个第一目标字符组和所述至少一个第二目标字符组确定所述多组字符。
100.一种可能的实施方式中,分割单元,还用于:获取预设字符编码范围,并基于所述预设字符编码范围确定所述预设字符数量。
101.一种可能的实施方式中,第一确定单元,还用于:获取字体映射文件,其中,所述字体映射文件中包含每组字符和预设字形之间的映射关系;基于所述字体映射文件确定与每组所述字符所对应的所述至少一个预设字形;在所述待分割字体文件所包含的字体文件中提取与所述所对应的至少一个预设字形相匹配的字体文件确定为该组字符的字体子文件。
102.一种可能的实施方式中,第二确定单元,还用于:生成所述字体子文件的在预设存储空间中的存储地址;利用所述存储地址和所述字体子文件生成层叠样式css表,并将所述层叠样式css表确定为所述目标字体文件。
103.一种可能的实施方式中,第二确定单元,还用于:在基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件之后,将所述字体子文件存储至所述预设存储空间中。
104.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
105.对应于图1中的字体文件生成方法,本公开实施例还提供了一种计算机设备800,如图8所示,为本公开实施例提供的计算机设备800结构示意图,包括:
106.处理器81、存储器82、和总线83;存储器82用于存储执行指令,包括内存821和外部存储器822;这里的内存821也称内存储器,用于暂时存放处理器81中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器81通过内存821与外部存储器822进行数据交换,当所述计算机设备800运行时,所述处理器81与所述存储器82之间通过总线83通信,使得所述处理器81执行以下指令:
107.获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;
108.对所述待分割字体文件中的全部字符进行分割,得到多组字符;
109.确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;
110.基于所述字体子文件确定目标字体文件。
111.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的字体文件生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
112.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的字体文件生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
113.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
114.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
115.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
116.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
117.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
118.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种字体文件生成方法,其特征在于,包括:获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;对所述待分割字体文件中的全部字符进行分割,得到多组字符;确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;基于所述字体子文件确定目标字体文件。2.根据权利要求1所述的方法,其特征在于,所述对所述待分割字体文件中的全部字符进行分割,得到多组字符,包括:获取待分割的预设字符类型;按照所述预设字符类型对所述待分割字体文件中的全部字符进行分割,得到至少一个第一目标字符组,其中,每个所述第一目标字符组对应一个预设字符类型;基于所述至少一个第一目标字符组确定所述多组字符。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述全部字符中包含除所述至少一个第一目标字符组之外的其他字符的情况下,按照预设字符数量对所述其他字符进行分组,得到至少一个第二目标字符组;所述基于所述至少一个第一目标字符组确定所述多组字符,包括:基于所述至少一个第一目标字符组和所述至少一个第二目标字符组确定所述多组字符。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:获取预设字符编码范围,并基于所述预设字符编码范围确定所述预设字符数量。5.根据权利要求1所述的方法,其特征在于,所述确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件,包括:获取字体映射文件,其中,所述字体映射文件中包含每组字符和预设字形之间的映射关系;基于所述字体映射文件确定与每组所述字符所对应的所述至少一个预设字形;在所述待分割字体文件所包含的字体文件中提取与所述所对应的至少一个预设字形相匹配的字体文件确定为该组字符的字体子文件。6.根据权利要求1所述的方法,其特征在于,所述基于所述字体子文件确定目标字体文件,包括:生成所述字体子文件的在预设存储空间中的存储地址;利用所述存储地址和所述字体子文件生成层叠样式css表,并将所述层叠样式css表确定为所述目标字体文件。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件之后,将所述字体子文件存储至所述预设存储空间中。8.一种字体文件生成装置,其特征在于,包括:获取单元,用于获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;
分割单元,用于对所述待分割字体文件中的全部字符进行分割,得到多组字符;第一确定单元,用于确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;第二确定单元,用于基于所述字体子文件确定目标字体文件。9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的字体文件生成方法的步骤。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的字体文件生成方法的步骤。

技术总结
本公开提供了一种字体文件生成方法、装置、计算机设备以及存储介质,其中,该方法包括:获取待分割字体文件,其中,所述待分割字体文件中包含全部字符在各预设字形下的字体文件;对所述待分割字体文件中的全部字符进行分割,得到多组字符;确定每组所述字符所对应的至少一个预设字形,并基于该组字符所对应的至少一个预设字形确定该组字符所对应的字体子文件;基于所述字体子文件确定目标字体文件。基于所述字体子文件确定目标字体文件。基于所述字体子文件确定目标字体文件。


技术研发人员:徐星宇
受保护的技术使用者:北京字节跳动网络技术有限公司
技术研发日:2022.04.11
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-7078.html

最新回复(0)