CN102194004A - 一种Android浏览器处理复杂文本的方法 - Google Patents

一种Android浏览器处理复杂文本的方法 Download PDF

Info

Publication number
CN102194004A
CN102194004A CN2011101394399A CN201110139439A CN102194004A CN 102194004 A CN102194004 A CN 102194004A CN 2011101394399 A CN2011101394399 A CN 2011101394399A CN 201110139439 A CN201110139439 A CN 201110139439A CN 102194004 A CN102194004 A CN 102194004A
Authority
CN
China
Prior art keywords
complex text
text
character
fragment
processing module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011101394399A
Other languages
English (en)
Inventor
周海发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN2011101394399A priority Critical patent/CN102194004A/zh
Publication of CN102194004A publication Critical patent/CN102194004A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

一种Android浏览器处理复杂文本的方法,包括:分片处理模块依据Unicode标准化组织定义的双向算法将字符串分成多个条目,要求每个条目中的字符具有同样的语言和方向属性,再将每个条目标记成片段;整形处理模块根据输入片段的分析,调用不同的文字处理器;方向处理模块负责将整形后的字型序列按文字的双向属性、字距进行调整及排序将处理后的复杂文本序列交由Skia图形引擎的文本函数接口执行输出,从而完成复杂文本的正确渲染。本发明经过复杂文本的整形处理及字符重排序,使得浏览器能够正确渲染包含混合方向的网页内容,满足了用户从左到右或从右到左的阅读习惯。

Description

一种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整形布局引擎来完成复杂文本的整形处理,使用分片及方向处理模块来完成双向性的支持,即使在绘制大量双向文本的情况下,也不会影响效率,且能够精确的显示和布局网页内容。

Claims (2)

1.一种Android浏览器处理复杂文本的方法,其特征在于:包括如下步骤:
步骤一:分片处理模块依据Unicode标准化组织定义的双向算法将字符串分成多个条目,要求每个条目中的字符具有同样的语言和方向属性,再将每个条目标记成片段,每个片段中的字符具有同样的风格、字体、尺寸,以便整形引擎处理;
步骤二:整形处理模块根据输入片段的分析,调用不同的文字处理器,这些文字处理器封装了各个语言文字特征的处理规则;
步骤三:方向处理模块负责将整形后的字型序列按文字的双向属性、字距进行调整及排序;
步骤四:将处理后的复杂文本序列交由Skia图形引擎的文本函数接口执行输出,从而完成复杂文本的正确渲染。
2.如权利要求1所述的一种Android浏览器处理复杂文本的方法,其特征在于:所述文字处理器包括阿拉伯文处理器、希伯来文处理器、印度文处理器、泰文处理器。
CN2011101394399A 2011-05-25 2011-05-25 一种Android浏览器处理复杂文本的方法 Pending CN102194004A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101394399A CN102194004A (zh) 2011-05-25 2011-05-25 一种Android浏览器处理复杂文本的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101394399A CN102194004A (zh) 2011-05-25 2011-05-25 一种Android浏览器处理复杂文本的方法

Publications (1)

Publication Number Publication Date
CN102194004A true CN102194004A (zh) 2011-09-21

Family

ID=44602073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101394399A Pending CN102194004A (zh) 2011-05-25 2011-05-25 一种Android浏览器处理复杂文本的方法

Country Status (1)

Country Link
CN (1) CN102194004A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567013A (zh) * 2012-02-07 2012-07-11 江苏鸿信系统集成有限公司 Android手机标准组件装置
CN103577169A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 Input标签的range类型绘制方法及智能终端
CN104537004A (zh) * 2014-12-15 2015-04-22 小米科技有限责任公司 网页文字显示方法及装置
CN106210724A (zh) * 2016-07-21 2016-12-07 腾讯科技(深圳)有限公司 图片解码方法及装置
CN106997338A (zh) * 2017-03-26 2017-08-01 北京图文天地科技发展有限公司 一种兼容多国文字排版系统及其方法
CN110110078A (zh) * 2018-01-11 2019-08-09 北京搜狗科技发展有限公司 数据处理方法和装置、用于数据处理的装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303064A (zh) * 2000-01-05 2001-07-11 沈阳格微软件有限责任公司 智能多文种处理系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303064A (zh) * 2000-01-05 2001-07-11 沈阳格微软件有限责任公司 智能多文种处理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《中国博士论文全文数据库(信息科技辑)》 20050815 芮建武 操作系统国际化基础的研究与实践 第4.1-4.2节 1-2 , *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567013A (zh) * 2012-02-07 2012-07-11 江苏鸿信系统集成有限公司 Android手机标准组件装置
CN103577169A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 Input标签的range类型绘制方法及智能终端
CN104537004A (zh) * 2014-12-15 2015-04-22 小米科技有限责任公司 网页文字显示方法及装置
CN106210724A (zh) * 2016-07-21 2016-12-07 腾讯科技(深圳)有限公司 图片解码方法及装置
CN106210724B (zh) * 2016-07-21 2020-06-02 腾讯科技(深圳)有限公司 图片解码方法及装置
CN106997338A (zh) * 2017-03-26 2017-08-01 北京图文天地科技发展有限公司 一种兼容多国文字排版系统及其方法
CN110110078A (zh) * 2018-01-11 2019-08-09 北京搜狗科技发展有限公司 数据处理方法和装置、用于数据处理的装置
CN110110078B (zh) * 2018-01-11 2024-04-30 北京搜狗科技发展有限公司 数据处理方法和装置、用于数据处理的装置

Similar Documents

Publication Publication Date Title
Mittelbach et al. The LATEX companion
CN102194004A (zh) 一种Android浏览器处理复杂文本的方法
WO2012071630A1 (en) Text conversion and representation system
CN100498927C (zh) 二维图形引擎中的点阵字符的缩进方法与中文处理方法
JP2024075704A (ja) 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
Sinha A journey from Indian scripts processing to Indian language processing
CN107562480A (zh) 一种pos机多国语言的实现方法及其系统
CN103678288A (zh) 一种专名自动翻译的方法
McGrath HTML, CSS & JavaScript in easy steps
CN104331400B (zh) 一种蒙古文编码转换方法和装置
CN104794140B (zh) 一种文本高亮显示的方法和装置
Powers Beginning Css3
EP3317780A1 (en) Transformation of marked-up content to a reversible file format for automated browser based pagination
Hussain et al. Survey of language computing in Asia
Hossain Text Standards for the ‘Rest of World’: The Making of the Unicode Standard and the OpenType Format
CN103793368B (zh) 一种在自动化翻译处理中自动保护标记语言中标记的方法
CN104516866B (zh) 文字沿线排版的方法
Hampton-Smith Pro CSS3 Layout Techniques
Chandra Indian typefaces in digital platforms: issues and challenges
Hall Muak Sa-aak: Challenges of an extensive phoneme inventory for a contained Latin-based orthography
CN109284012A (zh) 一种古彝文语言输入控制系统及方法、信息数据处理终端
US11416671B2 (en) Device dependent rendering of PDF content
Saleh et al. Web development considerations for unicode-based text processing in Uyghur language
JPS62245366A (ja) 文書処理装置
Abramovich et al. Features of typography in translated japanese comics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110921