太郎Work

Unityとかで困ったこと等を残しておきます

UnityのArialフォントがAndroid実機上で表示されない場合がある

問題

Unity上のシステムフォントテキスト設定でデフォルトのArialのままAndroidビルドを行った場合、
確認できただけですが、LG-02E, GalaxyS5で日本語フォントが表示されない問題があります。

理由

どうやら挙動的にはDroid Sansというフォントがロードされているようで上記の端末には英語と韓国語しか入っていませんでした。
そのため日本語が表示されないという問題です。日本で発売している端末なのにひどすぎる…

解決

どちらにしろDroid Sansはフォントが汚いのでこちら側で指定しました。

Unityに適当な日本語に対応したttfをインポートし、以下のように設定すると問題なく表示されます

・Incl. FontDataをfalse
・Font NamesをMotoyaLMaru, MotoyaLCedar, RobotoSansFallback, Droid Sans Fallbackと指定
f:id:tarowork:20141121171323p:plain

これで日本語が表示されます。ここで使用したttfファイルはビルドに含まれないことも確認しました。

しかし、今度はGalaxyS5だとモトヤフォントに韓国語と中国語が入っていないという問題が発生しましたがそれに対しては対応できていません。
(L-02Eの方はちゃんと入っていました)

海外の端末ではMotoyaではなくRobotoが呼ばれ、昔の端末ではDroidSansが呼ばれるはずなのでひと通り網羅できるのではないかなと思います。