Hi fellow gentoo users, long time no see.
I run a desktop system with a largish screen (24 in, 96 dpi). No
"integrated environment", just xdm and my choice of window manager. I
have been annoyed by the "subpixel rendering" of TrueType fonts - the
color fringes are 100% intolerable to me, no matter how minor or how
well filtered. So I thought I would turn that off. The natural and
proper place seemed to be fontconfig, and here's my current "eselect
fontconfig list" output:
Available fontconfig .conf files (* is enabled):
[1] 10-autohint.conf
[2] 10-hinting-full.conf *
[3] 10-hinting-medium.conf
[4] 10-hinting-none.conf
[5] 10-hinting-slight.conf
[6] 10-no-sub-pixel.conf *
[7] 10-scale-bitmap-fonts.conf
[8] 10-sub-pixel-bgr.conf
[9] 10-sub-pixel-rgb.conf
[10] 10-sub-pixel-vbgr.conf
[11] 10-sub-pixel-vrgb.conf
[12] 10-unhinted.conf
[13] 11-lcdfilter-default.conf
[14] 11-lcdfilter-legacy.conf
[15] 11-lcdfilter-light.conf
[16] 20-unhint-small-vera.conf
[17] 25-unhint-nonlatin.conf *
[18] 30-metric-aliases.conf *
[19] 40-nonlatin.conf *
[20] 45-generic.conf *
[21] 45-latin.conf *
[22] 49-sansserif.conf *
[23] 50-user.conf *
[24] 51-local.conf *
[25] 60-generic.conf *
[26] 60-latin.conf *
[27] 61-stix.conf
[28] 62-croscore-arimo.conf *
[29] 62-croscore-cousine.conf *
[30] 62-croscore-symbolneu.conf *
[31] 62-croscore-tinos.conf *
[32] 62-crosextra-caladea.conf *
[33] 62-crosextra-carlito.conf *
[34] 65-fonts-persian.conf
[35] 65-khmer.conf
[36] 65-nonlatin.conf *
[37] 69-unifont.conf
[38] 70-no-bitmaps.conf
[39] 70-yes-bitmaps.conf *
[40] 75-yes-terminus.conf *
[41] 80-delicious.conf
[42] 90-synthetic.conf *
The first shock was that this had absolutely no effect on Gtk{2,3} apps
- which are the majority among what I use. After playing around for a
while I concluded that Gtk has its own configuration for these things,
including its own defaults, which it will use without looking at
fontconfig. So I added these files:
-*- ~/.config/gtk-3.0/settings.ini -*-
[Settings]
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
-*- ~/.gtkrc-2.0 -*-
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="none"
The spelling (also quotes) here is from
https://wiki.archlinux.org/index.php/GTK%2B#Examples
And this had the desired effect on Gtk3 apps, including Firefox.
Excellent! But Gtk2 apps continue to show the hated fringes :-( Am I
right to conclude Gtk2 keeps doing subpixel rendering, and why should
that be?
I seem to have the latest stable versions of all relevant packages, with
no USE changes:
* Found these USE flags for media-libs/fontconfig-2.13.0-r4:
U I
- - abi_x86_32 : 32-bit (x86) libraries
+ + doc : Add extra documentation (API, Javadoc, etc). It is
recommended to enable per package instead
of globally
- - static-libs : Build static versions of dynamic libraries as well
* Found these USE flags for media-libs/freetype-2.9.1-r3:
U I
+ + X : Add support for X11
- - abi_x86_32 : 32-bit (x86) libraries
+ + adobe-cff : Use Adobe CFF as default font-renderer
- - bindist : Disable ClearType support (see
http://freetype.org/patents.html)
+ + bzip2 : Support bzip2 compressed PCF fonts.
+ + cleartype_hinting : New bytecode hinting mode for TrueType fonts that
activates subpixel hinting (a.k.a.
ClearType hinting) by default
- - debug : Enable extra debug codepaths, like asserts and extra
output. If you want to get
meaningful backtraces see
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- - doc : Add extra documentation (API, Javadoc, etc). It is
recommended to enable per package
instead of globally
- - fontforge : Install internal headers required for TrueType
debugger in media-gfx/fontforge (built
with USE=truetype-debugger)
- - harfbuzz : Use media-libs/harfbuzz for auto-hinting OpenType
fonts. WARNING: may trigger circular
dependencies!
- - infinality : Enable infinality options for improved LCD filtering
+ + png : Add support for libpng (PNG images)
- - static-libs : Build static versions of dynamic libraries as well
- - utils : Install utilities and examples from ft2demos
* Found these USE flags for x11-libs/gtk+-2.24.32-r1:
U I
- - abi_x86_32 : 32-bit (x86) libraries
- - cups : Add support for CUPS (Common Unix Printing System)
- - examples : Install examples, usually source code
- - introspection : Add support for GObject based introspection
- - test : Enable dependencies and/or preparations necessary to run
tests (usually controlled by
FEATURES=test but can be toggled independently)
- - vim-syntax : Pulls in related vim syntax scripts
- - xinerama : Add support for querying multi-monitor screen geometry
through the Xinerama API
I did try to disable the cleartype_hinting USE for freetype, but no luck.
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.