A new text rendering & layout engine for PM, probably based on FreeType + Harbuzz, to replace the out-of-date and no-longer-maintained Innotek Font Engine. Probably only available as a development library, not a runtime replacement like Ft2LIB (which was a cool idea but just not stable enough). Hopefully this could allow us to finally retire FT2LIB for apps like OpenOffice, for which it is still an anchor around the neck. (If really ambitious it could be the basis for a new Unicode-capable widget library for PM-based apps like PMMail or ProNews.) This is one of the big three things that I've long wanted to try tackling myself, but I just don't have the time right now.
Don't we already have that in Cairo? It works pretty well for Mozilla, pretty sure it can use harbuzz (have to try enabling it in Mozilla) and has even been adapted to the WPS, where unluckily it was somewhat fragile.
For something like OO it would probably be too much of a change but other apps could be converted to use it.
Cairo is available separately from Gecko?
Cairo, though, has its own API – not something that can be used as a drop-in replacement for Gpi*(), which is kind of the point. Hence whatever backend is used, it has to be wrapped inside a PM-like interface, and probably a Win-like interface as well so that OpenOffice could use it.
I did actually think about Cairo as the backend, but AIUI it's a full 2D graphics drawing library. All I'm interested in is text rendering/shaping/layout. So basically that would mean ignoring basically all of Cairo except the Harfbuzz interface and a few peripheral pieces like line breaking. It surely makes more sense just to use Harfbuzz directly (or possibly a Pango/Harfbuzz hybrid), and I think the result would be a lot more lightweight.
The most important things for me are:
(1) Free OpenOffice from the Innotek Font Engine, which is crippling it.
(2) Make PMMail able to directly display Unicode text (a weakness which is rapidly rendering it unusable for modern work).
I originally saw these as unrelated goals, but it's occurred to me lately that some kind of FT2LIB library replacement, if implemented properly, might be the answer to both.