Pango Status Report #5      4 Apr 2000

General news:

 My project of switching GTK+ over to use Pango is finally
 beginning to show some results. Some first screenshots are

 More below about how the adventurous can get their hands
 on this code.

 Karl Koehler made a large number of improvements to his Arabic
 shaper, including expanding the available ligatures, supporting more
 font encodings, and adding Farsi support. (Which apparently
 needs testing.)

Recent progress:

 For the last couple of weeks, I've been concentrating on GTK+
 and making the changes in Pango that have seemed necessary
 to support the GTK+ work. Examples include:

  - Support for underline and background color attributes when
    rendering layouts. (Used for accelerators and selections

  - Ability to retrieve logical attributes (word break positions,
    etc.) for an entire layout. (Used for cursor positioning)

  - Ability to get logical ascent/descent for an entire PangoFont,
    not just for strings. (Used to pick sizes for GtkEntry widgets.)

 Many bug fixes have also been made. 


 Pango-0.9 is on available from 
 RPM's of pango, libunicode and libfribidi are also there.
 I've also put up snapshots of GTK+ with Pango support
 at the same place. These are very much unstable and
 unsupported; but if any brave souls want to try them
 out and give suggestions (or fixes) for the editing
 behavior, I'd appreciate it.
 Instructions for building these tarballs without messing
 up your existing setup are included on the download page.

TODO highlights:

  The projects I intend to tackle next are:

    - Finish up adding pango-support to the current GTK+ widgets.

    - Work on Pangoizing Havoc's port of the Tk text widget.

    - Write the necessary Pango functions to get proper arrow-key
      behavior in GtkEntry.

  Some interesting projects that other people might want to consider:

   - Write a libart based font-system and renderer to go along with
     the X based one. It would be good to have an idea about how
     well the interfaces work with something other than X before
     we get too far along. (Alternatively, write a FreeType-based
     font-system and renderer to go along with the X-based one.)

   - Write a shaping engine for whatever language you are interested in.

   - Come up with a XKB-based keyboard map for Arabic, so people
     can test out the GTK+ editing support with Arabic. (If you
     are interested this but don't know how to procede with this,
     let me know and I can give some hints.)

Misc stuff:

  [ Absent this week so I can get this off tonight. Send me notes
    about interesting internationalization developments. ]

Owen Taylor

Last modified 31-May-2000
Owen Taylor <>