我用你提供的这几个文件
CEGUIFont.cpp,CEGUIFont.h,CEGUIFont_xmlHandler.cpp,CEGUITexture.h覆盖掉原来的,编译,把动态库copy到demo运行目录,我在demo中添加了一个函数
int ASCII2UTF8(char *szAnsi, char *szUtf8)
{
wchar_t *szUnicode = NULL;
int iLengthUnicode = 0;
iLengthUnicode = MultiByteToWideChar(CP_ACP, 0, szAnsi, (int)strlen(szAnsi), NULL, 0);
szUnicode = new wchar_t[ iLengthUnicode ];
memset(szUnicode, 0, sizeof(wchar_t)*(iLengthUnicode));
MultiByteToWideChar(CP_ACP, 0, szAnsi, (int)strlen(szAnsi), szUnicode, iLengthUnicode);
char *szUtf8String = NULL;
int iLengthAnsiString = 0;
iLengthAnsiString = WideCharToMultiByte(CP_UTF8, 0, szUnicode, iLengthUnicode, NULL, 0, NULL, NULL);
szUtf8String = new char[ iLengthAnsiString];
memset(szUtf8String, 0, sizeof(char)*(iLengthAnsiString));
WideCharToMultiByte(CP_UTF8, 0, szUnicode, iLengthUnicode, szUtf8String, iLengthAnsiString, NULL, NULL);
if(szUtf8 )
{
memcpy(szUtf8, szUtf8String, (iLengthAnsiString));
}
if(szUnicode) {delete[] szUnicode; szUnicode = NULL;}
if(szUtf8String) {delete[] szUtf8String; szUtf8String = NULL;}
return iLengthAnsiString;
}
用它转成utf,但运行出来显示什么也没有.我的cegui版本是cegui_mk-0.4.0-deps-vc71-xerces.zip。
另外我看了官网提供的解决方案
http://www.cegui.org.uk/phpBB2/viewtopic.php?t=1066,提示loadscheme时间的异常:defineFontGlyphs_impl - operation requires a texture larger than the supported maximum。 我准备了ttf字体文件