読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

フォントに含まれない文字を使うときの動作

UnityはテキストのフォントとしてArialやその他ttfフォーマットのフォントを使用して文字を表現します。しかし、この手のフォントには全てのフォントは含まれていません。

 

そんなときの挙動として、Unityはフォールバックしてデバイスに含まれるフォント(所謂デバイスフォント)を使用することが出来ます。それでも無い場合、標準で幾つかのフォントを取得するみたいです。

フォールバックするフォントの指定

フォールバックの指定ですが、フォントのFont Namesで指定します。例えば明朝体をココに指定すると、日本語の表現に明朝体が選択されます。ドキュメントによれば、リスト表記すればどれかを読んでくれるみたいです。

f:id:tsubaki_t1:20141231004538p:plain

f:id:tsubaki_t1:20141231004551p:plain

最近いくつかのAndroidデバイスでUnity標準のフォールバックからフォントが取れず、 日本語が表示されないケースがあるみたいなので、自前である程度のフォールバックは設定しておいたほうが良いかもしれません。

 

ちなみに、Incl.Font DataはフォントのTTFをアプリに組み込むかどうかの判定です。チェックが入っていなければデバイスにインストールされているフォントを探して使います(インストールされて無ければフォールバック)。

組み込めばTTFに含まれる文字列は動きますが、フォントのライセンス的に組み込めないケースやロイヤリティが発生するケースがあるかもしれないので、その辺り注意して下さい。

参考

Unity - Manual: Font

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