我正在创建自己的字体渲染系统,并使用位图字体。
每个字体都有自己的xml文件,其中包含代表ALT+???
的整数
因此,如果我创建一个字符串l("abc");
,它将显示为97 98 99
。
我用这段代码得到了整数代码:
int c = (unsigned char) text[i];
SubTexture* t = font.getLetter(to_wstring(c).c_str());
这一切都很顺利,直到我使用特殊的ALT+???
代码为例:
l("♂♀♪♫☼");
它不会给我11 12 13 14 15
但它会返回其他内容,具体取决于文件中使用的编码。我尝试使用所有不同的编码格式,但没有返回我正在寻找的整数。我希望有人可以帮我解决这个问题。也许有更好的方法然后将其转换为unsigned char
?
编辑:也许我应该注意我使用Visual Studio 2012并将'general-> Character Set'设置为:'使用Unicode字符集'