Noto Sans CJK(日本語・中国語・韓国語) をUnityのテキスト(TMPro.TMP_Text)で使う

広告:超オススメUnity Asset
  広告:超オススメUnity Asset

多言語対応した場合のUnityのテキスト、TMProで中国語まで含む日本語を作りたい場合、フォントがまず中国語や韓国語のキャラクタデータまで含まれてないと、その文字部分がロ(四角)で表示されてしまいます。

Noto Sans JapaneseにはJapaneseとあるだけあって中国語等の書体が含まれていないので、対応しているフォントを探したところ「Noto Sans CJK」というものに含まれているらしいです。そして、このフォントはGoogle Fontsでは見つかりませんでした。Adobe Fontsにはありましたが、

株式会社ベイジのエンジニアチームがお届けする技術情報、チームの取り組みの紹介、お役立ち小話等に関する情報発信メディアです。

によると、GitHubにある模様(ライセンス情報)。

Noto CJK fonts. Contribute to notofonts/noto-cjk development by creating an account on GitHub.

から取得し、Assets内に入れ、あとは以下

Noto Sans Japanese をUnityのテキスト(TMPro.TMP_Text)や入力フィールド(TMPro.TMP_Input...

の手順でFont Assetを作成するのですが、Custom Character Listのところだけ、中国語のキャラクタ(あるいは韓国語)を含めてあげないとです。

Adobe-Japan1の文字一覧です。. Contribute to kyubuns/Adobe-Japan1-List development by creating an account on GitHub.

ここの「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は、この新しくデフォルトに設定したものに自動的に置き換わってくれる模様。

スポンサーリンク