35.4. Fonts
Red Hat Enterprise Linux uses two subsystems to manage and display fonts under X: Fontconfig and
xfs
.
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.
35.4.1. Fontconfig
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, which should not be edited by hand.
Note
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 System (on the panel) > > ). For these applications, a font can be configured by adding the following lines to the file
~/.gtkrc.mine
:
style "user-font" { fontset = "<font-specification>" } widget_class "*" style "user-font"
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.
35.4.1.1. Adding Fonts to Fontconfig
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 aslocal/
or similar, to help distinguish between user-installed and default 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/
).
Note
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.