阿拉伯語系在文字處理上是我目前所知道最複雜的。阿拉伯文一些獨有的特性,導致其文字儲存時的編碼或在記憶體的原始 Unicode characters 序列,跟最後螢幕上看到的有很大的差異。
兩者最大的差異有:
阿拉伯文字,從記憶體中原始 Unicode 順序(memory representation in logical order),到最後螢幕呈現的結果(glyphs arrangement in visual order),中間的整個處理流程叫作造形(shaping),一般是顯示時由 rendering engine 處理的。
Arabic Shaping 可以區分成下列五部分:
- 書寫連接(Arabic Cursive Joining)
- 阿拉伯文只有書寫體(沒有印刷體或標準體),即使是印刷在紙上,或顯示在電腦上,都得考慮草寫連接問題
- 連接時,每個字元會因兩旁字元不同,而有不同形狀(glyphs),以應付不連,右連,左連,双連等情況
- 形狀重塑(Arabic Ligatures)
- 除了連接需求外,一些連續的特定兩個字元,會結合(ligature)成另一種形狀(glyph)
- 記號標注(Combining Marks)
- 字序重排(Reordering)
- 鏡像矯正(Mirroring)
- 針對大於小於及括號等因左右方向不同而有不同意義的字元作修正
前三者要依序處理。字序重排及鏡像矯正可以最先處理或最後處理,但會因先後處理不同會影響到前三項處理的細節。完整的字序重排及鏡像矯正說明可以參閱 UAX #9: Unicode Bidirectional Algorithm。
網路上可以找到的 source code 如下:
其中, Android 版是 CE 版的改寫,但這兩支程式都有個問題,就是沒考慮到 Combining Marks ,遇到 Transparent Joining Types 的字元時,就會出錯,這很容易遇到。第三支程式應該比較完整,但它太龐雜了,有耐心的話可以慢慢啃
。建議直接參考 Unicode6.1.0/ch08.pdf 的 8.2 Arabic 這個章節,針對會遇到的部份,自己重寫比較直接。
如果要處理的文字只有阿拉伯語(不含其他阿拉伯語系的文字,例如波斯、埃及等),那只要處理 Arabic Block 中,也有在 ISO/IEC 8859-6 列出的部份。對應的 glyphs 都可以在 Arabic Presentation Forms-B 找到。
要完整處理整個阿拉伯語系,那勢必得直接採用下列資料:
其他值得參考的資料如下:
转自:http://york.wikidot.com/arabic-shaping
分享到:
相关推荐
阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法阿拉伯语输入法
在android中,有时候会被要求讲阿拉伯数字转换为中文数字,例如书籍的页码。这里特地优化了转换过程
Android中数字转中文,金额转大写源码,支持口语化转换。
这项研究的目的是使中学生对阿拉伯语作为L1的学术词汇知识有更深入的了解。 因此,代表以色列不同阿拉伯群体的1197名中学的阿拉伯语母语学生参加了这项研究。 在研究的第一阶段,开发了基于语料库的阿拉伯学术词汇表...
这项研究的目的是评估说阿拉伯语的能力,并确定学生中提高的英语口语水平。 这项研究是一项定量案例研究,使用了来自调查工具和焦点小组访谈的数据。 焦点小组由21条学习裤组成。 学习问题的重点是他们参加了以学生...
阿拉伯语模拟键盘输入法是一个可以使用鼠标快速输入阿拉伯语的输入法软件。本软件小巧方便,使用简单,绿色免安装。需要的朋友们可以下载试试吧!
这项研究报告说,通过在课堂上正确有效地进行基于课堂的评估,可以改善阿拉伯语的教与学。 本研究是使用定性方法进行的案例研究。 数据是通过采访和三名初中阿拉伯语教师的文档分析获得的,他们也是国家级课堂评估...
在Android源码中增加阿拉伯键盘选项
阿拉伯语输入法安装程序 阿拉伯语 输入法 小语种 安装程序
Persian Reshape with Typeface TextView 允许您直接在 XML 中指定自定义字体,并避免使用自动 Reshaping for andriod 2.3 及以下的字体创建样板代码(感谢 )。 #截屏 #快速开始 步骤 1 - 添加 PersianTextView ...
歌木斯智能阿拉伯语输入法是一款歌木斯网研发的免费阿拉伯语输入法软件,有如下特点: 1.输入法具有联想功能,根据用户输入的内容,对阿拉伯语词语进行联想提示,用户可以选择符合要求的候选词;大大节约输入时间;...
本研究关注具有辅音元音-辅音元音-辅音元音(CVCVCV)结构的现代标准阿拉伯语单词中的短元音,以及辅音元音-辅音元音(CVVC)中的长元音。 尽管在语言研究之间存在确切的阿拉伯语元音数量争议,但这项研究仍认为...
中文阿拉伯文词典.exe this program is a dictionary from chinese to arabic note:this program need .net platform. becouse the size of the .net platform is big so i con not upload it
本文分析了阿拉伯语中颜色术语(绿色)的语义结构,以确定其在含义和原型方面是否发生了变化,并确定了导致其语义变化的因素。 当前的研究比较和对比了前现代文本和现代文本中(绿色)的多义性。 为了探索单词的含义...
阿拉伯语语法包
本文利用MATLAB建立了一个自动阿拉伯语语音识别系统,并从19位阿拉伯语母语使用者中记录了24个阿拉伯语单词Consonant-Vowel Consonant-Vowel Consonant-Vowel(CVCVCV),每个说话者说出同一单词3次(共1368个单词...
阿拉伯语翻译通是一个阿拉伯语翻译和阿拉伯语学习的综合性工具。主要功能包括阿拉伯语汉语英语文本翻译和语音识别(ASR)翻译功能,还有基础阿拉伯语入门学习、分类主题词汇学习等学习功能。 阿拉伯语汉语双语主题...
Windows 可用的阿拉伯语输入法。给学习阿拉伯语的初学者用非常适合。
在英语中,/ t /是一个抽吸的牙槽,但是在阿拉伯语中被认为是非抽吸的牙槽。 至于/ r /,它总是用阿拉伯语发音,但有时用英式英语删除。 此外,/?/在阿拉伯语中作为辅音存在,但在英语中为替代发音。