我目前正在关注NeHe教程课程43(http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=43)。该代码仅适用于英文文本,不适用于Unicoded语言。幸运的是,我按照NeHe第43课到http://www.cs.northwestern.edu/~sco590/fonts_tutorial.html的链接,找到了另一个相同的教程示例,只有一个区别:它使用w_char,并且该网站声称您可以使用英语以外的语言运行。使用OpenGL上的freetype字体呈现非英文unicode文字时出现的问题
所以我给它一个尝试:
freetype::print(our_font, 320, 200, (unsigned short*)L"Active FreeType Text หกโด้กี่ดุ öáæé おはよ。- %7.2f", cnt1);
功能打印命名空间的FreeType的有第四个参数为* const的无符号短**,所以我类型强制转换它。我还在长双字符的双引号字符串前放了一个L,并放入了一些亚洲字符用于测试目的。
结果是所有英文文本都可以正常显示,但所有的泰文字符都变成了“[] B [] I [] 5H [] 8”。 []是方框。据我所知,这意味着字体没有指定的语言,所以我尝试了其他字体,但所有其他的泰国字体都给出了这些相同的方框。对于日文字体,它是一样的。所有的盒子旁边还有一些英文字符。子字符öáæé呈现得很好,没有任何问题。
我在这里忘了什么吗?我们如何在这里显示非英文的Unicode语言?
你能链接你的NeHe链接吗? – genpfault 2010-02-08 14:32:35
按要求链接。 – Karl 2010-02-09 06:44:24