The basic application lets you create a font with up to 32×32 pixel characters and up to 65536 characters. You can select the fore ground and background colours although this only affects the UI at the moment. All of this can then be saved and loaded from a *.fnt file. (Note these aren’t Microsoft .fnt files they are unique to this program as they contain a Python object.) The actual generation of a suitable file for inclusion in your microcontroller project is done as a separate stage using the “Export” dialogue. Currently there is only the exporter for generating the font file for my ARM project, although this is vanilla C code with one byte per character line. To make an exporter for your project you simply need to copy the arm_c.py file from the exporters directory, read the comments and edit the function and exporter name fields to generate the output format you need. I might get around to writing another couple of exporters for controllers/devices I own but it really is a pretty simple function call.
I’ve written a few bitmap font editors over the years for various graphical LCDs, VGA displays and LED matrix displays. They all have a common interface, a character being edited with oversized pixels and a preview of the entire font. I decided this time to do a “proper job” of the code and write a Python GUI app that should be cross-platform and allows saving and loading of fonts.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.