Atari FontMaker

This page contains most recent version of Atari FontMaker with all instructions.

What is it?

Atari FontMaker is MS Windows tool used for creating and editing Atari XL/XE fonts and font-based graphics. The tool is written in Delphi Community Edition and its source code repository can be found here:

First version dates back to 2003, since then lot of functionalities were added and lot of refactoring applied, especially in version 1.5.


Latest version – 3.4.2021

Atari FontMaker
Atari FontMaker
2.7 MiB

Instructions / Features

I/O Functions are there to load and save font files. You can load and edit two fonts at the same time. Filenames are displayed in window caption, buttons Save1/Save2 are there to quick save without a dialog window popup. Buttons display Save as dialogs.

Font window displays both loaded fonts, 32 characters per line. You can select character by clicking on it, currently selected character is marked by square cursor and it is also displayed magnified in character edit window. Information about current character is displayed above the Font window area:

Displays which font the selected character belongs to and its Hexadecimal and Decimal representation

You can switch to next/previous character by pressing , or . on keyboard or by scrolling the mousewheel.

Character operation functions are groups of small buttons on both sides of character edit window. You can quickly shift, rotate, mirror, invert or clear character by pressing appropriate button. Some functions have keyboard shortcuts that are listed in next section, these are also shown as tooltips when you hover mouse cursor over each button. There are also some additional functional buttons:

  • RES D – (restore default) replaces current character with the one from default Atari font
  • RES S – (restore last saved) replaces current character with the one that is contained in the most recently saved font file
  • CPY – (copy) copy current character to clipboard
  • PST – (paste) paste character from clipboard to current selected character

Mode 2/4 toggle (Change GFX) button switches between hi-res 2-color graphics mode (8×8 pixels per character) and low-res 4-color graphics mode (4×8 pixels per character). This change is global so all windows that display font characters are affected by this change.

Character edit window displays current character magnified. You can edit character pixels by single clicking on character window or you can click, hold and move the cursor to continuously draw character pixels.

Tip: You can disable continuous pixel drawing by holding CTRL key while editing.

  • left mouse click – draws foreground color, depending on the draw mode
  • right mouse click – draws background color

There are two draw modes, that can be switched here:

  • Rewrite (default) inverts pixels that are being clicked on
  • Insert rewrites pixels that are being clicked on with currently selected color

In Mode 4, currently selected color is shown below the character edit window. You can change the actual color by pressing keys 1,2,3 or by clicking on one of boxes placed on both sides of the top edge of character edit window:

Tip: There is also additional way to switch colors for lazy ones … by scrolling mousewheel while holding mouswheel button pressed.

Every change to characters is logged into undo buffer, so you can undo (and redo) any change you performed by clicking on appropriate buttons:

Undo buffer size is 2048, so it should be enough to cover complete charset edit.

Color selector window contains 6 colors that are used in Mode 2 (LUM, BAK) and Mode 4 (BAK,PF0,PF1,PF2,PF3). You can change these colors by clicking on appropriate color and picking new color from Atari color selector:

Tip: You can restore default colors by clicking on color selector window while holding SHIFT key.

Recolor feature is useful when you need to swap two colors within single character. Recolor button has settings button on its side, which displays recolor options:

On recolor options window you define which color is supposed to be swapped with which other. The swapping itself it triggered by clicking on Recolor button.

Tip: Recolor button can have focus, so its function can be executed by pressing Enter key. In order to quickly recolor multiple characters you can select first one, click Recolor, then move to another by pressing . Enter . Enter . Enter …and so on.

Export font button is useful when you need text representation of the font data as an include to your Basic, Action! or Assembly source, there are several formats to choose from:

View window is basically area where you can test your fonts and graphics by copying characters from font window. You can paste actual character by left clicking on view window area. Right click on view window selects character that has been clicked on.

There are several controls below the view window that allows you to switch between 32 and 40 characters per line, clear view window, load view window and save view window. There were several view formats used throughout history of Atari FontMaker, all of them can be loaded, but Save is possible only in the latest *.atrview format (or RAW data format).

Tip: Raw (*.dat) format can be saved in 32byte line format or 40byte line format depending on the status of 40 Bytes checkbox.

Font toggle column is placed on the left edge of view window and its values define which line of view window is displayed in which font. By default all lines are displayed in font 1, hence all values are set to “1”. You can change values to “2” by clicking on number in font toggle area.

Mega Copy mode

Mega Copy mode has been added in version 1.5, it allows you to copy multiple characters from font window to view window and vice versa.

You can enter Mega Copy mode by clicking on Mega Copy button, character edit window is blank and all character editing functions are disabled:

When in Mega Copy mode you can click and drag selection frame in font window or view window to select multiple characters at a time, watch following video to get idea how it works and what could be achieved:

As you can see it is possible to copy characters to view window, but it is also possible to copy character data to font window, so it requires some hands-on experience to fully understand the options available.

Additional function shown in the video is available after clicking on Enter text button. You can type free text which will be copied to clipboard, so you can paste it to view (or font) window.

Tip: Keep in mind that multi-character clipboard is working only in Mega Copy mode, you will not be able to paste bigger clipboard contents when you exit the Mega Copy mode.

You can cancel clipboard paste by pressing ESC key or doubleclicking the right mousebutton.


Since version 1.5 windows clipboard is used by Atari FontMaker. That means you can copy character or set of characters (Mega Copy mode) between multiple instances of Atari FontMaker.

Data is copied to the clipboard as text in JSON format for example:




Width and height are integers, chars and data are hexadecimals.

You can easily store some important clipboard data in text editor for later use.

fnt format

Main product of Atari Font Maker is Atari font file *.fnt. It is a raw binary file, 1024 bytes long without any header. It can be inserted to your project using MADS pseudoinstruction ins, and in order to display it correctly it has to be aligned with any fourth memory page, code example:

          .align $400
myFont    ins 'myFont.fnt'

atrview format

Atrview is additional file format that can be created within Atari FontMaker. It is my custom file format that contains contents of view window, data of both fonts, selected colors and couple more Atari FontMaker settings.

Atrview is not a binary format, it is again JSON (similarly to clipboard data), so it can be read and manipulated (if needed) directly in any text editor.

Note: Upon loading of atrview file, user is prompted if character sets should be loaded from within the file.


  • , . – previous/next character
  • Mousewheel – previous/next character
  • 1 2 3 – select color
  • R Shift+R – rotate character left and right
  • M Shift+M – mirror horizontal and vertical
  • I – invert character
  • Ctrl+C Ctrl+V – copy and paste
  • Ctrl+Z Ctrl+Y – undo and redo

Changelist – Added display of character index under mouse cursor in view window; Added DUP checkbox which controls display of duplicate characters in font – Added new export option: Save as Basic listing *.LST file that can be applied to your existing Basic program by calling ENTER “D:MYFONT.LST”

You can read the commit comments here:

Older Releases

Atari FontMaker
Atari FontMaker
2.7 MiB
Atari FontMaker
Atari FontMaker
2.6 MiB
Atari FontMaker
Atari FontMaker
1.1 MiB
Atari FontMaker
Atari FontMaker
1.1 MiB
Atari FontMaker
Atari FontMaker
1.1 MiB
Atari FontMaker
Atari FontMaker
Version: 1.4
966.1 KiB
Atari FontMaker
Atari FontMaker
Version: 1.3.5
309.3 KiB
Atari FontMaker v1.3
Atari FontMaker v1.3
Version: 1.3
294.5 KiB
Atari FontMaker1 2
Atari FontMaker1 2
221.9 KiB
ATARI FontMaker1 1
ATARI FontMaker1 1
210.3 KiB

4 thoughts on “Atari FontMaker

  1. Great update from the previous version. The undo buffer and Mega Copy features are amazing.

  2. SourceForge lists version 1.4 even though the update shows the latest version

  3. I suppose you were browsing sourceforge from Linux machine, because 1.4 is the latest Linux release of Atari FontMaker.

  4. Yes 🙂 And about the Linux version. Something goes wrong with windows manager when I start AFM and it likes to crash 🙁 especially when working on two character sets. When working on the first it is stable for a long time.
    But the most annoying is the problem with windows manager. As a matter of fact, I don’t know if it’s AFM’s fault, however I have several other applications running under WINE and they don’t do such “craziness” as after running AFM.
    And what’s going on? The problem is that switching between other windows on the system gets messed up. When setting focus on some window, it doesn’t go to the top, but stays underneath.

Leave a Reply

Your email address will not be published. Required fields are marked *