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

**URL:** <https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549>\
**Category:** PicoCalc\
**Tags:** help\
**Created:** [September 3, 2025, 4:27pm UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549 "2025-09-03T16:27:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cipher](https://avatars.discourse-cdn.com/v4/letter/c/bc79bd/32.png) [@Cipher](https://forum.clockworkpi.com/u/Cipher)\
**Post date:** [September 3, 2025, 4:27pm UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549/1 "2025-09-03T16:27:58Z")

</div>

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 🙂  
(Also side note, is there a Discord?)

---

<div class="post-metadata">

**Author:** ![Amarok](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/amarok/32/13618_2.png) [@Amarok](https://forum.clockworkpi.com/u/Amarok)\
**Post date:** [September 4, 2025, 5:17am UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549/2 "2025-09-04T05:17:47Z")

</div>

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](https://geoffg.net/Downloads/picomite/PicoMite_Firmware.zip)

---

<div class="post-metadata">

**Author:** ![adcockm](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/adcockm/32/1664_2.png) [@adcockm](https://forum.clockworkpi.com/u/adcockm)\
**Post date:** [September 4, 2025, 8:17am UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549/3 "2025-09-04T08:17:26Z")

</div>

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):

> **[GitHub - madcock/PicoMiteAllVersions: This contains files to build MMbasic to run on...](https://github.com/madcock/PicoMiteAllVersions)**
>
> This contains files to build MMbasic to run on both RP2040 and RP2350 for the PicoCalc from Clockwork

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.

---

<div class="post-metadata">

**Author:** ![pelrun](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pelrun/32/12323_2.png) [@pelrun](https://forum.clockworkpi.com/u/pelrun)\
**Post date:** [September 4, 2025, 10:20am UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549/4 "2025-09-04T10:20:25Z")

</div>

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.)

---

<div class="post-metadata">

**Author:** ![picouser](https://avatars.discourse-cdn.com/v4/letter/p/e495f1/32.png) [@picouser](https://forum.clockworkpi.com/u/picouser)\
**Post date:** [September 4, 2025, 12:55pm UTC](https://forum.clockworkpi.com/t/are-there-any-tools-for-creating-converting-bitmap-fonts-into-terminal-usable-fonts/19549/5 "2025-09-04T12:55:30Z")

</div>

> [@pelrun](#):
>
> 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.)

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
