gpt4 book ai didi

opengl - 在 OpenGL 上使用 freetype 字体渲染非英语 unicode 文本时出现问题

转载 作者:行者123 更新时间:2023-12-04 20:17:16 33 4
gpt4 key购买 nike

我目前正在学习 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,并且该站点声称您可以使用英语以外的其他语言运行。

所以我试一试:

freetype::print(our_font, 320, 200, (unsigned short*)L"Active FreeType Text หกโด้กี่ดุ öáæé おはよ。- %7.2f", cnt1);

命名空间 freetype 的函数 print 的第 4 个参数是 *const unsigned short** 所以我对它进行了类型转换。我还在长字符的双引号字符串前面放了一个 L,并放了一些亚洲字符以供测试。

结果是所有英文文本都可以正常显示,但是所有泰文字符都变成了“[]B[]I[]5H[]8”。 [] 是方框。据我所知,这意味着该字体没有指定的语言,所以我尝试了其他字体,但所有其他泰语字体都给出了这些相同的方框。对于日文字体,它是相同的。所有框以及旁边的一些英文字符。子字符串 öáæé 被渲染得很好,没有任何问题。

我是不是忘记了什么?我们如何在这里显示非英语 Unicode 语言?

最佳答案

幸运的是,作者在他的网站上上传了他的教程的修改版本(在问题中指定)并且它使用 wchar_t(在原始版本中,作者使用 *const unsigned short** 作为打印函数中的参数),它允许非英语语言。

关于opengl - 在 OpenGL 上使用 freetype 字体渲染非英语 unicode 文本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2219952/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com