[发明专利]一种Android浏览器处理复杂文本的方法无效
| 申请号: | 201110139439.9 | 申请日: | 2011-05-25 |
| 公开(公告)号: | CN102194004A | 公开(公告)日: | 2011-09-21 |
| 发明(设计)人: | 周海发 | 申请(专利权)人: | 福州瑞芯微电子有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/25 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 翁素华 |
| 地址: | 350000 福建省*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 android 浏览器 处理 复杂 文本 方法 | ||
【技术领域】
本发明属于计算机软件领域,是Android平台上Web浏览器的一个扩展,以支持诸如阿拉伯文、希伯来等复杂文本的整形和显示处理,从而实现Web浏览器的多国语言支持功能。
【背景技术】
目前世界上的语言主要有LTR-TTB(从左向右,从上向下)、RTL-TTB(从右到左,从上向下)和TTB-RTL(从上向下,从右向左)三种书写体系。LTR-TTB方式的文本逻辑和可视顺序基本上是一致的,但RTL-TTB方式则不然,如图1所示。相对一般语言字符(如拉丁文,从左到右按线性方式布局)来说,这种允许双向渲染、具有上下文相关显形(即根据相邻字符而显现不同字型)、具有组合字符、具有特殊的断字和对齐规则等特征的文字被称为复杂文字,又把由复杂文字书写的文章段落称为复杂文本。
Android平台自带的Web浏览器仅仅支持LTR-TTB方式的书写体系,因此无法正确地处理属于RTL-TTB方式的书写体系文字,如阿拉伯文字(用于阿拉伯语、波斯语、普什图语和乌尔都语)和希伯来文字(用于希伯来语和意第绪语),更是无法完成双向文本(即RTL和LTR字符同时存在的情况)在浏览器中的正确布局和显示。
Android系统自带的Web浏览器并不支持复杂文本的整形与显示,即不能够进行双向性、字符重排序、上下文相关显形、文本对齐和断字断行等相关特征的语言处理,在浏览此类语言的网页时,如阿拉伯语、希伯来语、叙利亚语、泰文、越南语、印度语系,由于不正确的文本渲染,势必会影响用户阅读,给用户造成不便。
【发明内容】
本发明所要要解决的技术问题在于提供一种Android浏览器处理复杂文本的方法,对复杂文本进行处理以满足不同语言阅读习惯的需求。
本发明采用以下技术方案解决上述技术问题:
一种Android浏览器处理复杂文本的方法,包括如下步骤:
步骤一:分片处理模块依据Unicode标准化组织定义的双向算法将字符串分成多个条目,要求每个条目中的字符具有同样的语言和方向属性,再将每个条目标记成片段(run),每个片段中的字符具有同样的风格、字体、尺寸,以便整形引擎处理;
步骤二:整形处理模块根据输入片段(run)的分析,调用不同的文字处理器,如阿拉伯文处理器、希伯来文处理器、印度文处理器,这些文字处理器封装了各个语言文字特征的处理规则;
步骤三:方向处理模块负责将整形后的字型序列按文字的双向属性、字距进行调整及排序;
步骤四:将处理后的复杂文本序列交由Skia图形引擎的文本函数接口执行输出,从而完成复杂文本的正确渲染。
本发明的优点在于:经过复杂文本的整形处理及字符重排序,使得浏览器能够正确渲染包含混合方向的网页内容,满足了用户从左到右或从右到左的阅读习惯。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是英语和阿拉伯文混合的双向文本示意图。
图2是Android系统中Web浏览器的基本工作流程图。
图3是本发明复杂文本处理流程图。
【具体实施方式】
Android系统中Web浏览器的基本工作流程如图2所示,为使浏览器支持复杂文本的布局和渲染,必须修改浏览器的布局/渲染处理模块。
对于复杂文本语言,输入的Unicode字符串必须经过布局整形引擎处理,才能得到正确的显现字型序列及字型之间正确的位置数据。图3为本发明复杂文本处理流程图。按照先后顺序可分为3大处理模块:分片处理模块、整形处理模块、方向处理模块。具体步骤如下:
步骤一:分片处理模块依据Unicode标准化组织定义的双向算法将字符串分成多个条目,要求每个条目中的字符具有同样的语言和方向属性,再将每个条目标记成片段(run),每个片段中的字符具有同样的风格、字体、尺寸,以便整形引擎处理;
步骤二:整形处理模块根据输入片段(run)的分析,调用不同的文字处理器,如阿拉伯文处理器、希伯来文处理器、印度文处理器,这些文字处理器封装了各个语言文字特征的处理规则;
步骤三:方向处理模块负责将整形后的字型序列按文字的双向属性、字距进行调整及排序;
步骤四:将处理后的复杂文本序列交由Skia图形引擎的文本函数接口执行输出,从而完成复杂文本的正确渲染。
本发明采用了支持OpenType字体的复杂排版特性的轻量级的HarfBuzz整形布局引擎来完成复杂文本的整形处理,使用分片及方向处理模块来完成双向性的支持,即使在绘制大量双向文本的情况下,也不会影响效率,且能够精确的显示和布局网页内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州瑞芯微电子有限公司,未经福州瑞芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110139439.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带轮子的花盆托盘
- 下一篇:一种能使消费者信任的广告方法





