FFE font editor
This simple bitmap font editor makes 8x16 bitmaps to be used with Freemacs MULE,
or to be loaded with the FreeDOS utility GNUCHCP for other uses.
Download (binary and FreePASCAL source).
without arguments: starts the editor.
starts the editor wih loaded (if no extension is provided, .dat is assumed).
The editing of bitmaps with FFE is very simple.
You can move the cursor on the grid with the arrow keys. When the editor is started,
it works in SKIP mode.
That means you can move the cursor on the grid without leaving any traces (you won't change any pixel). To change into WRITE mode, press "w". When in WRITE mode,
the cursor will turn on pixels as it moves; if the pixels are already on, they will be left unchanged. There is also an ERASE mode; to turn into it, press"e".
When the editor is in ERASE mode, the cursor will turn off pixels as it moves on them (pixels already OFF will be left unchanged). To change back to "SKIP" mode, press "s".
FFE edits the upper character set (ASCII 128 to 255) of an 8-bit font file,
with each glyph having a resolution of 8x16 pixels. Those are the font files used
by Freemacs MULE.
Here is the full list of the hot keys:
- L: ImportFile. When you press "L", you will be prompted for a filename to enter. The correspondent file will be loaded. If you were
already working on some file, you will be first prompted for whether you want to save it, and then for the new filename. When you enter a filename to load, and provide no extension, .dat will be assumed. The newly loaded file will become the current workking file.
- W: WriteFile. Writes the current working file, making changes permanent. No backup is made, so you had better copy your files before editing them!
- A (upper case): Save as. Writes the current working file to a new file. You will be prompted for the filename.
- S (upper case): StoreGlyph. Once you have painted the shape of a glyph, and want to store it, press "S". You'll then be able to turn
to the next character to edit. Note: the new glyph will be stored in memory, at the character's position in the font, not yet on the file.
To save changes on the file, see above ("w" key). When you press "S", the changes you've made to the glyph become effective, and the
previous shape (if there was one) is lost (however, the new shape is stored into memory only, so, if you don't save the file, it will still
contain the old shape).
- g: GoToChar. You will be prompted for a character code; you can enter a number in the range 128 to 255. You will then be moved to the corresponding glyph in the font. If you are editing an existing file, the grid will show the shape of that glyph. If you are drawing a new
font, the grid will be empty.
- p: PreviousChar. Moves to the previous glyph in the font. If you have made some changes to the current glyph, you will be prompted for
whether you want to store the changes you made to the glyph, or not.
- n: NextChar. Moves to the next char in the glyph. Like above for "p", you will be asked whether you want to save the changes you made to the current character, before moving to the previous one.
- w: Changes to WRITE mode.
- e: Changes to ERASE mode.
- s (lower case): Changes to SKIP mode.
- ArrowUp: moves the cursor up.
- ArrowDown: moves the cursor down.
- ArrowLeft: moves the cursor left.
- ArrowRight: moves the cursor right.
- Alt-l: ShiftLeft. Shifts a character's shape left one column on the grid. Pixels in the leftmost column will be lost. This function (as
well as ShiftDown, ShiftRight and ShiftUp) is very useful if you want to "move" a shape without having to redraw it from scratch.
- Alt-r: ShiftRight. Shifts a glyph right one column on the grid.
- Alt-u: ShiftUp. Shifts a glyph up one row.
- Alt-d: ShiftDown. Shifts a character down one row.
- Alt-i: ImportGlyphNumber. You will be prompted for a character code (range 128 to 255). The correspondiong glyph will be loaded into the code you are editing. For example, if the editor shows the current character code as being 155, and you press Alt-i, then, say, 200, the glyph in positions 200 will be copied onto position 155.