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

一种应用于同屏交流的字体处理方法与流程

2022-09-01 09:54:45 来源:中国专利 TAG:


1.本发明实施例涉及互联网通信领域,尤其涉及一种应用于同屏交流的字体处理方法。


背景技术:

2.非视频类的同屏交流技术,通过在每个同屏交流客户端同步显示交流目标内容实现同步效果,相较于视频类同屏交流技术,具有传输数据量小、速度快、画质无损的显著优势,其核心在于通过同屏交流客户端本地计算与显示目标内容。但由于设备、系统等存在差异,在固定窗口大小或比例的基础上,仍可能产生不同的显示效果,如图8所示,在标记处的字符位置、换行均存在差异,如此,交流者双方如执行同步涂鸦,所标记的字符不同,导致较差的用户体验、影响交流质量。另外,随着设备、操作系统、浏览器的增多,这一问题更为突出。
3.因此,非视频类的同屏交流技术存在的以上问题亟需解决。


技术实现要素:

4.针对上述问题,本发明提供一种应用于同屏交流的字体处理方法,旨在解决非视频类同屏交流技术中存在的字符显示差异问题,进一步提升非视频类同屏交流技术的应用效果。本发明提供的技术方案如下:第一方面,本技术提供了一种应用于同屏交流的字体处理方法,所述方法应用于同屏交流客户端,所述方法包括:进入同屏交流并获取目标内容,设置所述目标内容的显示字体为预设的等宽字体,加载所述等宽字体,使用所述等宽字体在所述同屏交流客户端本地执行所述目标内容的显示计算,输出所述目标内容,所述目标内容为所述同屏交流客户端在同屏交流中显示的内容。
5.以上实现方式,利用等宽字体在不同设备、系统等上的显示一致性,在同屏交流客户端动态设置目标内容的字体为指定的等宽字体,获得客户端间显示一致的效果。
6.在一种可能的实现方式中,所述同屏交流客户端加载所述目标内容,动态设置所述目标内容的显示字体为预设的等宽字体,设置方法包括但不限于修改css样式中的字体、设置标签的字体属性、定义预设的等宽字体中的一种或者多种。
7.在一种可能的实现方式中,所述同屏交流客户端首先获取所述目标内容的当前字体,然后,对当前字体的类型进行判断,确定所述当前字体的类型为等宽字体时,加载所述等宽字体并使用其在所述同屏交流客户端本地执行所述目标内容的显示计算并输出显示内容;当确定所述当前字体的类型为非等宽字体时,设置所述目标内容的显示字体为所述预设的等宽字体,在所述同屏交流客户端本地执行所述目标内容的显示计算并输出显示内容。通过该实现方式,在所述目标内容的创建者预先设置等宽字体的情况下,在同屏交流中不改变其指定的字体显示效果。
8.在一种可能的实现方式中,设定所述目标内容的显示字体的第一优先字体为所述预设的等宽字体,保留使用原有的字体为其它优先字体。
9.在一种可能的实现方式中,为所述目标内容设定预设的等宽字体,所述预设的等宽字体仅包括指定的字符集合,在显示所述目标内容时,其中包含于所述指定的字符集合的字符使用所述预设的等宽字体显示,未包含于所述指定的字符集合的字符使用原有字体显示。该实现方式有利于控制所述预设的等宽字体的文件大小,利于网络传输。
10.在另一种可能的实现方式中,基于所述目标内容包含的字符集合或所述目标内容对应的网络地址生成网络请求向服务端发送,接收所述服务端返回的等宽字体,设置所述目标内容的显示字体为所述等宽字体。该实现方式中,基于目标内容包含的字符集合生成网络请求向服务端发送,即告知服务端本次使用的字符内容,由服务端计算返回相应的等宽字体。基于所述目标内容对应的网络地址生成网络请求向服务端发送,即告知服务端同屏交流的目标网址,由服务器根据该网址获取字符集合并计算返回相应的等宽字体。
11.通过以上各实现方式,实现了同屏交流客户端进入同屏交流后,使用等宽字体显示目标内容的目的,在固定窗口大小或比例的前提下,可获得完全相同的显示效果。
12.第二方面,本技术还提供了另一种应用于同屏交流的字体处理方法,所述方法应用于服务端,所述方法包括:在服务端,生成用于同屏交流的发送内容,设置所述发送内容的显示字体为预设的等宽字体,其中,所述发送内容用于向同屏交流客户端发送,并由所述同屏交流客户端接收,基于所述等宽字体在所述同屏交流客户端本地执行所述发送内容的显示计算,输出所述发送内容。
13.通过该实现方式,在服务端向同屏交流客户端发送所述发送内容之前,首先对其进行处理,执行使用指定的等宽字体的相关设置,以在客户端显示同屏交流目标内容时采用该等宽字体。
14.在一种可能的实现方式中,在服务端设置所述发送内容的显示字体之前,首先获取该目标内容的当前字体,然后,对当前字体进行判断,确定所述当前字体的类型为非等宽字体时,设置所述发送内容的显示字体为预设的等宽字体。
15.在一种可能的实现方式中,在服务端设置所述发送内容的显示字体,设定所述发送内容的显示字体的第一优先字体为预设的等宽字体,保留使用原有的字体为其它优先字体。
16.在一种可能的实现方式中,在服务端设置所述发送内容的显示字体为预设的等宽字体,所述预设的等宽字体仅包括指定的字符集合。该实现方式有利于控制所述预设的等宽字体的文件大小,利于网络传输。
17.在另一种可能的实现方式中,在服务端基于所述发送内容包含的字符集合生成包含所述字符集合的等宽字体,设置所述发送内容的显示字体为所述等宽字体。该实现方式基于在同屏交流中使用的字符集合生成相应的等宽字体,同样有利于减小字体文件大小,提高传输效率。
18.通过在服务端的各实现方式,根据服务端最终提供的发送内容,在同屏交流客户端固定窗口大小或比例的前提下,接收与显示所述发送内容,可获得完全相同的显示效果。
19.通过以上实现方式,在两个同屏交流客户端固定窗口大小或比例的基础上,最终
可获得的交流显示效果如图9所示,两同屏交流客户端显示的字符内容中,字符位置、换行等均保持一致,由此可获得完全相同的交流画面,且不受设备、操作系统等影响,交流者执行同步涂鸦,所标记的位置无错位问题,从而有效提高了非视频类同屏交流技术的交流质量,提升用户体验。
附图说明
20.图1为本技术实施例提供的一种应用于同屏交流的在客户端执行的字体处理流程示意图;图2为本技术实施例提供的一种在客户端设置等宽字体的流程示意图;图3为本技术实施例提供的一种在客户端显示字符的流程示意图;图4为本技术实施例提供的一种向服务端请求并设置等宽字体的流程示意图;图5为本技术实施例提供的一种应用于同屏交流的在服务端执行的字体处理流程示意图;图6为本技术实施例提供的一种在服务端设置等宽字体的流程示意图;图7为本技术实施例提供的一种在服务端生成等宽字体的流程示意图;图8为现有非视频类同屏交流技术在不同设备和系统下的同步画面及字符显示效果示意图;图9为本技术实施例实现的在不同设备和系统下的同步画面及字符显示效果示意图。
具体实施方式
21.本技术的实施方式部分仅用于对本技术进行解释,而非旨在限制本技术。
22.以下,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
23.现有的同屏交流技术,可分为视频类同屏方式、非视频类同屏方式。例如视频会议系统等为视频类同屏方式,该方式通过传输视频图片数据实现同步,传输数据量大,在网络传输前通常进行压缩处理,画质有损;非视频类同屏方式为一种新型的同屏交流方式,其通过传输程序数据与指令实现同步,在即每个同屏交流客户端利用本地能力计算与显示内容,该种同屏交流方式不需要传输大量的视频图片数据,具有数据小、画质无损的明显优势,但由于每个客户端独立计算显示内容,各终端之间文字显示差异也是普遍问题,其运行效果很难保持一致,例如,使用两个手机设备(显示尺寸或比例相同)浏览某相同网页,极易出现如图8所示的字符显示位置差异的问题。
24.在现有的字体中,比例字体(proportional font)是每个字母宽度是按一定比例自动调整的字体,而等宽字体(monospaced font)则是宽度、间距固定的字体,即每一个字母和字符所占的水平空间都相同。从阅读上看,显然比例字体使单词的整体可读性增强,随着图形用户界面主流的更新和电脑技术的提高,人们处理比例字体的局限性得到了突破,因此排版上显得比较自然的比例字体的使用已相当普及。经分析,导致图8所示的字符显示位置差异的问题原因在于:不同设备、操作系统等对某些字符的比例字体显示存在差异。而
等宽字体具有相同的宽度字符,拥有较高的统一性和一致性,因此,在同屏交流过程中,将所使用的字体动态设置为等宽字体,可以有效的解决以上问题。
25.下面采用几个具体实施例对本发明的技术方案进行详细说明。
26.实施例一图1示出了一种可能的应用于同屏交流的字体处理流程,在同屏交流客户端中执行,主要步骤包括:s101,设置目标内容的显示字体为预设的等宽字体,s102,加载所述等宽字体,使用所述等宽字体在所述同屏交流客户端本地执行所述目标内容的显示计算,输出所述目标内容。其中,所述目标内容为在同屏交流过程中,由每个同屏交流客户端显示的内容,也即:同屏交流目标内容。
27.需要说明的是,本技术实施例不对同屏交流客户端的程序类型进行特别限定,如网页程序、app程序、窗口程序、小程序等均可按照本技术的步骤实施。
28.以网页程序为例,目标内容即为网页内容,如html等,s101设置目标内容的显示字体,例如,通过以下说明定义字体:@font-face{font-family:mydkfontname;src:url(mydkfont.otf);}其中,font-family定义的是字体族,可包括一个或多个字体,此处仅定义了mydkfontname一个字体,src表示字体的存放地址,其中包括文件名mydkfont.otf,根据本技术实现原理,其为一种等宽字体。
29.在网页中使用以上字体,只需要在html标签的font-family属性中赋值mydkfontname即可,例如:h3{ font-family: mydkfontname;}以上h3样式为使用该样式显示的字符指定mydkfontname字体。
30.在以上实现方式中,s101设置网页内容的字体为预设的等宽字体mydkfontname, s102加载该字体并使用其显示网页文字内容。
31.需要说明的是,以上举例通过在网页中自定义字体的方式说明本技术实现原理,在具体的实施场景中还存在多种指定字体的方式,故不应因以上举例而限制本技术。
32.优选的,在具体的实施场景中,通过在所述同屏交流客户端中加载用于实现本技术功能的程序,以实现设置目标内容的显示字体的功能,例如,在结合网页类型的同屏交流客户端实施时,在网页中引入指定的js库,所述js库包含本技术的设置等宽字体等功能,结合以上举例,在其加载后,在网页中增加自定义字体(即预设的等宽字体),加载所述自定义字体,并修改网页样式、标签属性等使用所述自定义字体。可选的,在所述同屏交流客户端进入同屏交流后,加载所述用于实现本技术功能的程序,如在网页进入同屏交流后,加载上述js库程序,即在网页进入同屏交流后,将网页字符使用指定的等宽字体显示。可选的,在以上网页退出同屏交流后,恢复使用原字体显示网页内容,即在退出同屏交流后,移除以上自定义字体,恢复网页样式、标签属性并使用原字体。以上实现方式在网页中引入js库修改字体,有利于本技术在网页类型的同屏交流客户端快速实施。
33.可选的,所述同屏交流客户端加载所述目标内容,动态设置所述目标内容的显示字体为预设的等宽字体,设置方法包括但不限于修改css样式、设置标签的字体属性、定义预设的等宽字体中的一种或者多种。以上动态设置过程例如,首先加载目标内容,在所述目标内容加载完成后,设置目标内容的css样式字体属性或标签的字体属性;又如,首先获取
roman";且相应设置字体文件路径等,其中,mydkfontname为所述预设的等宽字体,且设置为第一优先顺序。经以上设置后,则在客户端显示字符的处理流程如图3所示,s301,读入字符,s302,查找第一优先字体中是否存在该字符,当存在时执行s303,使用第一优先字体显示字符,否则,执行s304,使用原有字体显示字符。可选的,将font-family属性设置为“mydkfontname”,完全限定网页仅使用预设的等宽字体。可选的,判断font-family属性指定的字体族中是否包含等宽字体,当存在一等宽字体时,调整其优先顺序,将其设置为第一优先使用字体。
41.可选的,本技术实施例根据每个同屏交流客户端加载的字体选择字体的优先顺序,例如,目标内容的创建者指定按照microsoft yahei ui、arial、times new roman优先顺序在本地查找字体并使用,同屏交流客户端1本地存在microsoft yahei ui、arial字体,而同屏交流客户端2本地不存在microsoft yahei ui字体,存在arial字体,则首先获取各同屏交流客户端中存在的字体,向服务端发送,并根据服务端返回结果,将arial字体的优先级调整为优先于microsoft yahei ui字体使用,该实现方式可避免各同屏交流客户端最终使用了不同的字体问题。相同原理,该实现方式同样适用于目标内容的创建者未指定字体,而由各同屏交流客户端默认使用本地字体的情形,确保多个交流客户端使用相同字体生成同屏交流画面。
42.通过以上实现方式,调整显示字体的优先顺序,在尽可能维持内容创建者指定字体效果的基础上应用等宽字体,实现同屏画面一致性。
43.实施例四当页面部署到服务器后,由于字库比较大,如10m的字库在1mpbs的外网访问带宽下,字体加载需要1分钟以上,这显然是无法接受的,况且,一些中文字体文件可达几十兆。进一步分析字体显示不一致的原因,其主要在于不同设备、操作系统、浏览器对比例字体的处理存在差异,经研究,例如一些中文、日文字体中,由于同时涵盖西文的半形文字字符,因此也含有比例字体,造成一个字体中两种类型混杂的局面,又如windows vista的默认字体微软雅黑中,半角的西文部分是比例字体,全角字符是等宽字体。
44.因此,综合以上,为达到目标内容显示一致的目的,一种可能的实现方式是,为某些指定的字符制作一个特殊的字体,例如对在不同字体中使用比例字体的字符制作一个特殊的字体,该字体的属性为等宽字体,且结合实施例三的实施方式,将该特殊的字体设定为第一优先顺序加载。其中包含于所述指定的字符集合的字符使用所述特殊的字体显示,未包含于所述指定的字符集合的字符使用原有字体显示。该实现方式至少可获得以下有益效果:加载速度快,原因在于其包含的字符非常少,如包含标点符号、数字、字母等,但不包含数量极大的汉字字库等;另外,其仅对能引起显示差异的部分字符进行了字体替换处理,极大程度上维持了内容创建者指定的字体显示效果。
45.实施例五在一种可能的实现方式中,如图4所示的向服务端请求并设置等宽字体的流程示意图,s401,基于目标内容包含的字符集合或目标内容对应的网络地址生成网络请求向服务端发送;s402,接收服务端返回的等宽字体,设置目标内容的显示字体为该等宽字体。以上实现方式中,所述同屏交流客户端在进入同屏交流的前后采集所述目标内容包含的字符
集合,向服务端发送并请求返回相应的等宽字体,或者,向服务端发送目标内容对应的网络地址,由服务端根据该网址计算所述目标内容包含的字符集合,并生成相应的等宽字体返回。可选的,在其中参与同屏交流的一个所述同屏交流客户端执行以上s401步骤,所有同屏交流客户端执行以上s402步骤。可选的,在所述同屏交流客户端中引入api、库文件等执行以上步骤,如在网页中引入指定的js库完成以上请求与设置步骤,为本领域技术人员常用手段,在此不再赘述。
46.以上实现方式可获得的有益效果是,字体文件小,利于网络传输,在服务端有利于对使用的等宽字体进行控制。
47.以上实施例均采用在同屏交流客户端中的实施方式,另一方面,所述同屏交流目标内容通常为网络返回,因此,在服务端同样可实现对所述同屏交流目标内容的显示字体进行控制,以下实施例详细介绍本技术通过服务端实施的方法。另外需要说明的是,本技术实施例的服务端包括所述同屏交流目标内容提供的服务端、同屏交流服务提供的服务端、字体计算服务等中的一个或多个,本技术不对其形式进行具体限定。
48.实施例六如图5所示的一种应用于同屏交流的在服务端执行的字体处理流程示意图,主要步骤为:s501,生成用于同屏交流的发送内容,s502,设置所述发送内容的显示字体为预设的等宽字体,s503,向同屏交流客户端发送所述发送内容。
49.以上实现方式适用于由服务端提供发送内容的实施场景。所述发送内容用于向同屏交流客户端发送,并由所述同屏交流客户端接收与显示,也即:用于同屏交流的发送内容。例如,所述发送内容为网页,s501生成对应于网页请求的返回内容,s502检测该返回内容中相关使用字体的设置信息,并设置为使用预设的等宽字体,s503向客户端返回后,在同屏交流客户端执行显示,可获得实施例一相同的应用效果。可选的,在s501生成发送内容的同时,设置所述发送内容的显示字体为预设的等宽字体。可选的,在服务端网页服务程序中执行s502步骤。可选的,创建服务程序执行s502步骤,例如使用servlet过滤器,拦截传出的响应数据,并修改处理web工程中的数据流,使最终传出的目标内容的显示字体为预设的等宽字体。
50.可选的,在s501之后、s502之前,对所述发送内容的字体先判断、后设置处理,如图6所示的一种在服务端设置等宽字体的流程示意图,s601,获取发送内容的当前字体,执行s602,判断当前字体类型,当所述当前字体类型为等宽字体时,不做任何处理,当所述当前字体的类型为非等宽字体时,执行s603,设置所述发送内容的显示字体为预设的等宽字体。
51.可选的,s502步骤中,设定所述发送内容的显示字体的第一优先字体为所述预设的等宽字体,保留使用原有的字体为其它优先字体。该实现方式的实现原理与实施例三基本相同,不同之处在于其在服务端对所述发送内容进行处理,在此不再赘述。
52.可选的,s502设置所述发送内容的显示字体为预设的等宽字体,所述预设的等宽字体可采用仅包括指定的字符集合的字体,其原理可参考实施例四,例如所述预设的等宽字体仅包含标点符号、数字、字母等可能造成显示差异的字体,但不包含数量极大的汉字字库等,相同的,该实现方式具备施例四相关优点,在此不再赘述。
53.实施例七如图7所示的一种在服务端生成等宽字体的流程示意图,主要步骤包括:s701,基
于所述发送内容包含的字符集合生成包含所述字符集合的等宽字体,s702,设置所述发送内容的显示字体为所述等宽字体。该种实现方式中,s701根据同屏交流待显示的字符集合生成对应的字体,并通过s702设置使用该字体,原理就是,只在字库中保留页面中出现的字符,将其他大量不用的字符删掉,由此大大提高访问速度。例如,以所述发送内容的类型为网页为例,使用font-spider对字库进行压缩处理,此处,font-spider是nodejs下的一插件,其功能是压缩静态页面外部引入的字体,font-spider会自动筛选出对应的字体,将字库中不相关的字统统删掉,这样可以大大减小外部引入字体文件的大小,使用该方式处理,s702中返回的所述等宽字体仅包括所述发送内容中包括的字符,字体文件小、网络传输效率高。
54.可选的,在同屏交流过程中,存在服务端多次返回所述发送内容的情况,在每一次返回时,生成对应的等宽字体并执行s702设置字体步骤。可选的,在服务端多次返回所述发送内容的情况下,仅生成一个等宽字体并设置所有发送内容使用,在服务端每次返回所述发送内容时,更新该等宽字体,在所述同屏交流客户端更新目标内容时获取并加载该等宽字体。
55.需要说明的是,在本技术中,所述同屏交流目标内容、所述用于同屏交流的发送内容,不限于一次请求或反应的内容,也不限于全部或部分内容,且本技术不对其形式进行限制,例如在网页中,其既包含html页面内容,也包括通过js,ajax,jsonp添加的文字等内容,还包括用户在输入框中输入的内容等。
56.在一种可能的实现方式中,本技术还提供一种同屏交流客户端,所述同屏交流客户端包括字体处理单元,所述字体处理单元用于读取加载的目标内容,设置所述目标内容的显示字体为预设的等宽字体。可选的,所述字体处理单元还包括字体检测功能,检测所述目标内容的当前字体,当确定所述当前字体的类型为等宽字体时,加载所述等宽字体并使用其显示所述目标内容;当确定所述当前字体的类型为非等宽字体时,设置所述目标内容的显示字体为所述预设的等宽字体。可选的,所述字体检测功能还用于设定所述目标内容的第一优先字体为所述预设的等宽字体。可选的,所述字体处理单元还用于基于所述目标内容包含的字符集合或所述目标内容对应的网络地址生成网络请求向服务端发送,接收所述服务端返回的等宽字体,设置所述目标内容的显示字体为所述等宽字体。
57.在一种可能的实现方式中,本技术还提供一种网页js库,所述js库用于读取加载的网页内容,设置所述网页内容的显示字体为预设的等宽字体。可选的,所述js库还用于检测所述网页内容的当前字体,当确定其为非等宽字体时,设置所述网页内容的显示字体为预设的等宽字体。可选的,所述js库还用于设定网页内容的第一优先字体为预设的等宽字体。可选的,所述js库还用于基于网页内容包含的字符集合或加载的网页内容对应的网址生成网络请求向服务端发送,接收所述服务端返回的等宽字体,设置网页内容的显示字体为所述等宽字体。
58.需要说明的是,以上本技术的方法实施例中,一些步骤可以被相似的步骤取代,一些步骤可以合并、分解、调整顺序实施,因此,以上实施例并不构成对本技术所提出的一种应用于同屏交流的字体处理方法的限定。
59.本技术实施例还提供一种计算机程序产品,该计算机程序产品在被一个或多个处理器读取并执行时可实现上述任意一种实施方式提供的方法。
60.本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有软件程序,软件程序在被一个或多个处理器读取并执行上述任一实施例的应用于同屏交流的字体处理方法的步骤。
61.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为 磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
62.综合以上,本技术使用在同屏交流中设置等宽字体这一技术,实现了非视频类同屏交流的各交流终端显示效果完全一致的技术效果。本技术实施例所产生的有益效果可归纳为:使同屏交流中的每个同屏交流客户端字符位置、换行等保持一致,获得完全相同的交流画面,且不受设备、操作系统等影响,交流者执行同步涂鸦,所标记的位置无错位,有效提高同屏交流质量、用户体验,使非视频类同屏交流取代传统的视频类同屏交流成为可能,降低同屏交流的网络传输和提升交流质量,解决了非视频类同屏交流当前面临的难题。
63.以上,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围 应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献