HarfBuzz HackFest
Here is a quick update re
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 in San Jose to present the free software text stack (
useless slides) as well as present and promote HarfBuzz (
useless slides). 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. 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!
Labels: hackfest, harfbuzz, pango, textlayout