Unity 5.1.2 以降では、iOS においてフォールバックフォント(デフォルトで使用するフォント)を決定するための関数がソースコードの形で出力されるようになっています。Unity から出力される Xcode プロジェクト内の Classes/Unity/Filesystem.mm にある関数 UnityFontFallbacks がそれにあたります。
Unity 5.1.2 の時点では次のような内容になっています。
extern "C" const char* const* UnityFontFallbacks() { static const char* const fonts[] = { "Hiragino Kaku Gothic ProN", ".Hiragino Kaku Gothic Interface", "Heiti TC", ".Sukhumvit Set UI", "AppleGothic", ".LastResort", NULL }; return fonts; }
ここには Unity の主要なユースケースに合わせた各言語のフォントが列挙されていますが、例えばヒンディー語で使われるデーヴァナーガリーのフォントなどは含まれていません。
この配列定義の中に、次の1行を追加することでデーヴァナーガリーの表示が可能になります(追加する位置は LastResort より前にしてください)。
"Devanagari Sangam MN",
補足
Unity 4 では Unity 4.6.7 以降に同様の機構が込まれています。ただし、Filesystem.mm ではなく UnityAppController.mm の末尾に実装されています。
0 コメント