概要
フォントでの表現の中には例えば英語と日本語で別のフォントを使う、合成フォントという考えかたがあります。
今回はUnityのTMPのFont Fallbackを使ってこれを実現する方法を紹介します。
やり方
UnityのTextMeshProにはFont FallbackというFontAssetに含まれていないフォントを別のFontAssetから取得する機能があります。
これを使うことで合成フォントが実現できます。
やり方は下記の手順になります。
1. Window/TextMeshPro/FontAssetCreatorから英語のみのSDF Assetsを作成する1
2. 同じく日本語のSDF Assetsを作成する2
3. 英語のみのフォントのFallback Font Assetsに日本語のフォントを設定する。
日本語フォントの中でさらにカタカナとひらがな、漢字でフォントを分岐させたい場合はフォント作成時のCustomCharacterListから分岐させたい文字列を削除し、削除した文字列のみで別SDF Assetsを作成、最初に作成したSDF AssetsのFallback Font Assetsに追加登録することで三つ以上のフォントを混ぜて使うことが可能です。
参考
Font Fallbackについて
日本語フォントの作り方