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.