如何在Unity项目中处理乌尔都语字符?

问题描述 投票:0回答:1

在我的 Unity 项目中,我需要在 Text 或 TextMeshPro (TMP) 组件中使用乌尔都语显示文本,

首先,我尝试搜索包含这些字形的字体文件,到目前为止我能找到的只是“Noto Nastaliq Urdu”。

但不幸的是它仍然无法渲染正确的字形。

在这里,我展示了一个场景,首先我从谷歌翻译会话中获取乌尔都语文本,其中我询问了“设置”一词的等效内容:---

然后我在 Unity 编辑器中选择了一个 UI Text 对象,并在 Inspector 面板中(我已经正确设置了 Font 属性)将来自 Google Translate 的值粘贴到了 Text 属性中:

但正如您所看到的,检查器面板和渲染中显示的粘贴文本看起来与 Google 翻译上显示的不同。

有谁知道如何解决这个问题吗?也许我使用了错误的字体文件?也许这与字体连字有关?如何正确支持我尝试显示的文本类型?

c# unity-game-engine unityscript
1个回答
0
投票

从你的故事中我可以看出,一切都很顺利。不存在任何技术错误。这就是阿拉伯语言应该如何工作的方式=)它们是从右到左(RTL)阅读的。您可以在谷歌翻译中观察到该文本具有反向字符索引。到目前为止,当您复制它时,您已经反转了剪贴板缓冲区中的文本。如果仔细查看文本,您会发现编辑器中的字符串是 Google 翻译中的反向字符串。要正确显示此文本,您应该有一个可以从右到左 (RTL) 显示字符的 UI 组件。在 TextMeshPro 中,当所有文本组件显示阿拉伯文本时,您必须启用 RTL 选项。

1

© www.soinside.com 2019 - 2024. All rights reserved.