• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 2.5.1
    • User Interface
    • Windows

      I'm running Windows 10 (Version 2004, 19041.572)

      I have Cleartype disabled but "Smooth edges of screen fonts" enabled - also known as "grayscale antialiasing" or "grayscale cleartype". Picard seems to think I have Cleartype enabled and so it's rendering text with full hinting, but it should use vertical or grid-aligned hinting as what was probably being used in the previous version.

       

        1. picard.png
          picard.png
          47 kB
        2. picard_about.png
          picard_about.png
          36 kB
        3. Capture.PNG
          Capture.PNG
          45 kB

          [PICARD-2008] Text looks bad in 2.5.1

          Let's retest this after the Qt6 update

          Philipp Wolfer added a comment - Let's retest this after the Qt6 update

          gfody added a comment -

          hmm it's possible I updated from a version older than 2.4.4, I think it might've been 2.3.2 .. whatever it was it didn't yet support dark mode

          gfody added a comment - hmm it's possible I updated from a version older than 2.4.4, I think it might've been 2.3.2 .. whatever it was it didn't yet support dark mode

          Actually font.setHintingPreference(QtGui.QFont.PreferVerticalHinting) works, I just happened to test this with UI elements that don't take up the application font by default.

          But actually quite a few Qt widgets don't seem to use the application font as a basis, which means we would need to scatter this workaround all across the UI. I'm not happy with that at all.

          Philipp Wolfer added a comment - Actually font.setHintingPreference(QtGui.QFont.PreferVerticalHinting) works, I just happened to test this with UI elements that don't take up the application font by default. But actually quite a few Qt widgets don't seem to use the application font as a basis, which means we would need to scatter this workaround all across the UI. I'm not happy with that at all.

          I can reproduce this now. Actually the font smoothing seems to be the default, just turning of clear type triggered this on my system. The reason I could not notice it before was that I had a slight font scaling active, and at larger sizes things look fine. The screenshot shows Picard with cleartype on the left and without on the right.

          But here is the thing: I also get the same font display on 2.4.4 with Qt 5.14.2). And setting font.setHintingPreference(QtGui.QFont.PreferVerticalHinting) on the application makes no difference (other than a warning with hinting issues with the script editor font if this is active).

          Philipp Wolfer added a comment - I can reproduce this now. Actually the font smoothing seems to be the default, just turning of clear type triggered this on my system. The reason I could not notice it before was that I had a slight font scaling active, and at larger sizes things look fine. The screenshot shows Picard with cleartype on the left and without on the right. But here is the thing: I also get the same font display on 2.4.4 with Qt 5.14.2). And setting font.setHintingPreference(QtGui.QFont.PreferVerticalHinting) on the application makes no difference (other than a warning with hinting issues with the script editor font if this is active).

          gfody added a comment -

          To get to the other anti-aliasing setting, run: sysdm.cpl -> Advanced -> [Settings...] -> Visual Effects -> [x] Custom: -> [x] Smooth edges of screen fonts (alternatively you can use https://github.com/bp2008/BetterClearTypeTuner and pick Grayscale)

          I agree this a Qt issue as many of the apps I use are showing the same symptom in recent updates.

          I haven't looked at the Picard source yet but Telegram, for example, initializes an application-wide QFont at startup and setting the hinting preference there cleaned up everything nicely. Full hinting still looks better when Cleartype is enabled though so it'd be best to only set that hinting preference for grayscale antialiasing.

          gfody added a comment - To get to the other anti-aliasing setting, run: sysdm.cpl -> Advanced -> [Settings...] -> Visual Effects -> [x] Custom: -> [x] Smooth edges of screen fonts (alternatively you can use https://github.com/bp2008/BetterClearTypeTuner and pick Grayscale) I agree this a Qt issue as many of the apps I use are showing the same symptom in recent updates. I haven't looked at the Picard source yet but Telegram, for example, initializes an application-wide QFont at startup and setting the hinting preference there cleaned up everything nicely. Full hinting still looks better when Cleartype is enabled though so it'd be best to only set that hinting preference for grayscale antialiasing.

          Philipp Wolfer added a comment - - edited

          To me the screenshots look like an issue with hinting, especially horizontally. Some vertical lines just end up too small. But I actually can't reproduce this here. Can you maybe show me how this needs to be configured on Windows 10? I find a setting to disable clear type, but afterwards it just guides you through a visual setup which seems to adjust general settings for anti-aliasing. I see no setting to explicitly turn on / off anti-aliasing in general.

          Just turning off cleartype gives no difference for me compared to Picard 2.4.4 (which uses Qt 5.14.2, while current Picard for Windows uses 5.15.1).

          Ultimately this is a Qt bug. I assume it was also you who opened the bug report for Qt at https://bugreports.qt.io/browse/QTBUG-88225 ?

          We could try to just set always setHintingPreference(QFont::PreferVerticalHinting). AFAIK that's also what newer Freetype does by default, it ignores horizontal hinting. But actually I think there is no way to set a global default hinting preference in Qt, you have to do that per font. And that's something I really want to avoid. So this likely is a wontfix on our side and needs to be addressed by Qt.

          Philipp Wolfer added a comment - - edited To me the screenshots look like an issue with hinting, especially horizontally. Some vertical lines just end up too small. But I actually can't reproduce this here. Can you maybe show me how this needs to be configured on Windows 10? I find a setting to disable clear type, but afterwards it just guides you through a visual setup which seems to adjust general settings for anti-aliasing. I see no setting to explicitly turn on / off anti-aliasing in general. Just turning off cleartype gives no difference for me compared to Picard 2.4.4 (which uses Qt 5.14.2, while current Picard for Windows uses 5.15.1). Ultimately this is a Qt bug. I assume it was also you who opened the bug report for Qt at https://bugreports.qt.io/browse/QTBUG-88225 ? We could try to just set always setHintingPreference(QFont::PreferVerticalHinting). AFAIK that's also what newer Freetype does by default, it ignores horizontal hinting. But actually I think there is no way to set a global default hinting preference in Qt, you have to do that per font. And that's something I really want to avoid. So this likely is a wontfix on our side and needs to be addressed by Qt.

            Unassigned Unassigned
            gfody gfody
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                Version Package