[HarfBuzz] HarfBuzz HackFest report

Behdad Esfahbod behdad at behdad.org
Wed Nov 4 10:38:36 PST 2009


Hi all,

Here's what I blogged today:

Here is a quick update re HarfBuzz
<http://freedesktop.org/wiki/Software/HarfBuzz>:

During May and August I finished rewriting the OpenType Layout engine to
use mmap()ed font files. This is in Pango 1.26.x already. Pango and
fontconfig also received a lot more optimization love. That deserves a
long and separate blogpost. The net result is that the text stack's
*memory usage is considerably lower* now. *All this goodness will be in
the upcoming Fedora 12*.

In October, I attended the 33rd Internationalization and Unicode
Conference <http://freedesktop.org/wiki/Software/HarfBuzz> in San Jose
to present the free software text stack (slides
<http://behdad.org/download/Presentations/slippy/freetextstack_slides.pdf>)
as well as present and promote HarfBuzz (slides
<http://behdad.org/download/Presentations/slippy/harfbuzz_slides.pdf>).
That was a very fruitful event and I received lots of interest from many
major industry players. With the liberal license that we are releasing
HarfBuzz under, we expect broad adoption, which is exactly what we are
looking for.

This week, Jonathan Kew and myself are having a small HarfBuzz HackFest
here in Mozilla's Toronto office. Here's what we have got done so far:

     * Jonathan has a version of Firefox using harfbuzz-ng (the codename
       for the rewrite) that has advanced layout features controlable
       through CSS. Very very cool stuff. He updated it to the latest
       harfbuzz-ng code.

     * I ripped harfbuzz-ng out of the Pango tree and into a standalone
       module. Finally! Took a couple hours of git surgery plus ten
       minutes to put together an autotools build system. Git clone URL
       is this <git://git.freedesktop.org/~behdad/harfbuzz-ng>. The
       harfbuzz-ng-external branch in Pango uses that as an external
       module. The plan is to reach a stable 1.0 release of harfbuzz-ng
       before next stable GNOME and most probably, Pango will require
       harfbuzz unconditionally (that is, on all platforms). Note that
       harfbuzz is NOT tied to FreeType, so you can use it with any
       rasterizer you have around.

     * We fixed all portability issues Jonathan had faced when compiling
       harfbuzz-ng with MSVC.

     * Jonathan is working on the shaper side, while I'm working on the
       API and pulling it all together.

     * I added glue code for using harfbuzz-ng with glib, ICU, and FreeType.

     * Lots of API and design review.

At the rate this is developing, by the end of the week we should have
basic shaper (Latin, Cyrillic, CJK, ...) and Arabic+Syriac working
perfectly and tackling Indic family. We're closer to 1.0 than you may
think!

--
Posted By behdad to McEs, A Hacker Life
<http://mces.blogspot.com/2009/11/harfbuzz-hackfest.html> at 11/04/2009
11:55:00 AM



More information about the HarfBuzz mailing list