日记大全

日记大全 > 句子大全

阿拉伯文(Arabic)书写规则

句子大全 2017-03-14 01:08:20
相关推荐

阿拉伯文是用来书写阿拉伯语,波斯语,旁遮普语,乌尔都语等语言的文字,主要分布于南亚,西亚,北非。如要了解更多,推荐先看下:浅析阿拉伯语,阿拉伯字母,阿拉伯符号。

使用人口:7亿+

难度系数: ****

一、编码

若无特指,建议使用 Unicode 编码,因为它包含的字符多,便于扩展。

Unicode编码范围:

0600-06FF #阿拉伯文 (Arabic)

0750-077F #阿拉伯文补充 (Arabic Supplement)

FB50-FDFF #阿拉伯表達形式A (Arabic Presentation Form-A)

说明:这三段编码几乎涵盖了所有阿拉伯文,使用时并非都需要。例如 阿拉伯语,主要字母:0621-063A, 0640-064A,再配合数字,符号,标记等就可以了。

若要进一步支持其它语言,推荐文档:Unicode xx CodeCharts.pdf 。

二、书写规则

阿拉伯文 是 从右往左 书写(或显示),难点: 连写组合。如下图示:

说明:

Line1: 存储或传递信息 (左往右)

Line2: 编排后信息 (右往左)

Line3: 连写变形后信息。(右往左)

1、连写变形

它存在 4 种连写形态:前连(init),后连(fina),中连(medi),独立(isol)。

解决方法: 建表,查表

推荐文档: UnicodeStandard-12.0.pdf

由于阿拉伯文是右往左书写,故可理解为:

Xn:非连写形态(isol),前后字母皆为非连接符。

Xr:右连形态(fina),前一个字母为连接符。

Xl:左连形态(init),后一个字母为连接符。

Xm:中连形态(medi),前后字母皆为连接符。

注意: 不包括叠加标记(mark)哦。

建立连写映射表

说明:并不是所有字母都存在 4 种形态,如下图示:

说明: 百度下,也许能找到现成的表格, 就算万一找不到,也可自建表格。用 Fontcreator 软件,打开对应的矢量字体文件,如下图示:

说明:F606,即为 067C 的后连(fina)形态。另外,有些字符的连写形态,没有映射编码,则需要自定义编码,然后生成点阵信息,再建立映射关系。如下图示:

2. 连写合成

a、字母连写

说明:0644 与 0623 连续出现,且 0644 的前一个字母是连接符,则显示FEF8 即可.

b、标记连写

说明: 标记连写,间接会拔高字库的整体高度。

c、混合连写 (字母+标记)

说明:不同字体,处理方式(或效果)不一。

3、叠加处理

由于阿拉伯文是右往左书写,其标记叠加(x_offset) 信息不一样。

说明:DWidth = 0, x_offset >= 0,这样就能很好的实现右叠加。

4、数字

阿拉伯文数字分2类:Arabic-Indic digitsEastern Arabic-Indic digits。它们分别应用于不同区域(或语言)

另外,特殊情况下,有些语言,还需更换形态。如下图示:

三、模拟显示

总结:

1. 建表(颇费周折)。

2. 建立连写规则。

3. 验证修正。

4. 难点:断词,混排。

参考文献:

1. Unicode 12.1.CodeCharts.pdf

2. UnicodeStandard-12.0.pdf

若是喜欢,就关注我吧!!!

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新