In modern operating systems, rasterization is normally provided by a
shared library common to many applications. Such a shared library may be built into the
operating system or the
desktop environment, or may be added later. In principle, each application may use a different font rasterization library, but in practice most systems attempt to standardize on a single library.
Microsoft Windows has supported subpixel rendering since
Windows XP. On the other hand, the standard Microsoft rasterizer without ClearType is an example of one that prioritizes
type designer's intent of clarity; by forcing text into integral coordinate positions, following the
type designer's intent of hinting, and even not antialiasing certain fonts at certain sizes, following the
type designer's intent of the gasp table, it becomes easier to read on the screen, but may appear somewhat different when printed. This has changed with Direct2D/DirectWrite shipping on Windows 7 and Windows Vista platform update, allowing subpixel text positioning to 1/16 pixel sizes.
Mac OS X's
Quartz is distinguished by the use of subpixel positioning; it does not force glyphs into exact pixel locations, instead using various antialiasing techniques, including
subpixel rendering, to position characters and lines to appear further from the
type designer's intent of hinting and closer to the original outline. The result is that the on-screen display looks extremely similar to printed output, but can occasionally be difficult to read at smaller point sizes. The Quartz renderer has, since macOS Mojave, removed subpixel rendering, relying purely on greyscale anti-aliasing instead. This change is acceptable to HiDPI "retina" screens, but makes text on external monitors harder to read. Most other systems use the
FreeType library, which depending on the settings, can fall anywhere between Microsoft's and Apple's implementations; it supports hinting and anti-aliasing, and optionally performs subpixel rendering and positioning. FreeType also offers some features not present in either implementation such as color-balanced subpixel rendering and gamma correction. Applications may also bring their own font rendering solutions. Graphics frameworks like
Skia Graphics Engine (used by
Google Chrome) occasionally use their own font renderer. Video games and other 3D applications may also need faster, GPU-based renderers such as various
SDF-based renderers and "Slug". == References ==