具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
图1是本发明第一实施例的文字内容显示方法的流程图。如图1所示,所述方法包括:
步骤110、要进行文字内容显示的移动终端向云端排版服务器上报字符样式组标识,所述字符样式组标识用于标识与所述移动终端对应的字符样式组,所述字符样式组包括所述移动终端所支持的所有字符样式。
其中,字符样式组标识是对于字符样式组的唯一标识。
步骤120、云端排版服务器根据所述字符样式组标识定位要进行文字内容显示的移动终端对应的字符样式组的字符样式数据,并从中选取匹配的字符样式数据对要显示的文字内容排版得到排版信息,并下发所述排版信息。所述字符样式数据预先存储于所述云端服务器,用于进行对应的字符样式的排版和显示。
相应地,移动终端侧需要接收所述排版信息。
所述的字符样式数据可以是预先由运营者配置存储在云端排版服务器上的数据也可以是其它移动终端上传到云端排版服务器上的数据也可以是由要进行文字内容显示的移动终端自己上报的数据。
本实施例所述的云端排版服务器可以根据需要采用不同的形式,其可以是单独的服务器、也可以是设置于同一位置的集中式服务器集群,还可以是分布在不同位置、相互之间通信连接的分布式服务器集群。
步骤130、要进行文字内容显示的移动终端根据所述排版信息进行显示。
本实施例通过对移动终端支持的、具有不同字形和/或字号的字符样式设置唯一标识,同时对特定移动终端上的所有字符样式组成的字符样式组设置字符样式组标识,服务器端通过移动终端上报的字符样式组标识以及组内的唯一标识识别移动终端所支持的字形和字号,从而可以根据要显示的文字内容选取合适的字形和字号进行排版使之适应于在该移动终端上显示。由此,本发明实现了实现支持多种字形、多种字号的云端排版。
图2是本发明第二实施例的文字内容显示方法的流程图。如图2所示,所述方法包括:
步骤210、移动终端根据所支持的多个字符样式生成该移动终端的字符样式组数据。
每个字符样式组数据包括字符样式组标识和移动终端所支持的多个字符样式的字符样式数据以及对应的唯一标识。本发明中所述的每种字符样式是指字体、字形、字号、字符效果中的一项或多项不同的字符集合。
在本实施例的一个优选实施方式中,通过MD5算法(Message-DigestAlgorithm5,消息摘要算法第五版)对字符样式数据计算其对应的唯一标识。
在本发明的另一个优选实施方式中,通过MD5算法对字符样式组内的所有唯一标识进行计算得到与所有唯一标识集合唯一对应的字符样式组标识。
当然,本领域技术人员可以理解,还可以采用其它的方式,例如使用其它的数字指纹生成算法来获取所述的唯一标识和字符样式组标识。
在本发明的一个优选实施方式中,每种字符样式具有不同的字形和/或字号。图3是该优选实施方式中移动终端生成的字符样式组数据的示意图,图4是该优选实施方式中字符样式数据的示意图。如图3和图4所示,每个字符样式组数据包括字符样式组标识和移动终端所支持的多个字符样式的字符样式数据以及对应的唯一标识,每种字符样式对应的字符样式数据包括对应的字符集合的字符大小、字体、字形、高度、宽度等等信息。而且,字符样式数据可分为两部分,第一部分为头信息,其中包括字符大小、字形、高度等所有字符的共性信息,第二部分为字符基本信息,包括字符集合内每个字符的特性信息,例如每个字符的宽度等。
在字符样式组数据中,可以方便地基于唯一标识定位字符样式数据,也可以通过对字符样式数据的头信息进行匹配选择相应的字符样式进行排版。
步骤220、移动终端预先向云端排版服务器上报字符样式组信息。
其中,图5是本实施例的一个优选实施方式中移动终端上报的字符样式组信息的示意图。如图5所示,字符样式组信息包括用于唯一标识该字符样式组的字符样式组标识和组内的多个字符样式的唯一标识,例如,图中字符样式组包括普通12号字符唯一标识、普通16号字符唯一标识、粗体12号字符唯一标识、粗体16号唯一标识、下划线12号字符唯一标识和下划线16号字符唯一标识等多个不同字形和/或字号的字符样式的唯一标识。
同时,移动终端的上报操作可以在第一次启动具有云端排版功能的应用时启动,也可以依靠用户来触发或设置其他条件触发。
所述步骤220具体包括:
步骤221、移动终端向云端服务器上传字符样式组信息。
步骤222、云端排版服务器判断移动终端上报的字符样式组信息是否上报过,如果已经有别的移动终端上报过相同的字符样式组信息,则执行步骤230,否则执行步骤223。
在本实施例的一个优选实施方式中,如果字符样式组标识是根据组内所有唯一标识计算得到的与该唯一标识组合一一对应的标识时,云端排版服务器仅通过判断字符样式组标识是否上传过即可判断是否已经上报过相同的字符样式组信息。
步骤223、云端排版服务器存储字符样式组信息。
云端排版服务器存储字符样式组标识与组内各唯一标识的映射关系,由此,可以通过字符样式组标识定位上报该字符样式组信息的移动终端所支持的字符样式的唯一标识。
经过步骤220后,云端排版服务器存储有要进行文字内容显示的移动终端的字符样式组信息。
步骤230、移动终端向云端排版服务器上报其所支持的字符样式中在云端服务器中未存储相应数据的字符样式数据。
具体地,步骤230包括:
步骤231、云端排版服务器根据移动终端上报的字符样式组信息确定的是否存在字符样式数据未存储的唯一标识,如果不存在,则执行步骤240,否则,执行步骤232。
由于移动终端种类众多,且使用的操作系统也各有不同,其支持的字符样式非常纷繁,要收集齐所有的字符样式数据存在困难,因此,本实施例所述移动终端向所述云端排版服务器上传字符样式数据的方式来解决该问题。
而且,本实施例云端排版服务器根据移动终端上报的字符样式组信息确定是否存在云端排版服务器没有存储的字符样式数据。由此,相同字符样式的数据只要一个移动设备上传过,其它的设备均不必再上传,可以减少移动设备的数据上传操作节省网络流量。
具体而言,云端排版服务器将已有的字符样式数据和对应的唯一标识独立于上述的字符样式组信息存储,在需要进行上述判断步骤时,通过查询独立存储的唯一标识确定是否存在没有存储的字符样式数据。
步骤232、云端排版服务器向移动终端下发字符样式数据未存储的唯一标识。
对应地,移动终端侧需要接收所述字符样式数据未存储的唯一标识。
步骤233、移动终端上传未存储的字符样式数据。
在本实施例的一个优选实施方式中,移动终端可以按照预定优先级对字符样式数据分批进行上传,例如,当普通字形的多组字符样式数据和粗体字形的多组字符样式数据均未上传时,优先上传普通字形的多组字符样式数据。根据预先设定的条件触发,在其它场合再上传粗体字形的字符样式数据,由此,可以进一步节省移动终端的网络流量。
在本实施例的另一个优选实施方式中,移动终端可以将字符样式数据压缩后再进行上传,由此,可以进一步节省移动终端的网络流量。
上述两种优选的上传方式可以单独使用,也可以同时实用。
如上所述,在本实施例中,在服务器端,云端排版服务器将已有的字符样式数据和对应的唯一标识独立于上述的字符样式组信息存储。
步骤240、在需要进行文字内容显示时,移动终端向排版服务器上报其所对应的字符样式组标识。
步骤250、云端排版服务器根据所述字符样式组标识定位要进行文字内容显示的移动终端对应的字符样式组的字符样式数据,并从中选取匹配的字符样式数据对要显示的文字内容排版得到排版数据,并将所述排版数据下发到移动终端,所述字符样式数据用于进行对应的字符样式的排版和显示。
在本实施例的一个优选实施方式中,对于字符样式仅包括字形和字号的情况,步骤250可以具体包括如下步骤:
步骤251、获取要显示的文字内容的样式信息,所述样式信息包括字形和字号大小。
步骤252、在移动终端对应的字符样式组中选取字形相同且字号最接近的字符样式。
在本实施方式中,可以采用阶梯式就近匹配方式来查找字号接近的字符样式,例如,文字内容的字号是13,而要进行显示的移动终端仅支持字号12、15、20、24和28五种字号,则最接近的字号是12,选取字号12的字符样式来作为排版样式。
又例如,对于相同的移动终端,如果文字内容的字号是14,则最接近的字号是15,选择字号15的字符样式来作为排版样式。
该匹配的过程可以通过在字符样式数据的头信息中进行搜索来实现。
步骤253、根据选取的字符样式对应的字符样式数据对要显示的文字内容进行排版获得排版信息,并将排版信息下发到移动终端。
云端排版服务器在下发给移动终端的排版信息包含排版样式、字符样式等信息,由此,移动终端可以按照服务器端排版的版式来显示文字内容。
步骤260、移动终端获取文字内容并根据所述排版信息进行显示。
在本实施例中,所述的云端排版服务器可以根据需要采用不同的形式,其可以是单独的服务器、也可以是设置于同一位置的集中式服务器集群,还可以是分布在不同位置、相互之间可以通信连接的分布式服务器集群。
本实施例通过移动终端自行向云端排版服务器上传字符样式数据,使得云端排版服务器可以自适应地匹配不同型号和系统的移动终端,增加了文字内容显示方法的兼容性,同时,通过优化字符样式数据的上传方式,节省了移动终端的网络流量。
图6是本发明第三实施例的文字内容显示系统的示意图。如图6所示,所述文字内容显示系统包括至少一个移动终端61和云端排版服务器62。
其中移动终端61向云端排版服务器62上报字符样式组标识,所述字符样式组标识用于标识与移动终端61对应的字符样式组,所述字符样式组包括所述移动终端61所支持的所有字符样式。
云端排版服务器62根据所述字符样式组标识定位要进行文字内容显示的移动终端61对应的字符样式组的字符样式数据,并从中选取匹配的字符样式数据对要显示的文字内容排版得到排版数据,并将所述排版数据下发到移动终端61,所述字符样式数据用于进行对应的字符样式的排版和显示。
移动终端61获取文字内容并根据所述排版信息进行显示。
具体地,本实施例中的移动终端61包括字符样式组标识上报单元611、排版信息接收单元612和显示单元613。
字符样式组标识上报单元611用于向云端排版服务器62上报字符样式组标识,所述字符样式组标识用于标识与所述移动终端对应的字符样式组,所述字符样式组包括所述移动终端61所支持的所有字符样式。
排版信息接收单元612用于接收排版信息,所述排版信息由所述排版信息由云端排版服务器62根据所述字符样式组标识从预先存储的所述移动终端61对应的字符样式组的字符样式数据中选取匹配的字符样式数据对要显示的文字内容排版得到,所述字符样式数据用于进行对应的字符样式的排版和显示。
显示单元613用于根据所述排版信息进行显示。
对应地,文字内容显示系统的云端排版服务器62包括字符样式组标识接收单元621和排版单元622。
字符样式组信息接收单元621用于接收移动终端61上报的字符样式组标识,所述字符样式组标识用于标识与移动终端61对应的字符样式组,所述字符样式组包括移动终端61所支持的所有字符样式。
排版单元622用于根据所述字符样式组标识定位要进行文字内容显示的移动终端61对应的字符样式组的字符样式数据,并从中选取匹配的字符样式数据对要显示的文字内容排版得到排版信息,并将所述排版信息下发到对应的移动终端61。
所述字符样式数据用于进行对应的字符样式的排版和显示。
具体地,排版单元622包括获取子单元622a、样式选择子单元622b、文字排版子单元622c。
其中,获取子单元622a用于获取要显示的文字内容的样式信息,所述样式信息包括字体样式和字体大小;样式选择子单元622b用于在所述移动终端61对应的字符样式组中选取字形相同且字体大小最接近的字符样式;文字排版子单元622c用于根据选取的字符样式对应的字符样式数据对要显示的文字内容进行排版并下发排版信息。
通过对移动终端支持的、具有不同字形和/或字号的字符样式设置唯一标识,同时对特定移动终端上的所有字符样式组成的字符样式组设置字符样式组标识,服务器端通过移动终端上报的字符样式组标识以及组内的唯一标识识别移动终端所支持的字形和字号,从而可以根据要显示的文字内容选取合适的字形和字号进行排版使之适应于在该移动终端上显示。由此,本发明实现了实现支持多种字形、多种字号的云端排版。
在本实施例的一个优选实施方式中,移动终端61还包括字符样式数据上报单元614(图中用虚线表示),用于向云端排版服务器62上传字符样式数据,所述字符样式数据用于进行对应的字符样式的排版和显示。
具体地,字符样式数据上报单元614可以包括:
未存储信息接收子单元614a,用于接收云端排版服务器62根据移动终端61上报的字符样式组内的各唯一标识确定的未存储的字符样式的唯一标识。
数据上传子单元614b,用于上传未存储的字符样式数据。
其中,为了进一步节省流量,数据上传子单元614a根据预定优先级分批上传所述未存储的字符样式数据,和/或将未存储的字符样式数据压缩后上传。
对应地,云端排版服务器62还包括字符样式数据接收单元623(图中用虚线表示),其与字符样式数据上报单元614对应,用于接收所述移动终端61上传的字符样式数据,所述字符样式数据用于进行对应的字符样式的排版和显示。
具体地,字符样式数据接收单元623包括:
未存储样式判断子单元623a,用于根据移动终端61上报的字符样式组内的各唯一标识确定的未存储的字符样式的唯一标识,并将该唯一标识下发移动终端61。
未存储数据接收单元623b,用于接收移动终端61上传的未存储的字符样式数据。
通过移动终端61自行向云端排版服务器62上传字符样式数据,使得云端排版服务器62可以自适应地匹配不同型号和系统的移动终端61,增加了文字内容显示方案的兼容性。
在本发明的一个优选实施方式中,移动终端61还包括字符样式组信息上报单元615,用于预先向云端排版服务器62上传所述预先存储的字符样式组信息;所述字符样式组信息包括字符样式组标识和字符样式组中各字符样式的唯一标识。
优选地,所述字符样式组标识根据所述字符样式组内所有字符样式的唯一标识利用数字指纹生成算法计算得到,以及,所述唯一标识根据对应的字符样式数据计算得到。计算的算法可以基于MD5算法,也可以基于其它数字指纹生成算法。
对应地,云端排版服务器62包括字符样式组信息接收单元626,用于接收所述字符样式组信息。
云端排版服务器62还包括字符样式组匹配单元624和字符样式组信息存储单元625(图中用虚线表示)。
字符样式组匹配单元624用于判断所述移动终端61上报的字符样式组标识是否上报过。
字符样式组信息存储单元625用于在字符样式组未上报过时,存储所述移动终端61上报的字符样式组标识和所述字符样式组内所有字符样式的唯一标识。
上述单元可以防止相同的字符样式组重复上传,节省云端排版服务器资源。
与第一实施例和第二实施例类似,云端排版服务器62可以根据需要采用不同的形式,其可以是单独的服务器、也可以是设置于同一位置的集中式服务器集群,还可以是分布在不同位置、相互之间可以通信连接的分布式服务器集群。
本发明通过对移动终端支持的、具有不同字形和/或字号的字符样式设置唯一标识,同时对特定移动终端上的所有字符样式组成的字符样式组设置字符样式组标识,服务器端通过移动终端上报的字符样式组标识以及组内的唯一标识识别移动终端所支持的字形和字号,从而可以根据要显示的文字内容选取合适的字形和字号进行排版使之适应于在该移动终端上显示。由此,本发明实现了实现支持多种字形、多种字号的云端排版。
显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。因此,本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。