a grook rendered in btprnt


"btprnt", or "bitprint", or "bitmap printer", is a library for generating monochrome 1bitbitmap graphics. It is written in ANSI C via worgle.

The code can be found on sourcehut.

btprnt is written as a literate program, and an HTMLized version of the program can be found at the Loom.

Source code

Why 1-bit?

There is a charming aesthetic to 1-bit graphics, and 1-bit things in general.

Typically, 1-bit graphics are black and white, which is a nostalgic throwback to the classic Macintosh era: a more elegant time for personal computing.

A 1-bit graphics library, written properly, can be very simple, portable, and hopefully last a while.

Lots of embedded devices use 1-bit OLED pixel displays are popping up now like the arduboy, the norns, and more recently the Daisy Pedal. Having a portable library that could work in these restricted systems would be very helpful.


A copy of btprnt has been included in monolith, with a bunch of extra features. This includes janet bindings, a high-level layout utility, a classic macintosh font renderer, an audio file renderer (similar to the algorithm used by Audacity), and more!

As Monolith gets more documentation, the idea is to use btprnt to generate charts and reference cards like these:

a reference card for line16

a reference card for trig

Bitmap font tilesets

Found some good bitmap font resources here: is a collection of fonts of various sizes. is a gigantic collection of fonts from the commodore64 (mostly 8x8).

It would be fair to say that discovering these motivated me to try and build something like BTPRNT.

home | index