iOS でヒンディー語文字を表示する

高橋 啓治郎 -

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 コメント

ログインしてコメントを残してください。
Powered by Zendesk