languagesystem DFLT dflt; @sevenEightNine = [seven eight nine]; feature kern { pos zero 0; pos [one two three] <-80 0 -160 0>; pos A <1 2 3 4 >; pos B <1 2 3 4 >; pos C <1 2 3 4 >; pos four 400; pos four.oldstyle 401; pos five <-80 0 -160 0>; pos six -200; pos @sevenEightNine -100; pos P <1 0 800 0>; pos Q <1 0 801 0>; pos R <1 0 802 0>; pos S <1 1 803 0>; pos T <1 1 804 0>; pos U <1 1 805 0>; # The AFDKO makeotf tool accepts re-definitions of previously defined # single adjustment positionings, provided the re-definition is using # the same value. We replicate this behavior. pos four 400; pos four <0 0 400 0>; pos nine -100; } kern; # According to the OpenType Feature File specification section 2.e.iv, # the following should be interpreted as vertical advance adjustment # because -100 (a value record format A) appears within a ‘vkrn’ feature. # However, the AFDKO makeotf tool v2.0.90 (built on Nov 19, 2015) still # makes it a horizontal advance adjustment. In our implementation, # we follow the specification, so we produce different output than makeotf. # https://github.com/adobe-type-tools/afdko/issues/85 feature vkrn { pos A -100; } vkrn;