CN110609980B - 一种阿拉伯语显示方法 - Google Patents

一种阿拉伯语显示方法 Download PDF

Info

Publication number
CN110609980B
CN110609980B CN201910751511.XA CN201910751511A CN110609980B CN 110609980 B CN110609980 B CN 110609980B CN 201910751511 A CN201910751511 A CN 201910751511A CN 110609980 B CN110609980 B CN 110609980B
Authority
CN
China
Prior art keywords
character
arabic
label
line
character string
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.)
Active
Application number
CN201910751511.XA
Other languages
English (en)
Other versions
CN110609980A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201910751511.XA priority Critical patent/CN110609980B/zh
Publication of CN110609980A publication Critical patent/CN110609980A/zh
Application granted granted Critical
Publication of CN110609980B publication Critical patent/CN110609980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明属于文字显示技术领域,公开了一种阿拉伯语显示方法,用于解决文本控件由于是从左向右进行排版而导致阿拉伯语不能正确显示的问题。本发明不仅解决了阿拉伯语分行显示出现错误的问题,同时能够在换行时正确的处理富文本标签问题,同时当阿拉伯语与非阿拉伯语混合时,也能够得到正确的显示。本发明使得文本控件中(例如游戏引擎中的文本控件)支持阿拉伯语显示变得非常简单,特别是对富文本格式的支持,让文本显示效果更加丰富。

Description

