View Full Version : Can't turn off sub-pixel hinting in KDE

27th May 2004, 09:03 PM
FC2 with KDE looks beautiful on my desktop with its 17" CRT. But on my laptop, there are hideous color fringes on the outside of all text. My guess is KDE or FC2 discovered I have an LCD, and "helpfully" turned on sub-pixel hinting. But it looks awful--I'd prefer the plain grayscale antialiasing I get on my desktop.

Unfortunately, if I go to Control Center | Appearances & Themes | Fonts and uncheck "Use sub-pixel hinting", there is absolutely no effect. Even after logging out and back in, killing X, or even rebooting. I can't get rid of the ugly sub-pixel hinting.

Any ideas?

27th May 2004, 09:10 PM
I think you have to use the RedHat tool in Preferences>Font.

27th May 2004, 10:14 PM
I think you have to use the RedHat tool in Preferences>Font.

I can't find any such tool. Are you by chance looking at GNOME? This problem only seems to apply to KDE.

27th May 2004, 10:26 PM
Originally posted by stanmuffin
I can't find any such tool. Are you by chance looking at GNOME? This problem only seems to apply to KDE.

Yeah, I am thinking of Gnome (I'm not at my FC box right now). I think that tool is just one of the redhat-system-xxxx tools (which have all been renamed system-config-xxxx in FC2. I thought you could access all the redhat gui config tools in KDE.

Can you go into gnome to make the change and then logout and log back in to kde? I don't know if that will work. It seems that if it's making changes to fontconfig it might stick across desktops.

I'll take a look tonight when I'm back at my FC box and see if I can find it in KDE.

28th May 2004, 03:53 AM
Ok, I'm logged in to KDE and you're right, the gnome font tool is not there. However, I had the same problem as you with the colors around the letters (FC is on a Dell laptop) and I went into the Control Center>Appearances & Themes>Fonts and in the Anti Aliasing part I left "Use anti-aliasing for fonts" checked and then in the "use sub-pixel hinting" I left that checked but changed it to Vertical BGR. I then clicked apply and logged out and logged back in to KDE and the colors around the letters were gone. I've got nice sharp antialiased fonts in KDE now.

Have you tried all the various settings in this section? I can confirm at least that the control center works as far as changing the antialiasing on the fonts.

28th May 2004, 04:02 AM
Hold on -- I found how to get to the gnome font tool in KDE. Click on the "Start Here" Icon on your KDE desktop. In the right section, click on "Appearance & Themes". Then click "Fonts". This will bring up the gnome font tool in which you can also change the antialiasing and subpixel settings. In KDE, the change is not automatic. You'll only see the change in applications that have been quit and then restarted, or if you log out and log back in to KDE.


29th May 2004, 06:01 AM
If I go through that procedure, I get the exact same font configuration tool that I see in KDE's Control Center.

I don't have GNOME installed, for what that's worth.

I can choose BGR, or Vertical RGB, or Vertical BGR, and all these look different (but worse) than normal. But RGB subpixel hinting looks identical to what I see when the subpixel hinting option is entirely turned off.

29th May 2004, 03:29 PM
Thanks for your help, Charlie; you got me on the right track.

Even though I don't have the GNOME configurator since I don't have GNOME installed, I figured that if that one works and KDE's doesn't, KDE's must have some deficiency involved in writing the configuration file. So I decided to look at the configuration file myself (don't know why it took me so long to think of that--I must have been using Windows too long).

Apparently, KDE's configurator simply removes any subpixel hinting settings from fonts.conf when you uncheck the option--but it also applies a default-on RGB if the screen is an LCD. So the effect is, you can't turn it off unless you do so by explicitly like this:

(added the following to ~/.fonts.conf)

<match target="font">
<edit name="rgba" mode="assign"><const>none</const></edit>