我目前正在關注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