掌桥专利:专业的专利平台
掌桥专利
首页

一种文本布局方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 19:28:50


一种文本布局方法、装置、计算机设备和存储介质

技术领域

本申请涉及互联网领域,特别是涉及一种文本布局方法、装置、计算机设备和存储介质。

背景技术

随着终端的开发,终端上可使用的功能越来越多,例如用户可以使用终端实现阅读,在APP上以设定的排布方式展示用户希望阅读的文本。

但是,文本中存在的标点,有时会导致文本行出现排版布局问题,影响阅读连贯性。

发明内容

基于此,有必要针对上述技术问题,提供一种能够解决各文本行的排版布局问题的文本布局方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种文本布局方法,文本布局方法包括:获取预排版文本;在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本,目标行文本是从预排版文本中遍历选取的;当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

上述文本布局方法,在预排版文本中的目标行文本存在避头标点的情况下,对避头标点和/或目标行文本上一行文本中的可压缩标点进行空间压缩,使得目标文本行的避头标点可推入至上一行文本中,当避头标点和/或上一行文本中的标点符号完成挤压而无法将避头标点推入至上一行时,将上一行中可推出的文字推出到目标行,实现目标行文本的行首不存在避头标点,从而可以解决各文本行的排版布局问题,提高文本的阅读连贯性。

第二方面,本申请还提供一种文本布局方法,文本布局方法包括:获取预排版文本;在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本,目标行文本是从预排版文本中遍历选取的;当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

上述文本布局方法,在预排版文本中的目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,使目标行文本的下一行文本的字符可推入至目标行文本中,当避尾标点和/或目标行文本中的可压缩标点完成挤压而无法将避尾标点推入至目标行时,将目标行文本中可推出的文字推出到目标行文本的下一行文本中,实现目标行文本的行尾不存在避尾标点,提高文本的可阅读性。

第三方面,本申请还提供了一种文本布局装置,文本布局装置包括:

第一获取模块,用于获取预排版文本;

第一压缩模块,用于在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的;

第一推出模块,用于当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

第四方面,本申请还提供了一种文本布局装置,文本布局装置包括:

第二获取模块,用于获取预排版文本;

第二压缩模块,用于在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

第二推出模块,用于当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍旧存在避尾标点,将目标行文本中的可推出字符推出至目标行文本的下一行文本,更新预排版文本。

第五方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

第六方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

第七方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

第八方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

第九方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

第十方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

附图说明

图1为一个实施例中文本布局方法的流程示意图;

图2为另一实施例中文本布局方法的流程示意图;

图3为一个实施例中文本布局方法的流程示意图;

图4为一个实施例中文本布局方法的效果对比图;

图5为另一个实施例中文本布局方法的流程示意图;

图6为一个实施例中文本布局装置的结构框图;

图7为另一个实施例中文本布局装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种文本布局方法,该方法包括对避头标点进行处理的过程,以该方法应用于终端为例进行说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,布局文本方法包括以下步骤:

步骤202,获取预排版文本。

步骤204,在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的。

其中,预排版文本是指以文本的属性(例如字体种类、字体大小、段落间距等),在指定的区域使用系统底层框架对待显示的文本进行渲染后所形成的文本。其中,文本的属性可以是默认的,也可以由用户设置。指定的区域由具体的设置参数来确定。在其中一个实施例中,可以通过CoreText框架中提供的API实现对文本的预排版得到预排版文本。

目标行文本是指遍历预排版文本过程中,选取的待处理的文本行。在一个实施例中,可以以预排版文本为基础,从首行开始遍历文本,以行为单位,每一行均可为目标行文本,可以针对每一行执行处理步骤。

避头标点是指不应当出现在行首的标点,例如“》”、“;”等。在一个实施例中,可以通过将出现在行首的标点与预设避头标点表中的标点进行比对,来确定目标行文本是否存在避头标点。例如,若出现在行首的标点存在在预设避头标点表中,则认为该标点为避头标点,在执行行首的标点是否与预设避头标点表中的标点匹配时,可以通过比较标点的代码实现。其中,预设避头标点表可参照表1。

表1预设避头标点表

空间压缩是指压缩标点占用的显示空间。在一个实施例中,可以利用切割过空间的标点代替文本中的原始标点,从而达到压缩空间的效果。在一个实施例中,切割过空间的标点可以为只保留文字部分,而切割掉留白部分,例如标点符号“,”,只保留1/4的文字部分,而留白的3/4部分全部裁掉,从而达到减少标点占用空间的目的。在一个实施例中,针对不同的标点可以有不同留白的切割空间,例如,标点符号“《”则会保留文字部分所占1/2部分,其余留白的1/2部分裁掉,而标点符号“,”,只保留“,”这一文字部分所占用的1/4空间,而将其他的3/4留白的空间全部截取掉。在一个实施例中,可以将切割过空间的标点与原始标点一一对应,在进行空间压缩时,通过原始标点符号的代码查找到对应的切割过空间的标点符号,利用获取到的切割过空间的标点直接替换原始标点,达到空间压缩的目的。在其中一个实施例中,也可以在需要对标点进行空间压缩时,对标点进行只保留文字部分,切割留白部分的操作。

