Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Blurred fonts / text rendering with Qt/Embedded 4.7.1

    Mobile and Embedded
    2
    4
    3922
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zaphod last edited by

      Hello,

      when drawing text with QPainter, the output looks blurry, especially with small font sizes (about < 14 pixels in height).

      I tried three different truetype font files (Freefont (20100919), VU Arial and Arial Unicode MS; the latter two at least should have a very good hinting, I suppose), but the effect stays more or less the same.

      In an older project based on Qt-Embedded 3.3.8 I can remember that at least VU Arial did yield clean, appealing antialiased results.

      The target device is the Linux framebuffer or QVFb (both x86-32bit), the bluriness appears both with depth 16 and 32bit.

      I tried the following combinations:

      • Qt4.7.1 with build-in libfreetype (2.3.9).
      • Qt4.7.1 with system libfreetype (Debian testing) 2.4.4

      I did NOT compile fontconfig support into Qt.

      I also played with QPainter::TextAntialiasing turned off and QFont::NoAntialias which did only yield
      chunky, ugly non-antialiased text (well, at least this, just as it is supposed to ... ;-) )

      To make sure the right truetype font file was loaded, I explicitly set QT_QWS_FONTDIR to a directory only containing
      the font in question.

      Searching the web for blurred text rendering, I found only hints concerning desktop environments.

      So, am I the only one using Qt/Embedded having these troubles?
      What am I doing wrong?
      How can I tweak Qt4 and/or libfreetype to try out variations in font rendering and filtering?
      How do YOU get appealing antialiased fonts at small sizes with Qt/Embedded?

      Any help is appreciated.

      Thanks in advance.

      -zaphod

      1 Reply Last reply Reply Quote 0
      • L
        leon.anavi last edited by

        [quote author="zaphod" date="1302607471"]Hello,
        Searching the web for blurred text rendering, I found only hints concerning desktop environments.
        -zaphod[/quote]

        So do these hints work on your environment? Have tried your source code on a desktop? Regarding the nature of Qt everything should be the same on both platforms otherwise you can consider raising a bug regarding this issue.

        Best regards,
        Leon

        http://anavi.org/

        1 Reply Last reply Reply Quote 0
        • Z
          zaphod last edited by

          The hints for desktop environments were all about GTK and/or fontconfig settings. Since I have no fontconfig support compiled into my Qt/Embedded, they don't work for me.

          However, having a second and third look at them led me to the solution:
          Qt/Embedded sets FT_LOAD_NO_HINTING when loading glyphs, which yields exact, but unfortunaely blurry results. After patching this away, rendered fonts look exactly as on my X11 desktop and this is what I wanted.

          Thanks nonetheless

          -zaphod

          1 Reply Last reply Reply Quote 0
          • L
            leon.anavi last edited by

            [quote author="zaphod" date="1302796301"]However, having a second and third look at them led me to the solution:
            Qt/Embedded sets FT_LOAD_NO_HINTING when loading glyphs, which yields exact, but unfortunaely blurry results. After patching this away, rendered fonts look exactly as on my X11 desktop and this is what I wanted.[/quote]

            Well done for solving it and thanks for sharing - someone else also may use it :)

            http://anavi.org/

            1 Reply Last reply Reply Quote 0
            • First post
              Last post