It has been 3 weeks since my last update. I have implemented some major changes in this time. A summary:
- Integration of the new layout engine is complete with our unix code path. It is fully functional and rendering as expected.
- Integration is also complete with the Windows code path. All text layout is now done through HarfBuzz on Windows as well. This bypasses the 2 different layout implementations we have on Windows currently: Uniscribe and GDI32. Uniscribe is used for complex text layout while GDI is used for simple layout. But now all types of layout happen through HarfBuzz. I only use some methods of the GDI API for drawing the glyphs to the output device. In the future I would like to switch to DirectWrite which is more suitable for complex text layout.
- During the course of my project, I have discovered some bugs in the current rendering. Especially RTL text on Windows which is a mess. The good news is: these bugs do not happen with my layout engine.
That is it for this update. The only remaining platform is OSX which is next.