CN100383734C - 阿拉伯语、波斯语屏幕显示菜单的制作方法 - Google Patents
阿拉伯语、波斯语屏幕显示菜单的制作方法 Download PDFInfo
- Publication number
- CN100383734C CN100383734C CNB2006100207905A CN200610020790A CN100383734C CN 100383734 C CN100383734 C CN 100383734C CN B2006100207905 A CNB2006100207905 A CN B2006100207905A CN 200610020790 A CN200610020790 A CN 200610020790A CN 100383734 C CN100383734 C CN 100383734C
- Authority
- CN
- China
- Prior art keywords
- character
- arabic
- persian
- characters
- screen display
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Abstract
阿拉伯语、波斯语屏幕显示菜单的制作方法,涉及计算机技术,特别涉及屏幕显示菜单中的文字制作方法。本发明所要解决的技术问题是,克服现有技术中制作阿拉伯语、波斯语屏幕显示菜单时变形字形制作复杂,词条拆分准确性不高、耗费时间长的缺点。本发明采用的技术方案,包括以下步骤:a、生成字符编码表,导入机芯;b、将阿拉伯语、波斯语词条从右到左依次进行拆分,判断字符在词条中的位置,并根据字符在词条中的位置,查找字符索引号;c、判断该字符是否属于特殊字符,如是根据变形规律改变索引号;e、将字符索引号依次写入机芯。本发明的有益效果是,采用本发明所述的方法能简便地完成这类闪含语系的语言添加对加快产品开发速度、提高产品通用性。
Description
技术领域
本发明涉及计算机技术,特别涉及屏幕显示菜单中的文字制作方法。
背景技术
屏幕显示菜单即OSD(On Screen Display)是用户与产品之间的一个不可或缺的重要接口:用户通过OSD的操作完成对显示类产品的控制,显示类产品则通过OSD显示相应的信息;所以OSD中的语言就必须本地化。
开发OSD语言的过程,首先要为该产品支持的所有语言中包含的字符建立一个字符编码表,字符表格中包含各个字符的字形,并为每个字符定义一个索引编号,然后将某种OSD语言词条中的字符用索引编号代替写入到机芯程序当中,OSD显示时就会将这些索引号所对应的字形显示出来,样就完成了该语言的OSD制作。但这种方式运用到闪含语系上时就会出现问题,以阿拉伯语为例,该语言虽然只有28个基本的字符,但字符之间的组合不同时,其基本形状就会发生变化,甚至变得面目全非,如字符,在其前面加上字符则为,即变成了,而变为了;而且其书写方式从右至左,书写中字符与字符很多都连成了一片。如:“正常”的阿拉伯语词条:。正因为闪含语系的这些特征,如果按通常的OSD语言做法,以上述阿拉伯语词条为例,从右到左组成该词条的基本字符是;如果我们将这些基本字符的索引号按从右至左的顺序写入程序,那么看到的OSD效果将会成所以对于阿拉伯语、波斯语这类会变形的字体,大部分机芯都无法直接分解。
以往在OSD中加入闪含语系,变形字符的字形常依靠手工绘制,对每个OSD词条分解成字符时也只能人工方法拆开,且往往需要懂阿拉伯语的专业人士的协助,这一过程不能确保其准确性,需要耗费大量的时间来反复确认,大大延长了产品的开发周期,不利于产品的移植与维护。
所以,探索出一种通用简便的方法来完成这类闪含语系的语言添加对加快产品开发速度、提高产品通用性及市场竞争能力有着极大的促进作用。
发明内容
本发明所要解决的技术问题是,克服现有技术中制作阿拉伯语、波斯语OSD的变形字形制作复杂,词条拆分准确性不高、耗费时间长的缺点,提供一种通用简便的方法来完成阿拉伯语的OSD制作。
本发明为解决上述技术问题所采用的技术手段是,阿拉伯语、波斯语OSD的制作方法,包括以下步骤:
a、生成字符编码表,导入机芯;所述字符编码表包含变形字符的全部字符形状及对应索引号。
b、将阿拉伯语、波斯语词条从右到左依次进行拆分,判断字符在词条中的位置,并根据字符在词条中的位置,查找字符索引号;
c、判断该字符是否属于特殊字符,如是根据变形规律改变索引号;
e、将字符索引号依次写入机芯。
优选的,所述步骤a中通过将windows系统中的阿拉伯语、波斯语的字符形状以及对应的Unicode码导入机芯,直接生成字符编码表,字符的索引号为该字符的Unicode码。
优选的,所述步骤a中通过将windows系统中的阿拉伯语、波斯语的字符形状先转化为位图,再手工为这些字符形状编写一个索引号,生成字符编码表。
所述步骤b中判断字符在词条中的位置,判断方法如下:
b1、该字符是否在字符编码表中查找得到,若否则为C类字符;若是则进入步骤b2;
b2、该字符是否为A类字符,若是进入步骤b3;若否则为B类字符,进入步骤b6;
b3、该字符右边的字符是否为A类字符,若是进入步骤b4,若否进入步骤b5;
b4、该字符左边的字符是否为C类字符,若是该字符为词尾字符,若否该字符为词中字符;
b5、该字符左边的字符是否为C类字符,若是该字符为独立字符,若否该字符为词首字符;
b6、该字符右边的字符是否为A类字符,若是该字符为词尾字符,若否该字符为独立字符;其中,A类字符表示有4种字形的字符;B类字符表示有2种字形的字符;C类字符表示一种字形的阿拉伯字符如标点,以及其它所有字符如英文字符、空格,数字等。
所述步骤b中所述根据字符在词条中的位置,查找字符索引号,方法如下:
字符为独立字符,其索引号为该字符的独立字符对应的Unicode码;
字符为词尾字符,其索引号为该字符的独立字符对应的Unicode码加1;
字符为词首字符,其索引号为该字符的独立字符对应的Unicode码加2;
字符为词中字符,其索引号为该字符的独立字符对应的Unicode码加3。
输入的词条由基本字符组成,通过判断词条中基本字符的Unicode码从而确定该字符的独立字符的Unicode码。
本发明的有益效果是,采用本发明所述的方法能简便地完成这类闪含语系的语言添加对加快产品开发速度、提高产品通用性。
以下结合附图与实施例对本发明做进一步说明。
附图说明
图1为本发明的流程;
图2为拆分字符,查找字符索引号的流程;
图3为判断字符位置,查找字符索引号的具体流程图。
具体实施方式
要在OSD添加阿拉伯语、波斯语,在机芯中必须添加两个资源:字符编码表和词条拆分后的字符对应的索引号。其中字符编码表包含阿拉伯语、波斯语基本字符、变形字符形状及与之对应的索引号。
阿拉伯语、波斯语每个基本字符有4种或2种字形,有4种字形的字符分别有独立字符、词尾字符、词首字符、词中字符4种形式;有2种字形的字符有独立字符、词尾字符这2种形式。其中独立字符的形状与基本字符的形状一致。独立字符、词尾字符、词首字符、词中字符统称为变形字符。阿拉伯语、波斯语所有词条的字符都可由变形字符组成。
如图1所示,本发明的流程如下:
a、生成字符编码表,导入机芯;
b、将阿拉伯语、波斯语词条从右到左依次进行拆分,判断字符在词条中的位置,并根据字符在词条中的位置,查找字符索引号;
c、判断该字符是否属于特殊字符,如是根据变形规律改变索引号;
e、将字符索引号依次写入机芯。
实施例:
步骤a,在机芯中添加阿拉伯语、波斯语的字符编码表:
利用windows系统中能够正确显示闪含语系的特点,通过对windows操作系统附带的“字符映射表”工具进行分析,找到了阿拉伯语及波斯语的字符国际编码(Unicode码)。其中在范围在0X060C-0x06FE的Unicode码包含有阿拉伯语及波斯语的所有字符;范围在0XFB56-0XFEFC的Unicode码包含了阿拉伯语及波斯语的全部变形字符。变形字符为基本字符对应全部字形,即独立字符、词尾字符、词首字符、词中字符。
通常现有许多机芯的OSD开发工具都可以直接从操作系统中导入字体,自动生成这些点阵图形,每个字符的索引号就是其Unicode码,直接生成字符编码表,不再需要手工编码。
但是也有些机芯开发工具不够强大,就提供不了这样的支持,无法导入这些字符形状。为此,必须要将windows字体中的Unicode码或文字对应的字符形状转化成位图,然后利用机芯的开发工具就可以直接将位图导入成为一个字符形状,再手工为这些字符形状编写一个索引号。在导入这些字符形状时可根据需要改变字符的字体,风格,设置字符的高度。
步骤b,分析、拆分词条,确定字符的索引号:
利用Excel中的VBA开发工具实现词条的拆分,在Excel文件中建立字符编码表,将具体所有的基本及变形的字符、字形种数、及其变形字符中独立字符的Unicode码放在Excel文件中。这些字符的形状与其在词条中的位置相关联的,不同的位置有不同的形状。每个字符最多有4种位置,独立、词中、词尾、词首。字符在不同位置,其字形也会变化。为表述方便,有4种字形的基本字符称其为A类字符;有2种字形的基本字符称其为B类字符;还有一类字符表示一种字形的阿拉伯字符如标点,以及其它的所有字符如英文字符、空格,数字等,称其为C类字符。字符类别是判断字符在词条中位置的重要依据,而判断C类字符的依据是能否从字符编码表中找到该字符。
如图2所示,将需要在OSD中显示的阿拉伯语、波斯语的词条中的每个字符的基本字符形式输入到Excel文件中,字符编码表通过识别该基本字符对应的Unicode码,查找对应在字符编码表中该字符的独立字符所对应的Unicode码,以这个Unicode码作为该字符索引号的基础,再通过判断字符在词条中的位置确定该字符的索引号。
如果一个字符前面或后面没有字母,则看作其前面或后面有C类型的字符,加粗字符为当前判断的字符,这种判断字符在词条中位置的方法说明如下:
①.一个B类字符右边为一个B类字符或C类字符,即B(B|C)的形式,那么该B类字符为独立字符。
②.一个B类字符右边为一个A类字符,即BA的形式,那么该B类字符为词尾字符。
③.一个A类字符右边为B类字符或C类字符,且后面没有C类字符,即 (A|B)A(B|C),那么该字符为词首。
④.一个A类字符右边为A类字符,且后面为C类字符,即CAA,那么该字符为词尾字符。
⑤.一个A类字符右边为B类字符或C类字符,且后面为C类字符,即CA(C|B),那么该字符为独立字符。
⑥.一个A类字符右边为A类字符,且后面无C类字符,即(A|B)AA,那么该字符为词中字符。
如图3所示,通过判断字符位置得到该字符索引号的流程如下:
从OSD词条所在的Excel文件中读取词条,从右至左分析字符,字符的长度为m_length,设i=1,PrevPos=1代表右边的字符是B、C类,PrevPos=0代表左边的字符是A类。通过判断字符编码表中字符对应的字形总数来确定字符是A类字符还是B类字符,设当前分析的字符即第i个字符为wChar,从最右边的字符开始分析。
判断当前分析的字符位置i是否小于或等于m_length,若否则分析完毕;若是则进入下一步;
判断当前分析的字符wChar即第i个字符是否在字符编码表中查找得到,若否则wChar为C类字符,该字符的索引号为该字符的Unicode码;若是则进入下一步;
将字符编码表中该字符的独立字符Unicode码读取出,以这个Unicode码作为该字符索引号的基础,通过位置判断确定该字符的索引号,具体步骤为:
b1、该字符是否为A类字符,若是进入步骤b2,若否进入步骤b5;
b2、该字符右边的字符是否为A类字符(PrevPos是否为0),若是进入步骤b3,若否进入步骤b4;
b3、该字符左边的字符是否为C类字符,若是该字符为词尾字符(Position=1),若否该字符为词中字符(Position=3);
b4、该字符左边的字符是否为C类字符,若是该字符为独立字符(Position=0),若否该字符为词首字符(Position=2);
b5、该字符右边的字符是否为A类字符(PrevPos是否为0),若是该字符为词尾字符(Position=1),若否该字符为独立字符(Position=3)。
字符处于独立位置时为独立字符,该字符的索引号为该字符的独立字符所对应的Unicode码;处于词尾时其索引号为独立字符的Unicode码加1,处于词首时其索引号为独立字符的Unicode码加2,处于词中时其索引号为基本字符Unicode码加3。
字符wChar的索引号查找完毕后,将i+1赋值给当前字符位置(i=i+1)。
步骤c,判断该字符是否属于特殊字符,如是根据变形规律改变索引号:
有几个特殊的字符,连写在一起时就变成了新的字符,这几个新字符Unicode码为0xFEF5-0xFEFC。利用上6条规律处理完后,这种变形规律:0xfe82紧随0xfedf变成0xfef6,0xfe82紧随0xfee0变成0xfef5;0xfe84紧随0xfedf变成0xfef8,0xfe84紧随0xfee0变成0xfef7;0xfe88紧随0xfee0变成0xfefa,0xfe88紧随0xfedf变成0xfef9;0xfe8e紧随0xfee0变成0xfefc,0xfe8e紧随0xfedf变成0xfefb。
将OSD词条放置在Excel中,依据放置于Excel中的“字符编码表”,利用其变形规律,通过Excel中的二次开发工具VBA便可编写出程序,依据上面①~⑥的规律使得OSD的词条拆分开来。拆分完后再依据上述变形规律将利用VBA中的Replace函数就可以将这些特殊的字符替换成一个新的字符。将最终确定的字符Unicode码导入机芯,便可完成OSD语言的制作。
程序只需稍作改动就可以完成不同机芯之间的移植。可以对大批量的词条一次性处理,能方便快捷地在各机芯间移植。而对于其他类型的含OSD显示产品也有很强的借鉴意义。
Claims (7)
1.阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,包括以下步骤:
a、生成字符编码表,导入机芯;所述字符编码表包含变形字符的全部字符形状及对应索引号;
b、将阿拉伯语、波斯语词条从右到左依次进行拆分,判断字符在词条中的位置,并根据字符在词条中的位置,查找字符索引号;
c、判断该字符是否属于特殊字符,如否进入步骤d;如是根据变形规律改变索引号后进入步骤d;
d、将字符索引号依次写入机芯。
2.如权利要求1所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述步骤a中通过将windows系统中的阿拉伯语、波斯语的字符形状及对应的Unicode码导入机芯,直接生成字符编码表,该字符的Unicode码为字符的索引号。
3.如权利要求1所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述步骤a中通过将windows系统中的阿拉伯语、波斯语的字符形状先转化为位图,再手工为这些字符形状编写一个索引号,生成字符编码表。
4.如权利要求2或3所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述步骤b中判断字符在词条中的位置,判断方法如下:
b1、该字符是否在字符编码表中查找得到,若否则为C类字符;若是则进入步骤b2;
b2、该字符是否为A类字符,若是进入步骤b3;若否则为B类字符,进入步骤b6;
b3、该字符右边的字符是否为A类字符,若是进入步骤b4,若否进入步骤b5;
b4、该字符左边的字符是否为C类字符,若是该字符为词尾字符,若否该字符为词中字符;
b5、该字符左边的字符是否为C类字符,若是该字符为独立字符,若否该字符为词首字符;
b6、该字符右边的字符是否为A类字符,若是该字符为词尾字符,若否该字符为独立字符;
其中,A类字符表示有4种字形的字符;B类字符表示有2种字形的字符;C类字符表示一种字形的阿拉伯字符如标点,以及其它所有字符如英文字符、空格、数字等。
5.如权利要求4所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述步骤b中所述根据字符在词条中的位置,查找字符索引号,方法如下:
字符为独立字符,其索引号为该独立字符对应的Unicode码;
字符为词尾字符,其索引号为该字符的独立字符对应的Unicode码加1;
字符为词首字符,其索引号为该字符的独立字符对应的Unicode码加2;
字符为词中字符,其索引号为该字符的独立字符对应的Unicode码加3。
6.如权利要求5所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述词条由基本字符组成,通过判断词条中基本字符的Unicode码从而查找该字符的独立字符的Unicode码。
7.如权利要求1或6所述的阿拉伯语、波斯语屏幕显示菜单的制作方法,其特征在于,所述步骤b和c通过Excel中的VBA开发工具实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100207905A CN100383734C (zh) | 2006-04-25 | 2006-04-25 | 阿拉伯语、波斯语屏幕显示菜单的制作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100207905A CN100383734C (zh) | 2006-04-25 | 2006-04-25 | 阿拉伯语、波斯语屏幕显示菜单的制作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1831765A CN1831765A (zh) | 2006-09-13 |
CN100383734C true CN100383734C (zh) | 2008-04-23 |
Family
ID=36994085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100207905A Expired - Fee Related CN100383734C (zh) | 2006-04-25 | 2006-04-25 | 阿拉伯语、波斯语屏幕显示菜单的制作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100383734C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101740003B (zh) * | 2008-11-13 | 2013-04-17 | 奇菱科技股份有限公司 | 屏幕显示系统 |
CN101814286B (zh) * | 2010-04-14 | 2012-06-06 | 深圳市茁壮网络股份有限公司 | 阿拉伯字符显示的修复方法及装置 |
CN101888505A (zh) * | 2010-06-13 | 2010-11-17 | 杭州海康威视数字技术股份有限公司 | 一种在屏显示字符的显示方法及装置 |
CN102508822A (zh) * | 2011-11-09 | 2012-06-20 | 北京赛科世纪数码科技有限公司 | 泰语显示方法、装置和系统 |
CN102542964B (zh) * | 2011-12-27 | 2016-06-22 | 深圳创维数字技术有限公司 | 一种在真空荧光显示器上显示字符的方法和装置 |
CN118133779B (zh) * | 2024-05-10 | 2024-07-23 | 深圳市爱都科技有限公司 | 蓝牙手表连字变体的特殊字符编码处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59173835A (ja) * | 1983-03-23 | 1984-10-02 | Nec Corp | 字形選択装置 |
US4670842A (en) * | 1983-05-17 | 1987-06-02 | International Business Machines Corporation | Method and system for the generation of Arabic script |
GB2184876A (en) * | 1985-06-25 | 1987-07-01 | John Robert Alfred Jones | Character joining - electronic - arabic script |
US5407355A (en) * | 1990-01-09 | 1995-04-18 | Majzub; Justin H. V. | Letter display |
US6704116B1 (en) * | 1999-08-19 | 2004-03-09 | Saad D. Abulhab | Method and font for representing Arabic characters, and articles utilizing them |
-
2006
- 2006-04-25 CN CNB2006100207905A patent/CN100383734C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59173835A (ja) * | 1983-03-23 | 1984-10-02 | Nec Corp | 字形選択装置 |
US4670842A (en) * | 1983-05-17 | 1987-06-02 | International Business Machines Corporation | Method and system for the generation of Arabic script |
GB2184876A (en) * | 1985-06-25 | 1987-07-01 | John Robert Alfred Jones | Character joining - electronic - arabic script |
US5407355A (en) * | 1990-01-09 | 1995-04-18 | Majzub; Justin H. V. | Letter display |
US6704116B1 (en) * | 1999-08-19 | 2004-03-09 | Saad D. Abulhab | Method and font for representing Arabic characters, and articles utilizing them |
Also Published As
Publication number | Publication date |
---|---|
CN1831765A (zh) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100383734C (zh) | 阿拉伯语、波斯语屏幕显示菜单的制作方法 | |
US5410306A (en) | Chinese phrasal stepcode | |
CN102184652A (zh) | 一种演示文字书写过程的数字化方法及软件系统 | |
US4677585A (en) | Method for obtaining common mode information and common field attribute information for a plurality of card images | |
US20070288240A1 (en) | User interface for text-to-phone conversion and method for correcting the same | |
CN105425976A (zh) | 一种输入生僻字的方法 | |
WO2011153918A1 (en) | Method and apparatus for inputting chinese characters | |
Lu | Computers and Chinese writing systems | |
JP2010262325A (ja) | 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体 | |
KR100989836B1 (ko) | 문자열 예측 입력방법 및 그 방법이 구현되는 전자장치 | |
US9563282B2 (en) | Brahmi phonemics based keyboard for providing textual inputs in indian languages | |
CN107506340B (zh) | 一种数据转换方法及系统 | |
CN107943322A (zh) | 一种用于汉字拼音输入法的键盘及一种汉字拼音输入法 | |
CN101231558A (zh) | 甲骨文拼音与部件拆分输入法 | |
KR940007932B1 (ko) | 표의문자 식별장치 및 처리방법 | |
Zattera | A new Transliteration Alphabet brings new Evidence of Word Structure and Multiple" languages" in the Voynich Manuscript. | |
JP3803253B2 (ja) | 漢字入力のための方法および装置 | |
CN107066111B (zh) | 替换式组字系统 | |
CN1353350A (zh) | 音形结合鼠标输入法 | |
Mudur | On the need for cultural representation in interactive systems | |
CN108491441B (zh) | 一种盲文信息统计系统 | |
CN105955501A (zh) | 基于人机交互的汉字信息流可视化方法 | |
JP4922030B2 (ja) | 文字列検索装置、方法及びプログラム | |
CN102622343B (zh) | 越南文和中文的词与短语4码互译系统 | |
Sickert | How Do You Stop a Computer From Being Rude? Assessing Formality in Machine Translation through Interpretability Methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080423 Termination date: 20180425 |
|
CF01 | Termination of patent right due to non-payment of annual fee |