Red Hat Enterprise Linux uses two methods to manage and display fonts under X. The
newer Fontconfig font subsystem simplifies font management and provides
advanced display features, such as anti-aliasing. This system is used
automatically for applications programmed using the Qt 3 or GTK+ 2
graphical toolkit.
For compatibility, Red Hat Enterprise Linux includes the original font subsystem, called
the core X font subsystem. This system, which is over 15 years old, is
based around the X Font Server
(xfs).
This section discusses how to configure fonts for X using both systems.
The Fontconfig font subsystem allows applications to directly access
fonts on the system and use Xft or other rendering mechanisms to render Fontconfig
fonts with advanced anti-aliasing. Graphical applications can use the
Xft library with Fontconfig to draw text to the screen.
Over time, the Fontconfig/Xft font subsystem replaces the core X
font subsystem.
Important
The Fontconfig font subsystem does not yet work for
OpenOffice.org, which uses its own font
rendering technology.
It is important to note that Fontconfig uses the
/etc/fonts/fonts.conf configuration file, and
should not be edited by hand.
Tip
Due to the transition to the new font system, GTK+ 1.2 applications
are not affected by any changes made via the Font
Preferences dialog (accessed by selecting Main
Menu Button [on the Panel] =>
Preferences =>
Font). For these applications, a font can
be configured by adding the following lines to the file
~/.gtkrc.mine:
Replace <font-specification> with a
font specification in the style used by traditional X applications,
such as
-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*.
A full list of core fonts can be obtained by running
xlsfonts or created interactively using the
xfontsel command.
Adding new fonts to the Fontconfig subsystem is a straightforward
process.
To add fonts system-wide, copy the new fonts into the
/usr/share/fonts/ directory. It is a good
idea to create a new subdirectory, such as
local/ or similar, to help distinguish
between user and default installed fonts.
To add fonts for an individual user, copy the new fonts into the
.fonts/ directory in the user's home directory.
Use the fc-cache command to update the font
information cache, as in the following example:
fc-cache <path-to-font-directory>
In this command, replace
<path-to-font-directory> with the
directory containing the new fonts (either
/usr/share/fonts/local/ or
/home/<user>/.fonts/).
Tip
Individual users may also install fonts graphically, by typing
fonts:/// into the
Nautilus address bar, and dragging the
new font files there.
Important
If the font file name ends with a .gz extension,
it is compressed and cannot be used until uncompressed. To do this,
use the gunzip command or double-click the file
and drag the font to a directory in
Nautilus.
For compatibility, Red Hat Enterprise Linux provides the core X font subsystem, which
uses the X Font Server (xfs) to provide fonts to X
client applications.
The X server looks for a font server specified in the
FontPath directive within the
Files section of the
/etc/X11/xorg.conf configuration file. Refer to
Section 7.3.1.4 Files for more
information about the FontPath entry.
The X server connects to the xfs server on a
specified port to acquire font information. For this reason, the
xfs service must be running for X to start. For
more about configuring services for a particular runlevel, refer to
the chapter titled Controlling Access to
Services in the Red Hat Enterprise Linux System Administration Guide.
The /etc/rc.d/init.d/xfs script starts the
xfs server. Several options can be configured
within its configuration file,
/etc/X11/fs/config.
The following lists common options:
alternate-servers — Specifies a list
of alternate font servers to be used if this font server is not
available. A comma must seperate each font server in a list.
catalogue — Specifies an ordered list
of font paths to use. A comma must seperate each font path in a
list.
Use the string :unscaled immediately
after the font path to make the unscaled fonts in that path load
first. Then specify the entire path again, so that other
scaled fonts are also loaded.
client-limit — Specifies the maximum
number of clients the font server services. The default is
10.
clone-self — Allows the font server
to clone a new version of itself when the
client-limit is hit. By default, this option is
on.
default-point-size — Specifies the
default point size for any font that does not specify this
value. The value for this option is set in decipoints. The default
of 120 corresponds to a 12 point font.
default-resolutions — Specifies a list of
resolutions supported by the X server. Each resolution in
the list must be separated by a comma.
deferglyphs — Specifies whether to
defer loading glyphs (the graphic used to
visually represent a font). To disable this feature use
none, to enable this feature for all fonts use
all, or to turn this this feature on only for
16-bit fonts use 16.
error-file — Specifies the path and
file name of a location where xfs errors are
logged.
no-listen — Prevents
xfs from listening to particular protocols. By
default, this option is set to tcp to prevent
xfs from listening on TCP ports for security
reasons.
Tip
If using xfs to serve fonts over the
network, remove this line.
port — Specifies the TCP port that
xfs listens on if no-listen
does not exist or is commented out.
use-syslog — Specifies whether to use
the system error log.