まえがき
UnityのTextMeshProを使用する際、日本語を表示させたいときがあると思います。
しかし、デフォルトで用意されているフォントでは日本語を表示しようとすると下の写真のようになってしまい、正しく表示されません。
今回は、日本語が対応しているフォントをUnityにImportすることによってこの問題を解決していきます。
フォントのダウンロード
Google Fontsからフォントをダウンロードします。
URLを踏むと様々なフォントがダウンロードできるサイトに移動します。
さて、今回は一番上に表示されているNoto Sans Japaneseをダウンロードします。
URLをクリックした後、右上のGet Fontをクリックして、Download allからフォルダをダウンロードできます。zipファイルは解凍しておきましょう。
日本語データのダウンロード
日本語文字コードから日本語文字コードをダウンロードしていきます。
右上のDownload zipをクリックするとzipファイルがダウンロードできるので解凍しましょう。
解凍したフォルダを開いて、japanese_full.txtという名前のテキストファイルが入っていることを確認しましょう。
Unityへの導入
さて、以上で準備は完了です。Unityで実際に日本語対応フォントを使えるようにしていきましょう。
フォントの追加
Project内で初めてTextMeshProをUIで生成しようとすると、このようにTMPをImportするように言われるので両方Importしましょう。
Assetsフォルダ内にTextMesh Proというフォルダが生成されます。
先ほどGoogle FontsからダウンロードしたNoto_Sans_JPというフォルダの中にあるstaticというフォルダを開くと.ttf形式のファイルが複数あります。
これらは、選ぶ種類によって文字の太さや大きさなどが異なります。
Noto Sans Japaneseを開き、下にスクロールすることで実際のフォントを種類ごとに確認できるので、どの種類を使用するか決めましょう。
先ほど生成されたAsset → TextMesh Pro → Fontsフォルダ内に、選んだ種類のフォントの.ttfファイルを追加しましょう。
続いて、Window → TextMeshPro → Font Asset Creatorを選択します。
すると、下の写真のようなタブが表示されます。
変更する場所はSource Font FileとCustom Character Listの2点だけです。
Source Font Fileの部分は先ほどFontsフォルダに追加したファイルを選択しましょう。
Custom Character Listに書いてあるテキストは一度全て削除し、日本語文字コードからダウンロードしたフォルダ内にあるjapanese_full.txtの中身をコピペしましょう。
以上の変更ができたら一番下にあるGenerate Font Atlasをクリックして処理の完了を待ちます。少し時間がかかるので気長に待ちましょう。
処理が終了したら下のような画面になるのでSavaをクリックして適当な場所にデータを保存します。
以上で日本語フォントの追加が完了です!
動作確認
上手く行っていればInspectorからTextMeshProで、Font Assetから追加したフォントを選択することができます。
無事日本語が表示されるようになれば成功です。お疲れ様でした。