Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-38409

Qt unable to render glyphs with large x/y/width/height correctly with sub-pixeling enabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P2: Important
    • None
    • 4.7.4, 4.8.4, 4.8.5, 5.1.1
    • GUI: Font handling
    • 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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            esabraha Eskil Abrahamsen Blomfeldt
            anhuifezdev Anhui Fez Dev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes