Windows 3.11 PostScript Printer Font Downloading
In Microsoft Windows 3.11, printing to PostScript devices required
balancing complex vector typography with strict printer memory and
bandwidth constraints. Through its dedicated PostScript driver
(PSCRIPT.DRV), Windows 3.11 managed font downloading by
offering font substitution tables, converting TrueType fonts into
PostScript-compatible formats (Type 1 outlines or Type 3 bitmaps), and
handling dynamic, per-job memory management to prevent printer buffer
overruns.
The Role of the PostScript Driver
Windows 3.11 relied on PSCRIPT.DRV to translate Graphics
Device Interface (GDI) drawing commands into PostScript page description
code. With the introduction of native TrueType fonts, the driver had to
determine how to represent fonts that did not reside natively within the
printer’s Read-Only Memory (ROM). Users and administrators configured
these behaviors via the Printers utility in the Windows
Control Panel by accessing the driver’s Options and
Advanced setup dialogs.
Font Substitution Table
To maximize printing speed across slow parallel or serial connections, Windows 3.11 utilized a font substitution table. Instead of sending font files over the cable, the driver checked whether a TrueType screen font corresponded to a resident PostScript printer font:
- Arial automatically mapped to Helvetica
- Times New Roman mapped to Times
- Courier New mapped to Courier
If a document used substituted fonts, no font data was downloaded. The printer simply invoked its internal ROM outlines, drastically reducing processing time and print queue file sizes.
Downloading TrueType as Type 1 or Type 3
When a document used a font that lacked a printer-resident equivalent, the driver downloaded the font directly to the printer's RAM using one of two primary methods:
- Adobe Type 1 (Outline Fonts): The driver converted TrueType vector data into standard PostScript Type 1 outlines on the fly. This method retained smooth, scalable vectors at any target resolution (typically 300 to 600 DPI) and produced the highest quality output. However, it required substantial processing on the host PC and more memory on the printer.
- Type 3 (Bitmap Fonts): For printers with limited processing capacity or RAM, Windows 3.11 rasterized the glyphs on the PC at the printer's native resolution and transmitted them as Type 3 bitmap fonts. This approach was faster for small amounts of text or fixed sizes, but consumed more transmission bandwidth if many different point sizes were used.
Users could force the driver to default to either Type 1 outlines, Type 3 bitmaps, or let the driver automatically select the best format based on point size thresholds defined in the driver configuration.
Soft Font Installation and Memory Scopes
For commercial PostScript fonts (such as Adobe Type 1 fonts
distributed with .PFB binary and .PFM metric
files), Windows 3.11 provided a dedicated Font Installer utility within
the driver interface:
- Per-Job Downloading: By default, soft fonts were transmitted alongside the document's PostScript print stream. Once the print job finished, the printer's PostScript interpreter executed an automatic restore command, flushing the font from printer RAM to free memory for subsequent jobs.
- Permanent Downloading: For high-volume environments, users could manually download frequently used soft fonts directly into the printer’s memory using external utilities. These fonts remained resident in the printer's RAM until the hardware was power-cycled, completely eliminating transmission overhead during individual print jobs.
Configuration Storage in WIN.INI
All user preferences regarding PostScript font substitution, default
download formats, and available printer fonts were tracked directly
within the [PostScript,port] sections of the core
WIN.INI configuration file. This clear separation allowed
Windows 3.11 to maintain device-specific font handling across different
network and local printing ports without modifying system
executables.