包含此页的版本:
不含此页的版本:
高级文本生成器是一个文本渲染模块,它采用 Harfbuzz、ICU 和 FreeType 来提供全面的 Unicode 支持和文本整形功能。
使用高级文本生成器,您可以使用多种语言和脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表,例如从右到左 (RTL) 语言,如阿拉伯语和希伯来语。
要使用高级文本生成器,你必须使用支持要使用的语言的字体资源。例如,如果要使用阿拉伯语,则必须使用支持阿拉伯语的字体资产。高级文本生成器仅支持动态字体资源。在项目中使用高级文本生成器之前,必须将字体导入项目并从中创建动态字体资源。
要在 UI Builder 中使用高级文本生成器,请执行以下作:
VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息要在 USS 中使用高级文本生成器,请将-unity-text-generator自advanced.例如:
.labelText {
-unity-text-generator: advanced;
}
若要在 C# 脚本中使用高级文本生成器,请将TextGeneratorType自Advanced.例如:
textElement.style.unityTextGenerator = new StyleEnum<TextGeneratorType>(TextGeneratorType.Advanced);
本节介绍在处理双向 (BIDI) 文本时光标移动在输入字段中的行为方式。
Unity 目前遵循逻辑光标移动方法。这意味着光标根据文本段的方向在 BIDI 文本中移动。例如,在包含阿拉伯语和英语文本的句子中使用左箭头键,它会从右到左移动阿拉伯语,然后跳转到英语段中最左边的字符,并继续从左到右,直到到达段的末尾。
某些应用程序遵循Visual Cursor Movement方法。这意味着无论文本的方向如何,光标都会移动到下一个视觉字符,这有时会让用户感觉更直观。我们计划在未来的版本中将光标移动模式作为选项。
您可以使用“最佳拟合”为文本启用自动调整大小。“最佳拟合”功能允许您设置文本元素的最小和最大字体大小。文本元素根据内容和范围内的可用空间动态调整其字体大小。
Best Fit 还支持以下功能:
可以在 UI 生成器、USS 或 C# 脚本中启用自动调整大小。
在 USS 中,将-unity-text-auto-size属性设置为best fit具有最小和最大字体大小。例如:
.labelText {
-unity-text-generator: advanced;
-unity-text-auto-size: best-fit 5px 100px;
}
若要在 C# 脚本中启用自动调整大小,请使用TextAutoSizeMode财产。例如:
textElement.style.unityTextAutoSize = new StyleTextAutoSize(new TextAutoSize(TextAutoSizeMode.BestFit, minSize: 10, maxSize: 100));
高级文本生成器具有以下限制:
使用高级文本生成器时,您的项目会包含icudt73l具有大量内存占用的文件4.8MB.这将在未来的版本中得到改进。