Introduction
A .fon file holds the bitmap fonts of Microsoft Windows, from Windows 1.0
onwards. These are the fonts of early Windows screens, such as MS Sans Serif, Courier and
Terminal, drawn pixel by pixel at a few fixed sizes. Windows still ships and uses some of
them, for example for the Terminal font of the console and in old programs.
A .fnt file is a single font resource on its own, and a .fon
file packs one or more of them together.
Structure
A .fon file is a 16-bit Windows
NE executable with no code, used only as a container
for resources. It starts with MZ, and the offset at 0x3C points
to the NE header, whose resource table lists one FONT resource
per size or style and a FONTDIR resource that summarises them. Each
FONT resource is the content of a .fnt file: a header with the
version (2.0 or 3.0), the point size, resolution, character height and range, the face
name and a table of character widths and offsets, followed by the glyph bitmaps. Some
.fnt files hold vector fonts instead, made of strokes.
Links
Software
- Windows font viewer and Fonts settings (Windows, built in)
- FontForge (Windows, macOS, Linux)
Developers
- FreeType, C library that renders Windows FON and FNT fonts