AWTK是基于C语言开发的跨平台GUI框架。AWTK使用经验系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何播放视频或摄像头画面?如何播放序列帧动画?这些都会在系列文章进行解答。
本篇文章将简单介绍阿拉伯文本相关整形与排序规则,接着介绍在AWStudio设置阿拉伯语言翻译的步骤。
阿拉伯文本整形规则
图 1 字母位置变形(Shaper)
2、字母会受到前后字母影响而变形,如下图两个字符会结合形成第三个字符:
图 2 连写变形(Ligature)
3、元音符号和字母会有组合的特性,如下图,一个字母与一个元音符号会有位移结合的变形:
图 3 元音符号变形(Diacritics)
4、有时候为了美观的视觉效果会将字母延长凑成一整行的长度,这种是字母延长变形:
图 4 字母延长变形(Kashida)
5、字母之间插入连接符号会影响变形:
图 5 字母插入连接符号变形(Tatwell)
阿拉伯文本双向排序
Unicode不同类型字符的方向属性
Unicode字符可以分为强字符、弱字符和中性字符,不同类型的字符具有不同的方向性特征:
1、强字符:英文、汉字、阿拉伯字母等,它们方向性都是确定的,比如英文属于从左到右的LTR字符,阿拉伯属于从右到左的RTL字符,它们可能影响前后字符的方向性;
2、弱字符:数字和数字相关的符号,它们方向性是确定的,但是对前后字符不会产生影响;
3、中性字符:大部分标点符号和空格,它们方向是不确定的,由上下文bidi属性决定其方向。
AWTK支持阿拉伯文本的哪些规则
如何在AWTK使用阿拉伯语言
下载阿拉伯语言字库
AWStudio新建工程的默认字库是不支持显示阿拉伯文本的,因此需要先找到支持阿拉伯文本字库文件。字库文件可以在相关字体下载网站搜索并下载,或者从awtk资源目录拷贝自带的阿拉伯语言字库文件:
图 6 使用AWStudio导入字库文件
在AWStudio设置阿拉伯语言翻译文本
最后在AWStudio给控件text属性设置原始文本,并且开启翻译选项,之后该控件就会根据程序当前语言翻译进行翻译。
阿拉伯语言方向性问题
图 9 bidi属性自动排序阿拉伯文本
ZLG官方旗舰店
广州致远电子
官方企业店
ZLG旗舰店
ZLG京东自营
旗舰店
更多往期文章,请点击“ 阅读原文 ”。