1# OpenType Feature File specification, section 5.d, example 1. 2# http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html 3 4feature F1 { 5 sub [one one.oldstyle] [slash fraction] [two two.oldstyle] by onehalf; 6} F1; 7 8# Since the OpenType specification does not allow ligature substitutions 9# to be specified on target sequences that contain glyph classes, the 10# implementation software will enumerate all specific glyph sequences 11# if glyph classes are detected in <glyph sequence>. Thus, the above 12# example produces an identical representation in the font as if all 13# the sequences were manually enumerated by the font editor: 14# 15# NOTE(anthrotype): The previous sentence is no longer entirely true, since we 16# now preserve the order in which the ligatures (with same length and first glyph) 17# were specified in the feature file and do not sort them alphabetically 18# by the ligature component names. Therefore, the way this particular example from 19# the FEA spec is written will produce two slightly different representations 20# in the font in which the ligatures are enumerated differently, however the two 21# lookups are functionally equivalent. 22# See: https://github.com/fonttools/fonttools/issues/3428 23# https://github.com/adobe-type-tools/afdko/issues/1727 24feature F2 { 25 sub one slash two by onehalf; 26 sub one.oldstyle slash two by onehalf; 27 sub one fraction two by onehalf; 28 sub one.oldstyle fraction two by onehalf; 29 sub one slash two.oldstyle by onehalf; 30 sub one.oldstyle slash two.oldstyle by onehalf; 31 sub one fraction two.oldstyle by onehalf; 32 sub one.oldstyle fraction two.oldstyle by onehalf; 33} F2; 34