一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本显示处理方法、装置、计算机及可读存储介质与流程

2022-02-20 19:42:07 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种文本显示处理方法、装置、计算机及可读存储介质。


背景技术:

2.随着互联网的发展,通过线上交流的用户越来越多,线上可查阅的数据也越来越多,这些数据包括文本数据、语音数据及视频数据等。其中,应用系统在对文本数据进行排版显示时,一般是先设置文本字符的颜色、背景色及加粗等文本字符属性,再设置每个文本字符进行显示时的字体,之后根据设置好的文本字符属性及每个文本字符的字体,以行及文本字符的书写方向的顺序,对文本数据中的各个文本字符依次进行渲染。即,对文本数据的排版显示过程可以分为三步,分别为文本字符属性设置、文本字符的字体设置及文本数据渲染。其中,应用系统在每次对文本数据进行渲染时,都需要执行第一步及第二步,而应用系统中的任意一个应用程序在使用过程中,更是可能多次触发第三步。由于获取一个文本字符对应的字体所需的耗费的时间较多,随着应用系统中存在的字体数量增多,对文本数据进行显示时所耗费的时间也就随之增多,因此,若需要显示的文本数据包括较多的文本字符时,可能会出现空白页面或无法响应该文本数据显示的情况,导致文本数据显示效果较差。


技术实现要素:

3.本技术实施例提供了一种文本显示处理方法、装置、计算机及可读存储介质,可以减少获取文本字符对应的字体所耗费的时间,进而提高文本显示处理的效率及文本数据显示的流畅性。
4.本技术实施例一方面提供了一种文本显示处理方法,该方法包括:
5.获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库;字体缓存库包括缓存字体与文本字符之间的映射关系,映射关系是通过历史长文本数据中的文本字符及缓存字体之间的关系所创建得到的,该缓存字体是指对文本字符进行显示时所使用的显示字体;
6.根据目标文本字符和映射关系,对字体缓存库进行遍历;
7.若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为,用于渲染目标文本字符的目标显示字体;
8.若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体;字体支持关系包括支持显示关系及匹配失败关系,支持显示关系用于表征默认字体支持目标文本字符进行显示,匹配失败关系用于表征默认字体不支持目标文本字符进行显示。
9.其中,默认字体库包括第一默认字体库;第一默认字体库为与应用系统存在初始关联关系的字体库;
10.检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,包括:
11.获取第一默认字体库中的至少两个第一默认字体,获取每个第一默认字体的字体优先级;
12.基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,确定为目标文本字符对应的目标默认字体。
13.其中,获取每个第一默认字体的字体优先级,包括:
14.获取目标文本字符所属的字符类型,获取该字符类型对应的优先级集合;
15.根据优先级集合确定每个第一默认字体的字体优先级。
16.其中,获取每个第一默认字体的字体优先级,包括:
17.获取每个第一默认字体所支持的文本字符的数量,基于每个第一默认字体所支持的文本字符的数量,对至少两个第一默认字体进行排序,根据排序结果确定每个第一默认字体的字体优先级。
18.其中,基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,包括:
19.获取字体匹配组件,基于字体优先级,将目标文本字符与至少两个第一默认字体中的第i个第一默认字体,组成待匹配元素对ai;i为正整数,i小于或等于至少两个第一默认字体的数量;
20.将待匹配元素对ai输入字体匹配组件,获取字体匹配组件针对待匹配元素对ai的匹配结果;
21.若匹配结果为匹配成功结果,则将支持显示关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系;
22.若匹配结果为匹配失败结果,则将匹配失败关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系。
23.其中,默认字体库包括第二默认字体库及第三默认字体库;第二默认字体库包括应用系统中的所有字体;第三默认字体库包括字符映射表;字符映射表包括字符类型与第三默认字体的映射关系;
24.检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,包括:
25.获取目标文本字符所属的字符类型;
26.若目标文本字符所属的字符类型属于第一字符类型,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体;
27.若目标文本字符所属的字符类型属于第二字符类型,则获取第三默认字体库中的字符映射表,若字符映射表中存在与目标文本字符所属的字符类型关联的映射关系,则将
与目标文本字符所属的字符类型存在映射关系的第三默认字体,作为目标文本字符对应的目标默认字体;第二字符类型为所有字符类型中除第一字符类型之外的字符类型。
28.其中,该方法还包括:
29.若字符映射表中不存在与目标文本字符所属的字符类型关联的映射关系,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体。
30.其中,该方法还包括:
31.获取字符类型的历史显示频率,若历史显示频率大于显示频率阈值,则将字符类型确定为第一字符类型;
32.若历史显示频率小于或等于显示频率阈值,则将字符类型确定为第二字符类型。
33.其中,该方法还包括:
34.获取第二默认字体库中所包括的至少两个第二默认字体,获取每个第二默认字体的历史使用次数,基于历史使用次数对至少两个第二默认字体进行排序,确定第二默认字体库中的字体排列顺序。
35.其中,该方法还包括:
36.建立目标默认字体与目标文本字符之间的目标映射关系,将目标映射关系添加至字体缓存库。
37.其中,该方法还包括:
38.获取历史长文本数据,遍历该历史长文本数据,获取历史长文本数据中包括的文本字符及显示文本字符的显示字体;
39.统计显示字体的使用频率,将使用频率最大的显示字体作为文本字符的缓存字体,建立文本字符与缓存字体之间的映射关系,将映射关系存储至字体缓存库。
40.其中,获取待显示的长文本数据,从长文本数据中获取目标文本字符,包括:
41.获取待显示的长文本数据,获取显示区域的尺寸信息及文本显示格式;尺寸信息包括显示区域的显示宽度及显示高度,文本显示格式包括显示行间距、段落首字符显示格式及显示边距;
42.根据显示高度、显示边距及显示行间距,确定显示区域中的显示行数;
43.根据显示宽度、显示边距及段落首字符显示格式,确定显示区域中每一行的行显示字符数;
44.基于显示行数及每一行的行显示字符数,从长文本数据中获取待显示文本,将待显示文本中的文本字符依次作为目标文本字符。
45.其中,该方法还包括:
46.在显示区域中获取首字符显示位置,根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符;首字符显示位置是基于尺寸信息、显示边距及段落首字符显示格式所确定的。
47.其中根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符,包括:
48.获取目标文本字符在待显示文本中的文本位置,根据首字符显示位置及文本位
置,确定目标文本字符在显示区域中的目标字符显示位置;
49.在目标字符显示位置处,基于目标显示字体渲染目标文本字符。
50.本技术实施例一方面提供了一种文本显示处理装置,该装置包括:
51.元素获取模块,用于获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库;字体缓存库包括缓存字体与文本字符之间的映射关系,映射关系是通过历史长文本数据中的文本字符及缓存字体之间的关系所创建得到的,该缓存字体是指对文本字符进行显示时所使用的显示字体;
52.字体遍历模块,用于根据目标文本字符和映射关系,对字体缓存库进行遍历;
53.字体确定模块,用于若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为,用于渲染目标文本字符的目标显示字体;
54.字体匹配模块,用于若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体;字体支持关系包括支持显示关系及匹配失败关系,支持显示关系用于表征默认字体支持目标文本字符进行显示,匹配失败关系用于表征默认字体不支持目标文本字符进行显示。
55.其中,默认字体库包括第一默认字体库;第一默认字体库为与应用系统存在初始关联关系的字体库;
56.在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体方面,该字体匹配模块包括:
57.优先确定单元,用于获取第一默认字体库中的至少两个第一默认字体,获取每个第一默认字体的字体优先级;
58.匹配检测单元,用于基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,确定为目标文本字符对应的目标默认字体。
59.其中,在获取每个第一默认字体的字体优先级方面,该优先确定单元包括:
60.集合获取子单元,用于获取目标文本字符所属的字符类型,获取该字符类型对应的优先级集合;
61.优先确定子单元,用于根据优先级集合确定每个第一默认字体的字体优先级。
62.其中,在获取每个第一默认字体的字体优先级方面,该优先确定单元包括:
63.字体排序子单元,用于获取每个第一默认字体所支持的文本字符的数量,基于每个第一默认字体所支持的文本字符的数量,对至少两个第一默认字体进行排序,根据排序结果确定每个第一默认字体的字体优先级。
64.其中,在基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系方面,该匹配检测单元包括:
65.组件获取子单元,用于获取字体匹配组件,基于字体优先级,将目标文本字符与至少两个第一默认字体中的第i个第一默认字体,组成待匹配元素对ai;i为正整数,i小于或等于至少两个第一默认字体的数量;
66.组件处理子单元,用于将待匹配元素对ai输入字体匹配组件,获取字体匹配组件针对待匹配元素对ai的匹配结果;
67.结果获取子单元,用于若匹配结果为匹配成功结果,则将支持显示关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系;
68.该结果获取子单元,还用于若匹配结果为匹配失败结果,则将匹配失败关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系。
69.其中,默认字体库包括第二默认字体库及第三默认字体库;第二默认字体库包括应用系统中的所有字体;第三默认字体库包括字符映射表;字符映射表包括字符类型与第三默认字体的映射关系;
70.在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体方面,该字体匹配模块包括:
71.类型获取单元,用于获取目标文本字符所属的字符类型;
72.第一检测单元,用于若目标文本字符所属的字符类型属于第一字符类型,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体;
73.第二检测单元,用于若目标文本字符所属的字符类型属于第二字符类型,则获取第三默认字体库中的字符映射表,若字符映射表中存在与目标文本字符所属的字符类型关联的映射关系,则将与目标文本字符所属的字符类型存在映射关系的第三默认字体,作为目标文本字符对应的目标默认字体;第二字符类型为所有字符类型中除第一字符类型之外的字符类型。
74.其中,该字体匹配模块还包括:
75.第三检测单元,用于若字符映射表中不存在与目标文本字符所属的字符类型关联的映射关系,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体。
76.其中,该装置还包括:
77.频率对比模块,用于获取字符类型的历史显示频率,若历史显示频率大于显示频率阈值,则将字符类型确定为第一字符类型;
78.该频率对比模块,还用于若历史显示频率小于或等于显示频率阈值,则将字符类型确定为第二字符类型。
79.其中,该装置还包括:
80.顺序确定模块,用于获取第二默认字体库中所包括的至少两个第二默认字体,获取每个第二默认字体的历史使用次数,基于历史使用次数对至少两个第二默认字体进行排序,确定第二默认字体库中的字体排列顺序。
81.其中,该装置还包括:
82.映射缓存模块,用于建立目标默认字体与目标文本字符之间的目标映射关系,将
目标映射关系添加至字体缓存库。
83.其中,该装置还包括:
84.历史数据获取模块,用于获取历史长文本数据,遍历历史长文本数据,获取历史长文本数据中包括的文本字符及显示文本字符的显示字体;
85.字体缓存生成模块,用于统计显示字体的使用频率,将使用频率最大的显示字体作为文本字符的缓存字体,建立文本字符与缓存字体之间的映射关系,将映射关系存储至字体缓存库。
86.其中,在获取待显示的长文本数据,从长文本数据中获取目标文本字符方面,该元素获取模块包括:
87.格式获取单元,用于获取待显示的长文本数据,获取显示区域的尺寸信息及文本显示格式;尺寸信息包括显示区域的显示宽度及显示高度,文本显示格式包括显示行间距、段落首字符显示格式及显示边距;
88.行数确定单元,用于根据显示高度、显示边距及显示行间距,确定显示区域中的显示行数;
89.字符统计单元,用于根据显示宽度、显示边距及段落首字符显示格式,确定显示区域中每一行的行显示字符数;
90.字符确定单元,用于基于显示行数及每一行的行显示字符数,从长文本数据中获取待显示文本,将待显示文本中的文本字符依次作为目标文本字符。
91.其中,该装置还包括:
92.字符渲染模块,用于在显示区域中获取首字符显示位置,根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符;首字符显示位置是基于尺寸信息、显示边距及段落首字符显示格式所确定的。
93.其中,在根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符方面,该字符渲染模块包括:
94.位置确定单元,用于获取目标文本字符在待显示文本中的文本位置,根据首字符显示位置及文本位置,确定目标文本字符在显示区域中的目标字符显示位置;
95.字符显示单元,用于在目标字符显示位置处,基于目标显示字体渲染目标文本字符。
96.本技术实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;
97.处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储程序代码,处理器用于调用程序代码,以执行本技术实施例一方面中的文本显示处理方法。
98.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本技术实施例一方面中的文本显示处理方法。
99.本技术实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该
计算机设备执行本技术实施例一方面中的各种可选方式中所提供的方法。
100.实施本技术实施例,将具有如下有益效果:
101.本技术实施例通过获取待显示的长文本数据,获取长文本数据中的目标文本字符,获取字体缓存库,该字体缓存库包括缓存字体与文本字符之间的映射关系,该映射关系是根据历史长文本数据中的缓存字体与文本字符的显示情况所确定的;根据目标文本字符和映射关系,对字体缓存库进行遍历;若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将该目标缓存字体作为,用于渲染目标文本字符的目标显示字体;若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体。通过以上过程,实现了对目标文本字符对应的字体的获取,其中,通过字体缓存库获取目标文本字符对应的字体所需的时间较少,使得在通过本技术显示文本数据时,可以减少获取文本字符对应的字体所耗费的时间,进而提高文本显示处理的效率。同时由于文本显示处理所需耗费的时间减少,从而提高了文本数据显示的流畅性。
附图说明
102.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
103.图1是本技术实施例提供的一种文本显示处理的网络架构图;
104.图2是本技术实施例提供的一种文本显示处理的场景示意图;
105.图3是本技术实施例提供的一种文本显示处理方法流程图;
106.图4是本技术实施例提供的一种字体获取场景示意图;
107.图5是本技术实施例提供的一种字体获取示例的场景示意图;
108.图6是本技术实施例提供的一种字符字体匹配流程示意图;
109.图7是本技术实施例提供的一种文本显示处理装置示意图;
110.图8是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
111.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
112.其中,本技术实施例所处理的文本数据较大(即该文本数据包括的文本字符较多)时,可以使用大数据领域中的数据传输等技术,用于本地终端与服务器之间进行数据交互,即从服务器中获取文本数据等,并对该文本数据包括的各个文本字符进行文本显示处理,以提高文本显示处理的效率。其中,本技术实施例中所提及的字体缓存库及默认字体库等可以基于云技术中的云存储技术进行存储,以节省本地终端的存储空间等。
113.其中,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
114.云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
115.其中,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
116.目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,id entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
117.存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundant array of independent disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
118.进一步地,大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
119.可选的,请参见图1,图1是本技术实施例提供的一种文本显示处理的网络架构图,本技术实施例可以由计算机设备实现,其中,该计算机设备可以是由服务器及终端设备组成;该计算机设备还可以是服务器或终端设备,在此不做限定。其中,本技术实施例适用于任意一个可以显示文本数据的应用程序。该计算机设备可以从服务器中获取文本数据。
120.其中,本地终端101在运行应用程序时,可以从该应用程序对应的服务器中获取文本数据,将文本数据中的文本字符依次作为目标文本字符,确定目标文本字符的目标显示字体,基于各个文本字符的目标显示字体显示文本数据。其中,本地终端101为计算机设备。例如,本地终端101中的应用程序包括应用程序1、应用程序2及应用程序3,其中,该应用程序1对应服务器102a,应用程序2对应服务器102b,应用程序3对应服务器102c,各个服务器
中可以存储对应的应用程序所产生的数据。
121.例如,当本地终端101运行应用程序1,需要在应用程序1中显示文本数据时,本地终端101从该应用程序1对应的服务器102a中获取需要显示的文本数据,将该文本数据中的文本字符依次作为目标文本字符,从字体缓存库中查找目标文本字符对应的目标缓存字体,若查找到目标文本字符对应的目标缓存字体,则可以将该目标缓存字体作为目标文本字符的目标显示字体;若字体缓存库中不存在目标文本字符对应的目标缓存字体,则从默认字体库中获取该目标文本字符对应的字体。由于在字体缓存库中查找该目标文本字符对应的字体,只需消耗较少的时间,因此,在字体缓存库中查找不到目标文本字符对应的字体时,才会从默认字体库中查找目标文本字符对应的字体,会减少获取文本字符对应的字体所需耗费的时间,进而提高文本显示处理的效率及文本数据显示的流畅性。
122.可以理解的是,本技术实施例中所提及的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、增强现实/虚拟现实(augmented reality/virtual reality,ar/vr)设备、头盔显示器、可穿戴设备、智能音箱及其他具备网络接入能力的移动互联网设备(mobile internet device,mid)等。
123.进一步地,请参见图2,图2是本技术实施例提供的一种文本显示处理的场景示意图。如图2所示,本地终端获取文本数据201,确定文本数据201中的待显示文本,将该待显示文本中的文本字符依次作为目标文本字符,获取字体缓存库202。检测该字体缓存库202中是否存在目标文本字符对应的字体,若字体缓存库202中存在目标文本字符对应的字体,则将该字体记作目标文本字符对应的目标缓存字体,将该目标缓存字体确定为目标文本字符的目标显示字体,该目标显示字体用于渲染该目标文本字符;若字体缓存库202中不存在目标文本字符对应的字体,则获取默认字体库203,从默认字体库203中获取目标文本字符对应的目标默认字体,将该目标默认字体确定为目标文本字符的目标显示字体,以渲染该目标文本字符。同理,获取该待显示文本中各个文本字符的显示字体,根据各个显示字体,显示对应的文本字符。通过以上过程,实现对文本数据的显示,由于在对文本数据进行显示的过程中,先在字体缓存库中查找每个文本字符对应的字体,当字体缓存库中不存在文本字符对应的字体时,才会从默认字体库中获取该文本字符对应的字体,从而减少了获取文本字符对应的字体时所耗费的时间,提高了文本显示处理的效率。
124.其中,本技术实施例中所提及的字体缓存库及默认字体库等可以存储于本地终端自身的存储空间中,也可以存储于本地终端所运行的应用程序对应的服务器中,或者,该字体缓存库及默认字体库还可以通过云存储技术进行存储,在此不做限制。
125.进一步地,请参见图3,图3是本技术实施例提供的一种文本显示处理方法流程图。如图3所示,该文本显示处理过程包括如下步骤:
126.步骤s301,获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库。
127.本实施例中,本地终端获取目标文本字符和字体缓存库,该字体缓存库包括缓存字体与文本字符之间的映射关系。其中,该目标文本字符为当前待渲染的文本字符,本地终端获取该目标文本字符,并获取用于查找目标文本字符对应的字体的字体缓存库。可选的,
可以有至少两个字体缓存库,其中,至少两个字体缓存库分别对应一个应用程序,例如,本地终端中安装了5个应用程序(包括应用程序1至应用程序5),则每个应用程序分别对应一个字体缓存库,即有5个字体缓存库,当本地终端在运行应用程序1时,本地终端需要在应用程序1中显示文本数据,获取该应用程序1对应的字体缓存库,将本地终端所需显示的文本数据中的各个文本字符依次作为目标文本字符,不同应用程序对应不同的字体缓存库,使得同一文本数据,针对不同的应用程序可以有不同的显示效果,提高了字符显示效果的多样性,从而使得不同的应用程序可以有不同的显示风格,进而提高提高不同应用程序的个性化;可选的,也可以有一个字体缓存库,当本地终端需要显示文本数据时,将该文本数据中的各个文本字符依次作为目标文本字符,获取字体缓存库,当多个应用程序共同使用一个字体缓存库时,可以减少字体缓存库所使用的存储空间,节省资源,也无需根据应用程序查找对应的字体缓存库,进而提高了文本显示处理的效率,进一步地,当该字体缓存库存储于本地终端时,由于减少了字体缓存库所使用的存储空间,从而可以提高本地终端的运行效率。
128.其中,该字体缓存库中所包括的缓存字体与文本字符之间的映射关系,是通过历史长文本数据中的文本字符及缓存字体之间的关系所创建的,该缓存字体是指该文本字符在历史长文本数据中进行显示时所使用的显示字体。进一步地,可以获取历史长文本数据,遍历该历史长文本数据,获取历史长文本数据中包括的文本字符及显示该文本字符的显示字体;统计显示字体的使用频率,将使用频率最大的显示字体作为文本字符的缓存字体,建立该文本字符与该缓存字体之间的映射关系,将映射关系存储至字体缓存库。其中,当该显示字体包括一个字体时,可以直接将该显示字体作为文本字符的缓存字体。可选的,还可以获取人工预设的映射关系,将该预设的映射关系添加至字体缓存库中。其中,该字体缓存库中所包含的映射关系表征了该映射关系对应的缓存字体支持该文本字符进行显示,因此,当在字体缓存库中查找到与目标文本字符之间存在映射关系的目标缓存字体时,已经可以认为该目标缓存字体可以支持该目标文本字符进行显示,而无需检测目标文本字符与目标缓存字体之间的字体支持关系,从而可以减少获取文本字符对应的字体所述耗费的时间,提高文本显示效率。
129.其中,获取显示区域的尺寸信息及文本显示格式,其中,该尺寸信息包括显示区域的显示宽度及显示高度,文本显示格式包括显示行间距、段落首字符显示格式及显示边距。根据显示高度、显示边距及显示行间距,确定显示区域中的显示行数;根据显示宽度、显示边距及段落首字符显示格式,确定显示区域中每一行的行显示字符数;基于显示行数及每一行的行显示字符数,从待显示的长文本数据中获取待显示文本,将待显示文本中的文本字符依次作为目标文本字符。
130.可选的,该文本显示格式还可以包括字符尺寸等。其中,该显示行间距为本地终端显示文本数据时,行与行之间的间距,包括但不限于单倍行距、1.15倍行距、1.5倍行距及固定值行距等;段落首字符显示格式用于表示本地终端显示文本数据时,每个段落的首字符的格式,如首行缩进固定字符、悬挂缩进固定字符或不缩进等;显示边距用于表示本地终端在显示文本数据时,该文本数据与显示区域的区域边界之间的距离。
131.可选的,本地终端可以根据获取到的文本显示格式,确定文本数据显示的字符显示范围,例如,通过显示高度及显示边距,获取字符显示高度,基于该字符显示高度及显示
行间距,确定显示区域中的显示行数,可选的,该显示行数可以是字符显示高度与显示行间距的比值。进一步地,当显示行间距为单倍行距或1.15倍行距等倍数行距时,本地终端可以根据该倍数行距及字符尺寸确定行高度,基于字符显示高度及行高度,确定显示区域中的显示行数。同理,可以根据显示宽度及显示边距,确定字符显示宽度,根据字符显示宽度、段落首字符显示格式及字符尺寸,确定显示区域中每一行的行显示字符数。本地终端可以根据获取到的显示行数及行显示字符数,确定需要显示的文本字符数,基于该文本字符数,从文本数据中获取待显示文本,将该待显示文本中的文本字符依次作为目标文本字符,获取字体缓存库。
132.可选的,在基于文本字符数,从文本数据中获取待显示文本时,当文本数据处于未显示状态时,从文本数据的首个文本字符开始,依次获取文本字符,确定待显示文本,其中,该待显示文本所包括的文本字符的数量与文本字符数相等。当文本数据处于半显示状态时,从文本数据的字符起始渲染位置处开始,依次获取文本字符,确定待显示文本;其中,该字符起始渲染位置用于表征上一次渲染该文本数据时,停止渲染的位置,例如,上一次渲染该文本数据时,在第2段第10个文本字符处停止渲染,则将该第2段第10个文本字符确定为字符起始渲染位置,在本次渲染文本数据时,从第2段第10个文本字符开始,依次获取文本字符,以确定待显示文本。
133.可选的,请参见图4,图4是本技术实施例提供的一种字体获取场景示意图。如图4所示,本地终端402获取服务器401所发送的文本数据,在文本数据显示页面403中显示文本数据,获取该文本数据显示页面403中的显示区域4031,获取显示区域4031的尺寸信息,包括显示区域4031的显示高度3a及显示宽度3b,获取文本显示格式。其中,该文本显示格式包括显示行间距3e、段落首字符显示格式及显示边距,该显示边距包括显示高度边距3c及显示宽度边距3d。本地终端可以根据显示高度边距3c及显示高度3a,获取字符显示高度3f,根据字符显示高度3f及显示行间距3e,确定显示区域4031中的显示行数。同理,本地终端可以根据显示宽度3b及显示宽度边距3d,确定字符显示宽度3g。根据字符显示宽度3g、段落首字符显示格式及字符尺寸,确定显示区域4031中每一行的行显示字符数,根据显示行数及行显示字符数,确定需要显示的文本字符数。获取字符起始渲染位置,基于该字符起始渲染位置,从文本数据404中依次获取文本字符,确定待显示文本405,将该待显示文本405中的文本字符依次作为目标文本字符406,获取字体缓存库407。
134.步骤s302,根据目标文本字符及字体缓存库中的映射关系,对字体缓存库进行遍历。
135.可选的,获取字体缓存库中的映射关系,该映射关系为缓存字体与文本字符之间的映射关系,基于该映射关系,对字体缓存库进行遍历,查找与目标文本字符相关联的目标映射关系,若字体缓存库中存在与目标文本字符相关联的目标映射关系,则确定在字体缓存库中遍历到该目标文本字符对应的目标缓存字体,执行步骤s303,其中,该目标缓存字体是指该目标映射关系所指示的缓存字体;若字体缓存库中不存在与目标文本字符相关联的目标映射关系,则确定在字体缓存库中未遍历到该目标文本字符对应的目标缓存字体,执行步骤s304。
136.举例来说,参见图4,本地终端对字体缓存库407进行遍历,查找与目标文本字符406之间存在映射关系的缓存字体,若在字体缓存库407中遍历到目标文本字符对应的目标
缓存字体,则执行步骤s303,将目标缓存字体作为用于渲染目标文本字符的目标显示字体;若在字体缓存库407中未遍历到目标文本字符对应的目标缓存字体,则执行步骤s304,获取默认字体库408,从默认字体库408中获取目标文本字符对应的目标默认字体,将该目标默认字体作为用于渲染目标文本字符的目标显示字体。
137.进一步地,参见图5,图5是本技术实施例提供的一种字体获取示例的场景示意图。如图5所示,字体缓存库501中包括缓存字体与文本字符之间的映射关系502,假定该字体缓存库501中的映射关系502,包括文本字符1与缓存字体1之间的映射关系1、文本字符2与缓存字体2之间的映射关系2、文本字符3与缓存字体3之间的映射关系3,以及文本字符n与缓存字体n之间的映射关系n等,其中,n为正整数。本地终端遍历字体缓存库501,若从该字体缓存库501中获取与目标文本字符相关联的目标映射关系,则执行步骤s303;若从该字体缓存库501中未获取到与目标文本字符相关联的目标映射关系,则执行步骤s304。
138.可选的,假定该目标文本字符为文本字符3,本地终端遍历字体缓存库501,获取到文本字符1与缓存字体1之间的映射关系1,确定该映射关系1与目标文本字符不关联;获取文本字符2与缓存字体2之间的映射关系2,确定该映射关系2与目标文本字符不关联;获取文本字符3与缓存字体3之间的映射关系3,确定该映射关系3与目标文本字符相关联,将该映射关系3确定为目标映射关系503,执行步骤s303。或者,假定获取到文本字符1与缓存字体1之间的映射关系1,确定该映射关系1与目标文本字符不关联;获取文本字符2与缓存字体2之间的映射关系2,确定该映射关系2与目标文本字符不关联;获取文本字符3与缓存字体3之间的映射关系3,确定该映射关系3与目标文本字符不关联;

;获取文本字符n与缓存字体n之间的映射关系n,确定该映射关系n与目标文本字符不关联,则确定在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,执行步骤s304,获取默认字体库504,从默认字体库504中获取目标文本字符对应的目标默认字体,将目标默认字体作为用于渲染目标文本字符的目标显示字体(见图5中虚线所示过程)。
139.步骤s303,若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为用于渲染目标文本字符的目标显示字体。
140.可选的,若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为目标文本字符的目标显示字体,该目标显示字体用于渲染该目标文本字符。例如,参见图5,以图5中字体缓存库501包括与目标文本字符相关联的目标映射关系503为例,该目标映射关系503为文本字符3与缓存字体3之间的映射关系,本地终端将该目标映射关系503中的缓存字体3,确定为目标文本字符的目标显示字体。
141.步骤s304,若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体作为用于渲染目标文本字符的目标显示字体。
142.可选的,该字体支持关系包括支持显示关系及匹配失败关系,其中,支持显示关系用于表征默认字体可以支持,与该默认字体之间的字体支持关系为支持显示关系的文本字符进行显示,例如,默认字体1与文本字符1之间的字体支持关系为支持显示关系,则默认字体1可以支持文本字符1进行显示;匹配失败关系用于表征文本字符,通过与该文本字符之间的字体支持关系为匹配失败关系的默认字体进行显示时,会显示失败,即该匹配失败关
系用于表征默认字体不支持目标文本字符进行显示,例如,默认字体2与文本字符2之间的字体支持关系为匹配失败关系时,若文本字符2以默认字体2进行显示,则文本字符2无法正常显示。
143.进一步地,该默认字体库包括第一默认字体库;第一默认字体库为与应用系统存在初始关联关系的字体库,该初始关联关系为本地终端安装应用系统时,应用系统自带的字体库。可选的,本地终端在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体时,获取第一默认字体库中的至少两个第一默认字体,获取每个第一默认字体的字体优先级;基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,确定为目标文本字符对应的目标默认字体。可选的,本地终端获取第一默认字体库中的各个第一默认字体的字体优先级,基于该字体优先级,对各个第一默认字体进行排序,基于排序后的第一默认字体,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,直至获取到与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,将该第一默认字体确定为目标文本字符对应的目标默认字体。
144.其中,本地终端可以获取目标文本字符所属的字符类型,获取该字符类型对应的优先级集合,根据优先级集合确定每个第一默认字体的字体优先级。该字符类型可以是语言类型等,如中文类型、英文类型、韩文类型及日文类型等。可选的,不同的字符类型对应不同的优先级集合。可选的,可以有一个优先级集合,本地终端可以获取该优先级集合,基于该优先级集合确定每个第一默认字体的字体优先级。可选的,可以统计每个第一默认字体的历史使用次数,本地终端基于统计得到的历史使用次数,对各个第一默认字体进行排序,根据排序结果确定各个第一默认字体的字体优先级。
145.可选的,在生成默认字体时,确定了该默认字体所支持的文本字符。本地终端可以获取每个第一默认字体所支持的文本字符的数量,基于每个第一默认字体所支持的文本字符的数量,对至少两个第一默认字体进行排序,根据排序结果确定每个第一默认字体的字体优先级。
146.进一步地,本地终端可以获取字体匹配组件,基于字体优先级,将目标文本字符与至少两个第一默认字体中的第i个第一默认字体,组成待匹配元素对ai;i为正整数,i小于或等于至少两个第一默认字体的数量。将待匹配元素对ai输入字体匹配组件,获取字体匹配组件针对待匹配元素对ai的匹配结果。其中,若匹配结果为匹配成功结果,则将支持显示关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系;若匹配结果为匹配失败结果,则将匹配失败关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系。其中,该字体匹配组件的输出结果可以是布尔类型的数据,例如,该字体匹配组件的输出结果为0或1,其中,0表示匹配失败结果,1表示匹配成功结果;本地终端将待匹配元素对ai输入字体匹配组件,获取该字体匹配组件针对待匹配元素对ai的输出结果,若该输出结果为1,则确定待匹配元素对ai的匹配结果为匹配成功结果,将支持显示关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系;若该输出结果为0,则确定待匹配元素对ai的匹配结果为匹配失败结果,则将匹配失败关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系。
147.进一步地,该默认字体库包括第二默认字体库及第三默认字体库;第二默认字体库包括应用系统中的所有字体;第三默认字体库包括字符映射表;字符映射表包括字符类型与第三默认字体的映射关系;其中,第二默认字体库包括的第二默认字体的数量,大于第一默认字体库包括的第一默认字体的数量。可选的,本地终端在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体时,本地终端获取目标文本字符所属的字符类型,若目标文本字符所属的字符类型属于第一字符类型,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体。若目标文本字符所属的字符类型属于第二字符类型,则获取第三默认字体库中的字符映射表,若字符映射表中存在与目标文本字符所属的字符类型关联的映射关系,则将与目标文本字符所属的字符类型存在映射关系的第三默认字体,作为目标文本字符对应的目标默认字体;第二字符类型为所有字符类型中除第一字符类型之外的字符类型。
148.其中,若第三默认字体库中的字符映射表中,不存在与目标文本字符所属的字符类型关联的映射关系,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体。
149.其中,本地终端还可以获取字符类型的历史显示频率,若历史显示频率大于显示频率阈值,则将字符类型确定为第一字符类型;若历史显示频率小于或等于显示频率阈值,则将字符类型确定为第二字符类型。例如,获取到字符类型为中文类型时,获取到该中文类型的历史显示频率大于显示频率阈值,则确定中文类型为第一字符类型。
150.其中,本地终端获取第二默认字体库中所包括的至少两个第二默认字体,获取每个第二默认字体的历史使用次数,基于历史使用次数对至少两个第二默认字体进行排序,确定第二默认字体库中的字体排列顺序。
151.进一步地,本地终端可以获取第一默认字体库,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,若获取到与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,则将该第一默认字体,确定为目标文本字符对应的目标默认字体;若目标文本字符与至少两个第一默认字体之间的字体支持关系均为匹配失败关系,则获取目标文本字符所属的字符类型。若目标文本字符所属的字符类型属于第一字符类型,则从第二默认字体库中获取目标文本字符对应的目标默认字体。若目标文本字符所属的字符类型属于第二字符类型,则从第三默认字体库中查找目标文本字符对应的第三默认字体,若第三默认字体库中存在目标文本字符对应的第三默认字体,则将该第三默认字体作为目标文本字符对应的目标默认字体;若第三默认字体库中不存在目标文本字符对应的第三默认字体,则从第二默认字体库中获取目标文本字符对应的目标默认字体。
152.可选的,可以参见图6,图6是本技术实施例提供的一种字符字体匹配流程示意图。如图6所示,该过程包括如下步骤:
153.步骤s602,检测是否在字体缓存库中遍历到目标文本字符对应的目标缓存字体。
154.可选的,本地终端获取目标文本字符,获取字体缓存库601,对字体缓存库601进行遍历,检测是否在字体缓存库601中遍历到目标文本字符对应的目标缓存字体,具体参见图3中步骤s301至步骤s302所示描述。若在字体缓存库601中遍历到目标文本字符对应的目标缓存字体,则将该目标缓存字体确定为目标文本字符的目标显示字体,具体参见图3中步骤s303所示描述;若在字体缓存库601中未遍历到目标文本字符对应的目标缓存字体,则获取第一默认字体库603,执行步骤s604。
155.步骤s604,检测第一默认字体库中是否存在字体支持关系为支持显示关系的第一默认字体。
156.可选的,本地终端检测第一默认字体库中的至少两个第一默认字体,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系。若该第一默认字体库中存在字体支持关系为支持显示关系的第一默认字体,则将该第一默认字体确定为目标文本字符对应的目标默认字体,将该目标默认字体作为目标文本字符的目标显示字体;若该第一默认字体库中,至少两个第一默认字体与目标文本字符之间的字体支持关系均为匹配失败关系,则执行步骤s605。其中,该步骤可以参见图3中步骤s304所示的具体描述,在此不再进行赘述。
157.步骤s605,获取目标文本字符所属的字符类型。
158.可选的,本地终端可以获取目标文本字符所属的字符类型。若该字符类型属于第一字符类型,则获取第二默认字体库606,从第二默认字体库606中,获取与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,作为目标文本字符对应的目标默认字体,将该目标默认字体作为目标文本字符的目标显示字体;若该字符类型属于第二字符类型,则获取第三默认字体库607,执行步骤s608。
159.步骤s608,检测第三默认字体库中是否存在与目标文本字符所属的字符类型关联的映射关系。
160.可选的,若检测到第三默认字体库607中,存在与目标文本字符所属的字符类型关联的映射关系,则将与目标文本字符所属的字符类型关联的映射关系中的第三默认字体,作为目标文本字符的目标默认字体,将该目标默认字体确定为目标文本字符的目标显示字体;若检测到第三默认字体库607中,不存在与目标文本字符所属的字符类型关联的映射关系,则从第二默认字体库606获取目标文本字符对应的目标默认字体,将该目标默认字体确定为目标文本字符的目标显示字体。其中,第二默认字体库包括了应用系统中的所有字体,因此,通过该第二默认字体库,可以查找到支持目标文本字符的字体。
161.进一步地,可以建立目标默认字体与目标文本字符之间的目标映射关系,将目标映射关系添加至字体缓存库。其中,由于本地终端所需显示的文本数据中,包括的文本字符的种类的数量较少,因此,在该字体缓存库中存储已经显示过的文本字符及该文本字符所使用的字体之间的映射关系,会占用较少的内存空间。
162.进一步地,本地终端可以基于目标显示字体渲染目标文本字符。可选的,在显示区域中获取首字符显示位置,根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符;首字符显示位置是基于尺寸信息、显示边距及段落首字符显示格式所确定的。可选的,在根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符时,本地终端获取目标文本字符在待显示文本中的文本位置,根据首字符显示位置及文本位置,确定
目标文本字符在显示区域中的目标字符显示位置;在目标字符显示位置处,基于目标显示字体渲染目标文本字符。
163.可选的,当本地终端正在显示文本数据,需要对当前显示的文本数据进行更新时,本地终端可以获取显示区域中所显示的已渲染文本及文本更新区域,根据文本更新区域及已渲染文本,确定首字符显示位置,其中,文本更新区域是根据本地终端所获取到的文本更新请求进行确定的。其中,当文本更新请求用于指示查看已渲染文本时,本地终端直接根据文本更新请求获取已渲染文本中用户请求查看的文本数据,并在显示区域中显示用户请求查看的文本数据。当文本更新请求用于指示查看未渲染文本时,本地终端可以根据文本更新请求确定文本更新区域,基于该文本更新区域确定首字符显示位置,并根据已渲染文本确定字符起始渲染位置;在文本数据中的字符起始渲染位置开始,依次获取文本字符,作为目标文本字符,执行本技术中获取目标文本字符的目标显示字体的步骤,根据首字符显示位置确定目标文本字符的目标字符显示位置,在显示区域的目标字符显示位置处,基于目标显示字体渲染目标文本字符。
164.本技术实施例通过获取待显示的长文本数据,获取长文本数据中的目标文本字符,获取字体缓存库,该字体缓存库包括缓存字体与文本字符之间的映射关系;根据目标文本字符和映射关系,对字体缓存库进行遍历;若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将该目标缓存字体作为,用于渲染目标文本字符的目标显示字体;若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体。通过以上过程,实现了对目标文本字符对应的字体的获取,其中,通过字体缓存库获取目标文本字符对应的字体所需的时间较少,使得在通过本技术显示文本数据时,可以减少获取文本字符对应的字体所耗费的时间,进而提高文本显示处理的效率。同时由于文本显示处理所需耗费的时间减少,从而提高了文本数据显示的流畅性。而且,依次从各个默认字体库中查找目标文本字符对应的字体,不同的默认字体库中所包含的字体不完全相同,通过不同默认字体库的先后匹配顺序,可以提高文本显示处理的效率。
165.进一步地,请参见图7,图7是本技术实施例提供的一种文本显示处理装置示意图。该文本显示处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该文本显示处理装置为一个应用软件;该装置可以用于执行本技术实施例提供的方法中的相应步骤。如图7所示,该文本显示处理装置700可以用于图3所对应实施例中的计算机设备,具体的,该装置可以包括:元素获取模块11、字体遍历模块12、字体确定模块13及字体匹配模块14。
166.元素获取模块11,用于获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库;字体缓存库包括缓存字体与文本字符之间的映射关系,映射关系是通过历史长文本数据中的文本字符及缓存字体之间的关系所创建得到的,该缓存字体是指对文本字符进行显示时所使用的显示字体;
167.字体遍历模块12,用于根据目标文本字符和映射关系,对字体缓存库进行遍历;
168.字体确定模块13,用于若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为,用于渲染目标文本字符的目标显示字体;
169.字体匹配模块14,用于若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体;字体支持关系包括支持显示关系及匹配失败关系,支持显示关系用于表征默认字体支持目标文本字符进行显示,匹配失败关系用于表征默认字体不支持目标文本字符进行显示。
170.其中,默认字体库包括第一默认字体库;第一默认字体库为与应用系统存在初始关联关系的字体库;
171.在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体方面,该字体匹配模块14包括:
172.优先确定单元141,用于获取第一默认字体库中的至少两个第一默认字体,获取每个第一默认字体的字体优先级;
173.匹配检测单元142,用于基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第一默认字体,确定为目标文本字符对应的目标默认字体。
174.其中,在获取每个第一默认字体的字体优先级方面,该优先确定单元141包括:
175.集合获取子单元1411,用于获取目标文本字符所属的字符类型,获取该字符类型对应的优先级集合;
176.优先确定子单元1412,用于根据优先级集合确定每个第一默认字体的字体优先级。
177.其中,在获取每个第一默认字体的字体优先级方面,该优先确定单元141包括:
178.字体排序子单元1413,用于获取每个第一默认字体所支持的文本字符的数量,基于每个第一默认字体所支持的文本字符的数量,对至少两个第一默认字体进行排序,根据排序结果确定每个第一默认字体的字体优先级。
179.其中,在基于字体优先级,依次检测目标文本字符与至少两个第一默认字体之间的字体支持关系方面,该匹配检测单元142包括:
180.组件获取子单元1421,用于获取字体匹配组件,基于字体优先级,将目标文本字符与至少两个第一默认字体中的第i个第一默认字体,组成待匹配元素对ai;i为正整数,i小于或等于至少两个第一默认字体的数量;
181.组件处理子单元1422,用于将待匹配元素对ai输入字体匹配组件,获取字体匹配组件针对待匹配元素对ai的匹配结果;
182.结果获取子单元1423,用于若匹配结果为匹配成功结果,则将支持显示关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系;
183.该结果获取子单元1423,还用于若匹配结果为匹配失败结果,则将匹配失败关系确定为目标文本字符与第i个第一默认字体之间的字体支持关系。
184.其中,默认字体库包括第二默认字体库及第三默认字体库;第二默认字体库包括应用系统中的所有字体;第三默认字体库包括字符映射表;字符映射表包括字符类型与第三默认字体的映射关系;
185.在检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体方面,该字体匹配模块14包括:
186.类型获取单元143,用于获取目标文本字符所属的字符类型;
187.第一检测单元144,用于若目标文本字符所属的字符类型属于第一字符类型,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体;
188.第二检测单元145,用于若目标文本字符所属的字符类型属于第二字符类型,则获取第三默认字体库中的字符映射表,若字符映射表中存在与目标文本字符所属的字符类型关联的映射关系,则将与目标文本字符所属的字符类型存在映射关系的第三默认字体,作为目标文本字符对应的目标默认字体;第二字符类型为所有字符类型中除第一字符类型之外的字符类型。
189.其中,该字体匹配模块14还包括:
190.第三检测单元146,用于若字符映射表中不存在与目标文本字符所属的字符类型关联的映射关系,则获取第二默认字体库,基于第二默认字体库中的字体排列顺序,依次检测目标文本字符与第二默认字体库中的第二默认字体之间的字体支持关系,将与目标文本字符之间的字体支持关系为支持显示关系的第二默认字体,确定为目标文本字符对应的目标默认字体。
191.其中,该装置700还包括:
192.频率对比模块15,用于获取字符类型的历史显示频率,若历史显示频率大于显示频率阈值,则将字符类型确定为第一字符类型;
193.该频率对比模块15,还用于若历史显示频率小于或等于显示频率阈值,则将字符类型确定为第二字符类型。
194.其中,该装置700还包括:
195.顺序确定模块16,用于获取第二默认字体库中所包括的至少两个第二默认字体,获取每个第二默认字体的历史使用次数,基于历史使用次数对至少两个第二默认字体进行排序,确定第二默认字体库中的字体排列顺序。
196.其中,该装置700还包括:
197.映射缓存模块17,用于建立目标默认字体与目标文本字符之间的目标映射关系,将目标映射关系添加至字体缓存库。
198.其中,在获取待显示的长文本数据,从长文本数据中获取目标文本字符方面,该元素获取模块11包括:
199.格式获取单元111,用于获取待显示的长文本数据,获取显示区域的尺寸信息及文本显示格式;尺寸信息包括显示区域的显示宽度及显示高度,文本显示格式包括显示行间距、段落首字符显示格式及显示边距;
200.行数确定单元112,用于根据显示高度、显示边距及显示行间距,确定显示区域中的显示行数;
201.字符统计单元113,用于根据显示宽度、显示边距及段落首字符显示格式,确定显
示区域中每一行的行显示字符数;
202.字符确定单元114,用于基于显示行数及每一行的行显示字符数,从长文本数据中获取待显示文本,将待显示文本中的文本字符依次作为目标文本字符。
203.其中,该装置700还包括:
204.字符渲染模块18,用于在显示区域中获取首字符显示位置,根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符;首字符显示位置是基于尺寸信息、显示边距及段落首字符显示格式所确定的。
205.其中,在根据首字符显示位置及目标显示字体,在显示区域内渲染目标文本字符方面,该字符渲染模块18包括:
206.位置确定单元181,用于获取目标文本字符在待显示文本中的文本位置,根据首字符显示位置及文本位置,确定目标文本字符在显示区域中的目标字符显示位置;
207.字符显示单元182,用于在目标字符显示位置处,基于目标显示字体渲染目标文本字符。
208.其中,该装置700还包括:
209.历史数据获取模块19,用于获取历史长文本数据,遍历历史长文本数据,获取历史长文本数据中包括的文本字符及显示文本字符的显示字体;
210.字体缓存生成模块20,用于统计显示字体的使用频率,将使用频率最大的显示字体作为文本字符的缓存字体,建立文本字符与缓存字体之间的映射关系,将映射关系存储至字体缓存库。
211.本技术实施例提供了一种文本显示处理装置,该装置通过获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库,该字体缓存库包括缓存字体与文本字符之间的映射关系;根据目标文本字符和映射关系,对字体缓存库进行遍历;若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将该目标缓存字体作为,用于渲染目标文本字符的目标显示字体;若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体。通过以上过程,实现了对目标文本字符对应的字体的获取,其中,通过字体缓存库获取目标文本字符对应的字体所需的时间较少,使得在通过本技术显示文本数据时,可以减少获取文本字符对应的字体所耗费的时间,进而提高文本显示处理的效率。同时由于文本显示处理所需耗费的时间减少,从而提高了文本数据显示的流畅性,而且,该长文本数据所包括的文本字符数量较多,由于每个文本字符的渲染速度都得到了提升,进而提高了该长文本数据的渲染效率。
212.参见图8,图8是本技术实施例提供的一种计算机设备的结构示意图。如图8所示,本技术实施例中的计算机设备可以包括:一个或多个处理器801、存储器802和输入输出接口803。该处理器801、存储器802和输入输出接口803通过总线804连接。存储器802用于存储计算机程序,该计算机程序包括程序指令,输入输出接口803用于接收数据及输出数据,实现字体库与计算机设备之间的数据交互等;处理器801用于执行存储器802存储的程序指令,执行如下操作:
213.获取待显示的长文本数据,从长文本数据中获取目标文本字符,获取字体缓存库;
字体缓存库包括缓存字体与文本字符之间的映射关系,映射关系是通过历史长文本数据中的文本字符及缓存字体之间的关系所创建得到的,该缓存字体是指对文本字符进行显示时所使用的显示字体;
214.根据目标文本字符和映射关系,对字体缓存库进行遍历;
215.若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将目标缓存字体作为,用于渲染目标文本字符的目标显示字体;
216.若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体;字体支持关系包括支持显示关系及匹配失败关系,支持显示关系用于表征默认字体支持目标文本字符进行显示,匹配失败关系用于表征默认字体不支持目标文本字符进行显示。
217.在一些可行的实施方式中,该处理器801可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
218.该存储器802可以包括只读存储器和随机存取存储器,并向处理器801和输入输出接口803提供指令和数据。存储器802的一部分还可以包括非易失性随机存取存储器。例如,存储器802还可以存储设备类型的信息。
219.具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3中各个步骤所提供的实现方式,具体可参见该图3中各个步骤所提供的实现方式,在此不再赘述。
220.本技术实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机指令,执行该图3中所示方法的各个步骤,进行文本显示处理操作。本技术实施例实现了获取目标文本字符和字体缓存库,该字体缓存库包括缓存字体与文本字符之间的映射关系;根据目标文本字符和映射关系,对字体缓存库进行遍历;若在字体缓存库中遍历到目标文本字符对应的目标缓存字体,则将该目标缓存字体作为,用于渲染目标文本字符的目标显示字体;若在字体缓存库中未遍历到目标文本字符对应的目标缓存字体,则获取默认字体库,检测默认字体库中的默认字体与目标文本字符之间的字体支持关系,根据字体支持关系在默认字体库中,获取目标文本字符对应的目标默认字体,将目标默认字体,作为用于渲染目标文本字符的目标显示字体。通过以上过程,实现了对目标文本字符对应的字体的获取,其中,通过字体缓存库获取目标文本字符对应的字体所需的时间较少,使得在通过本技术显示文本数据时,可以减少获取文本字符对应的字体所耗费的时间,进而提高文本显示处理的效率。同时由于文本显示处理所需耗费的时间减少,从而提高了文本数据显示的流畅性。
221.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,当该程序指令被该处理器执行时,可以实现图3中各个步骤所提供的文本显示处理方法,具体可参见该图3中各个步骤所提供的实现方式,在
此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
222.该计算机可读存储介质可以是前述任一实施例提供的文本显示处理装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
223.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3中的各种可选方式中所提供的方法,实现对目标文本字符对应的目标显示字体的确定,先通过字体缓存库查找目标文本字符对应的字体,减少了字体获取所使用的时间,提高了文本显示处理的效率。
224.本技术实施例的说明书和权利要求书及附图中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
225.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
226.本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个
流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
227.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献