Setting up anti aliased fonts (for SuSE).
 

  Christian Hofmann

This article is intended to assist users of SuSE Linux 7.1 and 7.2 to make their systems more attractive visually.

Requirements

First, lets dwell on some basics about TrueType fonts. Starting with XFree86 Version 4.0, TrueType fonts have been supported directly by the X server. From Version 4.01 on, anti-aliasing support for TrueType fonts has also been integrated. In order to utilize this feature, however, the graphical user interface must also provide the respective support.

With KDE2, this is supported by the Qt library on which KDE2 is based. Nevertheless, as it is still in the test phase, this support is deactivated by default in SuSE Linux 7.1. Still, you can use any TrueType fonts you desire in KDE2 and have them displayed with smoothed edges. In this case all programs based on the KDE2 libraries or on Qt (e.g. KOffice, KWrite, KEdit, Quanta, etc.) will use AA fonts. Even YaST2 will have a new look the next time you use it - after all, it's a Qt application. The graphics card driver must contain the so-called RENDER extension, as the display of the smoothed fonts is handled by the graphics driver.

If you use another window manager such as Windowmaker and start a KDE2 program, all fonts will be displayed with smoothed edges.

In SuSE Linux 7.1, GNOME is not able to display smoothed TrueType fonts, since this feature is not supported by the GTK toolkit.

Note: Many TrueType fonts are subject to copyright restrictions. For this reason we can not supply widely used fonts like "arial", "times new roman", or "verdana" together with the distribution. We ask for your understanding in this matter!

In order to see what the world looked like without smoothed fonts, you can enlarge a section from any display with the program xmag. In this example you see a section from the Portal Homepage. The jagged transitions between the individual font pixels can be identified clearly.


 
 

Procedure for SuSE Linux 7.1

Make sure whether your graphics card supports the rendering of TrueType fonts. For this purpose your X server must be active, i.e. you must have logged into a GUI such as KDE2. Open an X console and enter the following command in normal user mode:

xdpyinfo |grep RENDER

The next line should read

RENDER

If this is not the case, make sure you have installed XFree86 Version 4.01 or above. The command xf86version informs you about the version of XFree86 you are currently using. In case you still use XFree86 version 3.x, please reconfigure your system with "Sax2" on XFree86 Version 4.0.1 or above. Assistance is provided in the SDB article XFree Update as well as in section 8.2 in the manual.

In order to activate font anti-aliasing in KDE2, use YaST to install the package "qt-experimental" from the series "xdev". Before doing this, log in as root. Please remember that this causes font anti-aliasing to be activated automatically and the KDE2 control center now only lists TrueType fonts!

Installation of the fonts.  There are two possibilities:

a) If you only need the most important fonts such as "arial", "arial black", "times new roman", "verdana" etc., you can download these fonts directly from the Microsoft server. You merely need to accept the license conditions of Microsoft.

Please download the following update package from our FTP server:xf86tools

Install the package: rpm -Uhv xf86tools*.rpm --nodeps --force

Execute the following command as root (make sure you're online!):

fetchmsttfonts

Follow the instructions, then run SuSEconfig and restart your X server.

Now the fonts should be available in KDE2 and KDE2 applications such as Konqueror.

Note: This is the easiest way to make use of common TrueType fonts in KDE2. Unfortunately we do not offer any support for attempts to install any fonts.

b)

Of course you can also install any desired TrueType fonts.

Copy the fonts to the directory /usr/X11R6/lib/X11/fonts/truetype/. Then execute the following command as root (you can simply "cut & paste" the command to the console):

/usr/X11R6/bin/ttmkfdir|sed s/^[0-9]*// > fonts.scale.neu

Then run SuSEconfig and restart you X server.

Note: Please note that the names of TrueType fonts must always be written in lowercase letters and should not contain any special characters or blank spaces. Rename the fonts, if necessary!
 

Testing the font anti-aliasing feature

Enlarge any section of your desktop with xmag. If the xmag windows displays grayscale pixels or color pixels between the regular font pixels, font anti-aliasing is active. Here's an example with anti-aliasing enabled.
 


 

The secret of anti-aliasing is that additional pixels are used at the edges of the objects/letters, giving the impression that these are smoother. In the image the additional pixels can be seen from the various gray shades. In reality the edges are not really smoothed. Rather, the additional pixels disperse the sharp contrast between the object and its environment. Depending on the magnification factor of the respective display section, you will notice that the seeming smoothing of edges goes hand in hand with reduced definition.
 

Note for users of LCD screens or laptops: An additional option which consiberably improves the appearance of smoothed fonts has proved very useful when using LCD screens. For this purpose you need to modify or create a file in your home directory (in normal user mode).

touch .xftconfig

Now, edit the file with an editor of your choice (e.g. pico) and append the following line:

match edit rgba = rgb;

Use of this option is not absolutely necessary. Simply try out what looks better. On normal tube monitors this option is rather annoying.
 

Procedure for SuSE Linux 7.2

The procedure for SuSE Linux 7.2 is only slightly different from the procedure for SuSE Linux 7.1. Only the activation of anti-aliasing (section 2) is entirely different. Starting from SuSE Linux 7.2, support for anti-aliased fonts is already included in the standard Qt library. The only thing you need to do in order to activate anti-aliasing is to use the option Anti-aliasing for fonts and symbols in the KDE Control Center, menu entry Look & Feel --> Style. All fonts can also be displayed with smoothed edges in KDE2 programs started from other window managers such as Windowmaker. You simply need to set a global environment variable. For this purpose, edit the file /etc/profile.local in root mode. In case this file does not exist, create it by typing:

touch /etc/profile.local

Then add the following entry:

export QT_XFT=1

Apart from this difference, the rest of the procedure (obtaining TrueType fonts, etc.) is performed as with SuSE Linux 7.1. Have fun with your experiments!
 
 

searchSearch Index