Windows 3.11 Font Installation in Control Panel

In Microsoft Windows 3.11, installing a font through the Control Panel was a coordinated process involving the Control Panel interface, the Graphics Device Interface (GDI), and system configuration files. When a user selected and installed a font, Windows verified the file, created specialized descriptor files for scalable TrueType fonts, copied the data to the system directory if requested, registered the resource in active memory, and updated the WIN.INI file to ensure the font persisted across system reboots.

The process began inside the Control Panel's Fonts applet, executed via CONTROL.EXE and its supporting libraries. When a user clicked "Add Fonts," the application opened a common file dialog configured to scan for supported font extensions, primarily TrueType files (.TTF) and bitmap or vector resource files (.FON). Users were given the option to either copy the font files directly to the system directory (typically C:\WINDOWS\SYSTEM) or maintain a reference to the font file in its current location, such as a floppy disk or network share.

For TrueType fonts, Windows 3.11 did not directly register the raw .TTF file. Instead, the installation routine invoked the GDI API function CreateScalableFontResource(). This function analyzed the .TTF file and generated a corresponding TrueType Font Resource header with a .FOT extension. The generated .FOT file acted as an intermediary descriptor containing the font's internal technical name, font metrics, copyright information, and a pointer to the physical path of the target .TTF file.

Once the .FOT file was generated (or if a standard .FON file was being installed), the Control Panel loaded the font into the running operating system's memory by calling AddFontResource(). This internal GDI function parsed the font resource and added it to the global font table, making the typeface instantly selectable in active applications without requiring a system restart.

To ensure persistence after shutdown, the installation procedure registered the font in the Windows configuration structure. Because Windows 3.11 did not rely on a centralized system registry for core desktop configurations, it wrote the font mapping directly to the [fonts] section of the WIN.INI file. The entry paired the human-readable font name with the corresponding resource file, formatted as follows:

[fonts]
Arial (TrueType)=ARIAL.FOT
Times New Roman (TrueType)=TIMES.FOT
MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON

After modifying the WIN.INI file, the Control Panel broadcast a WM_FONTCHANGE message across the system to all top-level windows. Running Windows applications listening for this message then refreshed their internal font lists and device contexts, allowing users to immediately utilize the newly installed typefaces in word processors and graphics software.