Windows 3.11 Font Mapping System File

In Microsoft Windows 3.11, the system file responsible for specifying application font mapping rules is WIN.INI. This article explains the role of WIN.INI in font substitution, details how the internal font mapper utilized this file to match requested fonts with installed typefaces, and highlights the specific configuration section that governed these rules.

The Role of WIN.INI

During the 16-bit era of Windows, system configuration was divided primarily between two initialization files: SYSTEM.INI and WIN.INI. While SYSTEM.INI controlled hardware drivers, display adapters, and core operating environment parameters, WIN.INI managed user environment preferences, desktop appearance, and application interoperability settings. Within this architecture, font matching and font mapping rules fell strictly under the jurisdiction of WIN.INI.

The [FontSubstitutes] Section

Font mapping in Windows 3.11 was configured within the [FontSubstitutes] section of WIN.INI. This section contained explicit pairing instructions that told the Windows Graphics Device Interface (GDI) which available font to substitute when an application requested a typeface that was not locally installed.

Common default entries in the [FontSubstitutes] section included:

  • Helv=MS Sans Serif
  • Tms Rmn=MS Serif
  • Times=Times New Roman
  • Helvetica=Arial

These mappings ensured backward compatibility with earlier Windows versions and documents created on other platforms, such as the Apple Macintosh, which relied on standard PostScript font names like Helvetica and Times.

How the Windows Font Mapper Used the File

When an application requested a font via the Windows GDI (such as calling CreateFont or CreateFontIndirect), the Windows Font Mapper evaluated the request:

  1. Exact Match Check: The system checked if the requested typeface name was already installed in the system font table (also defined under the [Fonts] section of WIN.INI).
  2. Consulting Substitutions: If the requested font was missing, the Font Mapper inspected [FontSubstitutes] in WIN.INI. If a rule matched the missing font name, the GDI substituted the replacement font name.
  3. Attribute Weighting: If no direct substitution rule existed, the Font Mapper used an internal penalty algorithm to choose the closest match based on family, pitch, weight, and character set.

By editing the WIN.INI file directly or through configuration utilities, system administrators and users could customize these mappings to redirect missing or legacy document fonts to existing TrueType or raster alternatives.