一种阿拉伯语显示方法
技术领域
本发明属于文字显示技术领域,具体涉及一种阿拉伯语显示方法。
背景技术
阿拉伯语是从右向左的书写方式,所以他的文字排版需要从右向左,而且还有部分符号的变形和连词转换规则,但是一些文本显示控件(例如主流游戏引擎上的文本显示控件)都是从左向右进行排版,因此需要对于需要支持阿拉伯语显示的应用来说是一个很难解决的问题。
然而现有的技术方案提供了一种根据变形和连词规则将阿拉伯字符进行转换与反转换的方法,但是并不能对多行文本显示进行很好的支持,如果使用现有方案转换的长文本直接赋值到文本控件中进行显示的话存在以下技术问题。
第一、多行文本显示错误
结合附图1,如果只是将阿拉伯语文本进行简单的转换也反转处理后设置到文本控件(例如游戏引擎的文本控件)上,那么由于文本控件的显示顺序是从左向右从上向下,所以显示出来的文本会是期望的第一行文本在最下面,而最后一行文本是在最上面。结合附图1,使用英文字母代替阿拉伯字符作讲解。此处假设“ABCDEF”均为阿拉伯字符,那么假设现有字符串内容为“ABCDEF”,如果每一行只可以显示2个字符,那么该字符串的实际期望显示是图1a,而如果不进行相应处理则实际上会显示成图1b。因为字符串反转和换行后内容变成了“FEDCBA”,而进行换行后变成“FE\nDC\nBA”,这样就显示成了图1b。
第二、换行时富文本标签显示错误
结合附图2和附图3,由于阿拉伯语从右向左显示,而富文本标签(例如游戏引擎的富文本标签)依然是按照开始符在左侧,结束符在右侧,所以在富文本标记的内容长度达到了两行和两行以上时就会出现显示不正确(如图2b所示,正确显示应该是图2a)。为了方便理解,使用英文字母代替阿拉伯字符作举例说明。
结合附图3,此处假设“ABCDEF”均为阿拉伯字符,那么假设现有字符串内容为“A<color=#ff0000>BC</color>DEF”,如果每一行只可以显示2个字符,那么该字符串的实际期望显示是图3a,而如果不进行相应处理则实际上会显示成图3b。因为字符串反转和换行后内容变成了“B<color=#ff0000>A\nD</color>C\nFE”。
第三、带有富文本标签的阿拉伯语与非阿拉伯语混合情况下显示错误
结合附图4,在阿拉伯和非阿拉伯语字符串混合的时候,如果只是简单的字符串分块,然后对其进行反转处理,则在遇到多个富文本内容相邻的时候会出现显示错误,实际期望的是如图4a,而实际会显示成图4b。
发明内容
本发明为了解决文本控件由于是从左向右进行排版而导致阿拉伯语不能正确显示的问题,而提供一种阿拉伯语显示方法。
为解决技术问题,本发明所采用的技术方案是:
一种阿拉伯语显示方法,其特征在于,包括:
(1)将需要设置到文本控件上的文本字符串进行预处理;
(2)将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表;
(3)对分行后的字符串进行富文本标签补齐处理;
(4)对每行进行标签补齐处理后的字符串进行分块处理,将字符串按照阿拉伯字符块和非阿拉伯字符块进行分块,并且将阿拉伯字符块前的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中;分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理;然后再将各个字符块重新拼成一个新的字符串替换原有的行字符串;
(5)将步骤(4)中处理之后得到的每一行字符串按照支持的富文本标签进行分段处理,将阿拉伯字符串段前的富文本开始标签和阿拉伯字符串段后的富文本结束标签划分到阿拉伯字符串段中,将分段后的字符串和富文本标签组成一个字符串段的列表;
(6)将分段处理后的每一个字符串段进行分块处理,按照阿拉伯字符和非阿拉伯字符进行分块,并且将阿拉伯字符块前的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中;
(7)将阿拉伯字符块拆分成字符节点,然后将阿拉伯字符节点进行反转处理,将各个字符节点进行拼接生成新的字符块替换原有的阿拉伯字符块;
(8)将各个字符串块按照反序的方式进行拼接生成新的字符串段,用新的字符串替换原字符串段的列表中的字符串段;
(9)将步骤(8)中得到的字符串段的列表中的富文本标签进行配对组合的开始标签和结束标签互换处理;
(10)将步骤(9)中得到的字符串段的列表按照反序的方式进行拼接生成新的字符串,用新的字符串替换原有的行字符串的列表中的行字符串;
(11)将步骤(10)得到的行字符串的列表进行拼接生成新的字符串;
(12)将步骤(11)得到的所述新的字符串设置在文本控件上进行显示。
进一步的,所述步骤(3)中的对分行后的字符串进行富文本标签补齐处理包括:对于每一行字符串,如果开始标签在本行且对应的结束标签在也在本行,则该组标签不需要作处理;如果开始标签在本行,结束标签不在本行,而是在后面的某一行,则在本行的末尾添加该开始标签对应的结束标签;如果开始标签不在本行,而是在前面的某一行,结束标签在本行,则在本行的起始位置添加对应的开始标签。
进一步的,所述步骤(4)中的所述分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理包括:如果开始标签在本字符块且对应的结束标签也在本字符块,则该组标签不需要作处理;如果开始标签在本字符块,结束标签不在本字符块,而是在后面的某一字符块,则在本字符块的末尾添加该开始标签对应的结束标签;如果开始标签不在本字符块,而是在前面的某一字符块,结束标签在本字符块,则在本字符块的起始位置添加对应的开始标签。
进一步的,所述步骤(11)中将步骤(10)得到的行字符串的列表进行拼接生成新的字符串为:将步骤(10)得到的行字符串的列表进行拼接,并且在不是最后一行的字符串尾添加换行符,生成新的字符串。
进一步的,步骤(1)中的将需要设置到文本控件上的文本字符串进行预处理包括如下步骤:
1.1将文本字符串按照阿拉伯语和非阿拉伯语符号的规则生成字符块列表;
1.2遍历字符块列表,对阿拉伯语字符块按照阿拉伯字符的变形与连词规则进行变换,对非阿拉伯语字符块保持原形;
1.3遍历字符块列表,将所有字符块重新拼接成一个新的字符串。
进一步的,所述步骤(2)中的将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表包括:
2.1获取文本控件中文本框空间的宽度、高度和字体大小信息;
2.2根据2.1中获得宽度信息、高度信息、字体大小信息以及步骤(1.3)中获得的所述新的文本字符串内容计算出每一行中显示的字符;
2.3计算出每行文本的字符数;
2.4生成每行的字符个数列表;
2.5将步骤(1.3)得到的所述新的字符串根据生成的每行的字符个数列表进行分行,生成行字符串的列表。
与现有技术相比,本发明具有以下有益效果:
本发明的阿拉伯语显示方法,相比于现有技术根据变形和连词规则将阿拉伯字符进行转换与反转换的方法,不仅解决了阿拉伯语分行显示出现错误的问题,同时能够在换行时正确的处理富文本标签问题,同时当阿拉伯语与非阿拉伯语混合时,也能够得到正确的显示。本发明使得文本控件中(例如游戏引擎中的文本控件)支持阿拉伯语显示变得非常简单,特别是对富文本格式的支持,让文本显示效果更加丰富。
附图说明
图1为现有技术在多行阿拉伯语时显示示意图,其中图1a表示正确的显示(即期望的显示),图1b为现有技术在处理多行阿拉伯语时的出现的错误显示;
图2和图3为现有技术在换行时富文本标签的显示示意图,其中图2a表示正确的显示(即期望的显示),图2b为现有技术在换行时带有富文本标签的阿拉伯语出现的错误显示,图3a表示正确的显示(即期望的显示),图3b为现有技术在换行时带有富文本标签的阿拉伯语出现的错误显示;
图4为现有技术在带有富文本标签的阿拉伯语与非阿拉伯语混合时的显示示意图,其中4a表示正确的显示(即期望的显示),图4b为现有技术在处理带有富文本标签的阿拉伯语和非阿拉伯语混合时出现的错误显示。
具体实施方式
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
结合附图,本发明的阿拉伯语显示方法,包括:
(1)将需要设置到文本控件上的文本字符串进行预处理。
(2)将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表。
(3)对分行后的字符串进行富文本标签补齐处理。
(4)对每行进行标签补齐处理后的字符串进行分块处理,将字符串按照阿拉伯字符块和非阿拉伯字符块进行分块,并且将阿拉伯字符块钱的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中;分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理;然后再将各个字符块重新拼成一个新的字符串替换原有的行字符串。
(5)将步骤(4)中处理之后得到的每一行字符串按照支持的富文本标签进行分段处理,将阿拉伯字符串段前的富文本开始标签和阿拉伯字符串段后的富文本结束标签划分到阿拉伯字符串段中,将分段后的字符串和富文本标签组成一个字符串段的列表。
(6)将分段处理后的每一个字符串段进行分块处理,按照阿拉伯字符和非阿拉伯字符进行分块,并且将阿拉伯字符块前的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中。
(7)将阿拉伯字符块拆分成字符节点,然后将阿拉伯字符节点进行反转处理,将各个阿拉伯字符节点进行拼接生成新的字符块替换原有的阿拉伯字符块;需要补充说明的是这里的非阿拉伯字符块不需要拆分成字符节点处理,即是说步骤(7)仅仅是针对阿拉伯字符块进行处理;本申请中讲述的反转处理意思是将字符的顺序进行反转排列,例如“abcde”反转后变为“edcba”。如阿拉伯字符都是从右至左的方式进行显示,而文本控件(例如主流游戏引擎上的文本显示控件)都是从左向右进行排版,因此需要对阿拉伯字符进行反转处理。而对于非阿拉伯字符块不需要进行拆分成字符节点,同时也不需要反转处理。
(8)将各个字符串块按照反序的方式进行拼接生成新的字符串段,用新的字符串替换原字符串段的列表中的字符串段;这里的各个字符块即包括了步骤(6)中的非阿拉伯字符块和步骤(7)中经过处理的得到的替换后的阿拉伯字符块。
(9)将步骤(8)中得到的字符串段的列表中的富文本标签进行配对组合的开始标签和结束标签互换处理。
(10)将步骤(9)中得到的字符串段的列表按照反序的方式进行拼接生成新的字符串,用新的字符串替换原有的行字符串的列表中的行字符串。
(11)将步骤(10)得到的行字符串的列表进行拼接生成新的字符串。
(12)将步骤(11)得到的所述新的字符串设置在文本控件上进行显示。
进一步的,所述步骤(3)中的对分行后的字符串进行富文本标签补齐处理包括:对于每一行字符串,如果开始标签在本行且对应的结束标签在也在本行,则该组标签不需要作处理;如果开始标签在本行,结束标签不在本行,而是在后面的某一行,则在本行的末尾添加该开始标签对应的结束标签;如果开始标签不在本行,而是在前面的某一行,结束标签在本行,则在本行的起始位置添加对应的开始标签。
进一步的,所述步骤(4)中的所述分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理包括:如果开始标签在本字符块且对应的结束标签也在本字符块,则该组标签不需要作处理;如果开始标签在本字符块,结束标签不在本字符块,而是在后面的某一字符块,则在本字符块的末尾添加该开始标签对应的结束标签;如果开始标签不在本字符块,而是在前面的某一字符块,结束标签在本字符块,则在本字符块的起始位置添加对应的开始标签。
进一步的,所述步骤(11)中将步骤(10)得到的行字符串的列表进行拼接生成新的字符串为:将步骤(10)得到的行字符串的列表进行拼接,并且在不是最后一行的字符串尾添加换行符,生成新的字符串。
进一步的,步骤(1)中的将需要设置到文本控件上的文本字符串进行预处理包括如下步骤:
1.1将文本字符串按照阿拉伯语和非阿拉伯语符号的规则生成字符块列表;
1.2遍历字符块列表,对阿拉伯语字符块按照阿拉伯字符的变形与连词规则进行变换,对非阿拉伯语字符块保持原形;
1.3遍历字符块列表,将所有字符块重新拼接成一个新的字符串。
进一步的,所述步骤(2)中的将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表包括:
2.1获取文本控件中文本框空间的宽度、高度和字体大小信息;
2.2根据2.1中获得宽度信息、高度信息、字体大小信息以及步骤(1.3)中获得的所述新的文本字符串内容计算出每一行中显示的字符;
2.3计算出每行文本的字符数;
2.4生成每行的字符个数列表;
2.5将步骤(1.3)得到的所述新的字符串根据生成的每行的字符个数列表进行分行,生成行字符串的列表。
本申请步骤(3)中富文本标签补齐处理和步骤(4)中讲述的富文本标签补齐处理原理和过程相同,仅仅是实施对象不同而已。
在一些实施例中,富文本标签补齐处理在具体操作过程中包括如下步骤:
4.2.1创建一个堆栈数据结构,该堆栈数据结构命名为tagStack,用于存放在字符串中搜索到的富文本标签结构,标签结构中包含该标签所在的行号;
4.2.2声明一个索引变量,该索引变量命名为index,并赋值为0;
4.2.3判断index是否小于文本列表的长度,若小于则转4.2.4,否则转4.2.17;
4.2.4取文本行列表中第index个字符串,复制它并将其赋值给一个新的字符串变量newStr;
4.2.5定义一个索引变量,该索引变量命名为curIdx,并赋值为0;
4.2.6对字符串从curIdx位置开始搜索下一个富文本标签,若未搜索到则转到4.2.12,若搜索到则转4.2.7;
4.2.7将curIdx赋值为搜索到的标签之后一个位置;
4.2.8判断搜索到的富文本标签是开始标签还是结束标签,若是开始标签则转4.2.9,若是结束标签则转4.2.10;
4.2.9进行入栈操作,将标签压入tagStack,转4.2.6;
4.2.10进行出栈操作,弹出tagStack中一个标签,将该标签的开始标签和newStr拼接后赋值给newStr;
4.2.11若curIdx小于字符串最大长度,则转4.2.6,否则转4.2.12;
4.2.12判断栈tagStack的元素个数是否大于0,若大于0则转4.2.13,否则转4.2.15;
4.2.13从tagStack中取出小于当前字符串行数的开始标签,并将其按顺序拼成一个标签前缀字符串;
4.2.14从tagStack中取出小于当前字符串行数的开始标签,并将其对应的结束标签按顺序拼成一个标签后缀字符串;
4.2.15将标签前缀字符串、更新后的新的字符串变量(newStr)、标签后缀字符串拼成一个新的字符串,替换掉在字符串列表中的原字符串;在此需要说明的是:newStr的初始值是文本行列表中的第index个的字符串,步骤4.2.4和步骤4.2.10中进行了更新,步骤4.2.15中的拼接是将更新后的字符串变量与标签前缀字符串和标签后缀字符串进行拼接。
4.2.16index进行自加1,转4.2.4;
4.2.17结束。
进一步的,本申请的步骤(4)至步骤(11)中在具体操作过程中可以按照如下步骤进行:
4.3.1将进行富文本标签补齐处理后的一行字符串划分成块生成字符串块列表,为了描述方便,该字符串块列表命名为blockList;
4.3.2根据blockList生成句子列表,为了描述方便,将该句子列表命名为sentenceList;
4.3.3对句子列表进行富文本标签补齐处理;
4.3.4遍历句子列表,对每个句子进行反转处理:该步骤4.3.4具体包括如下内容:
4.3.4.1判断句子中是否含有阿拉伯字符,若有则转4.3.4.2,否则转4.3.4.6;
4.3.4.2将句子生成字符段列表;
4.3.4.3对字符段列表进行配对标签互换操作;
4.3.4.4遍历字符段列表,对每个段字符串进行反转处理操作,该步骤4.3.4.4具体包括如下步骤:
4.3.4.4.1将段字符串划分成块生成块字符串列表;
4.3.4.4.2遍历块字符串列表,对含有阿拉伯字符的块进行字符串反转处理;
4.3.4.4.3将按反序规则进行拼接生成新的段字符串。
4.3.4.5将转换处理后的段字符串列表拼成新的句子。
4.3.4.6结束。
为了便于理解,在此需要进行解释说明:
句子(Sentence):阿拉伯语字符节点与其紧连着的富文本开始标签和结束标签组成一个句子,其他的非阿拉伯语节点组成句子。
节点(Node):节点分为2类,包括富文本的标签和字符块。
字符段(Section):使用富文本的标签将一串文本划分成N个子串,将这些子串命名为字符段。
字符块(Block):将一串文本按照阿拉伯语符号和非阿拉伯语符号划分成N个子串,将这些子串命名为字符块。
富文本格式:就是RTF(Rich Text Format)又译为多文本格式,简单点说就是它相对普通文本可以带有丰富的格式设置,使文本的可读性更强。
这些解释说明,对于本领域的技术人员来说都是清楚和明白的,在此不再赘述。

