~cdervis/BMFGen

f23e0f609115d9f1e5f58ea71e6e8e3ff02f1449 — Cem Dervis a month ago 48c0581 v1.0.1
Add readme
2 files changed, 45 insertions(+), 0 deletions(-)

A README.md
A img/bmfgen-preview-dark.jpg
A README.md => README.md +45 -0
@@ 0,0 1,45 @@
# BMFGen

![BMFGen Logo](src/resources/icon128.png)

BMFGen is a free, easy-to-use bitmap font generator for macOS and Windows.

Simply choose a font, tweak it, and export it to a format of your choice.

![BMFGen Preview](img/bmfgen-preview-dark.jpg)

## Features

- Fill glyphs with a solid color, linear gradient, radial gradient or an image.
- Add an outline to glyphs, with an optional fill.
- See your generated font as you design it and test it with an example text.
- Load fonts directly from your system, including TTF and OTF.
- BMFGen comes with predefined Unicode character sets for you to include in your fonts.
- Design your fonts and export them in multiple sizes at once, e.g. for low-DPI and high-DPI displays.
- All glyphs are packed efficiently in such a way that displaying them is as easy as possible, while respecting a maximum texture size you specify.
- Export the font along with its atlases to known formats such as JSON, XML and text.

# License

BMFGen is licensed under the GNU General Public License v3.0 (GPLv3).

# Building

Qt >= 5 and CMake is required to build BMFGen.
Example commands:
```
BMFGen > cmake -S . -B build
BMFGen > cmake --build build --config Release
```

# FAQ

### Why?
BMFGen started as a tool I wrote for my own use. Once I realized that it's a useful tool, I decided to release it.

### Why use bitmap fonts?
Bitmap fonts can be efficiently stored, loaded an rendered. They are suitable for resource-constrained environments or when special effects such as gradients are desired that would otherwise be difficult or impossible to implement at run-time.

### Does BMFGen do text rendering?
BMFGen is a tool to design and export pre-baked bitmap fonts. There are multiple ways these fonts can be loaded and drawn. To make things easy, BMFGen comes with a small header-only C++ library that is able to load fonts that are exported using a binary format (.bfont). These fonts are self-contained and therefore contain all necessary resources. The library allows an easier integration into your own engine/framework/workflow, and at the moment also provides an optional extension for SDL. The text layouting algorithm is rudimentary and works well enough for most non-complex text cases. For complex text, the use of a text shaping library such as HarfBuzz is recommended. If you have any questions regarding the binary font format, or how text is laid out, please take a look at the source code of the library (bmfgen.hpp) and the SDL demo in `demo/`.


A img/bmfgen-preview-dark.jpg => img/bmfgen-preview-dark.jpg +0 -0