An often heard complaint is the poor default fonts and font settings of X as
implemented by many Linux distributions. Some programs use fixed width
default fonts when a variable width font would be more appropriate. Other
programs use fonts that are so small as to be practically unreadable. Many of
the fonts that are bundled with XFree86 are not of the same quality as found
on some other platforms. XFree86 does come with a halfway decent courier
font, but its Times and Helvetica fonts are simple bitmap fonts that pixelize
when scaled. This is changing for the better recently, but a default Linux
desktop still often needs some tweaking to get the best fonts possible.
This HOWTO attempts to show how to adjust various font settings, install new
fonts, and a few other things that should greatly improve the appearance and
readability of fonts on the X Window Desktop. This is done by adjusting the
FontPath in the XF86Config file, by
adding switches to X server command line in startx or
xdm (and variants), by adding new fonts, and by
making sure a TrueType font server and fonts are installed. TrueType does
indeed make a huge difference in many applications.
Comments, corrections, additions and critiques are always welcome. You can
reach the author at <hal@foobox.net>. Contributions are also
welcomed. Especially anyone who really stays current with KDE and/or GNOME
issues!
Where examples of commands are used, a "#" character is used to
denote where typically the command would be run as the root user. A
"$" is used where typically a non-root user would be executing
the command.
The examples use /usr/local/share/fonts/ttfonts as our
TrueType font directory. There is no magic to this location, and could
conceivably just as well be in any number of other locations. Some
distros may have a default location for TrueType fonts, and you may
want to use that instead.
References to "xfs" are to the xfs as packaged by Red Hat (and some other
distros) for versions 6.x and later. This differs significantly in some
respects from the stock XFree86 xfs.
References to "Netscape" are to the entire suite of programs from Netscape:
Communicator, Navigator, Messenger, etc. And for all intents and purposes,
font configuration in Mozilla is very similar (but generally looks
better!).
'XF86Config' is the X configuration file. This has changed to
'XF86Config-4' for XFree86 v4.x. For the most part, we'll just use
'XF86Config' here.
Also, while some aspects of XFree86 4.x configuration are the same as
3.3.x, there are some significant differences. We'll only highlight the
differences. So unless noted otherwise, any comments or examples will
apply to both 3.3.x and 4.x versions.
File system layout varies somewhat from distribution to distribution. It
is impossible to stay on top of every conceivable variation of who keeps
which files where. So take the examples here with a grain of salt if the
PATHs don't seem to match your system.
1.95: February 11, 2002. A few corrections. Removed the section on Fonts in
KDE since this has to have changed, and I don't know anything about KDE
(does anyone want to help here?). Added a brief section on gdkxft, which
adds anti-aliasing support for GTK+ 1.2 applications.
1.9: November 5, 2001. A few new links and some minor catch ups only.
1.8: June 25, 2001: Included a new section on Anti-aliasing and Xft from
Danny Tholen <obiwan@mailmij.org>. Many thanks on this not so
well documented subject. Also, Sebastiano Vigna's neat little package for
downloading and installing MS webfonts: http://freshmeat.net/webFonts4Linux.
A few other odds and ends.
1.70: April 18, 2001:
Added links for converting Mac TrueType Fonts (thanks to Karl A. Krueger),
links to Unicode TrueType fonts (thanks to Tzafrir Cohen for suggestions
and URLs), and added a section on anti-aliasing with X 4.0.2 (or greater).
Also, included a reference to cabextract, a
utility that is now available for extracting Win32 Fonts (among other
things) from a Window's "cab" archive.
1.60: March 21, 2001:
A few very minor changes. Most notable news is anti-aliasing support now
in XFree 4.02 (referenced in the Notes section only). Chinese translation
URL added.
Unless otherwise stated, Linux HOWTO documents are copyrighted by their
respective authors. Linux HOWTO documents may be reproduced and distributed
in whole or in part, in any medium physical or electronic, as long as this
copyright notice is retained on all copies. Commercial redistribution is
allowed and encouraged; however, the author would like to be notified of any
such distributions.
All translations, derivative works, or aggregate works incorporating any
Linux HOWTO documents must be covered under this copyright notice. That is,
you may not produce a derivative work from a HOWTO and impose additional
restrictions on its distribution. Exceptions to these rules may be granted
under certain conditions; please contact the Linux HOWTO coordinator for more
information.
In short, we wish to promote dissemination of this information through as
many channels as possible. However, we do wish to retain copyright on the
HOWTO documents, and would very much like to be notified of any plans to
redistribute the HOWTOs, this one in particular! Web page authors are free
to link to this HOWTO without restriction, though the author would appreciate
an email informing him of this, just so he can boost his ego by knowing who
else reads and links to this document.
Many of the terms mentioned in this document are trade names. Unless
otherwise stated, all trademarks are property of their respective owners.
The developers of the XFree86 Project,
for all the hard work and time they have given. Also, Juliusz Chroboczek for
his work with xfsft, and XFree86 4.x to help bring TrueType to the
hungry masses. And Keith Packard for his anti-aliasing, and other work.
This is not to slight the many, many other XFree86 volunteers.
Font wizard Kristin Aanestad, whose legwork and insight on much of the xfs,
TrueType, Netscape, and especially, the fonts.alias sections are much
appreciated. More from Kristin at Some Linux for Beginners
on a wide range of topics.
Danny Tholen <obiwan@mailmij.org> is responsible for the nice
Xft section, and examples.
The folks at comp.os.linux.x who
gave me a hand in figuring all of this out in the first place.
The Linux community in general who made all of this possible
in the first place. Especially those who have offered suggestions and
comments that help to make this HOWTO a better resource. Keep those cards
and letters coming ;-)