Nevermind, I got it working!
Got the typeface as a bitmap array from https://github.com/susam/pcface/ , converted it to a C array of 256*14 bytes, and then used this to export it to a file:
int main(void) { int chr_width = 8; int chr_height = 14; int chr_baseline = 10; PIXELFONT_U8 pixels [32 * 32]; pixelfont_builder_t* builder = pixelfont_builder_create ( chr_height, chr_baseline, chr_height, NULL ); unsigned char *ptr = PC_FACE_OLDSCHOOL_EGA_8X14_FONT_LIST; for (int c = 0; c < 256; c ++) { // Paint glyph for (int y = 0; y < 14; y ++) { unsigned char bitmap = *ptr ++; for (int x = 0; x < 8; x ++) { if (bitmap & (1 << (7 - x))) { pixels [x + chr_width * y] = 1; } else { pixels [x + chr_width * y] = 0; } } } pixelfont_builder_glyph (builder, c, chr_width, pixels, chr_width, 0, chr_width); } pixelfont_t* pixelfont = pixelfont_builder_font (builder); pixelfont_t* output = (pixelfont_t*) malloc (pixelfont->size_in_bytes); memcpy (output, pixelfont, pixelfont->size_in_bytes); FILE *pf = fopen ("ega14.fnt", "wb"); fwrite (output, sizeof (unsigned char), pixelfont->size_in_bytes, pf); fclose (pf); pixelfont_builder_destroy (builder); }