0
0

【Unity】TextMeshProで日本語を表示する方法

Last updated at Posted at 2024-08-11

まえがき

UnityのTextMeshProを使用する際、日本語を表示させたいときがあると思います。
しかし、デフォルトで用意されているフォントでは日本語を表示しようとすると下の写真のようになってしまい、正しく表示されません。

スクリーンショット 2024-08-10 205225.png

今回は、日本語が対応しているフォントをUnityにImportすることによってこの問題を解決していきます。

フォントのダウンロード

Google Fontsからフォントをダウンロードします。
URLを踏むと様々なフォントがダウンロードできるサイトに移動します。

スクリーンショット 2024-08-11 015212.png

さて、今回は一番上に表示されているNoto Sans Japaneseをダウンロードします。

URLをクリックした後、右上のGet Fontをクリックして、Download allからフォルダをダウンロードできます。zipファイルは解凍しておきましょう。

日本語データのダウンロード

日本語文字コードから日本語文字コードをダウンロードしていきます。

右上のDownload zipをクリックするとzipファイルがダウンロードできるので解凍しましょう。

解凍したフォルダを開いて、japanese_full.txtという名前のテキストファイルが入っていることを確認しましょう。

Unityへの導入

さて、以上で準備は完了です。Unityで実際に日本語対応フォントを使えるようにしていきましょう。

フォントの追加

Project内で初めてTextMeshProをUIで生成しようとすると、このようにTMPをImportするように言われるので両方Importしましょう。

スクリーンショット 2024-08-11 021837.png

Assetsフォルダ内にTextMesh Proというフォルダが生成されます。

先ほどGoogle FontsからダウンロードしたNoto_Sans_JPというフォルダの中にあるstaticというフォルダを開くと.ttf形式のファイルが複数あります。

これらは、選ぶ種類によって文字の太さや大きさなどが異なります。
Noto Sans Japaneseを開き、下にスクロールすることで実際のフォントを種類ごとに確認できるので、どの種類を使用するか決めましょう。

先ほど生成されたAsset → TextMesh Pro → Fontsフォルダ内に、選んだ種類のフォントの.ttfファイルを追加しましょう。

続いて、Window → TextMeshPro → Font Asset Creatorを選択します。

スクリーンショット 2024-08-11 022500.png

すると、下の写真のようなタブが表示されます。

変更する場所はSource Font FileCustom Character Listの2点だけです。

スクリーンショット 2024-08-11 023231.png

Source Font Fileの部分は先ほどFontsフォルダに追加したファイルを選択しましょう。

Custom Character Listに書いてあるテキストは一度全て削除し、日本語文字コードからダウンロードしたフォルダ内にあるjapanese_full.txtの中身をコピペしましょう。

以上の変更ができたら一番下にあるGenerate Font Atlasをクリックして処理の完了を待ちます。少し時間がかかるので気長に待ちましょう。

処理が終了したら下のような画面になるのでSavaをクリックして適当な場所にデータを保存します。

スクリーンショット 2024-08-11 030415.png

以上で日本語フォントの追加が完了です!

動作確認

上手く行っていればInspectorからTextMeshProで、Font Assetから追加したフォントを選択することができます。

スクリーンショット 2024-08-11 030849.png

無事日本語が表示されるようになれば成功です。お疲れ様でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0