文本内容排版方法和终端技术

技术编号:8271403 阅读:262 留言:0更新日期:2013-01-31 03:37
本发明专利技术提供了两种文本内容排版方案,其中方案一中,预先估计终端屏幕上一行最多能够显示的字符数,并根据估计结果以及实际情况对各行实际能够显示的字符数进行调整;方案二中,针对待显示的字符串中的每个字符,在确定其宽度时,首先确定其类型,并根据类型的不同采用不同的宽度确定方式,包括图形设备接口(GDI)方式和非GDI方式。无论采用哪种方案,均可提高排版效率。

【技术实现步骤摘要】
本专利技术涉终端浏览器技术,特别涉及文本内容排版方法和相应的终端。
技术介绍
现有终端,如手机浏览器技术中,一个亟待解决的问题就是针对文本内容,如何在给定屏幕上进行合理的排版。该问题将直接影响到页面的渲染速度,尤其是在文字量很大,即存在大文本内容的情况下。现有技术中,通常采用以下排版方式 I)针对待显示的字符串,从其中的第一个字符开始,分别确定其宽度,并在确定的同时随之统计各字符的总宽度,即累计宽度,当出现第I N(N为大于I的正整数)个字符的总宽度小于或等于屏幕宽度,第I N+1个字符的总宽度大于屏幕宽度的情况时,将第I N个字符作为一行显示到终端屏幕上;2)之后,从第N+1个字符开始,重复上述过程,即确定各字符的宽度,并统计总宽度,当出现第N+1 N+M个字符(M为大于I的正整数)的总宽度小于或等于屏幕宽度,第N+1 N+M+1个字符的总宽度大于屏幕宽度时,将第N+1 N+M个字符作为一行显示到终端屏眷上;后续依次类推。举例说明假设待显示的字符串中共存在7个字符,分别为字符I、字符2、字符3、字符4、字符5、字符6和字符7 ;可分别得到各字符的宽度,并假设字符I、字符2和字符3的总宽度小于屏幕宽度,但字符I、字符2、字符3和字符4的总宽度大于屏幕宽度,那么字符I、字符2和字符3将作为一行进行显示,同样,假设字符4、字符5和字符6的总宽度小于屏幕宽度,但字符4、字符5、字符6和字符7的总宽度大于屏幕宽度,那么字符4、字符5和字符6将作为另一行进行显示;特殊地,对于剩下的字符7,其宽度可能远小于屏幕宽度,直接将其作为一行进行显示即可。上述方式虽然可以实现合理的排版,但也存在一定的问题现有技术中,通常采用图形设备接口(⑶I,Graphics Device Interface)来确定各字符的宽度,实现起来比较慢,尤其是字符很多时,从而降低了排版效率,进而降低了页面渲染速度。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供两种文本内容排版方法,能够提高排版效率。本专利技术的另一目的在于提供两种终端,能够提高排版效率。为达到上述目的,本专利技术的技术方案是这样实现的一种文本内容排版方法,包括A、估计终端屏幕上一行最多能够显示的字符数charcount ;B、利用图形设备接口⑶I确定待显示的字符串中的前charcount个字符的总宽度,并确定所述总宽度是否等于屏幕宽度,如果是,则将前charcount个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B;否则,对charcount的取值进行调整,得到charcount’,当出现前charcount’个字符的总宽度小于或等于所述屏幕宽度,前charcount’ +1个字符的总宽度大于所述屏幕宽度的情况时,将前charcount’个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B ;当待显示的字符串的总宽度小于所述屏幕宽度时,将待显示的字符串作为一行显示到终端屏幕上,结束流程。一种文本内容排版方法,包括针对待显示的字符串中的每个字符,分别确定其所属类型,所述类型包括汉字类型、美国信息互换标准代码ASCII类型以及其它类型;如果是汉字类型或ASCII类型,则利 用非图形设备接口 GDI方式确定其宽度,如果是其它类型,则利用GDI确定其宽度;按照确定出的各字符的宽度将所述字符串分行显示到终端屏幕上,每一行中的字符的总宽度均小于或等于屏幕宽度。一种终端,包括第一处理单元,用于估计终端屏幕上一行最多能够显示的字符数charcount ;第二处理单元,用于利用图形设备接口⑶I确定待显示的字符串中的前charcount个字符的总宽度,并确定所述总宽度是否等于屏幕宽度,如果是,则将前charcount个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行自身功能;否则,对charcount的取值进行调整,得到charcount’,当出现前charcount’个字符的总宽度小于或等于所述屏幕宽度,前charcount’ +1个字符的总宽度大于所述屏幕宽度的情况时,将前charcount’个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行自身功能;当待显示的字符串的总宽度小于所述屏幕宽度时,将待显示的字符串作为一行显示到终端屏幕上,结束处理。一种终端,包括第三处理单元,用于针对待显示的字符串中的每个字符,分别确定其所属类型,所述类型包括汉字类型、美国信息互换标准代码ASCII类型以及其它类型;如果是汉字类型或ASCII类型,则利用非图形设备接口 GDI方式确定其宽度,如果是其它类型,则利用GDI确定其宽度;第四处理单元,用于按照确定出的各字符的宽度将所述字符串分行显示到终端屏幕上,每一行中的字符的总宽度均小于或等于屏幕宽度。可以看出,本专利技术提供了两种文本内容排版方案,对于方案一,由于其无需针对每个字符均利用GDI来确定其宽度,而是针对多个字符一起进行确定,因此提高了排版效率;对于方案二,同样无需针对每个字符均利用GDI来确定其宽度,而是只针对特定类型的字符才利用GDI来确定其宽度,也提高了排版效率。附图说明图I为本专利技术文本内容排版方法第一实施例的流程图。图2为本专利技术文本内容排版方法第二实施例的流程图。图3为本专利技术终端第一实施例的组成结构示意图。图4为本专利技术终端第二实施例的组成结构示意图。具体实施例方式针对现有技术中存在的问题,本专利技术中提出了两种文本内容排版方案,其中方案一中,预先估计终端屏幕上一行最多能够显示的字符数,并根据估计结果以及实际情况对各行实际能够显示的字符数进行调整;方案二中,针对待显示的字符串中的每个字符,在确定其宽度时,首先确定其类型,并根据类型的不同采用不同的宽度确定方式,包括GDI方式和非GDI方式。无论采用哪种方案,均避免了针对每个字符均利用GDI来确定其宽度,从而提闻了排版效率。为使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述 方案作进一步地详细说明。图I为本专利技术文本内容排版方法第一实施例的流程图。如图I所示,包括以下步骤步骤11 :估计终端屏幕上一行最多能够显示的字符数charcount。在实际应用中,可用屏幕宽度除以一指定字符的宽度,如果计算结果为整数,则将计算结果作为所述charcount,否则,将计算结果向下取整后作为所述charcount。所述指定字符可以是待显示的字符串中的某一字符,如第一个字符,或者,也可以不是待显示的字符串中的某一字符,而是一个固定的字符,比如“中国”的“国”字。如果计算结果不是整数,比如为10. 2或10. 8,那么,本着实际显示的一行字符的总宽度不能大于屏幕宽度的原则,需要将计算结果向下取整(10);当然,如果计算结果恰好为整数,则无需向下取整。步骤12 :利用⑶I确定待显示的字符串中的前charcount个字符的总宽度,并确定所述总宽度是否等于屏幕宽度,如果是,则执行步骤13,否则,执行步骤14。假设charcount的取值为10,那么按照现有技术,可直接利用⑶I得到这10个字符的总宽度,无需分别确定10个字符的宽度,然后相加。步骤13 :将前charcou本文档来自技高网
...

