OpenType support in Pango



I just checked the beginnings of OpenType support for Pango into
CVS. This builds on top of the Pango Xrender/Xft code that I've been
working recently and consists of:

 - The OpenType Layout (GPOS/GSUB/GDEF) code from FreeType 1 ported to
   FreeType 2. (Quite a bit of work to port, but much, much easier
   than writing the table-reading code myself.)

 - A glue layer between that code and the Pango shaping process.
   (PangoOT) 

 - A simple Arabic shaper (again using some code from the
   FreeType 1 distro) that uses that shapes Arabic using
   the glue layer.

This is currently only handling GSUB (contextual variants and
ligatures) though most of the GPOS code is there and just needs to be
hooked up and tested/debugged.

It's probably a day or so additional work to get positioning of
accents working. A really sophisticated use of OpenType like the
OpenType Indic spec would require considerably more work.

There is also quite a bit of performance work that could be done - It
may, at some point, be worthwhile to rewrite the feature-application
code directly in terms of the appropriate Pango structures.

Anyways, you can see it in action (rendering Farsi) at:

 http://people.redhat.com/otaylor/gtk/render/render-ss3.png

Regards,
                                        Owen


 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]