具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种文本行高的调整系统的架构示意图。如图1所示,该系统可以包括服务器11、网络12和若干电子设备(比如手机13-14和PC15-16等)。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关业务功能。在本说明书一个或多个实施例的技术方案中,当该服务器11接收到客户端发送的针对目标文本的获取指令(例如,获取待显示的网页,该网页中包含文本数据)时,可以实现为文本行高的调整系统中的服务端,向客户端返回目标文本,以由客户端对目标文本的行高进行调整,实现文本行高的调整方案。
手机13-14和PC15-16只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,PersonalDigital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关业务功能。在本说明书一个或多个实施例的技术方案中,该电子设备可作为客户端向服务端发送针对目标文本的获取指令,并在接收到服务端返回的目标文本后对目标文本的行高进行调整,以使目标文本的空白高度的增幅与字体大小呈负相关,从而可提高目标文本的美观性,并减少目标文本对显示区域的占用。
而对于电子设备与服务器11之间进行交互的网络12,可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(Public SwitchedTelephone Network,PSTN)和因特网。同时,手机13-14和PC15-16等电子设备之间也可以通过该网络12进行通讯交互。
请参见图2,图2是一示例性实施例提供的一种文本行高的调整方法的流程图。如图2所示,该方法应用于客户端,可以包括以下步骤:
步骤202,获取目标文本的字体大小。
在本实施例中,为了便于读者阅读目标文本,上下两行文字之间需保持一定的空隙间距。因此,文字的行高往往要大于实际的字体大小(即字体高度)。如图3所示,目标文本30为文字“Hello Match”。其中,目标文本30的行高为D,文字的实际高度为d,D>d,而目标文本30的空白高度为D-d。
步骤204,当所述目标文本包含多种不同的字体大小时,调整所述目标文本的行高,以使所述目标文本的空白高度的增幅与字体大小呈负相关;所述空白高度为行高与字体大小的差值。
在本实施例中,当目标文本包含多种不同的字体大小时(即目标文本中文字的字号不同,比如,目标文本中至少三行的字体大小均不相同),通过将目标文本的空白高度(行高与字体大小的差值)的增幅调整至与字体大小呈负相关,一方面可以提高目标文本的美观性,另一方面可以减少目标文本对显示区域(用于显示目标文本)的占用。
如图4A所示,相关技术中采用“比例法”来统一设置行高,即行高为字体大小的固定倍数。例如,倍数为1.5,那么14pt(图4A中的第一行“Hello Match”)的行高(相邻虚线之间的距离)为21pt;18pt(图4A中的第二行“Hello Match”)的行高为27pt;24pt(图4A中的第三行“Hello Match”)的行高为36pt。则第一行与第二行之间的空隙间距k1=8pt,第一行与第二行之间的空隙间距k2=10.5pt。可见,随着字体大小的增大,各行之间的空隙间距也随之越来越大,导致美观性较低,所占显示区域较大。
反观图4B,承接于上述举例,随着字体大小(本实施例中以字号衡量字体大小)的增大,相应的空白高度的增幅减小,从而使得各行之间的空隙间距相近甚至相同(k3与k4相近),从而提高了美观性,且减小了显示区域的面积。
在本实施例中,当客户端接收到服务端返回的待显示网页(由客户端向服务器端发送获取待显示网页的获取指令)时,可获取待显示网页中文本的字体大小,以作为所述目标文本的字体大小。进一步的,在对目标文本的行高进行调整后,在待显示网页中显示调整后的所述目标文本,一方面可提高该网页的美观性;另一方面,可以减少目标文本对网页中显示区域的占用,换言之,相比于调整前,该网页可以显示更多内容的文本,从而提升了用户体验。
在一实施例中,可通过预配置的公式来调整行高。具体的,可按照目标文本的字体大小从小到大进行排序,再通过下述公式调整所述目标文本的行高:
Hn=Fn×(1+k×An);
其中,Hn表示排列于第n位的字体大小所对应的行高;
Fn表示排列于第n位的字体大小;
An为关于n的指数函数,且An为递减函数;
k为常数。
作为一示例性实施例,
在另一实施例中,可将所述目标文本的字体大小输入行高调整模型,所述行高调整模型由训练至少一组文本集合得到;所述至少一组文本集合中各文本的空白高度的增幅与字体大小呈负相关;再按照所述行高调整模型的输出结果调整所述目标文本的行高。
在本实施例中,在调整目标文本的行高时,还可将用户的视力参数作为依据。具体的,可获取用户的视力参数,并根据所述视力参数确定所述目标文本的空白高度的增幅与字体大小之间的负相关程度,其中,所述视力参数与所述负相关程度呈负相关;再按照确定出的负相关程度调整所述目标文本的行高。可见,通过在调整行高时将用户的视力参数作为依据,并将视力参数与所述负相关程度设置为呈负相关,可防止目标文本各行之间的空隙间距过于密集,不利于视力较差的用户阅读。
为了便于理解,下面结合具体场景对本说明书的目标文本行高的调整方案进行详细说明。
请参见图5,图5是一示例性实施例提供的另一种文本行高的调整方法的流程图。如图5所示,该方法应用于客户端,可以包括以下步骤:
步骤502,接收服务端返回的待显示网页。
在本实施例中,用户可通过客户端浏览所需观看的网页,客户端向服务端发送针对该网页数据的获取指令(例如,向服务端发送相应的URL请求),以使服务端返回相应的数据。
步骤504,获取待显示网页中文本的字号。
步骤506,判断待显示网页中的文本是否包含多种字号,若包含多种字号,则转入步骤508,否则转入步骤512。
在本实施例中,当待显示网页中的文本包含多种不同的字体大小时(即文字的字号不同),可将该文本的空白高度(行高与字体大小的差值)的增幅调整至与字体大小呈负相关,一方面可以提高待显示网页的美观性,另一方面可以减少该文本对待显示网页中显示区域(用于显示目标文本)的占用。
而针对待显示网页中文本包含多种字号的情况,举例而言,待显示网页中包含多行文字,其中有至少三行的文字的字号均不相同(可参考上述图4所示的举例)。当然,还可以是其他任意包含多种字号的情况,本说明书一个或多个实施例并不对此进行限制。
步骤508,调整文本的行高。
在一实施例中,可在客户端中预先配置用于调整行高的计算公式,通过将文本的各个字号代入该公式即可计算得到相应的行高。下面结合公式的具体参数进行说明。
该计算公式为Hn=Fn×(1+k×An);其中,Hn表示排列于第n位(文本的字体大小按照从小到大进行排序)的字体大小所对应的行高,Fn表示排列于第n位的字体大小(利用字号表示),An为关于n的指数函数,且An为递减函数,k为常数。可见,一方面,Hn为关于n的函数,而n为经将各字号进行排序后得到的序号,从而使得文本中各字号所对应行高的大小互相关联,进而使得计算出的行高在整体上更具美感。另一方面,通过将An设置为关于n的递减函数,可保证文本的空白高度的增幅与字体大小呈负相关,从而可减少文本对网页中显示区域的占用,换言之,相比于调整前,该网页可以显示更多内容的文本,从而提升了用户体验。
进一步的,An和k的具体取值为当然,An和k的具体形式可根据实际情况灵活设定,本说明书一个或多个实施例并不对此进行限制。例如,An=-0.5n等。
在另一实施例中,可利用模型来得到各字号对应的行高。举例而言,可预先训练得到行高调整模型以用于调整文本的行高。其中,在训练行高调整模型时,所采用的样本数据为字号与行高的对应关系,并且样本数据中各文本的空白高度的增幅与字体大小呈负相关。比如,样本数据可以为多组文本集合,该多组文本集合为网页设计师设计的历史数据。其中,文本集合中各文本的空白高度的增幅与字体大小呈负相关。
基于上述对行高调整模型的训练,在需要确定待显示网页中各文本的行高时,将待显示网页中包含的字号输入行高调整模型,以由行高调整模型输出各字号对应的行高。
步骤510,显示调整后的待显示网页。
在本实施例中,承接于步骤506,当待显示网页仅包含一种字号时,直接显示待显示网页即可。承接于步骤508,当待显示网页包含多种字号时,显示经步骤510调整后的待显示网页。
在本说明书的文本行高的调整方案中,在调整行高时还可进一步与用户的视力参数相关联。由上述调整行高的方式可知,调整后各行文字之间的空隙间距相比于调整前更为密集。那么,将空白高度的增幅与字体大小之间的负相关程度与视力参数相关联,可防止在用户的视力较差的情况下,调整后的各行文字之间的空隙间距过于密集,从而影响用户的阅读体验。
作为一示例性实施例,在训练行高调整模型时,还可将视力参数也作为行高调整模型的输入。比如,样本数据包含多组文本集合,各组文本集合与视力参数相对应。其中,文本集合中各文本的空白高度的增幅与字体大小呈负相关,视力参数与文本集合中空白高度的增幅与字体大小之间的负相关程度呈负相关。换言之,行高调整模型的输入为多种字号以及该多种字号对应的用户视力参数,输出为该多种字号对应的行高。基于上述对行高调整模型的训练,在客户端通过步骤508调整行高时,还可进一步获取用户的视力参数。例如,客户端为运行浏览器的PC,用户可在浏览器中预先填写好自身的视力参数(例如,用户在登录浏览器后,将自身的视力参数与账号绑定;或者,在“用户信息”中填写自身的视力参数),那么浏览器便可获取该用户的视力参数,并将获取到的视力参数与待显示网页的所有字号共同作为行高调整模型,并根据该行高调整模型的输出结果来调整各个字号对应的行高,再显示经调整后的待显示网页。
在本说明书的文本行高的调整方案中,还可将上述调整行高的方法集成于行高生成程序中,而该程序运行于客户端中。下面结合图6-7进行说明。
请参见图6,图6是一示例性实施例提供的文本行高的生成方法的流程图。如图6所示,该方法应用于客户端,可以包括以下步骤:
步骤602,接收用户输入的字号。
在本实施例中,如图7A所示,设计行高的功能可集成于行高生成程序中,用户在设计网页时,可在输入框中输入网页包含的所有字体的大小。例如,以像素px为单位来表示字体大小,用户输入“12,14,16,20,24,30,38,46,56,68”。如图7B所示,在输入完毕后,用户可点击“确认”来完成对字号的输入。那么,客户端便可接收到用户输入的各个字号。
步骤604,对字号进行排序。
在本实施例中,客户端在接收到用户输入的字号后,对所有字号进行排序。
步骤606,代入公式计算行高。
在本实施例中,计算行高的公式为其中,Hn表示排列于第n位的字体大小所对应的行高,Fn表示排列于第n位的字体大小。由上述公式可知,一方面,Hn为关于n的函数,而n为经将各字号进行排序后得到的序号,从而使得文本中各字号所对应行高的大小互相关联,进而使得计算出的行高在整体上更具美感。另一方面,为关于n的递减函数,可保证文本的空白高度的增幅与字体大小呈负相关,从而可减少文本对网页中显示区域的占用,换言之,相比于调整前,该网页可以显示更多内容的文本,从而提升了用户体验。
在本实施例中,还可利用模型来输出各字号对应的行高,该过程与上述步骤508中利用行高调整模型调整文本行高的过程类似,在此不再赘述。
步骤608,输出各字号的行高。
在本实施例中,如图7C所示,客户端输出通过步骤606得到的行高。其中,具体数值如表1所示:
字号大小 |
12 |
14 |
16 |
20 |
24 |
30 |
38 |
46 |
56 |
68 |
行高 |
19 |
22 |
26 |
30 |
35 |
41 |
49 |
58 |
69 |
83 |
表1
图8是一示例性实施例提供的一种设备的结构示意图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行,在逻辑层面上形成文本行高的调整装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在软件实施方式中,该文本行高的调整装置可以包括:
高度获取单元91,获取目标文本的字体大小;
调整单元92,当所述目标文本包含多种不同的字体大小时,调整所述目标文本的行高,以使所述目标文本的空白高度的增幅与字体大小呈负相关;所述空白高度为行高与字体大小的差值。
可选的,
所述高度获取单元91具体用于:
获取待显示网页中文本的字体大小,以作为所述目标文本的字体大小;
所述装置还包括:显示单元,在所述待显示网页中显示调整后的所述目标文本。
可选的,所述调整单元92具体用于:
按照所述目标文本的字体大小从小到大进行排序;
通过下述公式调整所述目标文本的行高:
Hn=Fn×(1+k×An);
其中,Hn表示排列于第n位的字体大小所对应的行高;
Fn表示排列于第n位的字体大小;
An为关于n的指数函数,且An为递减函数;
k为常数。
可选的,An=〖e〗^((1-n)/5),k=(√5-1)/2。
可选的,所述调整单元92具体用于:
将所述目标文本的字体大小输入行高调整模型,所述行高调整模型由训练至少一组文本集合得到;所述至少一组文本集合中各文本的空白高度的增幅与字体大小呈负相关;
按照所述行高调整模型的输出结果调整所述目标文本的行高。
可选的,
还包括:视力获取单元93,获取用户的视力参数,并根据所述视力参数确定所述目标文本的空白高度的增幅与字体大小之间的负相关程度;其中,所述视力参数与所述负相关程度呈负相关;
所述调整单元92具体用于:按照确定出的负相关程度调整所述目标文本的行高。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。