xref: /aosp_15_r20/external/fonttools/Tests/feaLib/data/GPOS_1.fea (revision e1fe3e4ad2793916b15cccdc4a7da52a7e1dd0e9)
1*e1fe3e4aSElliott Hugheslanguagesystem DFLT dflt;
2*e1fe3e4aSElliott Hughes
3*e1fe3e4aSElliott Hughes@sevenEightNine = [seven eight nine];
4*e1fe3e4aSElliott Hughes
5*e1fe3e4aSElliott Hughesfeature kern {
6*e1fe3e4aSElliott Hughes    pos zero 0;
7*e1fe3e4aSElliott Hughes
8*e1fe3e4aSElliott Hughes    pos [one two three] <-80 0 -160 0>;
9*e1fe3e4aSElliott Hughes    pos A <1 2 3 4 <device 11 111, 12 112> <device 13 113, 14 114> <device 16 116> <device NULL>>;
10*e1fe3e4aSElliott Hughes    pos B <1 2 3 4 <device 11 111, 12 112> <device 13 113, 14 114> <device 16 116> <device NULL>>;
11*e1fe3e4aSElliott Hughes    pos C <1 2 3 4 <device 11 -2, 14 1> <device 13 -3, 15 1> <device 11 -8, 14 7> <device 13 8, 15 1>>;
12*e1fe3e4aSElliott Hughes    pos four 400;
13*e1fe3e4aSElliott Hughes    pos four.oldstyle 401;
14*e1fe3e4aSElliott Hughes    pos five <-80 0 -160 0>;
15*e1fe3e4aSElliott Hughes    pos six -200;
16*e1fe3e4aSElliott Hughes    pos @sevenEightNine -100;
17*e1fe3e4aSElliott Hughes
18*e1fe3e4aSElliott Hughes    pos P <1 0 800 0>;
19*e1fe3e4aSElliott Hughes    pos Q <1 0 801 0>;
20*e1fe3e4aSElliott Hughes    pos R <1 0 802 0>;
21*e1fe3e4aSElliott Hughes    pos S <1 1 803 0>;
22*e1fe3e4aSElliott Hughes    pos T <1 1 804 0>;
23*e1fe3e4aSElliott Hughes    pos U <1 1 805 0>;
24*e1fe3e4aSElliott Hughes
25*e1fe3e4aSElliott Hughes    # The AFDKO makeotf tool accepts re-definitions of previously defined
26*e1fe3e4aSElliott Hughes    # single adjustment positionings, provided the re-definition is using
27*e1fe3e4aSElliott Hughes    # the same value.  We replicate this behavior.
28*e1fe3e4aSElliott Hughes    pos four 400;
29*e1fe3e4aSElliott Hughes    pos four <0 0 400 0>;
30*e1fe3e4aSElliott Hughes    pos nine -100;
31*e1fe3e4aSElliott Hughes} kern;
32*e1fe3e4aSElliott Hughes
33*e1fe3e4aSElliott Hughes# According to the OpenType Feature File specification section 2.e.iv,
34*e1fe3e4aSElliott Hughes# the following should be interpreted as vertical advance adjustment
35*e1fe3e4aSElliott Hughes# because -100 (a value record format A) appears within a ‘vkrn’ feature.
36*e1fe3e4aSElliott Hughes# However, the AFDKO makeotf tool v2.0.90 (built on Nov 19, 2015) still
37*e1fe3e4aSElliott Hughes# makes it a horizontal advance adjustment.  In our implementation,
38*e1fe3e4aSElliott Hughes# we follow the specification, so we produce different output than makeotf.
39*e1fe3e4aSElliott Hughes# https://github.com/adobe-type-tools/afdko/issues/85
40*e1fe3e4aSElliott Hughesfeature vkrn {
41*e1fe3e4aSElliott Hughes    pos A -100;
42*e1fe3e4aSElliott Hughes} vkrn;
43