Metrics hinting and kerning do mix
Metrics hinting is the act of round the advance width of a glyph to whole pixels. It's essential for getting good looking text redering on displays with not-so-high resolutions.
Kerning is the act of adjusting the space between certain pairs of adjacent glyphs. This, too, is essential for high quality text rendering.
Both Pango and Qt have been doing metrics hinting, and doing kerning, practically since forever. But both had this bug that the kerning adjustment were not rounded to whole pixels. So, a single fractional kerning pair could end up canceling all the metrics hinting effort... This was most evident with fonts that have more than a few kerning pairs, like DejaVu Sans. Most apparent in the string "rrrrrrrrrrrrrrrr" with that font.
The bug is no more. Fixed in Qt last week, and in Pango today. Pango commit
here.
Before/after:
Further reading: there is a lot more to do in this area.
An informative post from David Turner, and
an excellent paper from Owen Taylor.
I want to implement some of that stuff in cairo/pango for next major releases, but more important is that all these details are being taken care of in the
HarfBuzz unified shaper project that Pango and Qt developers are developing together. Exciting times.
Labels: gridfitting, harfbuzz, hinting, kerning, pango, qt