Как заставить `Label :: createWithTTF` поддерживать языки RTL, такие как арабский

Во-первых, я использую Cocos2d-x v3.6, Visual Studio 2013 использует (UTF-8 без опции подписи) и C++,

Когда используешь Label::createWithTTF Способ написания арабского текста, выглядит следующим образом.

Предыдущий арабский текст не был написан правильно, он должен был выглядеть так السلام عليكمТакже предполагается, что арабский язык относится к кодировке Unicode.

Мой код:

auto label = Label::createWithTTF("السلام عليكم", "fonts/arial.ttf", 34);

Есть ли способ решить эту проблему?


Редактировать:

Я применил то, что в этой ссылке [ Знак справа налево ] и результатом стало исчезновение арабского текста, как на следующей картинке.

Код:

auto label = Label::createWithTTF("\u200fالسلام عليكم", "fonts/arial.ttf", 34);
label->setAlignment(TextHAlignment::RIGHT);

Проблема все еще существует.

1

Решение

Попробуйте использовать Label :: createWithSystemFont вместо Label :: createWithTTF.
Это решило мою проблему с RTL.

1

Другие решения