以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2025/05/06/184408より取得しました。


UnityのTextMeshProで中国語の簡体字を利用する

本日はUnityの小ネタ枠です。
UnityのTextMeshProで中国語の簡体字を利用する方法について記事にします。

中国語の簡体字繁体字

中国語には「簡体字」と「繁体字」という2つの主要な文字体系が存在します。
本記事では簡体字を利用する手順を試します。

簡体字

簡体字は漢字の画数を減らし、より簡単に書けるように改良された文字体系です。
中国、シンガポール、マレーシアなどで使われており、利用者数・地域ともに繁体字より広く使われています。

繁体字

繁体字は伝統的な漢字の形を保った文字体系です。
台湾、香港、マカオなどで主に使用されており、文化的・歴史的な価値が高いです。

TextMeshPro

TextMeshProはUnityでテキスト表示を行うためのソリューションです。
docs.unity3d.com

[Text - TextMeshPro]などでTextMeshProを利用する際に、自動でダイアログが開いてプロジェクトにインポートできます。

TextMeshProでインポートされるテキストアセットには中国語の簡体字が含まれていません。
そのままでは中国語の簡体字を入力すると以下のような□文字が表示されてしまいます。

TextMeshProで中国語の簡体字を利用するには簡体字を含むフォントアセットを作成する必要があります。

簡体字フォントを準備する

フォントアセットを作成するために、ベースとなる簡体字のフォントを用意します。
今回は以下のフリーフォントを利用してみます。
fonts.google.com

フォントファイルをダウンロードします。
アプリで利用する場合はライセンスがOpen Font License(OFL)であることを確認してください。

展開したファイルに含まれていたttcファイルをプロジェクトにインポートします。

フォントの種類には以下のような種類が存在します。
利用用途に合わせてファイルを選択してください。

スタイル名 数値 (font-weight) 意味・特徴
Thin 100 非常に細い。スタイリッシュだが視認性は低め
Extra Light/Ultra Light 200 Thinよりやや太いが非常に細い
Light 300 軽やかで上品。サブテキストなどに使われる
Regular/Normal 400 標準の太さ。通常の本文に最も多く使われる
Medium 500 やや太め。見出しなどで強調しすぎずに使える
Semi Bold/Demi Bold 600 Mediumより太い。控えめな強調に使う
Bold 700 強調に使う標準的な太字
Extra Bold/Ultra Bold 800 非常に太い。インパクトのある強調用途に
Black/Heavy 900 最も太い。タイトルや強い印象が必要な場面向き
Variable 可変 フォントの重さ・幅・傾きなどを変化させられる形式

今回は標準の太さのRegularをインポートしました。

フォントアセットの作成

TextMeshProの機能を利用してフォントアセットを作成します。
メニューから[Window -> TextMeshPro -> FontAssetCreator]を開きます。

[FontAssetCreator]ウィンドウが開くので以下の通り設定を行います。

SourceFontFile:meiryo(準備したフォントファイル)
SamplingPointSize:Auto Sizing
Padding:5
PackingMethod:Fast
AtlasResolution:8192 4096
CharacterSet:Custom Range
SelectFontAsset:None
Character Sequence:(利用したい文字コードの範囲)

生成されるフォントアセットはファイルサイズが大きくなります。
[AtlasResolution]の値を小さくすることでファイルサイズを小さく調整できますが、フォントの解像度が下がる点に注意が必要です。
今回設定した[8192 4096]の値では生成後のフォントアセットのサイズは80MB前後になりました。

[CustomCharacterList]にはTextMeshProで利用したい文字を全て入力する必要があります。
全ての文字を入力するのは大変なのでUnicodeの中国語領域の0x4E00~0x9FBF(約2万文字)を指定しました。
[Character Set]の設定方法を[Custom Range]に変更して以下の値の範囲を入力します。

19968-40895

設定を完了したら[Generate Font Atlas]を実行し、フォントアセットを作成します。

生成が完了したら最後に[Save as..]でフォントアセットを保存すれば作成完了です。

FontAssetを利用する

作成したフォントアセットをTextMeshProコンポーネントの[FontAsset]に設定します。
これでTextMeshProで中国語の簡体字が利用できるようになりました。

参考ページ

kurokumasoft.com
qiita.com

TextMeshProで日本語を利用する

中国語ではなくTextMeshProで日本語を利用したい場合は以下の記事を参照ください。
bluebirdofoz.hatenablog.com




以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2025/05/06/184408より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14