Part of a normal Linux computer's X configuration is the specification of the font path for that system. With XFree86, this is set using the FontPath entries in the XF86Config file (which is normally stored in /etc or /etc/X11 ). The font path consists of one or more locations where the X server can find font information. In the mid-1990s, Linux distributions tended to name local filesystem directories in the font path. These directories contained fonts and font configuration files. Such a configuration is still possible, and is even used today as part or all of the default font configuration for some distributions.
There are several problems with telling X to use fonts stored on a hard disk, though. For one thing, this relies upon X's capacity to handle the font formats in question. Prior to the release of version 4.0, XFree86 could not directly handle the popular TrueType font format, for instance. Adding support for a font format directly to XFree86 is fairly difficult, but a font server is a small and comparatively simple program, so support for TrueType appeared in font servers long before it became a standard part of XFree86. With XFree86 4.0, TrueType support isn't an issue, but this situation could arise again with new or expanded font formats, such as the Multiple Master format that's been growing slowly in popularity.
Another problem with storing fonts on disk is in administering a network of computers. If you have a collection of fonts you want to make available to all the computers on a network, installing them on all the computers on your network can be tedious . If you then want to add, delete, or change some of the fonts, you're in for more tedium. Using a font server permits you to centralize your font configuration; you need only configure all your clients to use a particular font server, then make additions and other changes to that one server. This can greatly ease your administrative burden .
Finally, font servers can sometimes deliver features that aren't present in X's normal font handling. This is particularly important for word processors, page layout programs, and other text-handling programs. X was designed with displays on monitors in mind, not paper printouts. Word processors and similar programs frequently need to perform textual operations that simply aren't supported by X's font handling. An expanded font server can provide these needs, thus simplifying the task of writing programs that manipulate text layouts, and especially those that provide what-you-see-is-what-you-get (WYSIWYG) printing.
Font servers may be run either locally, to serve fonts to a single computer, or as full network servers, to deliver fonts to many systems. Some Linux distributions today rely upon the first configuration to handle some or all of the computer's font needs in X. The latter configuration is something you'll have to design with your own network's needs in mind. Most aspects of font server configuration are identical for these two modes of operation; just a few details differ .