Claims (6)

1.一种阿拉伯语显示方法,其特征在于,包括:
(1)将需要设置到文本控件上的文本字符串进行预处理;
(2)将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表;
(3)对分行后的字符串进行富文本标签补齐处理;
(4)对每行进行标签补齐处理后的字符串进行分块处理,将字符串按照阿拉伯字符块和非阿拉伯字符块进行分块,并且将阿拉伯字符块前的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中;分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理;然后再将各个字符块重新拼成一个新的字符串替换原有的行字符串;
(5)将步骤(4)中处理之后得到的每一行字符串按照支持的富文本标签进行分段处理,将阿拉伯字符串段前的富文本开始标签和阿拉伯字符串段后的富文本结束标签划分到阿拉伯字符串段中,将分段后的字符串和富文本标签组成一个字符串段的列表;
(6)将分段处理后的每一个字符串段进行分块处理,按照阿拉伯字符和非阿拉伯字符进行分块,并且将阿拉伯字符块前的富文本开始标签和阿拉伯字符块后的富文本结束标签划分到阿拉伯字符块中;
(7)将阿拉伯字符块拆分成字符节点,然后将阿拉伯字符节点进行反转处理,将各个字符节点进行拼接生成新的字符块替换原有的阿拉伯字符块;
(8)将各个字符串块按照反序的方式进行拼接生成新的字符串段,用新的字符串替换原字符串段的列表中的字符串段;
(9)将步骤(8)中得到的字符串段的列表中的富文本标签进行配对组合的开始标签和结束标签互换处理;
(10)将步骤(9)中得到的字符串段的列表按照反序的方式进行拼接生成新的字符串,用新的字符串替换原有的行字符串的列表中的行字符串;
(11)将步骤(10)得到的行字符串的列表进行拼接生成新的字符串;
(12)将步骤(11)得到的所述新的字符串设置在文本控件上进行显示。
2.根据权利要求1所述的阿拉伯语显示方法,其特征在于,所述步骤(3)中的对分行后的字符串进行富文本标签补齐处理包括:对于每一行字符串,如果开始标签在本行且对应的结束标签在也在本行,则该组标签不需要作处理;如果开始标签在本行,结束标签不在本行,而是在后面的某一行,则在本行的末尾添加该开始标签对应的结束标签;如果开始标签不在本行,而是在前面的某一行,结束标签在本行,则在本行的起始位置添加对应的开始标签。
3.根据权利要求1所述的阿拉伯语显示方法,其特征在于,所述步骤(4)中的所述分块后对于每一个阿拉伯字符块和非阿拉伯字符块进行富文本标签补齐处理包括:如果开始标签在本字符块且对应的结束标签也在本字符块,则该组标签不需要作处理;如果开始标签在本字符块,结束标签不在本字符块,而是在后面的某一字符块,则在本字符块的末尾添加该开始标签对应的结束标签;如果开始标签不在本字符块,而是在前面的某一字符块,结束标签在本字符块,则在本字符块的起始位置添加对应的开始标签。
4.根据权利要求1所述的阿拉伯语显示方法,其特征在于,所述步骤(11)中将步骤(10)得到的行字符串的列表进行拼接生成新的字符串为:将步骤(10)得到的行字符串的列表进行拼接,并且在不是最后一行的字符串尾添加换行符,生成新的字符串。
5.根据权利要求1所述的阿拉伯语显示方法,其特征在于,步骤(1)中的将需要设置到文本控件上的文本字符串进行预处理包括如下步骤:
1.1将文本字符串按照阿拉伯语和非阿拉伯语符号的规则生成字符块列表;
1.2遍历字符块列表,对阿拉伯语字符块按照阿拉伯字符的变形与连词规则进行变换,对非阿拉伯语字符块保持原形;
1.3遍历字符块列表,将所有字符块重新拼接成一个新的字符串。
6.根据权利要求5所述的阿拉伯语显示方法,其特征在于,所述步骤(2)中的将预处理后的字符串根据文本控件的宽度进行分行处理,生成行字符串的列表包括:
2.1获取文本控件中文本框空间的宽度、高度和字体大小信息;
2.2根据步骤2.1中获得的宽度信息、高度信息、字体大小信息以及步骤1.3中获得的所述新的字符串内容计算出每一行中显示的字符;
2.3计算出每行文本的字符数;
2.4生成每行的字符个数列表;
2.5将步骤1.3得到的所述新的字符串根据生成的每行的字符个数列表进行分行,生成行字符串的列表。
CN201910751511.XA 2019-08-15 2019-08-15 一种阿拉伯语显示方法 Active CN110609980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910751511.XA CN110609980B (zh) 2019-08-15 2019-08-15 一种阿拉伯语显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910751511.XA CN110609980B (zh) 2019-08-15 2019-08-15 一种阿拉伯语显示方法

