在Unigine中是支持中文显示的。主要做法内容如下:
1)将中文字体放入data目录下,任意位置都可以,格式必须是ttf .
2) 调用Unigine::Gui::get()->setFont("你刚才使用的字体名字");
之后类似下面的代码做给演示
Unigine::Gui::get()->setFont("ZCOOLXiaoWei-Regular.ttf");
WidgetButtonPtr butRemoveAll = WidgetButton::create(Gui::get());
butRemoveAll->arrange();
butRemoveAll->setText(" 世界。你好 ");
butRemoveAll->setPosition(200, 50);
butRemoveAll->release();
//butRemoveAll->setCallback0(Gui::CLICKED, MakeCallback(this, &AppWorldLogic::onButtonRemoveClicked));
Gui::get()->addChild(butRemoveAll->getWidget(), Gui::ALIGN_OVERLAP | Gui::ALIGN_FIXED);
3)最后说一下一个大坑。这个文件的编码格式必须是utf8 -without BOM
这个可以在你的VS编辑器中或其余文本编辑器中确定。
Unicode , UTF8 with BOM , GB2312什么的,都是不行的。
具体原因不确定,可能是内部使用解析TTF的字体库FreeType什么的问题?
或者是unicode字符转换的内部BUG问题?