フォーマット資料 https://www.angelcode.com/products/bmfont/doc/file_format.html 基本的にはここに記載の通り

基本、フォント自体が高度なエイリアシング機能などを備えているのでサイズ小さめでも判別はできるっぽいが、ジャギーなどが出る系のラスタ形式っぽい。 TTF はベクタ形式っぽいが、どうやら名前の通り BitMap Font に変換するときにラスタ画像を書き出ししている?

info : フォントの生成に関する情報

  • face : True type font の名前
  • size : TTF フォントのサイズ フォントの形式
  • bold/italic : フォント形式
  • stretchH : フォントを縦に圧縮するかどうか。50% とか設定すると多分縦に潰れる
  • smooth : 1 に設定するとスムーズになるらしい
  • aa : supersampling を使う場合 1 になる :
    • アンチエイリアシングの手法でギザギザを無くすために一般的に使われる手法で、SSAAなどと呼ばれている

common : 全文字に対する情報

  • lineHeight : 各文字がどれくらいの高さでもとイメージに配置されているか。元イメージをどれくらいのサイズで分割するか
  • alphaChnl : outline と gryph (文字の形そのもの)のどっちを表示するか決めるっぽい?

用語

True Type Font

https://ja.wikipedia.org/wiki/TrueType

  • 拡張子 .ttf, .ttc, .dfon
  • 高度なヒンティング言語を実装し、低解像度なディスプレイなどで不適切な表示が発生するのを避ける

ツール

あんまりいいのがない GitHub で調べるのが良い https://github.com/topics/bitmap-font-generator

fontbm https://github.com/vladimirgamalyan/fontbm

git clone https://github.com/vladimirgamalyan/fontbm.git
cd fontbm
cmake .
make

./fontbm --version


echo "零一二三四五六七八九十百千万億兆電歩時分秒日月年" > chars.txt
./fontbm --font-file ./aoyagireisyosimo_ttf_2_01.ttf --output sample \
--chars-file chars.txt

これで、TTFファイルから指定した文字を画像化して FNT ファイルに出せるっぽい

TTF ファイル探し

1.フォントのライセンス https://helpx.adobe.com/jp/fonts/using/font-licensing.html#act-client

いいえ。フォントのライセンスでは、モバイルアプリケーションまたはデスクトップアプリケーションにフォントを埋め込むことは許可されていません。フォントメーカーまたは公認の販売元から直接、該当するライセンスを購入する必要があります。

Adobe は埋め込みは許可されていないっぽい

無料ページ https://www.hakusyu.com/download_education.htm

https://opentype.jp/kouzangyousho.htm

フォントから自前作成

imagemagicで画像を結合

convert *.png characters.png

これ characters.png を参照するttfを自前作成する