首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#对字符串执行文本呈现。

c#对字符串执行文本呈现。
EN

Stack Overflow用户
提问于 2020-04-12 10:03:16
回答 2查看 172关注 0票数 2

首先,请看文本渲染文章。

文本呈现是将字符串转换为用户可读格式的过程。

现在是2020年了,但是统一并不支持RTL复杂的脚本语言。所以我在寻找将文本渲染成最终结果的方法。显然,渲染文本要比编写更高的层次。让我举一个例子:

U+0633 =>س

U+0633 U+0633 =>سس(原始字符串)

您可以看到有两个相同的字符,但如果您键入他们的窗口,他们呈现不同的形状。实际呈现的字符是:

U+FEB3 U+FEB2 =>ﺳﺲ(呈现字符串)

正如您所看到的,这两个字符代码都与它们的类型不同(如果精确地看,它们实际上是不同的字符),但是您看到的结果是相同的,所以在中间有一个API可以正确地呈现文本。根据Microsoft 文本渲染文章,文本通常以原始格式存储,并在显示时呈现。

问题:在C# (.Net框架)中有一种简单的方法将原始字符串转换成呈现的字符串吗?

示例:是否有将"U+0633 U+0633“转换为"U+FEB3 U+FEB2”的函数?这可能就像"Uniscribe“或”DirectWrite“所做的那样,,我需要将我输入的内容转换为我所看到的!

P.S.:

我知道有一些联合资产能做到这一点。但是他们写了许多年来所有系统都可用的东西,而且它们并不是完整和健全的。我喜欢用操作系统渲染,它是完整的和健全的。

我想如果这么简单的话,Unity就会使用它。因此,如果没有直线,请简单地说,没有这样的事情。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-04-12 17:40:44

对于RTL语言,您可以使用RTL文本网格Pro

通过这个插件,您可以在编辑器中显示您的波斯语、阿拉伯语或任何RTL语言,或者直接从脚本中传递一个变量。

票数 1
EN

Stack Overflow用户

发布于 2022-10-31 14:11:56

我为编辑器创建了一个免费的包。也许能帮上忙。您可以翻转文本RTL,然后在任何地方复制和粘贴它,或者可以使用函数SwitchRTL(“文本翻转”);从运行时脚本中,只要包含运行时脚本,就可以在自己的脚本中使用它。

链接到下面

https://assetstore.unity.com/packages/tools/utilities/right2left-232988

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61169696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档