Summer of Code 2012 - Half time
After half of this year’s Summer of Code is over I have the first real results to present you:
Text rendering works now and serveral bugs seem to be gone. First of all here are some sample images:
As you can see the first two bugs are solved and we got ligatures for free. However Khmer rendering (third bug) is still broken, but this is not a problem in Mapnik. HarfBuzz simply doesn’t support Khmer well enough yet. But this should change next week. The nice thing about using HarfBuzz is that we don’t have to care about each script but instead can rely on it to do the job and simply take the glyphs.
The next major bug (#519) isn’t solved yet and is actually worse than what we have in master now because text runs with mixed directions are processed in the wrong order by current code. This will be fixed together with line breaking as the problem is in the same area (wrong ordering of text runs).
I will try to solve line breaking this week. Probably this will be all I do as line breaking is hard (see last post for details).
Other things that need to be done
- Automatic font selection (aka fontsets)
- Reimplement placement finder to work with new code (currently it’s only a stub)
All Khmer tests provided by Github user nirvn render correctly with current HarfBuzz and a small fix in Mapnik. I don’t upload example images here because the rendering looks exactly like the reference renderings.Posted by Hermann Kraus on 13 July 2012.