Difference between pages "Template talk:PageNeedsUpdates" and "Fonts"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
(infinality flag now moved to reetype)
 
Line 1: Line 1:
I believe that it is beneficial to know why someone wants a page to be updated. That is why I think this template should take a "reference" parameter. Could someone explain why you are against it? --Duncan
{{PageNeedsUpdates |Reason=Package media-libs/fontconfig does not have a USE flag called "infinality" (anymore?)}}


I am pro. However, we can also explain the reason in the talk page. -- [[User:Pytony|Pytony]] ([[User talk:Pytony|talk]])
== Install the packages ==
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 the infinality USE flag, which applies the infinality patch set. Infinality patches were previously available only in the lcd-filtering overlay and have now been merged into the main Funtoo portage tree.
 
<console>
###i## echo "media-libs/freetype infinality" >> /etc/portage/package.use
###i## emerge -uN fontconfig
</console>
 
== Advanced configuration ==
=== Fontconfig ===
==== Default configuration ====
 
<console>
###i## eselect fontconfig enable 10-antialias.conf
###i## eselect fontconfig enable 10-autohint.conf 
###i## eselect fontconfig enable 10-hinting.conf 
###i## eselect fontconfig enable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-sub-pixel-rgb.conf 
###i## eselect fontconfig enable 11-lcdfilter-default.conf 
###i## eselect fontconfig enable 70-no-bitmaps.conf 
###i## eselect fontconfig disable 10-hinting-full.conf 
###i## eselect fontconfig disable 10-hinting-medium.conf 
###i## eselect fontconfig disable 10-no-sub-pixel.conf 
###i## eselect fontconfig disable 10-sub-pixel-bgr.conf 
###i## eselect fontconfig disable 10-sub-pixel-vbgr.conf 
###i## eselect fontconfig disable 10-sub-pixel-vrgb.conf 
###i## eselect fontconfig disable 10-unhinted.conf</console>
===Linux configuration ===
 
Same as default configuration except:
<console>
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf
</console>
=== Infinality’s configuration ===
 
Same as default configuration except:
<console>
###i## eselect fontconfig enable 15-hinting-tt-instructed-full.conf
###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf 
###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
</console>
=== Windows configuration ===
 
Same as default except:
<console>
###i## eselect fontconfig disable 10-autohint.conf
###i## eselect fontconfig disable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-hinting-full.conf 
###i## eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf 
###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf 
###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
</console>
=== OSX configuration ===
 
Same as default configuration except:
<console>
###i## eselect fontconfig disable 10-autohint.conf
###i## eselect fontconfig disable 10-hinting.conf 
###i## eselect fontconfig disable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-unhinted.conf 
###i## eselect fontconfig enable 15-hinting-tt-instructed-none.conf
</console>
== 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).
 
usage: source ft-settings.sh <style>
 
<console>
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
</console>
== 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:
 
{{file|name=~/.Xdefaults|desc= |body=
Xft.antialias:  1
Xft.autohint:  0 
Xft.dpi:        96 
Xft.hinting:    1 
Xft.hintstyle:  hintfull 
Xft.lcdfilter:  lcddefault 
Xft.rgba:      rgb
}}
 
[[Category:HOWTO]]

Revision as of 13:58, September 18, 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 the infinality USE flag, which applies the infinality patch set. Infinality patches were previously available only in the lcd-filtering overlay and have now been merged into the main Funtoo portage tree.

root # echo "media-libs/freetype 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:

   ~/.Xdefaults
Xft.antialias:  1
Xft.autohint:   0  
Xft.dpi:        96  
Xft.hinting:    1  
Xft.hintstyle:  hintfull  
Xft.lcdfilter:  lcddefault  
Xft.rgba:       rgb