# OpenType Feature File specification, section 4.h, example 1. # http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html languagesystem DFLT dflt; languagesystem latn dflt; languagesystem latn DEU; languagesystem latn TRK; languagesystem cyrl dflt; feature smcp { sub [a-z] by [A.sc-Z.sc]; # Since all the rules in this feature are of the same type, they # will be grouped in a single lookup. Since no script or language # keyword has been specified yet, the lookup will be registered # for this feature under all the language systems. } smcp; feature liga { sub f f by f_f; sub f i by f_i; sub f l by f_l; # Since all the rules in this feature are of the same type, they # will be grouped in a single lookup. Since no script or language # keyword has been specified yet, the lookup will be registered # for this feature under all the language systems. script latn; language dflt; # lookupflag 0; (implicit) sub c t by c_t; sub c s by c_s; # The rules above will be placed in a lookup that is registered # for all the specified languages for the script latn, but not any # other scripts. language DEU; # script latn; (stays the same) # lookupflag 0; (stays the same) sub c h by c_h; sub c k by c_k; # The rules above will be placed in a lookup that is registered # only under the script latn, language DEU. language TRK; # This will inherit both the top level default rules - the rules # defined before the first 'script' statement, and the # script-level default rules for 'latn': all the lookups of this # feature defined after the 'script latn' statement, and before # the language DEU statement. If TRK were not named here, it # would not inherit the default rules for the script latn. } liga; # TODO(sascha): Uncomment once we support 'pos' statements. # feature kern { # pos a y -150; # # [more pos statements] # # All the rules in this feature will be grouped in a single lookup # # that is is registered under all the language systems. # } kern;