About a year ago, software engineer Dominik Kapusta was working on some ePaper displays and wanted to add some custom fonts to display text. He ended up creating an app, which would take a predefined font image containing glyphs, with width and height in pixels, and convert it to a source code file. While his app was a great solution, it also had its setbacks, including having the font edited in another app before it could be converted into source code. It also had to have a template image to work with the font image effectively.
Kapusta decided to create a better app that would do away with those issues, but was also more comfortable to use and doesn’t require external editing software. Enter FontEdit, a platform that can import, preview, edit and export a font for use on LED, LCD, and ePaper displays. The app automatically imports font glyphs for characters in the ASCII printable range (32…126 or 0x20…0x7e). However, some may find this limiting; users can still add additional glyphs outside of that range manually.
Once completed, users can export their fonts to a C file (including C++), an Arduino-specific C file (via PROGMEM), or Python/MicroPython (list or bytes objects). Kapusta states, “You can switch between MSB and LSB mode, invert all the bits, and conditionally include line spacings in font definition (not recommended unless you have a very good reason to do it). You can also configure the tab size and the font array name.”
A complete outline of FontEdit and its features can be found on Kapusta's website, complete with links to his installation packages and source code.