BMFont compatible, cross-platform (Linux/macOS/Windows) command line bitmap font generator (FreeType2 based render).
BMFont compatible, cross-platform (Linux/macOS/Windows) command line bitmap font generator (FreeType2 based render).
Linux | macOS | Windows |
---|---|---|
Download compiled version (fontbm.zip for Windows, fontbm for Linux) from Releases. Run:
fontbm --font-file FreeSans.ttf --output myfont
It will produce myfont.fnt (file format) and myfont_0.png (how to render text).
Available options (bold options are required):
option | default | comment |
---|---|---|
–font-file | path to ttf file, required | |
–output | output files name without extension, required | |
–font-size | 32 | font size (it matches to BMFont size, when “Match char height” option in Font Settings dialog is ticked) |
–chars | 32-126 | required characters, for example 32-64,92,120-126 (without spaces), default value is 32-126 if ‘chars-file’ option is not defined |
–texture-size | 32x32,64x32,64x64,128x64, 128x128,256x128,256x256, 512x256,512x512,1024x512, 1024x1024,2048x1024,2048x2048 | comma separated list of allowed texture sizes (without spaces), the first suitable size will be used |
–texture-crop-width | crop unused parts of output textures (width) | |
–texture-crop-height | crop unused parts of output textures (height) | |
–color | 255,255,255 | foreground RGB color, for example: 32,255,255 (without spaces) |
–background-color | background RGB color, for example: 0,0,128 (without spaces), transparent by default | |
–chars-file | optional path to UTF-8 text file with additional required characters (will be combined with ‘chars’ option), can be set multiple times | |
–data-format | txt | output data file format: txt, xml, bin, json, cbor |
–kerning-pairs | disabled | generate kerning pairs: disabled, basic, regular (tuned by hinter), extended (bigger output size, but more precise) |
–padding-up | 0 | padding up |
–padding-right | 0 | padding right |
–padding-down | 0 | padding down |
–padding-left | 0 | padding left |
–spacing-vert | 0 | spacing vertical |
–spacing-horiz | 0 | spacing horizontal |
–monochrome | disable anti-aliasing | |
–extra-info | write extra information to data file | |
–max-texture-count | maximum generated texture count (unlimited if not set) | |
–texture-name-suffix | index_aligned | texture name suffix: “index_aligned”, “index” or “none” |
Dependencies:
Build:
cmake .
make
Download and install vcpkg and CMake 3.10.2 (or above). Run:
vcpkg install freetype
cmake -G "Visual Studio 14 2015" -DCMAKE_TOOLCHAIN_FILE=<path to vcpkg dir>/scripts/buildsystems/vcpkg.cmake
Open .sln in Visual Studio 2015 and rebuild all.
Download and install CMake 3.0 (or above) and FreeType. Run:
cmake -G "Visual Studio 14 2015"
Open .sln file in Visual Studio 2015, configure paths to FreeType and rebuild all.
(thanx to andycarle https://github.com/Moddable-OpenSource/moddable/issues/325#issuecomment-769615337)
brew install freetype
git clone https://github.com/vladimirgamalyan/fontbm.git
cd fontbm
cmake .
make
The project also bundles third party software under its own licenses: