在嵌入式网络话机上实现的双向文本混排显示方法及装置制造方法及图纸

技术编号:24207790 阅读:47 留言:0更新日期:2020-05-20 15:26
本发明专利技术公开了一种在嵌入式网络话机上实现的双向文本混排显示方法及装置,首先对原始字符串进行二次遍历得到方向码;随后根据生成的方向码,对原始字符串进行字符重排;最后按照重排字符串顺序写出字符。本发明专利技术采用简单方法和结构实现了常见的双向文本混排,无需原生系统支持,生成方向码仅需一个字符数长度的字节串,无需层级表。由于占用资源非常小,且算法简单,本发明专利技术适用范围广泛,尤其适用于硬件资源欠缺、系统先天缺陷的嵌入式设备。

Two way text mixed display method and device on embedded network telephone

【技术实现步骤摘要】
在嵌入式网络话机上实现的双向文本混排显示方法及装置
本专利技术属于通信
,涉及嵌入式网络话机相关技术,尤其涉及一种在嵌入式网络话机上实现的双向文本混排显示方法及装置。
技术介绍
双向文本指同一字符串中同时有由左往右排列的文字(如拉丁文,中文等绝大多数文字)和由右向左排列的文字(如阿拉伯文,希伯来文等)。一些嵌入式网络话机设备或因硬件资源有限,或因基于的显示系统不完备(如未原生支持),常常不能简单快速地处理双向文本的显示与编辑。公开的双向文本显示通用算法较为复杂,需要用到双向字符类型表、多层级的嵌入层级表、计数器等结构,并通过多个规则反复作用,占用内存和运算资源过多,而且有人为设定的最大层级数这种限制,而嵌入式设备其硬件资源有限,在应用现有通用算法时往往速度缓慢,存在卡顿现象。
技术实现思路
为解决上述问题,本专利技术公开了一种在嵌入式网络话机上实现的双向文本混排显示方法及装置,简单易用、占用资源少,满足一般嵌入式系统使用。为了达到上述目的,本专利技术提供如下技术方案:在嵌入式网络话机上实现的双向本文档来自技高网...

【技术保护点】
1.在嵌入式网络话机上实现的双向文本混排显示方法,其特征在于,包括如下步骤:/n步骤1,对原始字符串进行二次遍历得到方向码,方向码包含R、L两个方向,其中R表示由右到左,L表示由左到右;第一次遍历对所有字符进行方向初步判断,对于强方向类型的字符确定方向为R或L,对于其他字符暂定与基本方向相同;第二次遍历根据规则调整某些暂定方向的字符的方向;/n步骤2,根据生成的方向码,对原始字符串进行字符重排,凡是R方向的,该方向区间内字符进行倒序排列,若基本方向是LTR,则此重排字符串为最终字符串;若基本方向是RTL,则各个方向段还进行段间倒序排列,最终生成重排字符串;/n步骤3,按照重排字符串顺序写出字符...

【技术特征摘要】
1.在嵌入式网络话机上实现的双向文本混排显示方法,其特征在于,包括如下步骤:
步骤1,对原始字符串进行二次遍历得到方向码,方向码包含R、L两个方向,其中R表示由右到左,L表示由左到右;第一次遍历对所有字符进行方向初步判断,对于强方向类型的字符确定方向为R或L,对于其他字符暂定与基本方向相同;第二次遍历根据规则调整某些暂定方向的字符的方向;
步骤2,根据生成的方向码,对原始字符串进行字符重排,凡是R方向的,该方向区间内字符进行倒序排列,若基本方向是LTR,则此重排字符串为最终字符串;若基本方向是RTL,则各个方向段还进行段间倒序排列,最终生成重排字符串;
步骤3,按照重排字符串顺序写出字符。


2.根据权利要求1所述的在嵌入式网络话机上实现的双向文本混排显示方法,其特征在于,所述步骤1之前先对仅包含单一字符类型的文本进行预处理操作:
判断基本方向为LTR方向时,查找字符串中是否有RTL字符,若没有即执行步骤3写出字符;
判断基本方向为RTL时,判断当字符串中仅包含RTL字符时,将整个字符串直接设定为R方向,随后执行步骤2、3;判断当字符串中不包含RTL字符时,整个字符串直接设定为L方向,随后执行步骤3。


3.根据权利要求1或2所述的在嵌入式网络话机上实现的双向文本混排显示方法,其特征在于,字符划分为以下几类:E-LTR字符,N-数字,F-符号,f-成对符号,B-空格,X-RTL字符;
所述步骤1具体包括如下子步骤:
使用一个字节记录一个字符的信息,存储信息为ttttttde,其中t表示类型,d表示方向,其中,0-LTR,1-RTL,e表示此字符方向是否已确定,其中0-未确定,1-已确定;默认初始值全为0;字节序列与原字符串的字符序列一一对应,字节形成方向码;
对字符串中的字符进行第一次遍历:
对于E、N类型,d=0,e=1;对于X类型,d=1,e=1;在基本方向为RTL时,对于F、B类型,d=1;对于f类型,d=1,e=1;在基本方向为LTR时,对于f类型,d=0;其他未设定的bit即为初始值;
对字符串中的字符进行第二次遍历:
对方向未确定的字符,逐一进行如下判断:看字符的两边是否有强字符,若没有,则本字符方向保持不变;若字符的两侧字符方向一致,则本字符d改成与它们一致;若起始方向侧有数字且基本方向为RTL,则d=1;将字符串中各字符对应的方向码中的e均设置为1;
二次遍历完成后,方向码生成,当方向确定为LTR时,方向码为L,当方向确定为RTL时,方向码为R。


4.根据权利要求1所述的在嵌入式网络话机上实现的双向文本混排显示方法,其特征在于,所述基本方向预先设定。


5.在嵌入式网络话机上实现的双向文本混排显示装置,其特征在于,包括:方向码生成模块、字符重排模块、显示模块;所述方向码生成模块用于对原始字符串进行二次遍历得到方向码,第一次遍历对所有字符进行方向初步判断,对于强方向类型的字符确定方向为R或L,对于其他符号的方向暂定一个方向;第二次遍历根据规则调整某些暂定方向的字符的方向;所述字符重排模块用于根据方向码生成模块生成的方向码,对原始字符串进行字符重排,凡是R方向的,该方向区间内字符进行倒序排列,若基本方向是LTR,则此重排字符串为最终字符串;若基本方向是RTL,则各个方向段还进行段间倒序排列,最终生成重排...

【专利技术属性】
技术研发人员:丁百勇
申请(专利权)人:南京汉隆科技有限公司
类型:发明
国别省市:江苏;32

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

1