c# выполнить рендеринг текста на строку - PullRequest
2 голосов
/ 12 апреля 2020

Во-первых, пожалуйста, посмотрите Рендеринг текста статья.

Рендеринг текста - это процесс преобразования строки в формат, который читается пользователем.

Сейчас 2020, и все же Unity не поддерживает сложные языки сценариев RTL. поэтому я ищу визуализации текста в конечный результат. очевидно, рендеринг текста выполняется на более высоких уровнях, чем написание. позвольте мне показать пример:

U + 0633 => س
U + 0633 U + 0633 => سس (необработанная строка)

вы можете видеть, что есть два одинаковых символа, но если вы введете их в windows, они будут отображаться в разных формах. фактические визуализированные символы:

U + FEB3 U + FEB2 => ﺳﺲ (отображаемая строка)

, поскольку вы можете видеть, что эти два кода символов оба отличаются от того, что они были напечатаны (если вы посмотрите точно, они на самом деле разные символы), но результаты, которые вы видите, одинаковы, так что в середине есть API, который правильно отображает текст. согласно статье Microsoft Text Rendering , обычно текст сохраняется в необработанном формате и отображается при отображении.

Вопрос: существует ли простой способ в C# ( . Net Framework) для преобразования необработанной строки в отображаемую строку?
пример: есть ли функция для преобразования "U + 0633 U + 0633" в "U + FEB3 U + FEB2"? это, вероятно, похоже на то, что делают "Uniscribe" или DirectWrite ", Мне нужно преобразовать то, что я печатаю, в то, что я вижу !!!

PS:
1 - Я знаю некоторые ресурсы Unity, которые делают это, но они написали то, что доступно во всех системах в течение многих лет, и они не являются полными и исправными. Мне нравится делать это с помощью средства визуализации ОС, которое является полным и надежным.
2- Я полагаю, что если это было так просто, разработчики Unity использовали бы его, поэтому, если нет прямого пути, просто скажите, что такого нет.
Спасибо!

1 Ответ

1 голос
/ 12 апреля 2020

Для языков RTL вы можете использовать RTL Text Me sh Pro . С помощью этого плагина вы можете показать свой персидский, арабский c или любой язык RTL в редакторе или напрямую передав переменную из скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...