8x8 Pixel ROM Font Editor  


  • Table of contents

  • What's "8x8 Pixel ROM Font Editor"?
    While working on several embedded projects I sometimes came accross the need to use or change simple 8x8 pixel font bitmaps stored in rom or flash. While creating or modifying such bitmaps with a hexeditor is possible, it's boring. So I wrote this little fonteditor to do this. It reads the first block of 2048 bytes (256 * 8) from a given file, shows each single character bitmap and allows some basic modifications to these bitmaps.

    Years ago, in the time when home computers like the comodore C64 where very popular, 8x8 bit character sets are used not only for characters but also for graphical elements. Internet sites like http://kofler.dot.at/c64/ have conserved these artwork. The 8x8 Pixel ROM Font Editor can read such files too and some examples are included in the setup.

    Select a character from the character list in the upper part of the window. This character is now green colored and a big bitmap of this character is displayed in the lower part of the window which acts as working area. Here you can modify the selected character pixel by pixel and when you are finished you can acknowledge your changes by clicking Apply.

    Other functions are Clear which clears the working area, Invert which inverts the working area and Copy and Paste. Copy copies the working area to the clipboard as bitmap so it's possible to paste it to some other application like MS Paint. But it also copies the character in a series of hex bytes to the clipboard. Paste pastes a bitmap from the clipboard over the working area OR'ing each Pixel. Pasting in a graphical application like MS Paint pastes the character as bitmap. Pasting in a text application like Notepad pastes the characters hex values. There is also a function which copies a bitmap of all characters to the clipboard. This is usefull for publishing font artwork on web pages. Copy and Paste works also between more instances of the ROM Font Editor as expected.

    By using some python tools from Simon Tatham at http://www.chiark.greenend.org.uk/~sgtatham/fonts/ it's possible to convert pixelfonts into native windows fonts. I have converted Simon's python scripts into standalone windows exe files (so you don't need a installed copy of python), included them into fonteditors setup and call them automatically when exporting a font as a windows font. So now it's more than easy to produce very simple 8x8 windows native fonts.

    I have included the exe-converted python scripts for mkwinfont and dewinfont

    Rotate rotates the character clockwise 90 degrees. This meight be usefull fore some displays. It is also possible to Clear, Invert and Rotate not only the current character but also ALL characters in the font file.

    Another feature of this fonteditor is that you can export this font into an assembler file with db statements representing the characters. It was designed for Microchip PIC assembler but the files can be postprocessed to fit your needs with any given texteditor. Below you see a part of such an assembler file as example:

    ; Font: TINYTYPE.pf
    Char-063	db	0x7C, 0x82, 0x04, 0x08, 0x10, 0x00, 0x10, 0x00	; ?
    Char-064	db	0x7C, 0x82, 0x9A, 0xAA, 0xAA, 0x9E, 0x7C, 0x00	; @
    Char-065	db	0x00, 0x18, 0x24, 0x24, 0x3C, 0x24, 0x24, 0x00	; A
    Char-066	db	0x00, 0x38, 0x24, 0x38, 0x24, 0x24, 0x38, 0x00	; B
    Char-067	db	0x00, 0x18, 0x24, 0x20, 0x20, 0x24, 0x18, 0x00	; C

  • Download
    Previous versions:

    1.0.11 PixelFontEdit-1.0.zip
    This was the first version

    1.5.17 PixelFontEdit-1.5.zip
    Allows rotating of one or all characters

    2.0.3 PixelFontEdit-2.0.zip
    Copy and paste of characters between different instances of the font editor is now possible as well as copy a single character as bitmap or hex string and copy a bitmap of ALL characters to the clipboard.

    2.5.3 PixelFontEdit-2.5.zip
    Export of a pixelfont as native windows font.

    2.6.4 PixelFontEdit-2.6.zip
    New functions to mirror vertically one or all characters of a pixelfont.

    The current version is 2.7.0 PixelFontEdit-2.7.zip
    New function to export a font as a C header include file.

  • Configuration
    There is nothing to configure for this application.

  • Usage
    Just start the application, open a font file and start working.

  • Limitations / Problems / Bugs / Comments

    For the moment there a no known problems.

  • Participate

    If you have any questions or suggestions to make this simple 8x8 pixel fonteditor better just drop me line at Richard Prinz / MIN.at

    Also if you have designed a new font other than the fonts already supplied with the FontEdit setup it would be very nice to share a copy. I will collect and publish these fonts on this page.