強火で進め

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

BMFont(Bitmap Font Generator) での高さ設定(Size [px])の注意点

BMFont の高さ設定(Size [px])で設定している値と実際に出力される高さは異なります。

具体的には 96 (ピクセル)を指定した時に実際に出力されるサイズは 72 (ピクセル)で出力されます。

つまり、実際に出力されるサイズは「Size(px)」に指定した数値を 0.75(=72/96) 倍すると実際に出力されるサイズが求められます。

しかし、面倒くさい計算をしなくても「Height %」の設定値が 100 の場合には「Match char height」にチェックを付けると「Size(px)」に指定した数値のままで出力されますので通常はこちらを設定するのが良いでしょう。

ここで検証の為、以下の2つの画像を作って並べてみる事にしました。

  • BMFontの「Size(px)」を 96 、「Match char height」にチェックして出力したもの
  • Paint.NET(画像編集アプリ)で 72 ポイントで描画

※「 1 ポイント = 1/72 インチ」で有るため 72 ポイントはで指定した場合は 1 インチ。WindowsのデフォルトのDPI(Dot Per Inch、1 インチあたりのドット数)は 96 で有るため、ここで画像編集アプリ(Paint.NET)で 72 ポイントを指定すると96ピクセルで描画されます。

この条件で作成したものを並べたものがこちらです。

  • BMFont → 白色で描画
  • Paint.NET → 青色で描画

いずれも同じ大きさなのが確認できるかとも思います。
※全く同じ大きさなので分り易い様にちょっとだけ水平方向に位置をずらして配置しています。

関連情報

BMFont font size - AngelCode - GameDev.net
http://www.gamedev.net/topic/510060-bmfont-font-size/

DPI と DIP (デバイス非依存ピクセル) (Windows)
http://msdn.microsoft.com/ja-jp/library/ff684173(v=vs.85).aspx

BMFont(Bitmap Font Generator) で NGUI 向けのビットマップフォントを作る方法 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120910/1347241168