[Fontconfig] Xft2/fontconfig2.2.90 rocks! + advice for newbies

Frank Boehme f.boehme at cs.ucc.ie
Sun Aug 17 06:29:13 EST 2003


I am not on the list - only lurking here. So I am not totally sure if
this will get through...

I just want to say thanks to Keith. I have successfully installed
freetype2, fontconfig2.2.90, render, Xrender and Xft2 on top of my
existing Linux-XFree86-4.2.1 (ppl who look for answers concerning
dependencies may note the above order in which these packages should be

BTW fontconfig.org seems to be down at the moment?

Xft2 on X 4.2.1 is very good news for me since I have only onboard SIS
630 graphics and if I upgraded to X 4.3, then I would loose DRM/glx
because the SIS driver in X 4.3 has not yet been upgraded to that
version of Mesa which is now in X.

I recompiled GTK (and friends) as well as Qt 3.2 both with Xft2 support
and now I can enjoy nice AA TrueType fonts on my desktop.

Here are a few tips for ppl who may (like myself) run into certain
issues. I am typing this on an old box which has none of this installed,
so can't check for correct names of pathes or environment variables in
my writing...

1) The building of all these packages relies on existing correct
pkconfig files of dependent packages. Make sure pkconfig finds them. For
example, /usr/X11R6/lib/pkconfig is *not* part of the standard search
path (if pkconfig itself is configured and compiled w/o options).

2) About Qt 3.2. ./configure --help gives misleading information
concerning the -xft switch. It says that XftFreetype.h is required. That
header, however, belongs to Xft1 while Qt compiles and links perfectly
against Xft2.

3) Make of GTK 2.2.2 and Pango will fail if the shell has CFLAGS set. I
did that for performance tuning (-march=XXX, -fomit-frame-pointer, -O6).
I got an error in the modules directory. If you call make again, the
modules will be build and make install will install them correctly.
*However* {PREFIX}/etc/pango/pango.modules (and the corresponding file
for gtk will be empty! Apps which are linked against GTK will segfault.
For pango, I fixed that by saving and copying those files from a
previous build w/o CFLAGS set. For GTK, this does not work (SIGTERM in
libglib and/or libgdk). So in my case, I had to build GTK w/o optimising
flags (but I could build freetype, Xrender, Xft2 with optimization).

4) It is save to leave libXft.so.1 in /usr/X11R6/lib so that older apps
(Qt 2.x) can still use it. However, make sure that libXft.so is a
symlink to libXft.so.2. There is however, no automatic mechanism to keep
the headers for Xft1 and Xft2 at the same time (well --with-include-dir
or something should work, of course. But new non-GTK/QT stuff should
anyways be linked against Xft2 if possible

5.) About AA fonts in Qt. When you tick those two boxes in qtconfig,
they do not have immediate effect to qtconfig itself! Start another Qt
app or save and restart qtconfig to see the Xft fonts!

6.) For confirmation to see if things work, I recommend commenting out
all pathes to TT fonts in XFree86-4.config and not to load the freetype
module. This way, you can be sure that Xft2 works when you see TT fonts
in QT or GTK apps. Also get rid of xfs (font server for X) if you don't
need it. For desktop systems, it is only unnecessary baggage these days.

Cheers and thanks to the dev team,


Dr Frank Boehme                      | Email: f.boehme at cs.ucc.ie
National University of Ireland, Cork | phone: +353-21-4903163
Dept of Computer Science             |   fax: +353-21-4903113
Cork, Ireland                        |

Please avoid mailing Word or Power Point attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html

More information about the Fontconfig mailing list