##################################################################
# INFINALITY ENVIRONMENT VARIABLES FOR EXTRA RUN-TIME OPTIONS
##################################################################
#
# These environment variables require that their respective patches
# from http://www.infinality.net have been applied to the Freetype
# installation you are using. They will do abolutely
# nothing otherwise!
#
# This file should be copied to /etc/profile.d/ for system-wide
# effects and/or included in ~/.bashrc or ~/.bash_profile for per-user
# effects:
#
# . ~/path/to/this/file/infinality-settings
#
# Of course, the per-user settings will override the system-wide
# settings. Default values indicated below will be used when the
# environment variables below are not defined.
##################################################################
# INFINALITY_FT_FILTER_PARAMS
#
# This is a modified version of the patch here:
# http://levelsofdetail.kendeeter.com/2008/12/dynamic_fir_filter_patch.html
#
# Allows you to adjust the FIR filter at runtime instead of at
# compile time. The idea is to have values add up to one, and be
# symmetrical around the middle value. Here are some samples
# of various filter parameters:
#
# Strong Extra Smooth "15e-2 20e-2 30e-2 20e-2 15e-2" (extra smooth, natural weight)
# Extra Smooth "20e-2 20e-2 30e-2 20e-2 20e-2" (extra smooth, extra weight)
# Smooth "15e-2 20e-2 32e-2 20e-2 15e-2" (smooth, natural weight)
# Stronger Gibson "11e-2 22e-2 38e-2 22e-2 11e-2" (smooth, extra weight)
# Gibson "11e-2 22e-2 33e-2 22e-2 11e-2" (smooth, natural weight)
# Freetype Light "00e-2 33e-2 34e-2 33e-2 00e-2" (sharp, natural weight)
# Freetype Default "06e-2 25e-2 44e-2 25e-2 06e-2" (sharp, extra weight) *default
# Extra Sharp "00e-2 35e-2 35e-2 35e-2 00e-2" (extra sharp, extra weight)
#
# Default: [Freetype's default]
# Recommended: "11e-2 22e-2 38e-2 22e-2 11e-2"
#
# Example 1: export INFINALITY_FT_FILTER_PARAMS="11e-2 22e-2 38e-2 22e-2 11e-2"
#
export INFINALITY_FT_FILTER_PARAMS="11e-2 22e-2 38e-2 22e-2 11e-2"
##################################################################
# INFINALITY_FT_STEM_ALIGNMENT_TYPE
#
# This performs analysis on each glyph and determines the best
# subpixel orientation for the glyph. The glyph is not scaled in
# any way, just moved left or right by a subpixel amount. This
# results in subtley cleaner looking fonts, at the expense of
# proper distances between glyphs. This is only active for sizes
# 10 px or greater and does not apply to bold or italic fonts.
#
# Possible values:
# full - Allows a glyph to be moved to the LEFT or RIGHT by 1 subpixel
# Best alignment, Worst positioning
# medium,medium1 - Only allows a glyph to be moved to the LEFT by 1 subpixel
# Good alignment, Good positioning
# medium2 - Only allows a glyph to be moved to the RIGHT by 1 subpixel
# Good alignment, Good positioning
# slight,slight1 - A stricter version of medium
# Minor alignment, Best positioning
# slight2 - A stricter version of medium2
# Minor alignment, Best positioning
# infinality - medium1 when stem < 5 subpixels, full when >= 5 subpixels
# none - Don't do any alignment
#
# Default: none
# Recommended: medium
export INFINALITY_FT_STEM_ALIGNMENT_TYPE=medium
##################################################################
# INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT
#
# Cause the height of horizontal stems to snap to integer pixels
# when using light auto-hinting. (This happens automatically
# when using full auto-hinting)
#
# This produces an effect similar to the way Windows renders fonts
# without requiring the font to contain bytecode instructions.
#
# Possible values:
# true - enable stem snapping
# false - do not enable stem snapping
#
# Default: false
# Recommended: true
export INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT=true
##################################################################
# INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT
#
# Embolden particularly light or thin fonts, like DejaVu Sans Light,
# Inconsolata, Freemono, Courier New, etc. up until stem width is
# 1 pixel wide. This makes these fonts easier to read at lower
# ppems. Only applies when the autohinter is being used.
#
# Possible values:
# true - enable emboldening of light fonts
# false - do not enable emboldening of light fonts
#
# Default: false
# Recommended: true
export INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT=true
##################################################################
# INFINALITY_FT_PSEUDO_GAMMA
#
# This does a weighted gamma correction at the LCD filter phase
# prior to the LCD filter.
#
# The first value indicates a px value, the second indicates a
# "gamma" value. All sizes < the px value will be corrected
# on a weighted scale based on the second value.
#
# Values .1 < 1.0 will darken the glyph
# Values > 1.0 will lighten the glyph
#
# Example 1: Darken glyphs that are less than 10 px. With some fonts
# even 5 or 6px is readable!
# export INFINALITY_FT_PSEUDO_GAMMA="10 6e-1"
#
# Example 2: Lighten all glyphs (below 100px)
# export INFINALITY_FT_PSEUDO_GAMMA="100 15e-1"
#
# Default: [No gamma correction]
# Recommended: "9 5e-1"
export INFINALITY_FT_PSEUDO_GAMMA="9 7e-1"
##################################################################
# INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS
#
# This will slightly stretch some glyphs vertically between 9px
# and 14px (inclusive). Some people may find this more
# aesthetically pleasing. This only applies to fonts that are
# using autohint.
#
# Possible values:
# true - enable height adjustment
# false - do not enable height adjustment
#
# Default: false
export INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS=true
##################################################################
# INFINALITY_FT_ENHANCED_EMBOLDEN
#
# When doing artificial emboldening, only embolden in the X
# direction, skipping the Y direction. Most people will find this
# more aesthetically pleasing than the default behavior.
#
# Possible values:
# true - enable enhanced emboldening
# false - no not enable enhanced emboldening
#
# Default: false
# Recommended: true
export INFINALITY_FT_ENHANCED_EMBOLDEN=true
##################################################################
# INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH
#
# When doing artificial emboldening, don't change the glyph width.
#
# Possible values:
# true - maintain width
# false - do not maintain width
#
# Default: false
# Recommended: true
export INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH=true
##################################################################
# INFINALITY_FT_AUTO_AUTOHINT
#
# Automatically use autohint when rendering a font that contains
# no truetype instructions, regardless of what the calling
# program asks for. The truetype hinter will not do a good job
# on these.
#
# Possible values:
# true - automatically use autohint
# false - do not automatically use autohint
#
# Default: false
# Recommended: true
export INFINALITY_FT_AUTO_AUTOHINT=true