Details
-
Bug
-
Resolution: Cannot Reproduce
-
P2: Important
-
None
-
4.7.4, 4.8.4, 4.8.5, 5.1.1
-
None
-
Ubuntu 11.10, Ubuntu 12.04
Description
In QFontEngineFT::loadGlyph(), the condition for bool large_glyph is only judged in the else case for useFreetypeRenderGlyph, which causes the glyph info to be always stored into defaultGlyphSet in a new Glyph struct, that uses only single byte for x/y/width/height/xOff. This results in wrong bounding boxes returned for large glyphs, and thus crippled (clipped/chopped) rendered glyph pixmaps, as illustrated in attachment with comparison with correct renderings.
A workaround is to set subpixelType to none by changing Xft.rgba value to none, e.g. executing echo Xft.rgba: none | xrdb -override
However, it seems reasonable to consider this behavior of Qt a bug, as it cannot present correct glyph without sub-pixel rendering disabled.