One of the most annoying problems many of us are faced with is the poor default fonts and font settings of X as implemented by many distributions. I'm talking specifically about XFree86, other versions of X may be better. Many 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. 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 they are 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 do 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 installing a TrueType font server and fonts. TrueType does indeed make a huge difference.
Comments, corrections, additions and critiques are always welcome. You can reach the author at <firstname.lastname@example.org>. 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 Redhat 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.
'XF86Config' is the X configuration file. For Redhat based distros, as of Redhat 7.0, this is now 'XF86Config-4' for XFree86 4.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.8: June 25, 2001: Included a new section on Anti-aliasing and Xft from Danny Tholen <email@example.com>. Many thanks on this not so well documented subject. Sebastiano Vigna's neat little package for downloading and installing MS webfonts, being the most noteworthy: 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.
1.55: Oct 11, 2000: Additional info on XFree86 4.x, especially Redhat's changes for RH7.0. A few other minor updates and additions. Also adding a neglected credit to Kristin Aanestad for his insight into much of what this document is all about.
1.5: July 25, 2000: New sections added on fonts.alias, XFree86 4.x, and xfsft. Miscellaneous other changes and additions. Also, includes new Links and Notes sections, as well as a rewrite of the xfs sections. Various other changes and additions.
0.1: Feb. 21, 1999: First release.
The pre-release versions of this document can be found at http://feenix.burgiss.net/ldp/fdu/index.html.
Copyright � 1999 by Doug Holland.
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.
Special thanks go to:
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 <firstname.lastname@example.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.
Microsoft and Apple: for providing the fonts that adorn my desktop.