patch -- (ABI-1-0-0-STABLE) XFT support

From: Joaquín Cuenca Abela (
Date: Mon May 20 2002 - 17:57:38 EDT

  • Next message: Martin Sevior: "commit: HEAD fix 3423."

    I've added XFT support for AbiWord.
    In short, it means that AbiWord can now easily use:

    1) global font configuration
    2) detailed font metrics
    3) antialiasing (using XRender if available)

    I still think that pango it's the way to go, but I guess that it will
    still take a bit of time to Tomas to finish the pango powered layout,
    and we have a lot of users that are suffering the font configuration

    With this patch, you don't need anymore the abiword-fonts package to
    have abi running (you can even erase the fonts directory, and abiword
    will not complain). It will list all the fonts available through xft,
    and you will be able to use all them.

    Things that are still a problem (ie, it was already a problem with Abi

    1) Printing. (You still need to run ttftool in the truetype fonts, you
    still need adobe-full.u2g, etc.)

    2) Non wysiwyg. (Now it's a more easily solvable problem)

    New problems:

    1) It's slower.

    2) Symbol font it's not working (say bye bye to the insert symbol dialog

    3) It crashes when you select a big enough font. I get a:
    Gdk-ERROR **: BadLength (poly request too large or internal Xlib length
      serial 16567 error_code 16 request_code 153 minor_code 20

    The i18n support is still not finished. I don't test for the coverage
    of a given glyph in the current font, so if the glyph is not in the
    font, it just displays a void carret.

    If we solve problems 2 and 3, I think that we can make a release with
    these changes, but honestly I don't known what number should have this
    release. This change is not small, nor trivial, nor stable, so it
    doesn't fits for the 1.0.x series.

    This change is not needed in its current form for the HEAD version,
    because there we have pango that will be using the xft backend. Still,
    the HEAD version can take several months to became stable, and it will
    be a pity to leave our users without these changes all that time...

    Any idea? Maybe HEAD should be used to do a 2.0 release, and we can do
    a 1.2 release based on the 1.0 stuff...

    Btw, some of the code in this patch should go to the 1.0 and HEAD (the
    code out of #ifdef USE_XFT).

    If you want to test the patch, you will need a system with XRender and
    XFT (you will need XRender because I look for it in the,
    but it's not really a must...)


    P.S.: screenshot here:

    Joaquín Cuenca Abela

    This archive was generated by hypermail 2.1.4 : Mon May 20 2002 - 17:57:41 EDT