多言語対応した場合のUnityのテキスト、TMProで中国語まで含む日本語を作りたい場合、フォントがまず中国語や韓国語のキャラクタデータまで含まれてないと、その文字部分がロ(四角)で表示されてしまいます。
Noto Sans JapaneseにはJapaneseとあるだけあって中国語等の書体が含まれていないので、対応しているフォントを探したところ「Noto Sans CJK」というものに含まれているらしいです。そして、このフォントはGoogle Fontsでは見つかりませんでした。Adobe Fontsにはありましたが、
によると、GitHubにある模様(ライセンス情報)。
から取得し、Assets内に入れ、あとは以下
の手順でFont Assetを作成するのですが、Custom Character Listのところだけ、中国語のキャラクタ(あるいは韓国語)を含めてあげないとです。
ここの「Adobe-CNS1-7.txt」が中国語のようですので、そこからコピペして、日本語キャラクタの後にペーストして日本語と中国語のすべての文字が含まれるようにするといいと思います(重複しててもいけるみたい)
仕上がった書体ですが、思ったよりも細かったので、Unity側で調整しました。その場合、作成したFont Assetの中にある「(作成した名前)Material」のOutlineプロパティのThicknessの値を0.25くらいにすると良さげ。
また、/Assets/TextMesh Pro/Resources/TMP Settings.asset
の「Default Font Asset」を新しく作成しておいたものに置き換え、前のデフォルトに指定されていたFont Assetを削除してから、Editorで再生すると、特別指定していなかったFont Assetは、この新しくデフォルトに設定したものに自動的に置き換わってくれる模様。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。