Command line bitmap font generator, compatible with BMFont.
Download compiled version (fontbm.zip for windows, fontbm for linux) from Releases.
fontbm --font-file Vera.ttf --output vera
Will produce vera.fnt (file format) and vera.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 |
--color | 255,255,255 | foreground RGB color, for example: 32,255,255 |
--background-color | background RGB color, for example: 0,0,128, transparent by default | |
--chars | 32-127* | required characters, for example 32-64,92,120-126, *default value is 32-127 if 'chars-file' option is not defined |
--chars-file | optional path to UTF-8 text file with additional required characters (will be combined with 'chars' option) | |
--data-format | txt | output data file format, "txt", "xml", "bin" or "json" |
--include-kerning-pairs | include kerning pairs to output file | |
--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 |
--texture-width | 256 | texture width |
--texture-height | 256 | texture height |
Dependencies:
- GCC-4.9 (or VS2015 Update 3, for windows)
- CMake 3.0 (CMake 3.10, for use vcpkg on windows)
- FreeType
Quickstart (ubuntu):
cmake .
make
Quickstart (windows):
Generate project files:
cmake -G "Visual Studio 14 2015"
Download and install FreeType library, open .sln file in Visual Studio 2015, configure paths to FreeType and rebuild all.
Or, if vcpkg is used:
vcpkg install freetype
cmake -G "Visual Studio 14 2015" -DCMAKE_TOOLCHAIN_FILE=<path to vcpkg dir>/scripts/buildsystems/vcpkg.cmake
Then open .sln in Visual Studio 2015 and rebuild all.
The project also bundles third party software under its own licenses:
- lvandeve/lodepng - PNG encoder and decoder in C and C++ - zlib
- juj/RectangleBinPack - 2d rectangular bin packing - Public Domain
- leethomason/tinyxml2 - a simple, small, efficient, C++ XML parse - zlib
- UTF8-CPP - UTF-8 with C++ in a Portable Way - BSL-1.0
- catchorg/Catch2 - A modern, C++-native, header-only, test framework for unit-tests - BSL-1.0
- jarro2783/cxxopts - Lightweight C++ command line option parser - MIT
- nlohmann/json - JSON for Modern C++ - MIT