TextMeshProで日本語フォントを扱えるようにする設定です。
TextMeshProは、登録したフォントを画像データとして扱うシステムになります。
簡易版
- 日本語フォントファイルをインポート。
- フォントアセット生成。
FontAssetCretor設定
・Souece Font ・・・・・・・・・ 使用したいフォントファイルをドラッグします。
・Sampling Point Size ・・・・・ Auto Sizing
・Packing Method ・・・・・・・ Fast
・Atlas Resolution ・・・・・・・ 8192 8192
・Character Set ・・・・・・・・ Custom Characters
・Custom Character List ・・・ japanese_full.txt内のテキストをコピペ
日本語フォントファイル登録
Assetsフォルダ内の任意の場所に、使用したい日本語フォントファイルをドラッグして登録します。

TMPをインポート
日本語フォントを使用できるようにするためには「フォントアセット」を作成する必要があります。
しかしそもそも「TextMeshPro」がUnityに入ってない状態の場合、インポートするように指示が出ます。
「Window」メニュー >「TextMeshPro」>「FontAssetCreator」を選択します。

「TMP Importer」が出た場合、「TextMeshPro」が入ってない状態です。

「Import TMP Essentials」ボタンを押して「TextMeshPro」をインポートします。

Assetsフォルダ内に「TextMeshPro」フォルダが生成されます。
「TextMeshPro」をインポートした際にエラーが出ることがあります。

「Window」メニュー >「TextMeshPro」>「Import TMP Essential Resources」
開いた「Import Unity Package」ウィンドウ内でインポートできてなかった項目を選んで再インポートします。
何も選択できない場合は、そのまま「OK」で閉じます。
上記は、うまくインポートできなかったエラーだったのですが、その後は特にエラーはでなかったです(´・ω・`)ナゾ
フォントアセットを作成
「フォントアセット」を作成するため、「FontAssetCretor」を開きます。
「TextMeshPro」が入ってる状態で、再び「FontAssetCreator」を選択します。

「Font Asset Creator」ウィンドウが開きます。

各自設定をしていきますが、その前に「japanese_full.txt」をダウンロードしておきます。
使用する日本語(ひらがな・カタカナ・漢字など)コードがテキストになっているファイルになります。
「Custom Character List」に登録するために必須なのでダウンロードしておきましょう。
kgsi/japanese_full.txt
右側の「Download ZIP」ボタンでダウンロードできます。

「Font Asset Creator」各設定は以下の通りに。

- Souece Font ・・・・・・・・・ 使用したいフォントファイルをドラッグします。
- Sampling Point Size ・・・・・ Auto Sizing
- Packing Method ・・・・・・・ Fast
- Atlas Resolution ・・・・・・・ 8192 8192
- Character Set ・・・・・・・・ Custom Characters
- Custom Character List ・・・ japanese_full.txt内のテキストをコピペ
設定出来たら「Generate Font Atlas」ボタンを押して生成します。

※自分の環境だと「Unity6000.0.0f1」の場合、「Custom Character List」の挙動が重くて、操作(枠内をクリック)した回数だけプログレスバーが出て何かUnity側が考えていました。
その挙動が全部終わらないうちに「Generate Font Atlas」ボタンを押してしまうと、だいたい(6)~(7)あたりでUnityエディタごと落ちる現象が起きました。
フォントアセットの生成に成功すると画面に登録コードが表示されます。

「Save」ボタンを押して、Assets内に保存して完成です。


新規にフォントアセットファイルが作成されます。
使い方
フォントを使用するオブジェクトを作成します。

そのまま日本語を入力しても文字化けしてしまいます。

作成した日本語フォントアセットファイルを「Font Asset」項目にドラッグします。

これで日本語を扱えるようになります。
フォントを扱うもう一つの方法 Legacy 「Text」

フォントを表示する方法として「Text」があります。
フォントを画像に変換する「TextMeshPro」とは異なり、フォントファイルそのままを扱うシステムになります。
「Text」は従来のUnityのテキストシステムです。
こちらの方がフォント(日本語も)を指定するだけなので楽チンなのですが、Unity推奨は「TextMeshPro」みたいです。
Legacy枠なので、いずれなくなるシステムのようです。
「TextMeshPro」に慣れておきましょう。
コメント