RTLTMPro

前置依赖

1.TextMeshPro v3.0.6
2.Unity v2022.03

阿拉伯语

书写特点

1.书写顺序从右往左
2.字母无大小写之分,有印刷体、手写体和艺术体之别
3.字母有单写与连写之分. 当字母位于单词的中间或末尾时, 形成连续字母; 当字母位于单词开头时, 形成单独的字母

关键词

1.长辅音 (Shadda)
2.变音符 (Fathan, Dammatan, Kasratan, Fatha, Damma, Kasra, Shadda, Sukun)

渲染流程

插件功能

  • 倒序 (阿语字符从后往前遍历,非阿语进栈,直至遇到下个阿语字符后再出栈)
  • 叠音字符
  • 连写字符
  • 富文本(粗体,字体大小,颜色等等)
  • UI
    • 文本输入框
    • 下拉框
    • 自适应文本框Size
  • 零宽度断字符,阻止会发生连字的字符间的连字效果, 可以通过快捷键Ctrl+Shift+2快速插入该字符.
  • 多行文本
  • 英式、波斯、阿拉伯文数字
  • 其他相关选项
    • Farsi选中后,数字将转为波斯语数字,取消选中,数字转为阿拉伯数字
      地区\西方阿拉伯数字0123456789
      阿拉伯国家(中东、标准阿拉伯文数字)٠١٢٣٤٥٦٧٨٩
      伊朗、阿富汗、巴基斯坦、及印度部分地区(东阿拉伯文数字)۰۱۲۳۴۵۶۷۸۹
    • Preserve Numbers选中后,数字将不被转换
    • Force Fix 插件默认不会处理以英语字母开头的文本,选中后,会强制处理这类文本,需注意的是,开启后,多行英语文本会有问题
    • Fix Tags 选中后,插件将尝试处理富文本Tags

扩展功能

UI镜像

语言切换后, UI显示也同步从右往左
1.给游戏UI使用时, 可设置白名单过滤, 比如特效不需镜像等等
2.动态加载的组件, 可能影响文本或图片UI的, UI镜像同样需考虑
3.根节点同文本、图片组件不要同时存在, 以防重复镜像问题

参考

1.阿拉伯数字
2.阿拉伯文数字
3.阿拉伯字母
4.阿拉伯字母变形表
5.RTLTMPro