User Guide

Making OpenType Fonts
665
Ligature Substitution
The ligature substitution rule replaces several glyphs in sequence with a
single glyph.
A Ligature substitution rule is specified as:
substitute <glyph sequence> by <glyph>;
<glyph sequence> must contain two or more <glyph|glyphclass>es. For
example:
substitute [one oneoldstyle] [slash fraction] [two twooldstyle] by onehalf;
Since the OpenType specification does not allow ligature substitutions to
be specified on target sequences that contain glyph classes, the
implementation software will enumerate all specific glyph sequences if
glyph classes are detected in <glyph sequence>. Thus, the above example
produces the same effect in the font as if the font editor manually
enumerated all the sequences:
substitute one slash two by onehalf;
substitute oneoldstyle slash two by onehalf;
substitute one fraction two by onehalf;
substitute oneoldstyle fraction two by onehalf;
substitute one slash twooldstyle by onehalf;
substitute oneoldstyle slash twooldstyle by onehalf;
substitute one fraction twooldstyle by onehalf;
substitute oneoldstyle fraction twooldstyle by onehalf;
Almost all fonts contain at least two ligatures: “fl” and “fi” which can be
easily encoded as:
substitute f l by fl;
substitute f i by fi;
Some fonts add longer ligatures:
substitute f f i by ffi;