Are there any tools for creating/converting bitmap fonts into terminal usable fonts?

Helloo,

Just received my picocalc and I’m very excited!! I’ve prepared a bit in advance by coming up with ideas for the UI and general graphics and I’ve even made a pixel font for it.

The very few already existing fonts that I could find did not help much, because the way the fonts are stored are a bit of a mystery to me.

Are there any tools or resources that can help me with this? Thanks :slight_smile:
(Also side note, is there a Discord?)

Picocalc MMBasic Firmware software package contains the subdirectory with the tool You’re looking for, as well, as some font examples.
https://geoffg.net/Downloads/picomite/PicoMite_Firmware.zip

1 Like

Yeah, there’s a lot of useful documentation and stuff in the official MMBasic/PicoMite release, including the font tool and examples.

But a minor correction – that release doesn’t support PicoCalc, and as far as I know there’s no plan for it ever to do so. I did an unofficial port to PicoCalc based on the original version that Clockwork released, but it was using a very old version of PicoMite, and like with all the Clockwork software it was unlikely there would ever be an update.

The most recent version of the port is here (6.01.00b10):

Although it looks like Peter over at TheBackShed has updated his code to 6.01.00b11 so I’ll need to do an update to that in time.

2 Likes

If you’re looking at the fonts in picomite, they’re direct bitmaps with a tiny header. The first four bytes are {font width in pixels, font height in pixels, ASCII code of first glyph, number of glyphs in font}. Then bitmap data in row-major order, padding each character out to a multiple of 8-bits wide (so a 5-pixel wide font uses a byte per row, and a 10-pixel font uses 2 bytes per row.)

3 Likes

Don’t think this is right. The constraint seems to be that width*height must be a multiple of 8 and the bits are packed so for example the 10x16 font has 20 bytes per glyph = 160 bits

1 Like