vladimirgamalyan / Fontbm
Projects that are alternatives of or similar to Fontbm
fontbm
BMFont compatible, cross-platform (lin/win/mac) command line bitmap font generator.
Status
| Linux/macOS | Windows | Quality |
|---|---|---|
Usage
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.png (how to render text).
Available options (bold options are required):
| option | default | comment |
|---|---|---|
| --font-file | path to ttf file, required (can be set several times for fallback fonts) | |
| --output | output files name without extension, required | |
| --font-size | 32 | font size |
| --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 | 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 |
| --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, 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 |
| --max-texture-count | maximum generated texture count (unlimited if not defined) |
Building Linux
Dependencies:
- GCC-4.9
- CMake 3.0
- FreeType
Build:
cmake .
make
Building Windows (using vcpkg)
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.
Building Windows
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.
Building macOS
(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
Contributors
License
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


