フォーマット資料 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を自前作成する