如何让`Label :: createWithTTF`支持RTL语言,如阿拉伯语

时间:2015-06-14 23:54:36

标签: c++ cocos2d-x cocos2d-x-win32 arabic-support

首先,我使用Cocos2d-x v3.6Visual Studio 2013使用(没有签名选项的UTF-8)和C++

使用Label::createWithTTF方法编写阿拉伯语文本时,如下所示。

以前的阿拉伯语文本没有正确编写,它应该看起来像السلام عليكم,它也认为阿拉伯语属于Unicode编码。

我的代码:

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

有什么方法可以解决这个问题吗?

修改

我已应用此链接[Right-to-left mark ]中的内容,结果是阿拉伯文字消失,如下图所示。

代码:

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

问题仍然存在。

1 个答案:

答案 0 :(得分:1)

尝试使用Label :: createWithSystemFont而不是Label :: createWithTTF。
这解决了我的RTL问题。