因此,我有一个解析xml的实现,其中包括维基百科主页的位置和字符串。解析使用rapidxml完成,之后字符串由http://utfcpp.sourceforge.net/从UTF-8转换为UTF-32。然后在freetype中使用UTF-32代码:FreeType中的Unicode麻烦
unsigned long c = FT_Get_Char_Index(face,*p);
FT_Load_Glyph(face,c,FT_LOAD_RENDER);
其中* p是UTF-32字符代码。这个字形然后在OpenGL中渲染。
现在,我似乎无法获得流行字符的工作,也没有任何中文或日语或viet,我相信* p对应于正确的代码,我会感谢任何我可以得到的指针。
对于这些字体使用微软arial.ttf,从Arch linux package和我在字体查看程序中看到的,它应该包含我想要的字符。
谢谢您的建议!使用FT_Select_Charmap没有产生任何不同的结果,我猜测unicode是freetype的默认值? 是否有任何免费的字体包含我期待的角色,你可以推荐? – 2012-07-16 10:08:54
Re。字体,我会从这里开始:http://en.wikipedia.org/wiki/Unicode_typeface - 还有一件事要检查是在调用'FT_Get_Char_Index'之前断点并检查您传递的代码点。使用rapidxml或utfcpp可能会有一个错误... – Roddy 2012-07-16 10:27:39
Freetype的默认编码取决于您使用的字体以及其他一些内容。我建议明确指定编码。 – Roddy 2012-07-16 10:48:08