Fwd: patch -- Xft rendering for HEAD (please commit)

From: Hubert Figuiere (hub@nyorp.abisource.com)
Date: Mon Jul 15 2002 - 17:08:51 EDT

  • Next message: Hubert Figuiere: "Re: my last patch is not hitting the list"

    FYI. fjf committed the patch.


    ----- Forwarded message from owner-abiword-dev@abisource.com -----

    Message-ID: <20020714172832.70968.qmail@web14604.mail.yahoo.com>
    Received: from [] by web14604.mail.yahoo.com via HTTP; Sun, 14 Jul 2002 10:28:32 PDT
    Date: Sun, 14 Jul 2002 10:28:32 -0700 (PDT)
    From: Joaquin Cuenca Abela <e98cuenc@yahoo.com>
    Subject: patch -- Xft rendering for HEAD (please commit)
    To: abiword-dev@abisource.com
    MIME-Version: 1.0
    Content-Type: multipart/mixed; boundary="0-1968044564-1026667712=:70559"

    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline

    cf. subject.

    It should not break for non unix platforms, but I will
    keep an eye at tinderbox.

    If you want to see it in action, just configure with
    the option --enable-xft. You will need
    Xft2/fontconfig, you can get both of them (as
    tarballs) at:


    the package contains fontconfig, Xft, Xft1 compatible
    wrapper, and client Xrender.

    If you have an old Xfree (4.2 is good enough) you only
    need to install fontconfig and Xft. Both of them use
    auto{conf,make}, so it should be easy as a pie. If
    you have an old X, or one that doesn't support the
    Xrender extension (if Xft don't compiles, then you
    have an old X), you should also install the Xrender
    stuff with:

    make install

    The order is: Xrender (optional), fontconfig, Xft,
    AbiWord compiled with --enable-xft

    I think that Owen did some rpms of fontconfig/Xft some
    time ago, so you may use these if you want (nope, I
    don't remember where they are).

    Next, you should pick an appropiate
    /etc/font/font.conf. I've attached mine for
    convenience, but you can use the default one that
    comes with Xft.

    If you want to use MS fonts with abiword, just
    download them, and put them in a font directory (say
    /usr/share/fonts) and restart abiword.

    Now, for the xft specific bugs:

    1) sometimes abiword will block as long as 20 seconds
    in XftInit (usually it takes ~0.5 seconds). I don't
    yet know why, I will take a deeper look later.

    2) Insert symbol is not yet in a very good shape.
    That's in part due to how we handle our preview
    widget. We redraw everything when we receive an
    expose event. That's bad, because X can send us until
    5 expose events in a row (sometimes). It would be
    better to draw everything in a pixmap when we receive
    the configure event, and then serve expose events with
    that pixmap.

    Ah, and the keyboard movement in the insert symbol is
    not yet fixed.

    3) speed seems ok to me, but I've not yet done
    extensive benchmarkings.

    4) I said that I wanted to put fontconfig/Xft in the
    tree, but I've not yet found the time to do it, and it
    has been a pain (a real *PAIN*) to update this patch
    to HEAD (I've managed to collide with both Martin
    tables and with Tomas pango work), so please commit
    now before it gets obsoleted. We can commit
    fontconfig/Xft later (after all, you can always
    compile without --enable-xft).

    I've done my best to keep the non enabled xft build
    working, but keep in mind that it's there only to do
    some benchmarks against the xft version, and until
    fontconfig/Xft hits the cvs tree. But remember that
    the build without xft is just for girls, real men use
    --enable-xft :)


    P.S.: The patch is agains a cvs HEAD of some days ago.

    Joaquin Cuenca Abela


    [ snip ad + attachment ]
    ----- End forwarded message -----

    This archive was generated by hypermail 2.1.4 : Mon Jul 15 2002 - 17:08:54 EDT