Saat ini saya sedang dalam proses mengimplementasikan rendering teks di mesin gim saya, dan saya memutuskan untuk menggunakan BMC milik AngelCode untuk menghasilkan tekstur font, dan kemudian membuat OpenGL membuat quads yang bertekstur untuk setiap karakter. Ini bekerja hebat, bahkan ketika merender setiap mesin terbang tunggal yang didukung oleh FreeFont (khususnya FreeMono), sampai saya mencoba membuat bahasa Jepang (Jenis huruf Jepang saya adalah Noto, disediakan oleh Google).
Rendering setiap mesin terbang tunggal yang didukung oleh FreeMono pada 16px menghasilkan tekstur 10bit 1024x1024 tunggal, sangat masuk akal mengingat berapa banyak bahasa yang tercakup olehnya. Merender semua yang didukung oleh Noto Jepang, pada ukuran yang sama, menghasilkan tekstur 13 kali lebih banyak, dan pada ukuran ini sebagian besar mesin terbang terlalu sempit untuk dapat dibaca (saya tidak bisa membaca bahasa Jepang, tetapi jika saya bisa saya pikir saya akan masih memiliki banyak kesulitan membaca teks ini).
Pertanyaan saya ada dua:
1) Bagaimana gim, atau aplikasi seluler, menangani teks Jepang kecil? Apakah mereka menempel pada subset dari kanji, menggunakan font khusus, atau adakah ukuran font minimum?
2) Bagaimana permainan biasanya menangani jumlah mesin terbang yang sangat besar yang diperlukan oleh bahasa Jepang, Cina, Korea, dan bahasa lainnya? Apakah mereka menggunakan FreeType (atau sesuatu yang serupa) untuk membuat teks on-the-fly?
Catatan: Saya mencoba Meiryo (yang saya tidak memiliki lisensi untuk digunakan dalam permainan saya) dan hasilnya jauh lebih mudah dibaca pada 16px (masih sempit), tetapi masih membutuhkan 14 tekstur untuk memenuhi semuanya.
sumber