|
X Windows' lack of TrueType Font Engine
X Windows originally supported only bitmap fonts, i.e. fonts for
which a physical representation for how a font should appear at a
particular point size is pre-computed and stored. The problem with
this model is when the X server requests a font size which is not
precalculated, the font system shrinks or reduces one of the existing
bitmaps until it achieves the proper point size. The result is
blocky when enlarged, and often illegible when reduced.
Various proprietary scalable font engines were
added by proprietary Unix vendors in an effort to combat the bitmap
font problem. Scalable fonts contain only an outline, or
description, of how the font should be drawn, as well as some hints
on how to handle very small point sizes. Theoretically, scalable
fonts can be displayed at any size without any of the "blockiness"
inherent to their bitmapped siblings. Several of these engines were
even donated back to the X Consortium, who maintained the core X
Window System, as Free Software. IBM donated a PostScript Type1 font
renderer, and BitStream a renderer for their proprietary Speedo type
format. Unfortunately, the Type1 engine does a rather poor job with
small font sizes, and the Speedo font format has largely been
supplanted by other formats. As Apple and Microsoft made TrueType
font technology the de-facto standard in the 1990's, Linux users were
largely left out in the cold.
X Windows' Cryptic Font Configuration Model
In addition to lack of support for modern fonts, X makes adding and
removing fonts difficult. In addition to modifying the system's
/etc/X11/XF86Config to add or remove a directory
containing to new fonts, if X is currently running, the user must
also use the cryptic xset command to
modify their runtime font path. When fonts are installed into an
existing font directory (which is typical), the
mkfontdir must be employed, which isn't
much better. Even worse, it does not support Type1 fonts, the only
reasonable scalable font technology that comes standard with the X
Window System.
Printing System Didn't Share Fonts
Most Linux systems use GhostScript as the foundation of the printing
sub-system, as it is a very good PostScript interpreter supporting a
wide range of printers. Red Hat Linux is no exception. Until
recently, GhostScript made use of bitmap fonts which were similar,
but incompatible with X Windows. The German font foundry URW++
Design and Development Inc. graciously donated a set of high quality
PostScript Type1 fonts to the public domain, which GhostScript
quickly adopted, enabling higher quality printed output. While these
fonts were compatible with the X Type1 font engine, they were stored
in a different location and were not configured to be easily used
with X.
|