文本处理方法及移动终端的制作方法

文档序号:6502382阅读:75来源:国知局
文本处理方法及移动终端的制作方法
【专利摘要】本发明涉及一种文本处理方法及移动终端,其方法包括:检测移动终端的文本段落是否存在换行临界态;若移动终端的文本段落存在换行临界态,则在移动终端的文本段落中应用预设属性;否则,不应用所述预设属性。本发明避免了文本段落的最后一个符号独自占据一行的情况,节省了移动终端的移动版本资源,并提高了移动终端的视觉效果。
【专利说明】文本处理方法及移动终端

【技术领域】
[0001]本发明涉及移动互联网【技术领域】,尤其涉及一种文本处理方法及移动终端。

【背景技术】
[0002]目前在移动互联网中,对于各大社交网站(如Qzone, facebook、twitter、google+等)移动版本,由于受手机屏幕的大小限制,社交网站移动版本中的文字排版往往是以呈现Feeds (社交网站中的好友动态、最新消息等)为主,通常是使用几条最新的feeds列表作为首页。
[0003]以facebook 的移动版本(m.facebook.com)为例,在登录进 m.facebook.com 后,呈现首页如图1-1所示。以图中方框内的文本为例,该文本作为一个段落放在一个DIV元素中,由DIV元素所限定的显示区域进行显示。DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成该块,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。
[0004]对于DIV等块级元素,正常文字(亚洲文字和非亚洲文字)的换行元素拥有默认的white-space:normal (泛空格符默认处理方式:文本自动处理换行),即当超过定义的宽度之后自动换行,并且不会截断字符。其中,“不会截断字符”指的是不会把一个英文单词显示在两行中。另外,这种换行方式不会在某一行的首部出现标点符号,标点符号会跟它前面的一个文字组成一个整体,表现出英文单词的特性。也就是图1-ι中方框内的最后两个字符“哈”和“! ”不会出现在两行,要么都在第二行,要么都在第三行,不会出现只有“! ”在第三行的情况。
[0005]目前,各大社交网站均采用上述方案实现移动版本中的文字排版。
[0006]但是上述方案在以下两种情况下有可能出现换行临界态(即一段文字由于放不下最后的一个标点符号而导致换行,最后一行由该标点符号占据的情况):
[0007](I)在某些特殊符号作为文本的结尾时,会违反普通的换行特性,出现一个符号占据一行的情况,比如波浪号“、,如图1-2所示,图1-2中触屏版Qzone首页中,方框内的波浪号“?”单独占据一行。
[0008](2)为了防止连续字符因DIV元素所限定的显示区域有限而溢出DIV元素所限定的区域,有时会对文本兀素设置word-wrap:break_word (依照亚洲语言和非亚洲语言的文本规则,允许在字内换行,且允许非亚洲语言文本行的任意字内断开)或者word-break:break-all (内容将在边界内换行,如果需要,也允许词内换行),当这样设置以后,也会出现一个符号占据一行的情况,如图1-3所示,图1-3中触屏版Qzone首页中,方框内的省略号其中一点单独占据一行。
[0009]然而,移动终端的显示界面是非常有限的,产生换行临界态不仅影响视觉效果,还会造成单条FEEDs (简易信息聚合内容)在呈现的时候占用过多的显示区域,影响其他有价值的信息向用户的呈现,这样导致了对于移动终端显示区域资源的浪费。


【发明内容】

[0010]本发明的主要目的在于提供一种文本处理方法及移动终端,旨在避免文本出现换行临界态,节省移动终端的显示界面资源。
[0011]为了达到上述目的,本发明提出一种文本处理方法,包括:
[0012]获取移动终端输入的文本段落;
[0013]检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态;
[0014]若所述文本段落存在换行临界态,则在所述文本段落中应用预设属性,使所述换行临界态消失。
[0015]本发明还提出一种移动终端,包括:
[0016]获取模块,用于获取移动终端输入的文本段落;
[0017]检测模块,用于检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态;
[0018]处理模块,用于当所述文本段落存在换行临界态时,在所述文本段落中应用预设属性,使所述换行临界态消失。
[0019]本发明提出的一种文本处理方法及移动终端,通过获取移动终端输入的文本段落,检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态;若文本段落存在换行临界态,则在该文本段落中应用预设属性,使换行临界态消失,由此,避免了文本段落的最后一个符号独自占据一行的情况,节省了移动终端的显示界面资源,同时避免了现有移动终端对于信息展现的局限性。

【专利附图】

【附图说明】
[0020]图1-1是现有技术中facebook的移动版本的首页示意图;
[0021]图1-2是现有技术中触屏版Qzone首页的一种示意图;
[0022]图1-3是现有技术中触屏版Qzone首页出现换行临界态的一种示意图;
[0023]图2是本发明文本处理方法第一实施例的流程示意图;
[0024]图3是本发明文本处理方法第二实施例的流程示意图;
[0025]图4-1是一种不存在换行临界态的普通文本段落应用本发明实施例方案前的示意图;
[0026]图4-2是图4-1所示的不存在换行临界态的普通文本段落应用本发明实施例方案后的不意图;
[0027]图4-3是一种存在换行临界态的普通文本段落应用本发明实施例方案前的示意图;
[0028]图4-4是一种存在换行临界态的普通文本段落应用本发明实施例方案后的示意图;
[0029]图5是本发明文本处理方法第三实施例的流程示意图;
[0030]图6是本发明文本处理方法第四实施例的流程示意图;
[0031]图7是本发明文本处理方法实施例中对移动终端当前输入的文本段落进行筛选,获取符合处理条件的文本段落的流程示意图;
[0032]图8是本发明移动终端第一实施例的结构示意图;
[0033]图9是本发明移动终端实施例中检测模块的一种结构示意图;
[0034]图10是本发明移动终端实施例中检测模块的另一种结构示意图;
[0035]图11是本发明移动终端第二实施例的结构示意图;
[0036]图12是本发明移动终端实施例中筛选模块的结构示意图。
[0037]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。

【具体实施方式】
[0038]本发明实施例解决方案主要是:通过获取移动终端输入的文本段落,在移动终端的文本段落中应用CSS属性的方式或者通过字符串截取的方式检测移动终端的文本段落是否存在换行临界态;若文本段落存在换行临界态,则在文本段落中应用CSS属性,使换行临界态消失,由此,避免文本段落的最后一个符号独自占据一行的情况,节省移动终端的显示界面资源,同时避免了现有移动终端对于信息展现的局限性。
[0039]如图2所不,本发明第一实施例提出一种文本处理方法,包括:
[0040]步骤S90,获取移动终端输入的文本段落;
[0041]步骤S101,检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态;若所述文本段落存在换行临界态,则进入步骤S102 ;若所述文本段落不存在换行临界态,则进入步骤S103。
[0042]本发明实施例主要涉及移动终端中社交网站的移动版本中的文字排版及换行方式,解决文本段落尤其是中文文本段落的最后一个符号独自占据一行的情况。
[0043]其中,文本段落放在一个DIV元素中,并显示在移动终端显示界面中一个DIV元素所限定的显示区域(即本实施例所称设定显示区域)。通常情况下,当DIV元素中的文本超过DIV元素定义的宽度之后会自动换行,并且不会截断字符。如前所述,在某些特殊符号作为文本的结尾时,会违反普通的换行特性,出现一个符号占据一行的情况,比如波浪号“,如图1-2所不;此外,对于文本兀素设置word-wrap:break_word或者word-break:break_all时,也会出现一个符号占据一行的情况,如图1-3所示。
[0044]因此,需要对移动终端中文本段落是否存在换行临界态进行检测。其中,移动终端可以是手机、平板电脑等移动设备。
[0045]上述换行临界态是指一段文字由于放不下最后的一个标点符号而导致换行,最后一行由该标点符号占据的情况。
[0046]作为一种实施方式,对于移动终端的文本段落是否存在换行临界态的检测方法可以采用以下思路:
[0047]由于无论从HTML、CSS,还是Javascript的原生API中,都无法获取一段文本最后一行文字的长度和个数,本实施例一种方式是采用假设法来检测文本段落是否存在换行临界态,如果当前某一段文字出现了换行临界态,又假设有一种A方法,使得该换行临界态消失。那么使用A方法的前后,这段文本的一个属性——高度发生了变化。因此,本实施例得出了检测换行临界态的方法为:对文本段落应用A方法,如果文本的高度发生了变化,则说明该文本段落存在换行临界态;否则,该文本段落不存在换行临界态。
[0048]同时,为解决文本段落的最后一个符号独自占据一行的情况,应用A方法后,使得动文本段落换行临界态消失。
[0049]考虑到文本的宽度是固定的,而又需要将文本段落最后的那个符号放到上一行,所以可以通过压缩文本的字间距来实现。本实施例在这里采用将CSS属性应用到文本段落中来检测文本段落是否存在换行临界态。
[0050]CSS (Cascading Style Sheets,层叠样式表单)是一种用来表现HTML或XML等文件样式并允许将样式信息与网页内容分离的一种标记性语言。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制HTML或XML中各标志的显示属性,扩充精确指定网页元素位置、外观以及创建特殊效果的能力。
[0051]以CSS中的letter-spacing属性为例,Letter-spacing定义在文本字符框之间插入多少空间。由于字符字形通常比其字符框要窄,指定长度值时,会调整字母之间通常的间隔。其默认值通常为O。
[0052]通过设置letter-spacing的属性值为一个特定的负值,可以使得文本段落的文字之间更加紧凑,由此可以腾出空间来容纳更多的内容,消除文本段落的换行临界态,比如可以设置letter-spacing的属性值为-1px (像素),这是最小值,这样不会使得文字之间过于紧凑而影响阅读。另外,由于letter-spacing的属性值为-1px所腾出的空间很小,仅仅能容纳一个标点符号,这一点也正满足了本实施例上述A方法的要求,对文本段落应用letter-spacing:_lpx,如果文本段落的高度发生了变化,说明存在换行临界态;否则,该文本段落不存在换行临界态,从而通过文本段落属性是否发生变化来判断是否存在换行临界态。
[0053]作为另一种实施方式,还可以通过字符串截取的方式来检测文本段落是否存在换行临界态,例如s=str.substr (O, str.length-1), str为原字符串,s为去掉文本段落最后一个字符后的新字符串,检测字符串str和s的高度是否一致,如果前后有变化则说明该文本段落存在换行临界态,否则说明该文本段落不存在换行临界态。
[0054]步骤S102,在所述文本段落中应用预设属性,使所述换行临界态消失;
[0055]步骤S103,在所述文本段落中不应用所述预设属性。
[0056]当检测到文本段落存在换行临界态,则通过对该文本段落应用预设属性来使文本段落的换行临界态消失,否则,如果没有检测到文本段落存在换行临界态,则无需对该文本段落应用预设属性。
[0057]上述预设属性可以是CSS属性,比如设置所述文本段落的letter-spacing属性值或Word-spacing属性值为一设定的负值,比如为-1px (像素),可以使得文本段落的文字之间更加紧凑,由此可以腾出空间来容纳更多的内容,消除文本段落的换行临界态。
[0058]对于上述通过CSS属性来检测文本段落是否存在换行临界态的实施方式中,若检测到文本段落存在换行临界态,则保留对该文本段落应用的CSS属性,来使该文本段落的换行临界态消失;否则,若检测到文本段落不存在换行临界态,则去掉对该文本段落应用的CSS属性。
[0059]本实施例通过上述方案,通过检测移动终端的文本段落是否存在换行临界态;若移动终端的文本段落存在换行临界态,则在所述移动终端的文本段落中应用预设属性,使所述换行临界态消失,由此,避免了文本段落的最后一个符号独自占据一行的情况,节省了移动终端的显示界面资源,同时避免了现有移动终端对于信息展现的局限性。
[0060]如图3所示,本发明第二实施例提出一种文本处理方法,包括:
[0061]步骤S90,获取移动终端输入的文本段落;
[0062]步骤S1011,为所述移动终端的文本段落设置CSS属性;
[0063]相比上述第一实施例,本实施例直接通过为文本段落设置CSS属性来检测该文本段落是否存在换行临界态。
[0064]考虑到文本的宽度是固定的,而又需要将文本段落最后的那个符号放到上一行,因此可以通过压缩文本的字间距来解决文本段落的最后一个符号独自占据一行的情况。
[0065]本实施例在这里采用将CSS属性应用到文本段落中来检测文本段落是否存在换行临界态。
[0066]步骤S1012,检测设置CSS属性后的所述文本段落的高度是否发生变化;若是,则进入步骤S1013 ;否则,进入步骤S1014 ;
[0067]步骤S1013,判定所述文本段落存在换行临界态;进入步骤S1021 ;
[0068]步骤S1014,判定所述文本段落不存在换行临界态,进入步骤S1022。
[0069]以CSS中的letter-spacing属性为例,通过设置letter-spacing的属性值为一个特定的负值,可以使得文本段落的文字之间更加紧凑,由此可以腾出空间来容纳更多的内容,消除文本段落的换行临界态,比如可以设置letter-spacing的属性值为-1px(像素),这是最小值,这样不会使得文字之间过于紧凑而影响阅读。另外,由于letter-spacing的属性值为-1px所腾出的空间很小,仅仅能容纳一个标点符号,由此可以解决文本段落的最后一个符号独自占据一行的情况,使得该文本段落换行临界态消失。
[0070]在检测时,对文本段落应用letter-spacing:_lpx,如果文本段落的高度发生了变化,说明该文本段落存在换行临界态;否则,该文本段落不存在换行临界态,从而通过文本段落属性是否发生变化来判断是否存在换行临界态。
[0071]如图4-1所示,图4-1为不存在换行临界态的普通文本段落,对这种文本段落应用letter-spacing:_lpx,不会产生高度变化,如图4-2所示。
[0072]如图4-3所示,图4-3为存在换行临界态的普通文本段落,对这种文本段落应用letter-spacing:_lpx,会产生高度变化,如图4-4所示,最后的波浪号被放到了上一行,而且整体文本也不会显得非常紧凑。
[0073]此外,在某些情况下,还可以采用CSS中的Word-spacing属性来代替上述实施方式中的letter-spacing属性,Word-spacing定义文本元素中字与字之间插入多少空白符。针对该属性,“字”定义为由空白符包围的一个字符串,如果指定为长度值,可以调整字之间的通常间隔;其默认值通常设置为O。
[0074]由于Word-spacing 是一个跟 letter-spacing 相似的 CSS 属性,它与letter-spacing不同的是,letter-spacing定义的是字符之间的间距,而Word-spacing定义的是字(单词)之间的间距。对于纯中文而言,由于汉字之间没有空格符,Word-spacing对中文不起作用。因此,在纯中文条件下,只能使用letter-spacing。
[0075]步骤S1021,在所述文本段落中保留所述CSS属性。
[0076]步骤S1022,去掉文本段落中的所述CSS属性。
[0077]若检测到文本段落存在换行临界态,则保留对该文本段落应用的CSS属性,来使该文本段落的换行临界态消失;否则,若检测到文本段落不存在换行临界态,则去掉对该文本段落应用的CSS属性。
[0078]本实施例通过上述方案,通过对移动终端的文本段落设置CSS属性来检测移动终端的文本段落是否存在换行临界态;若移动终端的文本段落存在换行临界态,则在所述移动终端的文本段落中保留CSS属性;否则,去掉所应用的CSS属性,由此,避免了文本段落的最后一个符号独自占据一行的情况,节省了移动终端的显示界面资源,同时避免了移动终端对于信息展现的局限性。
[0079]如图5所示,本发明第三实施例提出一种文本处理方法,包括:
[0080]步骤S90,获取移动终端输入的文本段落;
[0081]步骤S1015,对所述文本段落的最后一字符进行截取处理;
[0082]步骤S1016,检测进行字符截取处理后的所述文本段落的高度是否发生变化;若是,则进入步骤S1017 ;否则,进入步骤S1018 ;
[0083]步骤S1017,判定所述文本段落存在换行临界态;进入步骤S1023 ;
[0084]步骤S1018,判定所述文本段落不存在换行临界态,进入步骤S1024。
[0085]相比上述第一实施例,本实施例直接通过字符串截取的方式来检测文本段落是否存在换行临界态,例如,设定s=str.substr (O, str.length-1), str为对应文本段落的原字符串,s为去掉文本段落最后一个字符后的新字符串,检测字符串str和s的高度是否一致,如果前后有变化则说明该文本段落存在换行临界态,否则说明该文本段落不存在换行临界态。
[0086]步骤S1023,为所述文本段落设置CSS属性;
[0087]步骤S1024,不为所述文本段落设置CSS属性。
[0088]当检测到文本段落存在换行临界态,则通过对该文本段落应用预设属性来使文本段落的换行临界态消失,否则,如果没有检测到文本段落存在换行临界态,则无需对该文本段落应用预设属性。
[0089]上述预设属性可以是CSS属性,采用CSS属性是考虑到文本的宽度是固定的,而又需要将文本段落最后的那个符号放到上一行,以解决文本段落的最后一个符号独自占据一行的情况,所以可以通过压缩文本的字间距来实现。而采用将CSS属性应用到文本段落中可以使文本段落的换行临界态消失。
[0090]比如设置所述文本段落的letter-spacing属性值或Word-spacing属性值为一设定的负值,比如为-1px (像素),可以使得文本段落的文字之间更加紧凑,由此可以腾出空间来容纳更多的内容,消除文本段落的换行临界态。
[0091]本实施例通过上述方案,通过字符串截取的方式来检测移动终端的文本段落是否存在换行临界态;若移动终端的文本段落存在换行临界态,则在所述移动终端的文本段落中应用预设属性;否则,不应用所述预设属性,由此,避免了文本段落的最后一个符号独自占据一行的情况,节省了移动终端的显示界面资源,同时避免了移动终端对于信息展现的局限性。
[0092]如图6所示,本发明第四实施例提出一种文本处理方法,在上述第一实施例的基础上,在上述步骤SlOl之前还包括:
[0093]步骤S100,从所述移动终端当前输入的文本段落进行筛选,获取符合处理条件的文本段落,作为换行临界态检测文本段落。
[0094]相比上述第一实施例,本实施例在检测移动终端输入的文本段落是否存在换行临界态之前还需要对待检测的文本段落进行筛选。
[0095]本实施例考虑到并不是所有的文本段落都适合设置letter-spacing属性,因为当文字比较多,有M (M>3)行时,如果文本之间比较紧凑,则会在一定程度上影响阅读,因此本实施例只对存在换行临界态的预定N行比如两到三行的文本段落进行处理(即最后一个符号独自占据第二行或第三行的情况)。
[0096]下面以所有的P元素为例,给出javascript的核心代码片段,说明待检测的文本段落的筛选过程:
[0097]//定义一个获取元素实际高度的公用函数
[0098]

