強火で進め

このブログではプログラム関連の記事を中心に書いてます。

BMFont(Bitmap Font Generator) で NGUI 向けのビットマップフォントを作る方法

NGUI で文字を描画する場合には Unity が標準で使えるフォントファイルによる描画は使えません。 NGUI ではビットマップフォントを作成出来るツールなどを使ってビットマップフォントを作成し、そのビットマップフォントを使って文字を描画します。

この記事では BMFont(Bitmap Font Generator) で NGUI 向けのビットマップフォントを作る方法を解説します。あくまで一例ですので、実際に作業する時にはゲームの雰囲気などに合わせ適宜調整して使用して下さい。

ビットマップフォントの作成

まずは使用するフォントを選択します。メニューから「Options」→「Font Settings」を選択して下さい。

今回は「みかちゃん」フォントを使う事にします。このフォントはこちらからダウンロード出来ます。

もちろん、ここで選択するフォントは著作権的に問題無いフォント(ビットマップフォントに変換したものをアプリ内に同梱する事が許可されているフォント)であれば別のフォントを選択してもOKです。

続いて「Size(px)」の値を 20 に変更し、「OK」ボタンを押します。

(追記 2012/09/12)
ここで指定した「Size(px)」の値には少々注意点が有ります。ここで指定した高さの文字のビットマップフォントを作りたい時にはこちらのエントリーも合わせて確認下さい。

BMFont(Bitmap Font Generator) での高さ設定(Size [px])の注意点 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120911/1347379973

(追記ここまで)
次にメニューから「Options」→「Export Options」を選択してExportの設定を行います。

まずは以下の赤枠の部分の値を変更します。

最後に「Textures」を png に変更して、「OK」ボタンを押します。 

次にビットマップフォントに含める文字を指定します。「BMFont」では「CJK Unified Compatibility」など文字ブロック単位で使用する文字を一括で選択する事が可能です。

しかし、この方法で指定すると日本語以外に中国語の漢字まで含まれてしまうので日本語しか使わない予定の場合には無駄なデータがかなり増えてしまう事に成ります。

他の方法としては直接文字をクリックしてビットマップフォントに含める文字を選択する事も出来ますが選択する文字が多すぎるので今回はこの方法も使えません。

もう一つの方法としてテキストファイルを読み込み、そのファイルに存在する文字を全てをビットマップフォントに含める方法が有ります。今回はこの方法を使う事にします。

使用する文字一覧も準備するのは大変だと思いますので、こちらに Shift JIS に含まれる文字の一覧を準備しましたのでこちらのファイルを保存して使って下さい。なお、こちらのデータには半角カナが含まれ、丸付き数字などは含まれていません。必要に応じて編集して下さい。もし、編集した場合には文字コードは必ずBOM付きのUTF-8で保存する様に注意して下さい。BOM無しのUTF-8などでは「2679 characters from the file are not available in the font」などと表示され、読み込みに失敗します。

さて、それでは実際にこのテキストファイルをインポートします。
メニューから「Edit」→「Select Chars from file」を選択し、上記のテキストファイルを選択して下さい。

読み込みが成功するとこの様にテキストファイルに含まれていた文字は背景色が変わります(選択状態に成ります)。

これで設定は完了です。メニューから「Options」→「Save bitmap font as...」を選択し、ビットマップフォントを書き出しましょう。

今回はファイル名は「font」にして下さい。

すると font.fnt と font_0.png の2つのファイルが出力されます。 Unity は拡張子が .fnt のファイルは使えません。その為、 font.fnt を拡張子を変更し、 font.txt にリネームして下さい。 font_0.png についてもこの先の作業手順を分り易くする為に font.png にリネームしておいて下さい。

ここからの作業は Glyph Designer を使った場合の解説と同じに成ります。こちらの記事の「 NGUI 向けに変換」の項目を参照下さい。

関連情報

NGUI 向けのビットマップフォントを作成出来るアプリ一覧 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120908/1347136958