summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt')
-rw-r--r--Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt119
1 files changed, 119 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt b/Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt
new file mode 100644
index 00000000000..d08e7ba024e
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/gnu-freefont/notes/features.txt
@@ -0,0 +1,119 @@
+ OpenType features in GNU FreeFont
+
+The OpenType font standard specifies numerous "features", which describe
+how glyphs should be rendered under certain circumstances.
+
+Some features, such as ligatures, substitute one glyph (or glyphs) with
+others. Other features such as kerning adjust the positioning of glyphs.
+
+A feature may be activated for text of a certain script (such as Cyrillic
+or Arabic) in a certain language or region (as can be specified in HTML
+elements with the "lang" attribute), and some are activated only in case
+other features are not activated.
+
+The actual rendering of these features is not by the font itself but rather
+by font rendering software in the operating system or application or printer.
+As of this writing, feature support is far from perfect in many environments.
+
+The features are encoded in the font's "lookup tables". Each table has
+a four-byte name.
+
+The feature lookup tables used in FreeFont include:
+
+Substitution (GSUB)
+============
+
+rlig required ligature
+liga standard ligature
+hlig historic ligature
+dlig discretionary ligature
+
+hist historic form
+locl localized form
+
+smcp lowercase to small capitals
+c2sc captials to small capitals
+
+frac diagonal fractions
+zero slashed zero
+onum oldstyle figures
+
+ccmp glyph decomposition (multiple replacement)
+ contextual chained substitution
+
+aalt access all alternates
+calt contextual alternates
+
+ Arabic
+ ------
+init initial forms
+medi medial forms
+fina final formes
+
+ Indic scripts
+ -------------
+ (these are always applied in exactly the following order)
+nukt nukta forms
+akhn akhand
+rphf reph form
+blwf below base forms
+half half form
+vatu vattu variants
+pres pre base substitutions
+abvs above base substitutions
+blws below base substitutions
+psts post base substitutions
+haln halant forms
+
+Positioning (GPOS)
+===========
+
+kern kerning
+mark mark-to-base
+mkmk mark-to-mark
+
+ Indic scripts
+ -------------
+dist distance (similar to kern)
+abvm above mark
+blwm below mark
+
+Use and Policies
+================
+
+kerning
+-------
+
+Kerning is viewed as a delicate adjustment of horizontal positioning of
+letters based on the relative shapes of adjacent letters.
+
+The first goal of kerning is to enhance the appearance of coherence in
+words, by reducing apparent spaces beteen adjacent letters.
+The second is to make the spacing appear somehow "smooth".
+
+A few pairs of letters are strongly kerned, for example 'AV'. With very few
+exceptions, one letter should not visually intrude on the horizontal space of
+another. (Exceptions might include the hooks on f and y.)
+For instance, in serifed fonts, the serifs of most letters should have a
+visible space between them, and should not visually intrude on one another
+horizontally.
+
+For most others, the policy is "err on the conservative side".
+A common mistake is to try to minimize the area between the letters
+-- this has a poor effect on the appearance of the text.
+
+After kerning, bulk text should be carefully inspected both in print and on
+the screen in different resolutions, that the letters appear evenly-spaced,
+and never crash into one another.
+
+mark positioning
+----------------
+It is conceptually more direct, and in principle easier, to position marks
+relative to letters using the various mark positioning lookups.
+Unfortunately, the implementation of these features has been rather spotty.
+
+Especially in cases where multiple marks appear on the same base, it can
+get just too messy to be practical. Unfortunately, often pre-composed
+components are a necessary fallback.
+
+$Id: features.txt,v 1.1 2011-07-16 11:24:10 Stevan_White Exp $