Единство — Отображение текста на бирманском языке (Zwagyi)

#unity3d #text #unicode

Вопрос:

В настоящее время мы разрабатываем игру в Unity (2019.4.28f1). В эту игру играют на международном уровне. Мы хотели бы добавить поддержку языков, отличных от распространенных языков латинской письменности. В настоящее время мы пытаемся реализовать поддержку бирманцев, но не добиваемся большого прогресса.

Поиск шрифтов для отображения бирманского языка не является большой проблемой. Как вы можете видеть на рисунке ниже, нам удается отобразить все символы, которые должны отображаться.

Правильный дисплей (но неправильный порядок)

Однако большая проблема здесь заключается в том, что отображаемый порядок символов не совпадает с тем, каким он должен быть (желаемый результат см. На рисунке ниже).

Правильный порядок символов

Мы перепробовали несколько шрифтов, использующих кодировку Unicode или Zwagyi, но ни один из них, похоже, не отображает символы в правильном порядке. В настоящее время мы используем шрифт падук отсюда, который предположительно закодирован в Юникоде. Затем в Unity мы применили к этому шрифту следующие настройки:

Текущие настройки Unity

Так что, если кто-то из вас знает об этом больше и может поделиться со мной некоторой информацией, я был бы вам очень признателен! Спасибо.

Ответ №1:

Мы уже нашли решение для этого! Перед настройкой текста текстового компонента преобразуйте коды Юникода в Zwagyi, и он отобразит текст в правильном порядке!

Все заслуги принадлежат этому парню, который приложил усилия, чтобы создать инструмент для этих случаев использования!

Конечно, вам все еще нужен шрифт (Unicode), который поддерживает эти (бирманские) символы.

Пример:

 Text textComponent = GetComponent<Text>();
textComponent.text = mmfont.Net.Converter.Uni2ZG(yourUnicodeText);