There are many VGA text mode font editors out in the wild: the "classic" one is FONTEDIT, published in PC Magazine all the way back in 1988. They're all functional, but either lack some niceties or have certain annoyances, so here's yet another go at the concept.
I've always been used to FONTEDIT (when our household's XT clone got a shiny new EGA upgrade, I actually typed the program in from the magazine article), so Fontraption is based on a similar interface, which I tried to keep as simple and intuitive as possible.
Assembly source is available, plus over a thousand fonts so you'll have something to play around with (yep, the stuff from from the Oldschool PC font pack is in there too).
- Edit two fonts at a time, using tabs to keep the UI consistent
- Flexible clipboard transfer of full/partial characters or character ranges
- Various block manipulation functions: flip X/Y, fill/erase, invert, slide
- Grab any of the built-in fonts from the VGA BIOS ROM
- Save/load as raw binary data; import/export BMP, XBIN and COM (plain/TSR)
- Supports any font height that VGA text mode can handle, up to 32 lines
- Preview your font in 40 or 80 columns (8 or 9 pixels per column)
- Uses pure text mode for speed; runs on any VGA-capable system (8088 and up)
- Various palettes, a decent file browser, etc.
- IBM PC or compatible
- VGA-compatible video
- DOS 3.0+
- 224 KB of free conventional RAM
To run it correctly in DOSBox, you'll want to do the following:
Use a CURRENT (SVN) build of DOSBox, not 0.74 (or 0.74-2). The latest DOSBox codebase fixes many issues related to VGA font widths, aspect correction, scaling, cursor handling, and so on.
Set "machine" to "vgaonly" in your DOSBox config file, otherwise 9-dots-per-column mode (F8) is disabled. 9 dots is the default with real (S)VGA hardware, and in DOSBox's "vgaonly" mode, but the "svga"/"vesa" machines force all text modes to 8 for some reason.
If you REALLY want to, you can force Fontraption to allow 9-dot mode regardless of DOSBox's machine type, by pressing Ctrl+Alt+9. Just don't expect things to look right if you do that - this option exists in case DOSBox changes its behavior in the future, or for certain forks (like DOSBox-X) that control it with a separate config option.
Optionally, up to two filenames can be specified on the command line:
If they appear to be valid font files, they will be loaded as fonts 1 and 2 respectively. If you leave out one or both filenames, the VGA font active at runtime will be used instead.
As for the rest, most of it should be self-explanatory really. RTFM if it isn't + have fun.