Je suis actuellement en train de suivre la leçon tutoriel NeHe 43 (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=43). Le code fonctionne de manière satisfaisante uniquement pour le texte anglais, pas pour les langues Unicoded. Heureusement, je suis un lien de NeHe leçon 43 à http://www.cs.northwestern.edu/~sco590/fonts_tutorial.html et trouvé un autre exemple de tutoriel identique avec une seule différence: il utilise w_char, et le site prétend que vous pouvez utiliser une langue autre que l'anglais.Problème de rendu du texte unicode non-anglais en utilisant la police freetype sur OpenGL
Je donne un essai:
freetype::print(our_font, 320, 200, (unsigned short*)L"Active FreeType Text หกโด้กี่ดุ öáæé おはよ。- %7.2f", cnt1);
la fonction impression espace de noms freetype a le 4ème argument * const unsigned short ** Je typecasted il. Je mets aussi un L devant la chaîne entre guillemets pour les caractères longs et met des caractères asiatiques à des fins de test.
Le résultat est que tout le texte anglais peut très bien s'afficher, mais tous les caractères thaïs deviennent "[] B [] I [] 5H [] 8". Les [] sont des cases carrées. D'après ce que je comprends, cela implique que la police n'a pas la langue spécifiée, donc j'ai essayé d'autres polices, mais toutes les autres polices thaïlandaises donnent ces mêmes boîtes carrées. Pour la police japonaise, c'est pareil. Toutes les cases avec quelques caractères anglais à côté d'eux. La sous-chaîne öáæé est rendue très bien sans aucun problème.
Est-ce que j'oublie quelque chose ici? Comment pouvons-nous afficher la langue Unicode non-anglais ici?
Pourriez-vous linker votre lien NeHe? – genpfault
Lié comme demandé. – Karl