GNOME Bugzilla – Bug 167801
Unhinted rendering regression: incorrect character widths
Last modified: 2005-03-05 19:20:08 UTC
Please describe the problem: While looking at some old screenshots, I was struck by how much better unhinted Bitstream Vera Sans used to look back when I was using pango 1.6. A bit of investigation (well, OK, a lot of investigation) tracked the change down to version 1.54 of pango/pangoxft-font.c in GNOME CVS. Steps to reproduce: 0. With a 72dpi display, set your font to Bitstream Vera Sans 13, and disable hinting (but leave antialiasing turned on). 1. Compile a version of pango where pango/pangoxft-font.c is version 1.53 or earlier (e.g. pango 1.6.0). 2. Get a GTK app to display the string "Amy Hit Mrs. Potter's Lullaby" (or, more generally, the track listing of Counting Crows' "This Desert Life"), and look at the nice even spacing around "i"s and "l"s with xmag. 3. Compile a version of pango where pango/pangoxft-font.c is version 1.54 or later (e.g. pango 1.7.0). 4. Repeat step 2, and note that some of the "i"s and "l"s have one pixel's space too few on their right-hand side. Actual results: Bitstream Vera Sans looks pretty nasty. (See attached screenshot.) Expected results: I'd expect the rendering to be the same as it was in 1.6.0. Does this happen every time? Yes. Other information: The change that caused the regression was the fix for bug 152529, which altered how character metrics were calculated for unhinted rendering.
Created attachment 37639 [details] Before-and-after images -- look at "Hit" and "Lullaby".
2005-03-02 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Go back to using Xft-reported metrics for all non-transformed fonts. Reporting non-integer glyph metrics for fonts where people have disabled hinting in their config causes various problems. (reported variously, including #167801, Adam Sampson)
*** Bug 169306 has been marked as a duplicate of this bug. ***