[发明专利]字符修整方法和装置有效
申请号: | 201310603871.8 | 申请日: | 2013-11-25 |
公开(公告)号: | CN103605638A | 公开(公告)日: | 2014-02-26 |
发明(设计)人: | 崔维福 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F17/21 | 分类号: | G06F17/21 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;张永明 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字符 修整 方法 装置 | ||
技术领域
本发明涉及数据处理领域,具体而言,涉及一种字符修整方法和装置。
背景技术
一般情况下,应用程序在处理文本的时候,会按照英文单词来进行处理,例如,Silverlight平台的TextBlock控件在显示超长文本时采用的策略有以下两种:(1)不截取文本;(2)文本按照单词截取,在剩余的文本最后添加省略号。
发明人在研究过程中发现,在方式(2)中,在当前的布局宽度不足以完整显示某个长单词文本数据的情况下,整个长单词都将被隐藏掉。
例如:对于网址:http://www.gridsum.com/service/Analysis/Description/,将分别被识别为多个单词,例如:“http”、“/www.gridsum.com”,在上述方式(2)中将被按照一个单词的方式进行处理。
如果此时在页面中布局宽度只允许显示出21个字符的长度,由于“/www.gridsum.com”被识别为一个单词,导致真实显示出的文本为:“http://...”;然而,更容易让用户理解和接受的形式应该是:“http://www.gridsum.co...”。
针对相关技术中按照单词对超过布局宽度显示区域的文本进行截取所导致的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种字符修整方法和装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种字符修整方法,包括:在创建可绘制文本区域大小为SizeA的控件,并获取分配给所述控件的显示区域大小SizeS之后,至少执行一次下列循环:通过所述控件对待字符修整文本进行绘制,并获取绘制的所述待字符修整文本的大小SizeB;在未满足结束循环的条件的情况下,判断SizeB是否等于SizeS,在判断结果为否的情况下,根据预定规则对所述待字符修整文本截掉或者恢复预定个数的字符,得到新的待字符修整文本;其中,所述结束循环的条件包括:在将未经字符修整的原始文本作为所述待字符修整文本且所述判断结果为SizeB小于或等于SizeS的情况下,结束所述循环,并确定所述原始文本为字符修整的结果,或者,在第一次以后的循环中判断结果为SizeB等于SizeS的情况下,结束所述循环,并确定上一次循环中得到的新的待字符修整文本为字符修整的结果。
优选地,在所述控件允许自动换行的情况下,SizeA为高度无限而长度固定的区域,其中,SizeS的长度和SizeB的长度相等。
优选地,在所述控件不允许自动换行的情况下,SizeA为高度固定而长度无限的区域,其中,SizeS的高度和SizeB的高度相等。
优选地,在判断到SizeB是否等于SizeS的结果为否的情况下,根据所述预定规则将所述待字符修整文本截掉或者恢复预定个数的字符,得到新的待字符修整文本包括:在判断到SizeB大于SizeS的情况下,根据所述预定规则将所述待字符修整文本截掉预定个数的字符,得到所述新的待字符修整文本;在判断到SizeB小于SizeS的情况下,根据所述预定规则将所述待字符修整文本恢复预定个数的字符,得到所述新的待字符修整文本。
优选地,所述预定规则包括以下之一:二分查找法、逐一字符截掉法。
优选地,在所述预定规则为二分查找法的情况下,所述结束循环的条件还包括:在第一次以后的循环中判断结果为SizeB小于SizeS,且当前循环中得到的新的待字符修整文本绘制后的大小与当前循环之前的一个循环中得到的新的待字符修整文本绘制后的大小相等的情况下,结束所述循环,并确定当前循环中得到的新的待字符修整文本为字符修整的结果。
优选地,在所述预定规则为所述二分查找法的情况下,根据所述二分查找法对所述待字符修整文本截掉或者恢复预定个数的字符,得到所述新的待字符修整文本包括:
在第1次循环的情况下,截掉所述待修整文本[LenB/2]个字符,得到第1个新的待修整文本,其中,LenB表示所述待字符修整文本的字符数,[]表示四舍五入取整或者向上取整;
在第N次循环的情况下,截掉所述第N-1个新的待修整文本[LenB/2N]个字符,或者,恢复所述第N-1个新的待修整文本[LenB/2N]个字符,得到第N个新的待修整文本,其中,N为大于1的整数。
优选地,在所述预定规则为所述二分查找法的情况下,根据所述二分查找法对所述待字符修整文本截掉或者恢复预定个数的字符,得到所述新的待字符修整文本包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310603871.8/2.html,转载请声明来源钻瓜专利网。