Windows 95 Font Smoothing in Microsoft Plus!
This article explores how the Microsoft Plus! companion pack introduced font smoothing to Windows 95, transitioning the operating system from harsh, binary text rendering to legible, grayscale anti-aliased typography. It details the underlying TrueType rasterization process, how the Graphical Device Interface (GDI) blended edge pixels with backgrounds, and the hardware constraints that shaped its implementation.
By default, the original retail release of Windows 95 utilized standard bi-level (1-bit) rasterization for TrueType fonts. In this mode, every pixel on a glyph’s edge was evaluated strictly as binary: completely on (black/foreground) or completely off (white/background). At smaller point sizes or on diagonal strokes, this produced noticeable "stair-stepping" or jagged edges.
The Microsoft Plus! for Windows 95 add-on package upgraded the core TrueType rasterizer within the operating system to enable full-pixel grayscale anti-aliasing. When activated via the "Display Properties" settings introduced by the pack, the rasterizer changed how it sampled glyph outlines. Instead of determining a hard boundary, the engine evaluated what percentage of each boundary pixel was intersected by the mathematical outline of the vector glyph.
Based on this coverage percentage, the rasterizer generated intermediate alpha values—typically mapped across 4 to 16 levels of gray. The GDI subsystem then computed the final pixel color by linearly interpolating between the intended text color and the underlying background color. Unlike the sub-pixel rendering (ClearType) introduced years later in Windows XP, Windows 95 font smoothing operated strictly at the whole-pixel level and treated each pixel as a uniform square without addressing individual red, green, and blue sub-pixel elements.
Because this mathematical blending required significant processing power for 1995-era CPUs (primarily 486 and early Pentium systems), Windows 95 relied heavily on glyph caching. Once a character of a specific size, weight, and style was rendered into its anti-aliased bitmap format, GDI cached it in system memory. Subsequent requests to draw that character pulled the pre-rendered bitmap directly, bypassing the vector math to reduce system lag during document scrolling and window redraws.
The smoothing feature was heavily constrained by the active display adapter and color mode. Proper color interpolation required sufficient color depth; therefore, font smoothing was automatically disabled or restricted on standard 16-color and 256-color (8-bit) VGA setups, where palette limitations made smooth intermediate tones impossible to display accurately. The feature required High Color (16-bit) or True Color (24-bit/32-bit) configurations to function correctly, establishing a rendering foundation that Microsoft would later integrate natively into Windows 98 and Windows NT 4.0.