mt2503 多国语言基础知识 1—阿拉伯语
时间:10-02
整理:3721RD
点击:
介绍阿拉伯语系的文字属于变形字,也就是说两个或者三个字符组合成另一个字符作为输出显示。比较特别的地方是组合后的字和并不是组合前几个
字型的总和,比如A+B=C,而C这个C并不是AB或者BA或者其其它的组合方式,而是一个新的字符,有其自己的Unicode值,其字型可能与字符A和B完全
不同。如(0xfedf)+(0xfe84)=(0xfef7).字符集TheArabiclettersbasedonISO8850-6:Unicode0x0621~0x06ffTheUnicodeArabicpresentationforms-
A:Unicode0xFB50~0xFDFBTheUnicodeArabicpresentationforms-B:Unicode0xFE70~0xFEFFPS:如果要支持阿拉伯语,那么字库中就要包含上述基本字
符集和Forms-B.如果要支持波斯语那么字库中要同时包含这三个字符集的字符。参考文件Arabicshapingengine.c经典问题Case1:同时打开波斯语和
阿拉伯语,阿拉伯语下有些菜单显示与只开阿拉伯语时显示的不一样Reason:首先要明确一点,阿拉伯语系的拼写都是使用字符集中的字符字符,而
在显示的时候会经过shaping将其转换成Forms-A或者Forms-B中的字符来进行输出显示。Shaping中存在一些变形规则(也就是两个或者三个字符组合
成另一个字符的规则),这些变形规则如果不同的语言有可能不同。比如阿拉伯语下A+B=A+B或者A+B=C,波斯语的规则可能就是A+B=D。由于两种语
言使用的基本字符集相同(也就是组合的字元相同),所以没办法区分开应该使用哪种语言的规则来显示,而波斯语的规则比阿拉伯语多,字符集也
比阿拉伯语大,所以在这两种语言同时打开的情况下我们选择了使用波斯语的规则来处理。也就是说有很多组合在阿拉伯语规则下不会做变形处理
,但是在波斯语规则下却会进行变形处理,这就导致了两者显示的不一致。波斯语和阿拉伯语同时打开时,阿拉伯语下这种显示问题无法避免。所以
如非必要,建议尽量不要同时打开这两种语言。这两种语言同时打开时编辑界面同样存在很多问题,可以参考阿拉伯语默罕默德显示不正确的例子。
字型的总和,比如A+B=C,而C这个C并不是AB或者BA或者其其它的组合方式,而是一个新的字符,有其自己的Unicode值,其字型可能与字符A和B完全
不同。如(0xfedf)+(0xfe84)=(0xfef7).字符集TheArabiclettersbasedonISO8850-6:Unicode0x0621~0x06ffTheUnicodeArabicpresentationforms-
A:Unicode0xFB50~0xFDFBTheUnicodeArabicpresentationforms-B:Unicode0xFE70~0xFEFFPS:如果要支持阿拉伯语,那么字库中就要包含上述基本字
符集和Forms-B.如果要支持波斯语那么字库中要同时包含这三个字符集的字符。参考文件Arabicshapingengine.c经典问题Case1:同时打开波斯语和
阿拉伯语,阿拉伯语下有些菜单显示与只开阿拉伯语时显示的不一样Reason:首先要明确一点,阿拉伯语系的拼写都是使用字符集中的字符字符,而
在显示的时候会经过shaping将其转换成Forms-A或者Forms-B中的字符来进行输出显示。Shaping中存在一些变形规则(也就是两个或者三个字符组合
成另一个字符的规则),这些变形规则如果不同的语言有可能不同。比如阿拉伯语下A+B=A+B或者A+B=C,波斯语的规则可能就是A+B=D。由于两种语
言使用的基本字符集相同(也就是组合的字元相同),所以没办法区分开应该使用哪种语言的规则来显示,而波斯语的规则比阿拉伯语多,字符集也
比阿拉伯语大,所以在这两种语言同时打开的情况下我们选择了使用波斯语的规则来处理。也就是说有很多组合在阿拉伯语规则下不会做变形处理
,但是在波斯语规则下却会进行变形处理,这就导致了两者显示的不一致。波斯语和阿拉伯语同时打开时,阿拉伯语下这种显示问题无法避免。所以
如非必要,建议尽量不要同时打开这两种语言。这两种语言同时打开时编辑界面同样存在很多问题,可以参考阿拉伯语默罕默德显示不正确的例子。
谢谢分享
谢谢分享
多謝分享...
66666