阿拉伯文排版规则 |
您所在的位置:网站首页 › 阿拉伯语的帅怎么写 › 阿拉伯文排版规则 |
阿拉伯语属阿非罗-亚细亚语系(闪含语系)闪语族。词一般由3个原生字母构成,可添加前缀,后缀,或使词的内部音位发生变化和插入其它音位构成新词。
阿拉伯共有28个字母,都是辅音字母,每个字母只代表一个辅音音素,每个音素只用一个字母表示。对应unicode:0x060C--0x06FE。
阿拉伯语共有8个元音,3个短元音,3个长元音和两个半元音,短元音是用加在辅音字母上面或下面的符号来表示。这些符号称为“动符”;长元音和软音是用动符和3个辅音字母来表示的。阿拉伯语发音符号共有12个(叠音符号不算在内)。普通书报上不加符号。
阿拉伯文字在伊斯兰教的影响下流传很广。波斯文,乌尔都文以及我国的新疆的维吾尔文等多种文字采用阿拉伯字母。阿拉伯文的字母没有大写和小写的区分,但有印刷体和书写体的区别,而且除去د ذ ر ز و五个字母以外,其他23个字母都可以和后面的字母连写,而且因其在词头,词中和词尾的位置不同,字形也有所变化。阿拉伯文字的书写方向和中文不同,它是自右向左横着写。因此,阿拉伯文的书籍和本子都是右开本的。
在换行的时候,一般的,我们需要判断一下是否是整个词,进行整个词的换行,而不能把词拆成两个部分。阿拉伯文里面的数字仍然采用从左往右的显示方式。
规则1。
阿拉伯文变形:
根据上面分法,分成first,last,middle,alone,并根据判断是否是词的前连(前面字符在集合1中),后连(后面字符在集合2中),中间(即前后连,前面字符在集合1中,后面字符在集合2中)或单独一个词,进行变形。
据分析,给出变形的数组:分别对应上面的情况。对于其它不在数组中的,其变形和自身相同。
const WORD Arbic_Position[][4]= // first, last, middle, alone { { 0xfe80, 0xfe80, 0xfe80, 0xfe80}, // 0x621 { 0xfe82, 0xfe81, 0xfe82, 0xfe81}, { 0xfe84, 0xfe83, 0xfe84, 0xfe83}, { 0xfe86, 0xfe85, 0xfe86, 0xfe85}, { 0xfe88, 0xfe87, 0xfe88, 0xfe87}, { 0xfe8a, 0xfe8b, 0xfe8c, 0xfe89}, { 0xfe8e, 0xfe8d, 0xfe8e, 0xfe8d}, { 0xfe90, 0xfe91, 0xfe92, 0xfe8f}, // 0x628 { 0xfe94, 0xfe93, 0xfe93, 0xfe93}, { 0xfe96, 0xfe97, 0xfe98, 0xfe95}, // 0x62A { 0xfe9a, 0xfe9b, 0xfe9c, 0xfe99}, { 0xfe9e, 0xfe9f, 0xfea0, 0xfe9d}, { 0xfea2, 0xfea3, 0xfea4, 0xfea1}, { 0xfea6, 0xfea7, 0xfea8, 0xfea5}, { 0xfeaa, 0xfea9, 0xfeaa, 0xfea9}, { 0xfeac, 0xfeab, 0xfeac, 0xfeab}, // 0x630 { 0xfeae, 0xfead, 0xfeae, 0xfead}, { 0xfeb0, 0xfeaf, 0xfeb0, 0xfeaf}, { 0xfeb2, 0xfeb3, 0xfeb4, 0xfeb1}, { 0xfeb6, 0xfeb7, 0xfeb8, 0xfeb5}, { 0xfeba, 0xfebb, 0xfebc, 0xfeb9}, { 0xfebe, 0xfebf, 0xfec0, 0xfebd}, { 0xfec2, 0xfec3, 0xfec4, 0xfec1}, { 0xfec6, 0xfec7, 0xfec8, 0xfec5}, // 0x638 { 0xfeca, 0xfecb, 0xfecc, 0xfec9}, { 0xfece, 0xfecf, 0xfed0, 0xfecd}, //0x63A { 0x63b, 0x63b, 0x63b, 0x63b}, { 0x63c, 0x63c, 0x63c, 0x63c}, { 0x63d, 0x63d, 0x63d, 0x63d}, { 0x63e, 0x63e, 0x63e, 0x63e}, { 0x63f, 0x63f, 0x63f, 0x63f}, { 0x640, 0x640, 0x640, 0x640}, // 0x640 { 0xfed2, 0xfed3, 0xfed4, 0xfed1}, { 0xfed6, 0xfed7, 0xfed8, 0xfed5}, { 0xfeda, 0xfedb, 0xfedc, 0xfed9}, { 0xfede, 0xfedf, 0xfee0, 0xfedd}, { 0xfee2, 0xfee3, 0xfee4, 0xfee1}, { 0xfee6, 0xfee7, 0xfee8, 0xfee5}, { 0xfeea, 0xfeeb, 0xfeec, 0xfee9}, { 0xfeee, 0xfeed, 0xfeee, 0xfeed}, // 0x648 { 0xfef0, 0xfeef, 0xfef0, 0xfeef}, {0xfef2, 0xfef3, 0xfef4, 0xfef1}, // 0x64A }; 判断是否是连接前面的,采用判断该字符前一个字符的判定方法,方法是,看前一个字符是否在集合set1中。如果在,则是有连接前面的。集合1如下: static U16 theSet1[23]={ 0x62c, 0x62d, 0x62e, 0x647, 0x639, 0x63a, 0x641, 0x642, 0x62b, 0x635, 0x636, 0x637, 0x643, 0x645, 0x646, 0x62a, 0x644, 0x628, 0x64a, 0x633, 0x634, 0x638, 0x626}; 判断是否是连接后面的,采用判断该字符后一个字符的判定方法,方法是,看后一个字符是否在集合set2中。如果在,则是有连接后面的。集合2如下: static U16 theSet2[35]={ 0x62c, 0x62d, 0x62e, 0x647, 0x639, 0x63a, 0x641, 0x642, 0x62b, 0x635, 0x636, 0x637, 0x643, 0x645, 0x646, 0x62a, 0x644, 0x628, 0x64a, 0x633, 0x634, 0x638, 0x626, 0x627, 0x623, 0x625, 0x622, 0x62f, 0x630, 0x631, 0x632, 0x648, 0x624, 0x629, 0x649}; 规则2。 阿拉伯文连字符规则: 连字符是以0x644开头,后面跟的是0x622,0x623,0x625,0x627,并根据情况取下面的字符数组0或1,如果0x644前一个字符是在集合1(同上面的集合1)中间,那么取数组1,否则取数组0。 数组如下: static U16 arabic_specs[][2]= { {0xFEF5,0xFEF6}, {0xFEF7,0xFEF8}, {0xFEF9,0xFEFA}, {0xFEFB,0xFEFC}, }; 例1: 0x064A, 0x0644, 0x0622。。。 0x064A 的后面一个字符 0x0644 在集合2中,根据编码规则1得出它是后连字符(last),故转换成: 0xFEF3. 而0x064A在集合1 中,故用 0xFEF6 替代 0x0644 0x0622 这两个编码。 例2: 0x0632, 0x0644, 0x0622。。。 0x0632 的后面一个字符 0x0644 在集合2中,根据编码规则1得出它是后连字符(last), 故转换成: 0xFEAF. 而 0x0632 不在集合1 中,故用 0xFEF5 替代 0x0644 0x0622 这两个编码。 建议大家配合 Ultrledit 软件理解该文档,将达到事半功倍的效果。 祝大家好运! 非常感谢 高金山先生 的指点!![]() ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |