我正在用 C++ 编写一个文本编写器,我将有一个短语字符串并为每个 char 值显示适当的位图字体。
目前,它适用于常规字符,但我得到了重音和其他字符(如 À、Á、Â、Ã 等)的奇怪值
我正在这样做:
int charToPrint = 'a';
//use this value to figure which bitmap font to display
位图字体确实有这些字符,但在这一行我没有得到我应该得到的值,例如:Ã 195 , Ç 199等等......
我尝试将项目的字符集从多字节更改为 Unicode,但我认为这对 char->int 转换没有任何作用......
如何使用字符进行此转换?
编辑:我使用的是 Visual Studio 2012、Windows 7,它是一个带有位图字体的 OpenGL 应用程序。我已经根据每个字符的char值映射了每个字符的位置/宽度/高度,因此字符a位于我的位图字体的位置 97(加上宽度)。
要绘制,我只需要根据字符代码计算位置。
我有一个要显示的短语字符串,我遍历每个字符,计算 charCode,然后调用我的绘图函数。
对于这些带有重音符号的字符,我得到的是负值,所以我的绘图函数没有做任何事情(例如,Ç 没有位置 -30)。我需要弄清楚如何正确获取这些值并发送到绘图函数。