在一个实施例中,若目标行文本存在有需要处理的避头标点,此时,可以针对该避头标点进行空间压缩,并更新预排板文本。通过压缩该避头标点占用的空间,使避头标点所占空间小于原始所占空间,从而能够被目标行文本的上一行文本空间所容纳,因而使该避头标点可以被推入至上一行文本中。

在一个实施例中,若目标行文本存在有需要处理的避头标点,可以获取目标行文本的上一行文本的可压缩标点,针对获取到的可压缩标点进行空间压缩,并更新预排版文本。通过对上一行文本中的可压缩标点进行空间压缩,实现对可压缩标点所占空间的压缩,从而增加上一行文本的空间以使避头标点可以被推入至上一行文本中。

在一个实施例中,若目标行文本存在有需要处理的避头标点,此时可以对避头标点和上一行文本的可压缩标点进行空间压缩,并更新预排版文本。通过对避头标点和上一行文本的可压缩标点的空间压缩,从而减少避头标点所占空间,增加上一行文本所提供的容纳空间,使避头标点可以被推入至上一行文本中。在其中一个实施例中,可以先进行避头标点的空间压缩,再进行上一行文本的可压缩标点的空间压缩,也可以先进行上一行文本的可压缩标点的空间压缩,再进行避头标点的空间压缩,对此不做限定。

在一个实施例中,可以在处理每一行文本时,记录标点的压缩状态,通过标点的压缩状态即可确定上一行文本中的可压缩标点。例如,对已完成空间压缩处理的标点进行标记,而对于未经过空间压缩处理的标点即为可压缩标点,并记录,在需要时通过记录获取相关可压缩标点。

在一个实施例中,对于上一行文本中可压缩标点进行空间压缩时,可以查询记录获取可压缩标点,若可压缩标点仅为一个,则可以直接对该可压缩标点进行空间压缩。在一个实施例中,若可压缩标点为二个及以上,则在实现空间压缩时,可以按照可压缩标点在上一行中的行首到行尾的顺序获取可压缩标点并进行空间压缩,例如可以先获取最前面的可压缩标点,然后进行空间压缩,并更新预排版文本,此时若目标行文本的避头标点依旧没有被推入到上一行文本中,则继续往后顺延获取且可压缩标点并进行空间压缩,然后更新预排版文本,直至目标行文本的避头标点被推入上一行文本或者上一行文本中所有可压缩标点均完成空间压缩处理。在一个实施例中,若可压缩标点为二个及以上,则在实现空间压缩时,也可以采用由行尾到行首的顺序或者随机获取可压缩标点的方式,其余处理方式与由行首到行尾的顺序获取可压缩标点时类似,不再赘述。

在一个实施例中,当目标行文本为首行时,若首行存在有避头标点,对该避头标点直接执行空间压缩的步骤,以使该避头标点压缩,可以减少该避头标点而导致的行首留白大的问题。

步骤206,当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在一个实施例中,可推出字符应当满足如下条件:该字符推出至目标行文本后,不会导致目标行文本产生避头标点。

在一个实施例中,在完成避头标点和目标行文本的上一行文本的所有可压缩标点的空间压缩并更新预排版文本后,若目标行文本的避头标点依旧未被推入至上一行文本,则可以通过将上一行文本的可推出字符推出至目标行文本,实现目标行文本的避头标点的消除。

在一个实施例中,在执行将上一行文本的可推出字符推入至目标行文本时,可以按照从行尾到行首的顺序在上一行文本中查找可推出字符,例如,首先判断上一行文本的行尾字符(即最后一个字符)是否为可推出字符;若是,则将行尾字符推出至目标行文本;若否,则判断上一行文本的倒数第二个字符是否为可推出字符,以此类推,直至找到可推出字符,并将该可推出字符推出至目标行文本。

在其中一个实施例中,推出字符的方式可以为在该字符前插入换行符。

在其中一个实施例中,在将可推出字符推出时,若可推出字符为标点,则可以将可推出字符以空间压缩完成后的形式显示在目标行行首,从而减少因为标点导致的行首留白过大的情况。

上述文本布局处理方法中,在预排版文本中的目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,通过空间压缩实现避头标点和/或上一行文本中可压缩标点的压缩,减少避头标点所占的空间,也可以增加上一行文本能够容纳的空间,从而使避头标点可以被推入到上一行文本中,而当避头标点和上一行文本中的可压缩标点完成空间压缩,而目标行文本的避头标点依旧未被推入至上一行文本,则此时将上一行文本中可推出的字符推出到目标行文本,使目标行文本的行首不存在避头标点,从而可以解决各文本行的排版布局问题,提高文本的阅读连贯性。

通过对避头标点和/或上一行文本中可压缩标点的空间压缩,使标点所占空间减小,使上一行文本可以有容纳目标行文本中字符推入其中的空间,则在当通过压缩避头标点和/或压缩上一行文本可压缩标点而实现将避头标点推入至上一行文本时,可能存在因为空间压缩形成的目标行文本中字符推入至上一行文本时,而引起的上一行文本避尾标点的存在,此时需要对上一行文本的避尾标点进行处理。在其中一个实施例中,在避头标点被推入至上一行文本的情况下,文本布局方法还包括:在上一行文本存在避尾标点的情况下,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

其中,避尾标点是指不应当出现在行尾的标点,例如“《”、“{”等。在一个实施例中,可以通过将出现在行尾的标点与预设避尾标点表中的标点进行比对,来确定目标行文本是否存在避尾标点。例如,若出现在行尾的标点存在在预设避尾标点表中,则认为该标点为避尾标点,在执行行尾的标点是否与预设避尾标点表中的标点匹配时,可以通过比较标点的代码实现。其中,预设避尾标点表可参照表2。

表2预设避尾标点表

/>

在一个实施例中,可推出字符应当满足如下条件:该字符推出至目标行文本后,不会导致目标行文本产生避头标点,并且目标行文本的上一行文本不会产生避尾标点。

在其中一个实施例中,对上一行文本的避尾标点进行处理时,可以针对避尾标点进行空间压缩,并更新预排版文本。通过针对避尾标点的空间压缩实现减少避尾标点所占的空间,从而增加上一行文本可容纳的空间,使目标行文本的字符可推入至上一行文本,因而可以消除上一行文本的避尾标点。

在其中一个实施例中,对上一行文本的避尾标点进行处理时,可以获取上一行文本的可压缩标点,针对获取到的可压缩标点进行空间压缩,并更新预排版文本。通过对上一行文本中可压缩标点的空间压缩,可以实现对可压缩标点所占空间的压缩,从而增加上一行文本可容纳的空间以使目标行文本的字符推入至上一行文本,因而可以消除上一行文本的避尾标点。在其中一个实施例中,获取可压缩标点可以为从行首到和行尾的顺序,或者从行尾到行首的顺序,或者是随机的方式获取。

在其中一个实施例中,对上一行文本的避尾标点进行处理时,可以针对避尾标点和上一行文本的可压缩标点进行空间压缩,并更新预排版文本。通过针对避尾标点和上一行可压缩标点的空间压缩,减少避尾标点和上一行可压缩标点所占的空间,从而增加上一行文本能够容纳的空间,使目标行文本的字符能够被推入至上一行文本,使上一行文本不存在避尾标点。

在其中一个实施例中,对于上一行文本的可压缩标点进行空间压缩时,可以,以行首到行尾的顺序或者从行尾到行首的顺序或者随机方式获取,针对获取到的可压缩标点空间压缩,并更新预排版文本,在检测到上一行文本依旧存在有避尾标点时,获取其他可压缩标点并进行空间压缩,直至所有可压缩标点均完成空间压缩,或者目标行文本的字符被推入至上一行文本。在其中一个实施例中,可以先针对避尾标点进行空间压缩,再针对上一行文本的可压缩标点进行空间压缩,也可以先针对上一行文本的可压缩标点进行空间压缩,再针对避尾标点进行空间压缩。

在其中一个实施例中,当避尾标点和上一行文本的可压缩标点均完成空间压缩,而上一行文本依旧存在避尾标点时,可以将上一行文本的可推出字符推出至目标行文本。

在一个实施例中,在执行将上一行文本的可推出字符推入至目标行文本时,可以按照从行尾到行首的顺序在上一行文本中查找可推出字符,例如,首先判断上一行文本的行尾字符(即最后一个字符)是否为可推出字符;若是,则将行尾字符推出至目标行文本;若否,则判断上一行文本的倒数第二个字符是否为可推出字符,以此类推,直至找到可推出字符,并将该可推出字符推出至目标行文本。

在其中一个实施例中,推出字符的方式可以为在该可推出字符前插入换行符。

在其中一个实施例中,在将可推出字符推出时,若可推出字符为标点,则可以将可推出字符以空间压缩完成后的形式显示在目标行行首,从而减少因为标点符号字符导致的行首留白过大的情况。

本实施例中,对于避头标点被推入至目标行文本的上一行文本的情况下,需要对上一行文本进行避尾标点的处理,从而使目标行文本不存在避头标点,而上一行文本不存在避尾标点,解决各文本行的排版布局问题,提高文本的阅读连贯性。

在一个实施例中,文本布局处理方法还包括对行首留白标点进行处理的过程,包括以下步骤:

在目标行文本无避头标点但存在行首留白标点的情况下,对行首留白标点进行空间压缩,并更新预排版文本。

其中,行首留白标点指出现在目标行文本的行首、导致目标行文本的行首留白过大的标点,例如“《”、“{”等。在一个实施例中,可以通过将出现行首的标点与预设行首留白标点表中的标点进行比对,以确定目标行文本是否存在行首留白标点。例如,若出现在行首的标点存在在预设行首留白标点表中,则认为该标点为行首留白标点,在执行行首的标点是否与预设行首留白标点表中的标点匹配时,可以通过比较标点的代码实现。其中,预设行首留白标点表可参照表3。在一个实施例中,关于确定目标行文本是否存在行首留白标点时,也可以预先设置第一留白阈值,在检测到行首存在标点的情况下,获取该标点对应的留白区域,将该留白区域与第一留白阈值进行比较,若大于该第一留白阈值,则表明该标点导致行首留白过大,需要进行空间压缩处理,此时可将该标点认为是行首留白标点。

表3预设行首留白标点表

/>

在其中一个实施例中,执行完针对避头标点的处理,并更新预排版文本,若目标行文本的行首存在有行首留白标点,则针对该行首留白标点进行空间压缩,减少该行首留白标点占的空间,达到减少行首留白的效果,解决文本布局问题,使文本左侧版面齐整。

在一个实施例中,针对行首留白标点进行空间压缩、并在完成空间压缩更新预排版文本后,可以进一步确定目标行文本是否还存在有行首留白标点,若是,则继续压缩,直至目标行文本不存在行首留白标点。

在一个实施例中,在行首留白标点完成空间压缩,并更新预排版文本后,目标行文本行首已然不存在行首留白标点,而上一行文本存在有避尾标点的情况下,则可以执行针对该避尾标点的处理。

在一个实施例中,在目标行文本不存在行首留白标点,而目标行文本的上一行文本存在避尾标点时,针对该避尾标点的处理可以包括:在目标行文本的上一行文本存在避尾标点的情况下,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将避尾标点推出至所述目标行文本,并更新预排版文本。

在一个实施例中,在目标行文本的上一行文本存在避尾标点的情况下,可以获取上一行文本中可压缩标点,针对可压缩标点进行空间压缩,并更新预排版文本。通过对上一行文本中可压缩标点的空间压缩,减小标点所占空间,增加上一行文本可容纳空间,使目标行文本的字符可以推入到上一行文本中,从而可以使上一行文本不存在避尾标点。

在其中一个实施例中,在针对上一行文本的可压缩空间进行空间压缩时,可以针对可压缩标点进行空间压缩,并更新预排版文本后,在上一行文本依旧存在避尾标点的情况下,则继续空间压缩上一行文本中其他可压缩标点,直至上一行文本不存在避尾标点或者上一行文本的可压缩标点均完成空间压缩。

在其中一个实施例中,对于上一行文本中可压缩标点的空间压缩,可以针对获取到的可压缩标点,从行首到行尾的顺序获取可压缩标点并执行空间压缩,也可以从行尾往行首的顺序获取可压缩标点并执行空间压缩,亦或者随机获取的方式获取可压缩标点并执行空间压缩。在一个实施例中,若只有一个可压缩标点,则可以直接进行空间压缩。

在一个实施例中,若上一行文本的所有可压缩标点都完成空间压缩后,上一行文本中依旧存在有避尾标点,则此时,可以通过将避尾标点直接推出至目标行文本的方式,使上一行文本不存在避尾标点,而该推出到目标行文本的避尾标点实际为目标行文本行首留白标点压缩而推入上一行文本中的标点,因此,该避尾标点实际上已然完成压缩,则在将该避尾标点推出至目标行文本时,也不会发生目标行文本有行首留白标点的情况,同样的,行首留白标点的处理是在目标行文本无避头标点时进行的,因而该避尾标点被推出至目标行文本时,同样不会引起目标行文本有避头标点的情况。本实施例中,在上一行文本中可压缩标点完成空间压缩后,上一行文本依旧存在避尾标点时,可以通过将该避尾标点推出至目标行文本的方式,实现目标行文本不存在避头标点,也不存在行首留白标点,上一行文本不存在避尾标点,从而可以解决文本行的排版布局问题,提高文本的阅读连贯性。

在一个实施例中,在上一行文本中无可压缩标点时,可以直接执行将避尾标点推出至目标行文本的步骤。

在其中一个实施例中,将避尾标点推出至目标行文本的方式,可以为在避尾标点前增加换行符。

本实施例中,通过判断目标行文本是否存在行首留白标点,当存在时,则基于行首留白标点进行空间压缩,从而达到减少行首留白的情况,解决文本行的排版布局问题,提高文本的阅读连贯性。

在其中一个实施例中,文本布局方法还包括对相邻标点进行处理的过程,包括以下步骤:在目标行文本的行内存在相邻标点的情况下,对相邻标点进行空间压缩,并更新预排版文本。

其中,相邻标点是指文本行中两个以上标点连续出现,而导致留白过多的标点。

在其中一个实施例中,可以针对目标行文本中的字符进行检测,判断获取到的字符是否为标点,若是,则进一步检测,在该标点的前后侧是否同样也是标点,以此类推,从而确定出目标行文本中存在的相邻标点。

在一个实施例中,在确定了相邻标点后,因为相邻标点的存在而导致目标行文本存在留白过大的情况,则可以针对相邻标点进行空间压缩,使留白所占空间减小,解决目标行文本因为相邻标点而引起的留白过大的问题。

在其中一个实施例中,可以获取相邻标点中的第二个开始的标点,并针对获取到的标点进行空间压缩,压缩标点所占空间,从而达到降低相邻标点所占空间留白的情况。

在一个实施例中,也可以预先设置第二留白阈值,在确定有相邻标点时,将相邻标点区域的留白值与第二留白阈值进行比较,若大于,则需要进行空间压缩处理。

在其中一个实施例中,可以首先压缩相邻标点中的第二个标点,在第二个标点完成空间压缩、并更新预排版文本后,判断该相邻标点处的区域留白空间是否大于第二留白阈值,若是,则执行其他标点符号的空间压缩并更新预排版文本,例如执行相邻标点中的第三个标点的空间压缩并预排版文本,直至相邻标点处的区域留白空间不超过第二留白阈值。

本实施例中,通过判断目标行文本存在相邻标点的情况下,对相邻标点进行空间压缩,从而达到减少行内因为相邻标点而导致的行内留白过大的情况,解决文本行的排版布局问题,提高可阅读性。

在其中一个实施例中,文本布局方法还包括对行尾留白进行处理的过程,包括以下步骤:在目标行文本的行尾存在行尾留白的情况下,对目标行文本的可压缩标点进行空间压缩,并更新预排版文本。

其中,行尾留白指目标行文本的行尾处因为折行等原因而致使行尾留白区域过大的情况。

在一个实施例中,可以获取预先设置的第三留白阈值,在确定行尾有留白时,将行尾留白的留白区域值与第三留白阈值比较,若大于,则需要对该留白区域进行处理,该区域则为行尾留白。

在一个实施例中,在确定存在有行尾留白时,可以获取目标行文本的可压缩标点,对获取到的目标行文本的可压缩标点进行空间压缩,通过对目标行文本的可压缩标点的空间压缩从而使目标行文本的容纳空间增大,从而实现将目标行文本的下一行文本的字符推入至目标行文本。在一个实施例中,利用可压缩标点进行空间压缩时,可以对获取到的可压缩标点从行首到行尾的顺序进行空压缩,也可以从行尾到行首的顺序进行空间压缩,亦或者随机获取可压缩标点的形式,对此不做限定。

在一个实施例中,在每次执行完成对获取到的可压缩标点的空间压缩后,更新预排版文本,当目标行文本还存在行尾留白,继续执行针对目标行文本的其他可压缩标点的空间压缩,直至所有的可压缩标点完成空间压缩或者目标行文本不存在行尾留白。

本实施例中,当目标行文本存在行尾留白时,可以对目标行文本的可压缩标点进行空间压缩,使目标行文本的下一行文本的字符推入至目标行文本,使目标行文本不存在行尾留白的情况,解决文本行布局问题,提高阅读连贯性。

在其中一个实施例中,文本布局方法还包括对避尾标点进行处理的过程,包括以下步骤:

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,可推出字符应当满足如下条件:该字符推出至目标行文本的下一行文本后,不会导致下一行文本产生避头标点,并且目标行文本不会产生避尾标点。

在一个实施例中,在目标行文本存在有避尾标点的情况下,可以针对避尾标点进行空间压缩,并预排版文本。通过空间压缩方式压缩该避尾标点占用的空间,增加目标行文本的容纳空间,使目标行文本的下一行文本的字符可以推入至目标行文本中。

在其中一个实施例中,在目标行文本存在避尾标点的情况下,可以针对获取到的目标行文本的可压缩标点进行空间压缩,减少可压缩标点所占空间,从而增加了目标行文本的可容纳空间,从而使目标行文本的下一行文本的字符可以推入至目标行文本中。在一个实施例中,对于目标行文本的可压缩标点的空间压缩的内容,可以从行首到行尾的顺序获取可压缩标点进行空间压缩,也可以从行尾到行首的顺序获取可压缩标点进行空间压缩,或者随机获取可压缩标点的方式获取可压缩标点进行空间压缩。

在其中一个实施例中,在目标行文本存在有避尾标点的情况下,可以针对避尾标点和目标行文本的可压缩标点进行空间压缩,通过压缩避尾标点和目标行文本的可压缩标点实现将目标行文本中的标点所占空间的压缩,则增加了目标行文本能够容纳的空间,从而使目标行文本的下一行文本的字符可以推入至目标行文本中。在其中一个实施例中,可以先进行避尾标点的空间压缩,再进行目标行文本的可压缩标点的空间压缩,也可以先进行目标行文本的可压缩标点的空间压缩,再进行避尾标点的空间压缩,对此不做限定。

在其中一个实施例中,对于目标行文本的可压缩标点进行空间压缩可以为,通过从行首到行尾的顺序获取可压缩标点并进行空间压缩,也可以为从行尾到行首的顺序获取可压缩标点并进行空间压缩,亦或者可以为随机获取可压缩标点并执行空间压缩。

在其中一个实施例中,可以在处理每一行文本时,记录标点的压缩状态,通过标点的压缩状态即可确定上一行文本中的可压缩标点。例如,对已完成空间压缩处理的标点进行标记,而对于未经过空间压缩处理的标点即为可压缩标点,并记录,在需要时通过记录获取相关可压缩标点。

在其中一个实施例中,在避尾标点和目标行文本的可压缩标点均完成空间压缩,而目标行文本依旧存在避尾标点时,可以将目标行文本的可推出字符推出至目标行文本的下一行文本中,使目标行文本不存在避尾标点。

在一个实施例中,在执行将目标行文本的可推出字符推出至目标行文本的下一行文本时,可以按照从行尾到行首的顺序从目标行文本中查找可推出字符,例如,首先判断目标行文本的行尾字符(即最后一个字符)是否为可推出字符;若是,则将行尾字符推出至目标行文本;若否,则判断目标行文本的倒数第二个字符是否为可推出字符,以此类推,直至找到可推出字符,并将该可推出字符推出至下一行文本。

在其中一个实施例中,推出字符的方式可以为在该字符前插入换行符。

在其中一个实施例中,在将可推出字符推出时,若可推出字符为标点,则可以将可推出字符以空间压缩完成后的形式显示在目标行行首,从而减少因为标点导致的行首留白过大的情况。

本实施例中,若目标行文本存在避尾标点,则针对避尾标点处理,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,实现目标文本行具有可将目标行文本的下一行文本的字符推入的空间,当避尾标点和目标行文本中的可压缩标点完成空间压缩,而目标行文本依旧存在有避尾标点时,可以将目标行文本中的可推出的文字推出到目标行文本的下一行文本中,使目标行文本的行尾不存在避尾标点,解决文本行布局问题,提高阅读连贯性。

在一个实施例中,如图2所示,提供了一种文本布局方法,该方法包括对避尾标点进行处理的过程,以该方法应用于终端为例进行说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,文本布局方法包括以下步骤:

步骤302,获取预排版文本。

具体的实现步骤可以参见图2所对应的避头标点处理实施例部分,在此不在赘述。

步骤304,在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从所述预排版文本中遍历选取的;

步骤306,当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

具体的实现步骤,可以参见前述针对避尾标点的处理的过程,在此不再赘述。

本实施例中,若目标行文本存在避尾标点,则针对避尾标点处理,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,实现目标文本行具有可推入目标行文本下一行文本的字符的空间,当避尾标点和目标行文本中的可压缩标点完成空间压缩,而目标行文本依旧存在有避尾标点时,将目标行文本中可推出的文字推出到目标行文本的下一行文本中,使目标行文本的行尾不存在避尾标点,以此解决各文本行文本布局问题,提高阅读连贯性。

在其中一个实施例中,更新预排版文本后,在对目标行文本进行处理时,均执行对避头标点进行处理、对行首留白标点进行处理、对相邻标点进行处理、对行尾留白进行处理和对避尾标点进行处理的顺序。

在其中一个实施例中,在针对目标行文本的上一行文本处理时,执行对避头标点进行处理、对行首留白标点进行处理、对相邻标点进行处理、对行尾留白进行处理和对避尾标点进行处理的顺序。

在其中一个实施例中,在对所有目标行文本均完成对避头标点进行处理、对行首留白标点进行处理、对相邻标点进行处理、对行尾留白进行处理以及对避尾标点进行处理后,文本布局处理方法还包括:以行为单位将所述预排版文本平分间距。

其中,平分间距是指,对于任意一行,使该行字符之间的字间距相同。本实施例中,通过平分间距的方式,使文本左右两侧版面整齐,可以提高文本的可阅读性。

在其中一个实施例中,可以获取终端APP的显示宽度,并获取目标行文本的字符数,以获取到的显示宽度和字符数为基础,使字符之间的间距相同。然后在经过渲染后,实现在所有的行内均以平分显示的方式显示在终端,使文本左右两侧版面整齐,提高可阅读性。

在一个实施例中,如图3所示,提供了一种文本布局处理方法,以该方法应用于终端为例进行说明,包括以下步骤:

步骤410:对目标行文本的避头标点进行处理;在目标行文本的避头标点完成处理的情况下,执行步骤420;在避头标点被推入至上一行文本时,跳转至步骤450,执行针对上一行文本的避尾处理;

步骤420:对目标行文本的行首留白标点进行处理;在目标行文本的行首留白标点完成处理的情况下,执行步骤430:在行首留白标点被推入至上一行文本时,跳转至步骤450,执行上一行文本的避尾处理;

步骤430:对目标行文本的相邻标点进行处理;在目标行文本的相邻标点完成处理的情况下,执行步骤440;

步骤440:对目标行文本的行尾留白进行处理;在目标行文本的行尾留白完成处理的情况下,执行步骤450;

步骤450:对目标行文本的避尾标点进行处理;在目标行文本的避尾标点完成处理的情况下,跳转至步骤410,执行针对目标行文本的下一行文本的避头处理。

上述实施例中,可以对目标行文本先进行避头标点处理,在避头标点处理完成的情况下,进行行首留白标点的处理,在行首留白标点处理完成的情况下,进行相邻标点处理,例如图4传统布局首行中存在的“》:”,对此相邻标点执行空间压缩,可以得到改善后布局首行中结构紧凑的标点排布形式;在相邻标点处理完成的情况下,进行行尾留白处理,例如图4传统布局中第五行行尾存在的留白,通过对第五行中可压缩标点的压缩,例如针对第五行中可压缩标点“。”的空间压缩,使第五行能够具有更大的容纳空间,使第六行的字符推入至第五行中,从而去掉第五行中的行尾留白,形成如图4中改善后布局中的第五行的显示形式;在行尾留白处理完成的情况下,进行避尾标点处理,再进一步针对下一行文本进行处理,按顺序处理,可以降低文本遍历次数,减少处理时间,提高处理效率。且本实施例中,在针对所有文本行执行完针对避头处理、行首留白处理、相邻标点处理、行尾留白处理、避尾标点处理处理,例如针对图4中传统布局的每一行文本行进行避头处理、行首留白处理、相邻标点处理、行尾留白处理、避尾标点处理,可以使文本相邻标点留白减少、行尾留白减少,整个文本排版紧凑,文本左右版面齐整。且,针对避头处理、行首留白处理、相邻标点处理、行尾留白处理、避尾标点处理可以形成独立的处理模块,根据需要拆卸或嵌入,具有良好的扩展性。

在一个实施例中,如图5所示,提供了一种文本布局处理方法,以该方法应用于终端为例进行说明,包括以下步骤:

步骤501,获取预排版文本;

步骤502,通过遍历预排版文本的方式选取目标行文本;

步骤503,检测目标行文本是否存在避头标点,若是,则执行步骤504,若否,则执行步骤510;

步骤504,在检测到目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;

步骤505,判断在避头标点和上一行文本中的可压缩标点均完成空间压缩后,目标行文本的避头标点是否被推入至上一行文本,若否,则执行步骤506,若是,则执行步骤507;

步骤506,目标行文本的避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本;执行步骤510;

步骤507,检测目标行文本的上一行文本是否存在避尾标点,若是,执行步骤508,若否,则执行步骤510;

步骤508,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;

步骤509,当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本;

步骤510,检测目标行文本是否存在行首留白标点,若是,则执行步骤511,若否,则执行步骤515;

步骤511,对行首留白标点进行空间压缩,并更新预排版文本;

步骤512,检测目标行文本的上一行文本是否存在避尾标点,若是,则执行步骤513,若否则执行步骤515;

步骤513,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;

步骤514,当目标行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将避尾标点推出至目标行文本,并更新预排版文本;

步骤515,检测目标行文本的行内是否存在相邻标点,若是,执行步骤516,若否,执行步骤517;

步骤516,对相邻标点进行空间压缩,并更新预排版文本;

步骤517,判断目标行文本是否存在行尾留白,若是,则执行步骤518,若否,则执行步骤519;

步骤518,对目标行文本的可压缩标点进行空间压缩,并更新预排版文本;

步骤519,检测目标行文本是否存在避尾标点,若是,则执行步骤520,若否,则跳转至步骤522;

步骤520,在检测到目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行的下一行文本的字符在预排版文本更新后推入至目标行;

步骤521,当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本;

步骤522,循环执行步骤502-521,直至完成对预排版文本的遍历以及处理,执行步骤523;

步骤523,获取终端显示APP的宽度,以行为单位将预排版文本平分间距,并经渲染后将处理完成的文本显示在终端。

上述实施例中,可以对目标行文本先进行避头标点处理,然后进一步针对因为避头处理而引起的上一行文本的避尾标点的处理,再进行行首留白标点的处理,以及因为行首留白标点处理而引起的上一行文本的避尾标点的处理,再进一步进行相邻标点处理,随后再进行行尾留白处理,最后执行针对目标行文本的避尾标点处理,再进一步针对下一行文本进行处理,按顺序处理,可以降低文本遍历次数,减少处理时间,提高处理效率。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文本布局处理方法的文本布局装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文本布局装置实施例中的具体限定可以参见上文中对于文本处理方法的限定,在此不再赘述。

在一个实施例中,如图6所示,提供了一种文本布局装置610,包括:第一获取模块612、第一压缩模块614和第一推出模块616,其中:

第一获取模块612用于获取预排版文本;第一压缩模块614用于在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本;目标行文本是从预排版文本中遍历选取的;第一推出模块616用于当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文。

在一个实施例中,第一压缩模块614还用于在避头标点被推入至上一行文本的情况下,在上一行文本存在避尾标点的情况下,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;第一推出模块616还用于当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在一个实施例中,第一压缩模块614还用于在目标行文本无避头标点但存在行首标点的情况下,对行首留白标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,第一压缩模块614还用于在目标行文本的上一行文本存在避尾标点的情况下,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;第一推出模块616还用于当目标行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将避尾标点推出至目标行文本,并更新预排版文本。

在一个实施例中,第一压缩模块614还用于在更新后的预排版文本中的目标行文本的行内存在相邻标点的情况下,对相邻标点进行空间压缩,并更新预排版文本。

在一个实施例中,第一压缩模块616,用于在更新后的预排版文本中的目标行文本的行尾存在行尾留白的情况下,对目标行文本的可压缩标点符号进行空间压缩,并更新预排版文本。

在一个实施例中,第一压缩模块614还用于在预排版文本中目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点符号进行空间压缩,并更新预排版文本,使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;第一推出模块616还用于当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,更新预排版文本。

在其中一个实施例中,如图7所示,提供了一种文本布局装置620,包括:第二获取模块622、第二压缩模块624和第二推出模块626;

第二获取模块622,用于获取预排版文本;第二压缩模块624,用于在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;第二推出模块626,用于当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

上述文本布局装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文本布局方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本,目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤在避头标点被推入至上一行文本的情况下,在上一行文本存在避尾标点的情况下,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤:在目标行文本无避头标点但存在行首留白标点的情况下,对行首留白标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤:在对行首留白标点进行空间压缩之后,在目标行文本的上一行文本存在避尾标点的情况下,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将避尾标点推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤:在目标行文本的行内存在相邻标点的情况下,对相邻标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤:在目标行文本的行尾存在行尾留白的情况下,对目标行文本的可压缩标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该处理器执行计算机程序时还实现以下步骤:在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行的下一行文本的字符在预排版文本更新后推入至目标行;当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本,目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在避头标点已被推入至上一行文本的情况下,在上一行文本存在避尾标点的情况下,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标行文本无避头标点但存在行首留白标点的情况下,对行首留白标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在对行首留白标点进行空间压缩之后,在目标行文本的上一行文本存在避尾标点的情况下,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将避尾标点推出至目标行文本,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标行文本的行内存在相邻标点的情况下,对相邻标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标行文本的行尾存在行尾留白的情况下,对目标行文本的可压缩标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行的下一行文本的字符在预排版文本更新后推入至目标行;当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本中的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避头标点的情况下,对避头标点和/或目标行文本的上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使避头标点在预排版文本更新后推入至上一行文本,目标行文本是从预排版文本中遍历选取的;

当避头标点和上一行文本中的可压缩标点均完成空间压缩,若避头标点仍未被推入至上一行文本,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在避头标点被推入至上一行文本的情况下,在上一行文本存在避尾标点的情况下,对避尾标点和/或上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当避尾标点和上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在目标行文本无避头标点但存在行首留白标点的情况下,对行首留白标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在对行首留白标点进行空间压缩之后,在目标行文本的上一行文本存在避尾标点的情况下,对上一行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的字符在预排版文本更新后推入至上一行文本;当上一行文本的可压缩标点均完成空间压缩,若上一行文本仍存在避尾标点,则将上一行文本中的可推出字符推出至目标行文本,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在目标行文本的行内存在相邻标点的情况下,对相邻标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在目标行文本的行尾存在行尾留白的情况下,对目标行文本的可压缩标点进行空间压缩,并更新预排版文本。

在其中一个实施例中,该计算机程序被处理器执行时实现以下步骤:在目标行文本存在避尾标点的情况下,并更新预排版文本,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,以使目标行的下一行文本的字符在预排版文本更新后推入至目标行;当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取预排版文本;

在目标行文本存在避尾标点的情况下,对避尾标点和/或目标行文本中的可压缩标点进行空间压缩,并更新预排版文本,以使目标行文本的下一行文本的字符在预排版文本更新后推入至目标行文本;目标行文本是从预排版文本中遍历选取的;

当避尾标点和目标行文本的可压缩标点均完成空间压缩,若目标行文本仍存在避尾标点,则将目标行文本中的可推出字符推出至下一行文本,并更新预排版文本。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 文本处理方法、装置、计算机可读存储介质和计算机设备
  • 文本处理方法、装置、设备、计算机设备和存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 文本渲染和布局方法、装置、设备和存储介质
  • 文本渲染和布局方法、装置、设备和存储介质
技术分类

06120115921055