【技术保护点】
一种文本内容排版方法,其特征在于,包括:A、估计终端屏幕上一行最多能够显示的字符数charcount;B、利用图形设备接口GDI确定待显示的字符串中的前charcount个字符的总宽度,并确定所述总宽度是否等于屏幕宽度,如果是,则将前charcount个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B;否则,对charcount的取值进行调整,得到charcount’,当出现前charcount’个字符的总宽度小于或等于所述屏幕宽度,前charcount’+1个字符的总宽度大于所述屏幕宽度的情况时,将前charcount’个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B;当待显示的字符串的总宽度小于所述屏幕宽度时,将待显示的字符串作为一行显示到终端屏幕上,结束流程。

【技术特征摘要】
1.一种文本内容排版方法,其特征在于,包括 A、估计终端屏幕上一行最多能够显示的字符数charcount; B、利用图形设备接口GDI确定待显示的字符串中的前charcount个字符的总宽度,并确定所述总宽度是否等于屏幕宽度,如果是,则将前charcount个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B; 否则,对charcount的取值进行调整,得到charcount’,当出现前charcount’个字符的总宽度小于或等于所述屏幕宽度,前charcount’ +1个字符的总宽度大于所述屏幕宽度的情况时,将前charcount’个字符作为一行显示到终端屏幕上,然后将剩余的未显示的字符串作为待显示的字符串,重复执行步骤B ; 当待显示的字符串的总宽度小于所述屏幕宽度时,将待显示的字符串作为一行显示到终端屏幕上,结束流程。2.根据权利要求I所述的方法,其特征在于,所述步骤A包括 用所述屏幕宽度除以一指定字符的宽度,如果计算结果为整数,则将计算结果作为所述charcount,否则,将计算结果向下取整后作为所述charcount。3.一种文本内容排版方法,其特征在于,包括 针对待显示的字符串中的每个字符,分别确定其所属类型,所述类型包括汉字类型、美国信息互换标准代码ASCII类型以及其它类型;如果是汉字类型或ASCII类型,则利用非图形设备接口 GDI方式确定其宽度,如果是其它类型,则利用GDI确定其宽度; 按照确定出的各字符的宽度将所述字符串分行显示到终端屏幕上,每一行中的字符的总宽度均小于或等于屏幕宽度。4.根据权利要求3所述的方法,其特征在于,所述利用非GDI方式确定其宽度包括 如果是汉字类型,则将该类型字符的固有宽度作为其宽度; 如果是ASCII类型,则通过查询预先设置的表格来确定其宽度,所述表格中保存有不同的ASCII类型字符各自对应的宽度。5.一种终端,其特征在于,包括 第一处理单元,用于估计终端屏幕上一行最多能够显示的...

【专利技术属性】
技术研发人员:黄小鹏陈磊何明
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1