Line 46: | Line 46: | ||
== Documentation == | == Documentation == | ||
No specific documentation should be needed, Harfbuzz is a transparent replacement for the previous Pango shapers. | |||
== Release Notes == | == Release Notes == |
Revision as of 23:56, 26 July 2009
Harfbuzz
Summary
Port Pango to use newly designed Harfbuzz
Owner
- Name: Behdad Esfahbod
- Email: besfahbo@redhat.com
Current status
- Targeted release: Fedora 12
- Last updated: 2009-06-05
- Percentage of completion: 20%
Harfbuzz/Pango integration happens on the harfbuzz-ng branch in the pango git repository at http://git.gnome.org/cgit/pango.
Detailed Description
HarfBuzz is an implementation of the OpenType Layout engine (aka layout engine) and the script-specific logic (aka shaping engine).
Benefit to Fedora
Harfbuzz reduces the memory consumption of the desktop, since it works with mmapped fonts. Pango may also gain support for some more OpenType features in porting to Harfbuzz, such as BASE table support and better caret positioning in ligatures, as well as user-selected OpenType feature support.
Further down the road (in F13), Harfbuzz will become a standalone library that will hopefully also get used by Qt, Firefox, OpenOffice.org, and webkit, which will give us unified shapers and improved support for Indic languages across both GNOME, KDE, and OpenOffice.org.
Scope
Only Pango needs to be changed.
How To Test
- Open a text document (For example, /usr/share/doc/pango-*/HELLO.txt) in an application that uses Pango for text rendering, e.g. gedit. Compare the text rendering between F11 and F12. There should not be any regressions.
- Repeat the above with different OpenType fonts.
- Try the same thing with "pango-view --no-display filename". Run it under valgrind, confirm that memory allocation is reduced between F11 and F12.
User Experience
The most noticeable change in F12 will probably be the reduced memory consumption.
Beyond F12, Indic users should hopefully see improved text rendering of their languages.
Dependencies
None.
Contingency Plan
Stay with a non-HarfBuzz-using version of Pango. Should only require a rebuild of pango itself.
Documentation
No specific documentation should be needed, Harfbuzz is a transparent replacement for the previous Pango shapers.
Release Notes
TBD.