Pango Status Report #4     10 Mar 2000

General news:

 Karl Koehler has contributed a Arabic shaper. It currently
 depends on having a Unicode-encoded font available which 
 includes the Arabic Presentation Forms glyphs in the 
 range U+FE70 - U+FEFC. 

Recent progress:

 Most of the work I've done recently in Pango has involved
 moving much of the driver code in examples/viewer.c into
 PangoLayout: an object to encapsulate all the work of laying
 out the paragraph.

 examples/viewer.c has gotten much shorter as a result; using
 Pango should be a relatively simple process now. This work
 was inspired by a realization of just how painful moving
 GTK+ over to Pango was going to be without this abstraction.


 Pango-0.8 is on available from 
 RPM's of pango, libunicode and libfribidi are also there.

TODO highlights:

  The projects I intend to tackle next are:

    - Make a branch of GTK+, start seeing how Pango works out in
      real life. (Some parts of this, such as the Text widget and
      input in general, are major projects, so I don't expect to
      have this work hit the main branch of GTK+ for a while yet.)

    - Clean up the shaping portion to correspond to the changes
      I made to the itemization portion. This will involve
      rethinking the PangoItem structure a bit.

    - Improve the attribute handling in PangoLayout. (Will also
      involve some changes to PangoItem)

  Some interesting projects that other people might want to consider:

  [ Would be the same as as last week, but Karl tackled the Arabic
    shaper, so it is shorter. Feel free to send me more suggestions. ]

   - 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.

Misc stuff:

  XFree86 4.0 was released this week. This provides a number of
  significant enhancements relevant to Pango:

   - Inclusion of a number of Unicode-encoded fonts. (The range of
     characters in these is somewhat limited, but better than
     the previous standard X fonts.)

   - Standard TrueType font renderer

   - Optimizations for loading the metrics of large fonts.

Owen Taylor

Last modified 31-May-2000
Owen Taylor <>