The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Fonts"
(→LibXft) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== Install the packages == | == Install the packages == | ||
<console> # emerge -uN fontconfig | Linux font quality is a chronic issue, by default fonts configuration far from ideal look. This can solved by rebuilding <tt>media-libs/fontconfig</tt> with infinality USE flag, which applying infinality patch set. Patches, previously available in lcd-filtering overlay, now merged into main Gentoo portage tree. | ||
<console> | |||
###i## echo "media-libs/fontconfig infinality" >> /etc/portage/package.use | |||
###i## emerge -uN fontconfig | |||
</console> | |||
== Advanced configuration == | == Advanced configuration == | ||
=== Fontconfig === | === Fontconfig === | ||
==== Default configuration ==== | |||
<console> | |||
###i## eselect fontconfig enable 10-antialias.conf | |||
<console>eselect fontconfig enable 10-antialias.conf | ###i## eselect fontconfig enable 10-autohint.conf | ||
eselect fontconfig enable 10-autohint.conf | ###i## eselect fontconfig enable 10-hinting.conf | ||
eselect fontconfig enable 10-hinting.conf | ###i## eselect fontconfig enable 10-hinting-slight.conf | ||
eselect fontconfig enable 10-hinting-slight.conf | ###i## eselect fontconfig enable 10-sub-pixel-rgb.conf | ||
eselect fontconfig enable 10-sub-pixel-rgb.conf | ###i## eselect fontconfig enable 11-lcdfilter-default.conf | ||
eselect fontconfig enable 11-lcdfilter-default.conf | ###i## eselect fontconfig enable 70-no-bitmaps.conf | ||
eselect fontconfig enable 70-no-bitmaps.conf | ###i## eselect fontconfig disable 10-hinting-full.conf | ||
eselect fontconfig disable 10-hinting-full.conf | ###i## eselect fontconfig disable 10-hinting-medium.conf | ||
eselect fontconfig disable 10-hinting-medium.conf | ###i## eselect fontconfig disable 10-no-sub-pixel.conf | ||
eselect fontconfig disable 10-no-sub-pixel.conf | ###i## eselect fontconfig disable 10-sub-pixel-bgr.conf | ||
eselect fontconfig disable 10-sub-pixel-bgr.conf | ###i## eselect fontconfig disable 10-sub-pixel-vbgr.conf | ||
eselect fontconfig disable 10-sub-pixel-vbgr.conf | ###i## eselect fontconfig disable 10-sub-pixel-vrgb.conf | ||
eselect fontconfig disable 10-sub-pixel-vrgb.conf | ###i## eselect fontconfig disable 10-unhinted.conf</console> | ||
eselect fontconfig disable 10-unhinted.conf</console> | |||
===Linux configuration === | ===Linux configuration === | ||
Same as default configuration except: | Same as default configuration except: | ||
<console>eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | <console> | ||
eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | ||
eselect fontconfig enable 22-hinting-courier-italic-slight.conf</console> | ###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ||
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf | |||
</console> | |||
=== Infinality’s configuration === | === Infinality’s configuration === | ||
Same as default configuration except: | Same as default configuration except: | ||
<console>eselect fontconfig enable 15-hinting-tt-instructed-full.conf | <console> | ||
eselect fontconfig enable 20-hinting-small-fonts-slight.conf | ###i## eselect fontconfig enable 15-hinting-tt-instructed-full.conf | ||
eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | ###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf | ||
eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | ||
eselect fontconfig enable 22-hinting-courier-italic-slight.conf | ###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ||
eselect fontconfig enable 25-hinting-small-arial-black-slight.conf</console> | ###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf | ||
###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf | |||
</console> | |||
=== Windows configuration === | === Windows configuration === | ||
Same as default except: | Same as default except: | ||
<console>eselect fontconfig disable 10-autohint.conf | <console> | ||
eselect fontconfig disable 10-hinting-slight.conf | ###i## eselect fontconfig disable 10-autohint.conf | ||
eselect fontconfig enable 10-hinting-full.conf | ###i## eselect fontconfig disable 10-hinting-slight.conf | ||
eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf | ###i## eselect fontconfig enable 10-hinting-full.conf | ||
eselect fontconfig enable 20-hinting-small-fonts-slight.conf | ###i## eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf | ||
eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | ###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf | ||
eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf | ||
eselect fontconfig enable 22-hinting-courier-italic-slight.conf | ###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf | ||
eselect fontconfig enable 25-hinting-small-arial-black-slight.conf</console> | ###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf | ||
=== OSX === | ###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf | ||
</console> | |||
=== OSX configuration === | |||
Same as default configuration except: | Same as default configuration except: | ||
<console>eselect fontconfig disable 10-autohint.conf | <console> | ||
eselect fontconfig disable 10-hinting.conf | ###i## eselect fontconfig disable 10-autohint.conf | ||
eselect fontconfig disable 10-hinting-slight.conf | ###i## eselect fontconfig disable 10-hinting.conf | ||
eselect fontconfig enable 10-unhinted.conf | ###i## eselect fontconfig disable 10-hinting-slight.conf | ||
eselect fontconfig enable 15-hinting-tt-instructed-none.conf</console> | ###i## eselect fontconfig enable 10-unhinted.conf | ||
###i## eselect fontconfig enable 15-hinting-tt-instructed-none.conf | |||
</console> | |||
== Freetype == | == Freetype == | ||
Freetype can be configured through environment variables (see <tt>/etc/env.d/99lcdfilter</tt> for a list of the variables and their description). Those variables can be overridden on a per-user basis by either redefining them in a startup file (such as <tt>~/.bash_profile</tt>) or by sourcing the <tt>/usr/lib/ft-settings.sh</tt> script with the desired style in parameter (you can, of course, source the script from a startup file). | Freetype can be configured through environment variables (see <tt>/etc/env.d/99lcdfilter</tt> for a list of the variables and their description). Those variables can be overridden on a per-user basis by either redefining them in a startup file (such as <tt>~/.bash_profile</tt>) or by sourcing the <tt>/usr/lib/ft-settings.sh</tt> script with the desired style in parameter (you can, of course, source the script from a startup file). | ||
Line 62: | Line 73: | ||
usage: source ft-settings.sh <style> | usage: source ft-settings.sh <style> | ||
<console>Possible styles: | <console> | ||
Possible styles: | |||
default - Use default settings. A compromise that should please most people | default - Use default settings. A compromise that should please most people | ||
osx - Simulate OSX rendering | osx - Simulate OSX rendering | ||
Line 76: | Line 88: | ||
shove - Full stem snapping and tweaks without sharpening | shove - Full stem snapping and tweaks without sharpening | ||
sharpened - Full stem snapping, tweaks, and Windows-style sharpening | sharpened - Full stem snapping, tweaks, and Windows-style sharpening | ||
infinality - Settings used by Infinality</console> | infinality - Settings used by Infinality | ||
</console> | |||
== LibXft == | == LibXft == | ||
Only legacy programs still use libXft. The default configuration is defined in <tt>/usr/share/X11/app-defaults/Xft</tt>. It can be overriden on a per-user basis in the <tt>~/.Xresources</tt> or <tt>~/.Xdefaults</tt> files : | Only legacy programs still use libXft. The default configuration is defined in ''<tt>/usr/share/X11/app-defaults/Xft</tt>''. It can be overriden on a per-user basis in the ''<tt>~/.Xresources</tt>'' or ''<tt>~/.Xdefaults</tt>'' files : | ||
<console>Xft.antialias: 1 | <console> | ||
Xft.antialias: 1 | |||
Xft.autohint: 0 | Xft.autohint: 0 | ||
Xft.dpi: 96 | Xft.dpi: 96 | ||
Line 86: | Line 100: | ||
Xft.hintstyle: hintfull | Xft.hintstyle: hintfull | ||
Xft.lcdfilter: lcddefault | Xft.lcdfilter: lcddefault | ||
Xft.rgba: rgb</console> | Xft.rgba: rgb | ||
</console> | |||
[[Category:HOWTO]] | [[Category:HOWTO]] |
Revision as of 18:54, January 11, 2014
Install the packages
Linux font quality is a chronic issue, by default fonts configuration far from ideal look. This can solved by rebuilding media-libs/fontconfig with infinality USE flag, which applying infinality patch set. Patches, previously available in lcd-filtering overlay, now merged into main Gentoo portage tree.
root # echo "media-libs/fontconfig infinality" >> /etc/portage/package.use root # emerge -uN fontconfig
Advanced configuration
Fontconfig
Default configuration
root # eselect fontconfig enable 10-antialias.conf root # eselect fontconfig enable 10-autohint.conf root # eselect fontconfig enable 10-hinting.conf root # eselect fontconfig enable 10-hinting-slight.conf root # eselect fontconfig enable 10-sub-pixel-rgb.conf root # eselect fontconfig enable 11-lcdfilter-default.conf root # eselect fontconfig enable 70-no-bitmaps.conf root # eselect fontconfig disable 10-hinting-full.conf root # eselect fontconfig disable 10-hinting-medium.conf root # eselect fontconfig disable 10-no-sub-pixel.conf root # eselect fontconfig disable 10-sub-pixel-bgr.conf root # eselect fontconfig disable 10-sub-pixel-vbgr.conf root # eselect fontconfig disable 10-sub-pixel-vrgb.conf root # eselect fontconfig disable 10-unhinted.conf
Linux configuration
Same as default configuration except:
root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf
Infinality’s configuration
Same as default configuration except:
root # eselect fontconfig enable 15-hinting-tt-instructed-full.conf root # eselect fontconfig enable 20-hinting-small-fonts-slight.conf root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf root # eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
Windows configuration
Same as default except:
root # eselect fontconfig disable 10-autohint.conf root # eselect fontconfig disable 10-hinting-slight.conf root # eselect fontconfig enable 10-hinting-full.conf root # eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf root # eselect fontconfig enable 20-hinting-small-fonts-slight.conf root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf root # eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
OSX configuration
Same as default configuration except:
root # eselect fontconfig disable 10-autohint.conf root # eselect fontconfig disable 10-hinting.conf root # eselect fontconfig disable 10-hinting-slight.conf root # eselect fontconfig enable 10-unhinted.conf root # eselect fontconfig enable 15-hinting-tt-instructed-none.conf
Freetype
Freetype can be configured through environment variables (see /etc/env.d/99lcdfilter for a list of the variables and their description). Those variables can be overridden on a per-user basis by either redefining them in a startup file (such as ~/.bash_profile) or by sourcing the /usr/lib/ft-settings.sh script with the desired style in parameter (you can, of course, source the script from a startup file).
usage: source ft-settings.sh <style>
Possible styles: default - Use default settings. A compromise that should please most people osx - Simulate OSX rendering ubuntu - Simulate UBUNTU rendering linux - Generic Linux style - no snapping or certain other tweaks windows - Simulate Windows rendering vanilla - Just subpixel hinting Infinality styles: classic - Infinality rendering circa 2010. No snapping nudge - CLASSIC with lightly stem snapping and tweaks push - CLASSIC with medium stem snapping and tweaks shove - Full stem snapping and tweaks without sharpening sharpened - Full stem snapping, tweaks, and Windows-style sharpening infinality - Settings used by Infinality
LibXft
Only legacy programs still use libXft. The default configuration is defined in /usr/share/X11/app-defaults/Xft. It can be overriden on a per-user basis in the ~/.Xresources or ~/.Xdefaults files :
Xft.antialias: 1 Xft.autohint: 0 Xft.dpi: 96 Xft.hinting: 1 Xft.hintstyle: hintfull Xft.lcdfilter: lcddefault Xft.rgba: rgb