[arch-general] Subpixel antialiasing
Hi guys! I've done a pacman -Syu this morning. The upgrade went fine, all the key components are working properly, except a slight issue I'm having with chromium. Chromium no longer obeys the subpixel antialiasing, but instead has a basic AA mode, without the subpixel hinting. This of course results in ugly letters across the board. What's even more weird, other applications seem to have it normally, like firefox, xfce4-terminal, etc... I'm using xfce4. The settings > appearance had subpixel disabled, but once enabled chromium still didn't obey the subpixel hinting. I don't understand what has changed exactly with chromium, and how do I set it to have subpixel once again. I went through here https://wiki.archlinux.org/index.php/Font_configuration#Subpixel_rendering but I can't really find anything pertinent to my case. Any ideas anyone? :)
Since Xfce4 breaks things within major release updates, I don't use Xfce4 anymore. AFAIK Xfce4 still claims to be GTK2, but I suspect themes likely already got broken by preparation to switch to GTK3. I might be mistaken. $ pacman -Si chromium | grep Depe Depends On : gtk2 [snip] You could test if ~/.gtkrc-2.0 does solve this issue. gtk-xft-antialias = gtk-xft-hinting = gtk-xft-hintstyle = gtk-xft-rgba = Even while Firefox also depends on GTK2 and the gtkrc either way might not work when running Xfce4. $ pacman -Si firefox | grep Depe Depends On : gtk2 [snip] I use openbox with .gtkrc-2.0, .config/gtk-3.0/settings.ini and I suspect qtconfig-qt3 and/or qtconfig-qt4 settings are stored in .config/Trolltech.conf. However, fonts and themes are a mess on my machine, even when I chose equal fonts and equal font sizes, it doesn't result in really equal fonts. -- It only looks like a tape-recorder. It's actually a pen. So you can write with it and no one will know.
On Sun, May 24, 2015 at 3:52 AM, Vladimir Nikšić <vniksic@gmail.com> wrote:
I'm using xfce4. The settings > appearance had subpixel disabled, but once enabled chromium still didn't obey the subpixel hinting. I don't understand what has changed exactly with chromium, and how do I set it to have subpixel once again.
I have had this problem with Chrome before with xfce4, and had to specifically configure ~/.Xresources for it to respect the same font antialiasing that was normally done in the other places (fonts.conf, gtkrc-2.0, etc.) https://wiki.archlinux.org/index.php/X_resources#Xft_resources Try setting those up and see if it helps -- don't forget to run 'xrdb -merge ~/.Xresources' to actually activate the changes, then restart Chromium. -te
I think this somewhat improved the situation. A nicer kind of AA is now present, and at least it's no longer blurry. But still no subpixel. This is what I had used in ~.Xresources: ! Xft settings --------------------------------------------------------------- Xft.dpi: 96 Xft.antialias: true Xft.rgba: rgb Xft.hinting: true Xft.hintstyle: hintslight On Sun, May 24, 2015 at 2:32 PM, Troy Engel <troyengel+arch@gmail.com> wrote:
On Sun, May 24, 2015 at 3:52 AM, Vladimir Nikšić <vniksic@gmail.com> wrote:
I'm using xfce4. The settings > appearance had subpixel disabled, but
once
enabled chromium still didn't obey the subpixel hinting. I don't understand what has changed exactly with chromium, and how do I set it to have subpixel once again.
I have had this problem with Chrome before with xfce4, and had to specifically configure ~/.Xresources for it to respect the same font antialiasing that was normally done in the other places (fonts.conf, gtkrc-2.0, etc.)
https://wiki.archlinux.org/index.php/X_resources#Xft_resources
Try setting those up and see if it helps -- don't forget to run 'xrdb -merge ~/.Xresources' to actually activate the changes, then restart Chromium.
-te
On Sun, May 24, 2015 at 8:21 AM, Vladimir Nikšić <vniksic@gmail.com> wrote:
Xft.dpi: 96 Xft.antialias: true Xft.rgba: rgb Xft.hinting: true Xft.hintstyle: hintslight
Cool! In my fonts.conf I also have set the autohint and lcdfilter, so it's possible (I have not tested) that you could also add these to get it a little bit better: Xft.autohint: false Xft.lcdfilter: lcddefault On my laptop panels (which is LED) I also use "rgba: none" which seems (for some odd reason) to give me better smoothing of the font colors. It's very weird, though - not always. Basically they all match my .config/fontconfig/fonts.conf - I also had to reject "Caladea" and "Carlito" fonts due to really weird output in Chromium on some web pages. Here's my whole fonts.conf: http://pastebin.com/t0JN3mVq ...and my ~/.gtkrc-2.0 and .config/gtk-3.0/settings.ini files that might help you: http://pastebin.com/DB3FJk2y http://pastebin.com/ehtsuaW8 hth, -te
On 05/24/2015 01:52 AM, Vladimir Nikšić wrote:
Hi guys!
I've done a pacman -Syu this morning. The upgrade went fine, all the key components are working properly, except a slight issue I'm having with chromium. Chromium no longer obeys the subpixel antialiasing, but instead has a basic AA mode, without the subpixel hinting. This of course results in ugly letters across the board. What's even more weird, other applications seem to have it normally, like firefox, xfce4-terminal, etc...
I'm using xfce4. The settings > appearance had subpixel disabled, but once enabled chromium still didn't obey the subpixel hinting. I don't understand what has changed exactly with chromium, and how do I set it to have subpixel once again.
I went through here https://wiki.archlinux.org/index.php/Font_configuration#Subpixel_rendering but I can't really find anything pertinent to my case. Any ideas anyone? :)
In addition to Xresources, I also use a fonts.conf. My current setup disables antialiasing and enables full hinting (which is probably not what you want, so you will have to modify accordingly). Install fonts.conf to ~/.config/fontconfig/fonts.conf https://github.com/KlipperKyle/dotfiles/blob/master/fontconfig/fonts.conf --Kyle
On Sun, 2015-05-24 at 10:52 +0200, Vladimir Nikšić wrote:
Hi guys!
I've done a pacman -Syu this morning. The upgrade went fine, all the key components are working properly, except a slight issue I'm having with chromium. Chromium no longer obeys the subpixel antialiasing, but instead has a basic AA mode, without the subpixel hinting. This of course results in ugly letters across the board. What's even more weird, other applications seem to have it normally, like firefox, xfce4-terminal, etc...
I'm using xfce4. The settings > appearance had subpixel disabled, but once enabled chromium still didn't obey the subpixel hinting. I don't understand what has changed exactly with chromium, and how do I set it to have subpixel once again.
I went through here https://wiki.archlinux.org/index.php/Font_configuration#Subpixel_rend ering but I can't really find anything pertinent to my case. Any ideas anyone? :)
Doesn't Chromium use its own font rendering system? I've noticed that on other OSes it has its own rendering style that doesn't use subpixel rendering either, so it looks different but not necessarily worse. It looks fine on my Arch install, so its either respecting my font settings or the in-built rendering settings are (perhaps by coincidence) the same as my own preferences. I should point out that I always turn off subpixel rendering and use greyscale antialiasing instead, because the colour fringes on subpixel text are annoying.
Doesn't Chromium use its own font rendering system?
Not really. It has to do a lot of font-related work to implement the web standards but they're using freetype2/harfbuzz like everyone else.
I've noticed that on other OSes it has its own rendering style that doesn't use subpixel rendering either, so it looks different but not necessarily worse.
You're getting confused by the fact that it didn't use DirectWrite on Windows for quite some time. It *certainly* had subpixel rendering there and on the other supported platforms. Windows has both a legacy font rendering stack and a modern one with a different appearance and better performance. Many applications use the old stack but people spend a lot of time in browsers so it got noticed.
It looks fine on my Arch install, so its either respecting my font settings or the in-built rendering settings are (perhaps by coincidence) the same as my own preferences. I should point out that I always turn off subpixel rendering and use greyscale antialiasing instead, because the colour fringes on subpixel text are annoying.
I doubt you're able to notice color fringes with black-on-white or white-on-black with the lcdfilter set to lcdlight. You probably just didn't have it configured correctly (i.e. no lcdfilter).
Doesn't Chromium use its own font rendering system?
Not really. It has to do a lot of font-related work to implement the web standards but they're using freetype2/harfbuzz like everyone else.
I've noticed that on other OSes it has its own rendering style that doesn't use subpixel rendering either, so it looks different but not necessarily worse.
You're getting confused by the fact that it didn't use DirectWrite on Windows for quite some time. It *certainly* had subpixel rendering there and on the other supported platforms.
Windows has both a legacy font rendering stack and a modern one with a different appearance and better performance. Many applications use the old stack but people spend a lot of time in browsers so it got noticed.
I installed Windows in a virtual machine last week because it saves time rebooting when I use it so infrequently, and was surprised to discover that the font rendering used in Chrome's web page display frame was greyscale and not ClearType/subpixel like the rest of Windows. I don't use Windows frequently enough to comment on whether or not this has changed.
It looks fine on my Arch install, so its either respecting my font settings or the in-built rendering settings are (perhaps by coincidence) the same as my own preferences. I should point out that I always turn off subpixel rendering and use greyscale antialiasing instead, because the colour fringes on subpixel text are annoying.
I doubt you're able to notice color fringes with black-on-white or white-on-black with the lcdfilter set to lcdlight. You probably just didn't have it configured correctly (i.e. no lcdfilter).
I've tried various combinations of filters and settings for my font rendering, and all subpixel rendered text (even on OS X) looks slightly off; some letters have colour fringes, some letters are a slightly different colour to others, and it can be quite distracting. Maybe it's different with font hinting set to a higher value; I always opt for 'slight' or 'none' because I prefer the smoother shapes over the more pixelated look of Windows.
On 28/05/15 10:22 AM, Robbie Smith wrote:
Doesn't Chromium use its own font rendering system?
Not really. It has to do a lot of font-related work to implement the web standards but they're using freetype2/harfbuzz like everyone else.
I've noticed that on other OSes it has its own rendering style that doesn't use subpixel rendering either, so it looks different but not necessarily worse.
You're getting confused by the fact that it didn't use DirectWrite on Windows for quite some time. It *certainly* had subpixel rendering there and on the other supported platforms.
Windows has both a legacy font rendering stack and a modern one with a different appearance and better performance. Many applications use the old stack but people spend a lot of time in browsers so it got noticed.
I installed Windows in a virtual machine last week because it saves time rebooting when I use it so infrequently, and was surprised to discover that the font rendering used in Chrome's web page display frame was greyscale and not ClearType/subpixel like the rest of Windows. I don't use Windows frequently enough to comment on whether or not this has changed.
It's not like that for everyone else. It wasn't like that before either. It used GDI instead of DirectWrite but that just made it look different than modern applications. It was hardly the only application still using GDI font rendering though.
It looks fine on my Arch install, so its either respecting my font settings or the in-built rendering settings are (perhaps by coincidence) the same as my own preferences. I should point out that I always turn off subpixel rendering and use greyscale antialiasing instead, because the colour fringes on subpixel text are annoying.
I doubt you're able to notice color fringes with black-on-white or white-on-black with the lcdfilter set to lcdlight. You probably just didn't have it configured correctly (i.e. no lcdfilter).
I've tried various combinations of filters and settings for my font rendering, and all subpixel rendered text (even on OS X) looks slightly off; some letters have colour fringes, some letters are a slightly different colour to others, and it can be quite distracting. Maybe it's different with font hinting set to a higher value; I always opt for 'slight' or 'none' because I prefer the smoother shapes over the more pixelated look of Windows.
Using the hinting information from fonts rather than auto-hinting is important, which means using high quality fonts. Source Code Pro / Source Sans Pro / Source Serif Pro are likely the only really well hinted fonts in the repositories.
Using the hinting information from fonts rather than auto-hinting is important, which means using high quality fonts. Source Code Pro / Source Sans Pro / Source Serif Pro are likely the only really well hinted fonts in the repositories.
Oh, actually ttf-liberation is pretty decent now that it's based on the Chrome OS fonts. The popular DejaVu fonts have terrible hinting though.
participants (7)
-
Daniel Micay
-
Florian Pelz
-
Kyle Terrien
-
Ralf Mardorf
-
Robbie Smith
-
Troy Engel
-
Vladimir Nikšić