Publications (2)

Publication Number Publication Date
CN110609980A CN110609980A (zh) 2019-12-24
CN110609980B true CN110609980B (zh) 2023-03-14

Family

ID=68890341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910751511.XA Active CN110609980B (zh) 2019-08-15 2019-08-15 一种阿拉伯语显示方法

Country Status (1)

Country Link
CN (1) CN110609980B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111479155A (zh) * 2020-04-02 2020-07-31 青岛海信传媒网络技术有限公司 显示设备及用户界面显示方法
CN112328927B (zh) * 2020-11-27 2023-09-01 抖音视界有限公司 文档处理方法、装置、可读介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625845A (zh) * 2008-07-07 2010-01-13 阿尔派株式会社 显示方法及显示装置
CN101814286A (zh) * 2010-04-14 2010-08-25 深圳市茁壮网络股份有限公司 阿拉伯字符显示的修复方法及装置
CN103489268A (zh) * 2013-09-06 2014-01-01 深圳市新国都技术股份有限公司 一种用于pos平台的阿拉伯语显示方法
CN104166574A (zh) * 2014-08-18 2014-11-26 深圳市九洲电器有限公司 界面显示方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594736B2 (en) * 2013-10-11 2017-03-14 Apple Inc. Display and selection of bidirectional text

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625845A (zh) * 2008-07-07 2010-01-13 阿尔派株式会社 显示方法及显示装置
CN101814286A (zh) * 2010-04-14 2010-08-25 深圳市茁壮网络股份有限公司 阿拉伯字符显示的修复方法及装置
CN103489268A (zh) * 2013-09-06 2014-01-01 深圳市新国都技术股份有限公司 一种用于pos平台的阿拉伯语显示方法
CN104166574A (zh) * 2014-08-18 2014-11-26 深圳市九洲电器有限公司 界面显示方法及系统

Also Published As

Publication number Publication date
CN110609980A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
US4459049A (en) Abbreviated typing with special form display
US7293229B2 (en) Ensuring proper rendering order of bidirectionally rendered text
CN110609980B (zh) 一种阿拉伯语显示方法
US7786994B2 (en) Determination of unicode points from glyph elements
CN111310447A (zh) 语法纠错方法、装置、电子设备和存储介质
CN102147790A (zh) 文本排版方法及排版引擎
CN109933751B (zh) 图文绘制方法、装置、计算机可读存储介质和计算机设备
JPH077410B2 (ja) 文書レイアウト方法
Indrawan et al. A new method of Latin-to-Balinese script transliteration based on Bali Simbar font
JP2010262325A (ja) 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体
EP1959352A2 (en) System and method of report representation
CN109902299B (zh) 一种文本处理方法及装置
CN112765506A (zh) 一种页面文本内容显示方法、装置、设备及存储介质
JP5629543B2 (ja) 文字列変換装置、文字列変換方法、コンピュータプログラムおよび記録媒体
Arrigo et al. CAMIO: a corpus for OCR in multiple languages
Boomhower Producing good technical communications requires two types of editing
US20240111942A1 (en) Detection and tagging of paragraphs spanning columns, pages, or other reading units
CN114861683A (zh) 一种分离翻译文本与编辑Tag的方法
US11842141B2 (en) Device dependent rendering of PDF content
CN117235345B (zh) 开放版式文档ofd搜索方法、装置及电子设备
US20230177102A1 (en) Generating a document utilizing key elements of a cloud-based word processing system
Andreev et al. Proposal to Encode Combining Glagolitic Letters in Unicode
Student This is the title
Sparks et al. The transmission of ‘The West Saxon Royal Genealogy’: a phylogenetic approach
JP3470926B2 (ja) 文書処理装置および文書処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant