Linuxdoc Linux Questions
Click here to ask our community of linux experts!
Custom Search

A.2. Red Hat's xfs

As of Red Hat Linux 6.0, Red Hat based distributions (Mandrake, etc) have included a specially patched version of xfs, the XFree86 Font Server, and patched X servers as well. Red Hat's xfs includes the xfsft patch set which in turn is built upon the FreeType Font library. Red Hat's xfs provides similar functionality to xfstt. xfs is able to serve both TrueType and Type 1 fonts, as well as legacy X fonts.

If you are using a Red Hat based distro, you should have xfs installed already. If not, it is in the XFree86-xfs*rpm. To make sure it runs as one of the default services, either use ntsysv or:

# chkconfig --add xfs

Now xfs will start every time you boot.

A.2.1. Setting the xfs FontPath

The default Red Hat installation of xfs serves fonts via a Unix Domain Socket. We'll need to tell the X server where to look for xfs, and thus fonts. The FontPath in /etc/X11/XF86Config must include for Red Hat 6.x:

 FontPath   "unix/:-1" 
    

This is changed for Red Hat 7.x to:

 FontPath   "unix/:7100" 
    

At least for a default configurations. This is a reference to the socket where xfs is listening. You may include additional FontPaths, but these will be handled by the X server, and not xfs. A clean install of Red Hat 6/7 should have this already set up, but if you are upgrading from an older version, you may have to change this yourself!

xfs then has its own, separate FontPath stored in /etc/X11/fs/config. This is where it will look to find fonts. This is over and above the X server's FontPath in XF86Config. You can either add the new path(s) with a text editor, or use the chkfontpath command:

# chkfontpath --add /new/font/path

The FontPath must exist before running chkfontpath. The relevant section of /etc/X11/fs/config should now look something like this:


catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
            /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/Type1,
            /usr/X11R6/lib/X11/fonts/Speedo,
            /usr/X11R6/lib/X11/fonts/misc,
            /usr/X11R6/lib/X11/fonts/100dpi,
            /usr/X11R6/lib/X11/fonts/75dpi,
            /new/font/path

    

When adding a new FontPath for TrueType fonts, you will want to do this step after installing and preparing the fonts. See the next section.

A.2.2. Getting the Fonts Ready

Installation and configuration is the same as for other "freetype" based font renderers (e.g. XFree86-4.x freetype module). See the above Configuration section for details. Actually, you should just be able to install the fonts, include the new font directory to the FontPath with the chkfontpath utility, and then reload xfs:

 # service xfs reload