Ich bin gerade dabei, das Text-Rendering in meiner Spiel-Engine zu implementieren. Ich habe mich entschieden, AngelCodes BMfont zum Generieren von Schrifttexturen zu verwenden und dann OpenGL strukturierte Quads für jeden Charakter rendern zu lassen. Dies funktionierte hervorragend, selbst wenn alle von FreeFont unterstützten Glyphen (insbesondere FreeMono) gerendert wurden, bis ich versuchte, Japanisch zu rendern (meine bevorzugte japanische Schriftart ist Noto, bereitgestellt von Google).
Das Rendern jeder einzelnen von FreeMono unterstützten Glyphe mit 16 Pixel führte zu einer einzelnen 8-Bit-Textur von 1024 x 1024, was angesichts der Anzahl der Sprachen, die davon abgedeckt werden, durchaus sinnvoll ist. Das Rendern aller von Noto Japanese unterstützten Elemente in derselben Größe führte zu 13-mal so vielen Texturen, und bei dieser Größe sind die meisten Glyphen zu eng, um lesbar zu sein (ich kann kein Japanisch lesen, aber wenn ich könnte, würde ich es mir vorstellen habe immer noch große Probleme beim Lesen dieses Textes).
Meine Frage ist zweifach:
1) Wie gehen Spiele oder mobile Apps mit kleinen japanischen Texten um? Halten sie sich an eine Teilmenge des Kanji, verwenden sie eine spezielle Schriftart oder gibt es eine Mindestschriftgröße?
2) Wie gehen Spiele normalerweise mit der absurd großen Anzahl von Glyphen um, die für Japanisch, Chinesisch, Koreanisch und andere Sprachen erforderlich sind? Verwenden sie FreeType (oder ähnliches), um den Text im laufenden Betrieb zu rendern?
Hinweis: Ich habe Meiryo ausprobiert (für das ich keine Lizenz für mein Spiel habe) und das Ergebnis war bei 16px weitaus besser lesbar (obwohl es immer noch eng ist), benötigte aber immer noch 14 Texturen, um alles zu passen.
quelle