On Mon, 10 Jun 2002, Philip S Tellis wrote:
The whole concept of font servers actually came about so because people would have a single server with xfs and a whole load of X clients. The X servers would run remotely and contact the xfs for its fonts, providing only display drivers. Back then, the X server didn't have font drivers built in.
Today, X servers have font drivers (including the freetype library) compiled in and no longer require a font server. Furthermore, how many people do you know who actually do what I described above?
I think some more clarification is required here. Earlier X Window systems (XFree86 3.x and earlier) had capabilities to handle the fonts itself. X servers could act as font server also. In other words, it could render the fonts itself without any other font server. Then came font servers (xfs-tt and xfs-ft) with TrueType capability only. Both of these font servers can be seen as an additional element in X server's font path. xfs-ft is using FreeType library which is font renderer of TrueType (and now OpenType) fonts. Then, as Philip already explained, this freetype renderer was added as font module in X Window system and thus by enabling X server to handle TrueType fonts itself in addition of separate font server.
Since then people started thinking about removing load from X server and provide font support through font servers. So actually current trend is towards running font server to render fonts instead of using X server. There are certain advantages also for using font servers. Font server is a separate program so while adding new feature, say hinting support, there is no need to upgrade X window system. Now a days, xfs-ft supports other file formats also, e.g., Type1, BDF, PCF, etc.
Even today we can rely on either X server or X font server to render fonts. My experience says that font server can render the fonts more smoothly than X server because font libraries available in X window system are not upgraded as quickly as font servers. Also these font modules are now coming as loadable modules in X servers. So one can easily choose whether to load a module and use font rendering capability of X server or not. Also if you specify any font path before xfs's path (unix/:7100) in your XF86Config file then it will use font module in X server instead of xfs. This way also you can select between X server and xfs to render a particular type of fonts.
- Keyur