【权利要求】
1.一种文本处理方法,其特征在于,包括: 获取移动终端输入的文本段落; 检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态; 若所述文本段落存在换行临界态,则在所述文本段落中应用预设属性,使所述换行临界态消失。
2.根据权利要求1所述的方法,其特征在于,所述检测将文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态的步骤包括: 为所述文本段落设置CSS属性; 检测设置CSS属性后的所述文本段落的高度是否发生变化;若是,则判定所述文本段落存在换行临界态;否则,判定所述文本段落不存在换行临界态。
3.根据权利要求2所述的方法,其特征在于,所述若文本段落存在换行临界态,则在所述文本段落中应用预设属性,使所述换行临界态消失的步骤包括: 若所述文本段落存在换行临界态,则在所述文本段落中保留所述CSS属性;否则,去掉所述CSS属性。
4.根据权利要求1所述的方法,其特征在于,所述检测将文本段落在设定显示区域内进行显示时,所述文本文本段落是否存在换行临界态的步骤包括: 对所述文本段落的最后一字符进行截取处理; 检测进行字符截取处理后的所述文本段落的高度是否发生变化;若是,则判定所述文本段落存在换行临界态;否则,判定所述文本段落不存在换行临界态。
5.根据权利要求4所述的方法,其特征在于,所述若移动终端的文本段落存在换行临界态,则在所述文本段落中应用预设属性的步骤包括: 若所述移动终端的文本段落存在换行临界态,则为所述文本段落设置CSS属性。
6.根据权利要求2或5所述的方法,其特征在于,所述为文本段落设置CSS属性的步骤包括: 设置所述文本段落的letter-spacing属性值或Word-spacing属性值为一设定的负值。
7.根据权利要求1所述的方法,其特征在于,所述获取移动终端输入的文本段落的步骤之后还包括: 对所述移动终端当前输入的所述文本段落进行筛选,获取符合处理条件的文本段落,作为换行临界态检测文本段落。
8.根据权利要求7所述的方法,其特征在于,所述对移动终端当前输入的文本段落进行筛选,获取符合处理条件的文本段落的步骤包括: 获取所述移动终端当前输入的文本段落中所有文本元素标签; 遍历所有文本元素标签,调用预先定义的获取元素实际高度的公用函数获取各文本段落的实际高度; 从中筛选出高度小于N行行高的文本段落,N为大于I的整数。
9.一种移动终端,其特征在于,包括: 获取模块,用于获取移动终端输入的文本段落; 检测模块,用于检测将所述文本段落在设定显示区域内进行显示时,所述文本段落是否存在换行临界态; 处理模块,用于当所述文本段落存在换行临界态时,在所述文本段落中应用预设属性,使所述换行临界态消失。
10.根据权利要求9所述的移动终端,其特征在于,所述检测模块包括: 设置单元,用于为所述文本段落设置CSS属性; 第一检测判定单元,用于检测设置CSS属性后的所述文本段落的高度是否发生变化;若是,则判定所述文本段落存在换行临界态;否则,判定所述文本段落不存在换行临界态。
11.根据权利要求10所述的移动终端,其特征在于,所述设置单元还用于设置所述文本段落的letter-spacing属性值或Word-spacing属性值为一设定的负值。
12.根据权利要求10所述的移动终端,其特征在于,所述处理模块还用于当所述文本段落存在换行临界态时,在所述文本段落中保留所述CSS属性;否则,去掉所述CSS属性。
13.根据权利要求9所述的移动终端,其特征在于,所述检测模块包括: 截取单元,用于对所述文本段落的最后一字符进行截取处理; 第二检测判定单元,用于检测进行字符截取处理后的所述文本段落的高度是否发生变化;若是,则判定所述文本段落存在换行临界态;否则,判定所述文本段落不存在换行临界态。
14.根据权利要求13所述的移动终端,其特征在于,所述处理模块还用于当所述移文本段落存在换行临界态时,为所述文本段落设置CSS属性;否则,不为所述文本段落设置CSS属性。
15.根据权利要求14所述的移动终端,其特征在于,所述处理模块还用于设置所述文本段落的letter-spacing属性值或Word-spacing属性值为一设定的负值。
16.根据权利要求9-15中任一项所述的移动终端,其特征在于,还包括: 筛选模块,用于对所述移动终端当前输入的所述文本段落进行筛选,获取符合处理条件的文本段落,作为换行临界态检测文本段落。
17.根据权利要求16所述的移动终端,其特征在于,所述筛选模块包括: 元素标签获取单元,用于获取所述移动终端当前输入的文本段落中所有文本元素标签; 高度获取单元,用于遍历所有文本元素标签,调用预先定义的获取元素实际高度的公用函数获取各文本段落的实际高度; 筛选单元,用于从中筛选出高度小于N行行高的文本段落,N为大于I的整数。
【文档编号】G06F17/24GK104133811SQ201310159473
【公开日】2014年11月5日 申请日期:2013年5月2日 优先权日:2013年5月2日
【发明者】潘泰燊 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1