1

I'm using the Windows port of Claws Mail 3.19.1 (latest version with GTK2) on Windows 10, but the fonts are not subpixel anti-aliased (RGB), they're either raw pixel edges ("crisp"), or grayscale smoothing which makes them blurry.

For example if I use Segoe UI, it's grayscale smoothed, which makes it blurry. If I use Courier New, it has no filtering at all, and jaggy pixelated edges.

What I want is for it to use RGB subpixel rendering/anti-aliasing (like ClearType, but I guess it doesn't use it because it's GTK2), so that its effective resolution increases on my LCD screen and I can use smaller fonts.

Note that Thunderbird's font works fine, even if I set it to the same fonts, so I know it's not a machine configuration issue.

Is there some hidden config I can change to force it? I don't mind fiddling with any files. Claws Mail's installation ships with a etc/fonts/fonts.conf, and I searched online how to force/enable it for GTK2 and added it there. Nope, doesn't work. I tried adding a local.conf file in that folder with the info. Nope, doesn't work either.

For the record, I tried stuff like this in there:

  <match target="font">
    <edit name="antialias" mode="assign"><bool>true</bool></edit>
  </match>
  <match target="pattern">
    <edit name="lcdfilter" mode="assign">
      <const>lcddefault</const>
    </edit>
  </match>

and so on. I even tried copying the conf.d subdirectory from my Linux machine (which also has RGB subpixel anti-aliasing on GTK2 apps) in there, and still doesn't work.

Any ideas?

1 Answer 1

1

Thanks to Jonathan Boeing (the Windows port developer), I found out I had to pass the PANGOCAIRO_BACKEND=fc environment variable to have it use fontconfig. This, along with the following somewhere in etc\fonts\fonts.conf (where Claws Mail is installed):

    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintfull</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcddefault</const>
        </edit>
    </match>

and now it works and has RGB subpixel anti-aliasing!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .