该插件为“TextMeshPro”Unity 插件添加了从右到左的语言支持。您的项目中需要有TextMeshPro
插件。您可以通过Package Manager
安装 TMPro。
目前支持阿拉伯语、波斯语和希伯来语。如果您发现其中一种语言存在问题或想要支持另一种 RTL 语言,请提出问题。
您不需要转换、复制和粘贴文本。开始书写,文本将立即转换。
所有Text Mesh Pro
的标签均可在RTL Text Mesh Pro
中使用
支持实时输入字段。
是的,这个插件对于多行 RTL 文本没有问题。
完全支持自动字体大小。
支持阿拉伯语 tashkeel。
您可以使用 Ctrl+Shift+2 热键插入零宽度无连接符字符。
您的项目中需要有
TextMeshPro
插件。您可以通过Package Manager
安装 TMPro。不要从 Asset Store 安装 Text Mesh Pro。
从发布部分下载最新的 unitypackage 文件,然后从 Unity 中的“资产 -> 导入包 -> 自定义包...”菜单将其导入到您的项目中。
hk1ll3r 在 OpenUPM 上维护此存储库的包管理器版本。
在“项目设置”窗口中,将 OpenUPM 添加为范围注册表,或者如果您已添加它,请将新范围添加到其中。
然后在“包管理器”窗口中,将范围更改为“我的注册表” 。选择“RTL Text Mesh Pro”软件包并按“安装” 。
示例场景和演示资源(字体、着色器等)作为 .unitypackage 文件包含在包中。您需要将它们导入到您的资产文件夹中才能使用它们。从项目窗口导航到包文件夹,然后双击“RTLTMPRo-demo-resources”文件将这些资源导入到您的项目中。
您需要从字体文件创建字体资源才能将它们与 TextMeshPro 一起使用。为了方便起见,以下是基本说明。您可以查看 TextMeshPro 官方文档以了解更多信息。
打开Window/TextMeshPro/Font Asset Creator
窗口。
Font Source
字段中指定您的字体(您的字体必须包含您的字符)Character Set
设置为Unicode Range
。Assets/RTLTMPro/Ranges
文件夹下的文件中的字符范围复制到Character Sequence (Hex)
中。ArabicLetters.txt
文件中ArabicDigits.txt
文件中ArabicTashkeel.txt
文件中。ArabicAll.txt
中。通常您会使用它来创建字体资源。HebrewLetters.txt
中。Generate Font Atlas
按钮并等待它生成图集。Save TextMeshPro Font Asset
并保存字体资源。 GameObject/UI/* - RTLTMP
菜单创建 RTL UI 元素。 (或者您可以使用RTL Text Mesh Pro
替换Text Mesh Pro UGUI
组件)RTL Text Mesh Pro
组件中分配字体资源Font Asset
属性RTL TEXT INPUT BOX
部分中输入文本。选中后,英语数字将转换为波斯语数字。未选中时,英文数字将转换为阿拉伯数字。
选中后,数字将不会被转换。
RTL Text Mesh Pro 不修复以英文字符开头的文本。选中此复选框会强制 RTL TextMeshPro 修复文本,即使它以英文字符开头。多行英文文本在已检查ForceFix
的组件上会出现问题。
选中后,RTL Text Mesh Pro 将尝试修复富文本标签。
TextMeshProUGUI
的text
属性。但text
属性未定义为virtual
。您需要手动将属性设为虚拟。TMP_Text.cs
RTLTextMeshPro.cs
并取消注释顶行//#define RTL_OVERRIDE
欢迎所有贡献。确保遵循项目的代码风格。我们积极监控拉取请求。
接触: