McEs, A Hacker Life
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
Berlin GTK+ Hackfest Updates
Berlin GTK+ Hackfest approaches fast. In weeks since
the announcement several community members showed interest in attending the invitation-only event and all, being very relevant to the event, are invited now.
We also have new sponsors. We have Nokia, Imendio, and Red Hat as Gold sponsors, and Novell, Igalia, and OpenedHand as Silver. Thank you sponsors!
Last but not least, topping up on Mathias Hasselmann's local organization efforts, Murray's company
Openismus is now officially the local organizer of the event, taking care of moving money around among other things. That's a huge part of organizing events like this. Thanks Openismus!
/me goes pinging Andreas about tshirt design...
(Update: fixed typo. Openismus is no
w... Thanks Sandy)
Labels: berlin, gnome, gtk+, hackfest
Berlin GTK+ Hackfest
GTK+ and its future is of extreme importance to GNOME. The issue of GTK+ maintenance has been subject of much discussion recently, and based on feedback from advisory board members and the GTK+ maintainers, we have decided that organizing a focused meeting is the most efficient way for the foundation to help with this issue.
As a result, the GNOME Foundation is organizing the first Berlin GTK+ Hackfest, a one-week meeting of the GTK+ core development team.
Hackfest is scheduled for the week of March 10, 2008 in Berlin. It will be a small invitation-only event, designed to tackle specific tasks that have been sitting on GTK+'s TODO list. Invitations have already been sent out to developers involved, and it is expected that twenty-five people will attend the meeting. The biggest planned agenda items include:
- Release planning for next stable release, currently scheduled for GUADEC, July 2008
- Integrating support for the new virtual GLib filesystem support in, gio
- Canvas widget, and considering it as the base for widget rendering in the future
- Generic HTML widget/library (with pluggable backends)
- GObject introspection: an automatable future for language bindings
- Future of D-BUS GLib integration and Gsettings
- Session management API
I'm trying to pull it all together, and
Mathias Hasselmann (aka tbf) is doing the local organization.
Does your project need similar treatment? Let
us know!
Labels: berlin, gnome, gtk+, hackfest, tbf