The in-ROM VGA fonts supplied in the firmwares of both Bochs and VirtualBox — the Plex86/Bochs VGA firmware — are the VGA fonts (VGA-ROM.F??
) from Joseph Gil's fntcol16.zip
package. They are right there in the Bochs/VirtualBox/Plex86 source code, beneath a big comment saying where they came from.
fntcol16
has an 8×16 font, as used for VGA 25 line text modes; an 8×14 font; and an 8×8 font as used for VGA 50 line text modes. The fonts used on a real machine for the VGA text modes may well be different. What font is used depends from who wrote the firmware. Various people on the WWW have taken VGA cards that they own and extracted the VGA fonts from the ROM on the card, and converted them with tools such as (apparently) Jan Engelhardt's fnt2bdf
.
Various other people have designed their own lookalike fonts, for Microsoft Windows, X, and so forth, from scratch. One such is Dmitry Yu. Bolkhovityanov, who has made a Unicode VGA font based upon the vga.bdf
font in XDosEmu
.
Be aware, when comparing fonts by eye, that the actual VGA font as displayed on real hardware is usually a 9×16 font. VGA and "SuperVGA" display adapters in (VGA) text modes turn an 8×16 font into, variously, a 9×16 font, an 8×16 font with a 1-pixel border between characters, or a 7×16 font with a 1-pixel border between characters. This is done in hardware. The 9×16 font is constructed by either adding a background ninth pixel or (for glyphs 0xC0
to 0xDF
) repeating the final pixel.