summaryrefslogtreecommitdiffstats
path: root/tests/reference/ufo/psfmakefea.fea
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reference/ufo/psfmakefea.fea')
-rw-r--r--tests/reference/ufo/psfmakefea.fea214
1 files changed, 214 insertions, 0 deletions
diff --git a/tests/reference/ufo/psfmakefea.fea b/tests/reference/ufo/psfmakefea.fea
new file mode 100644
index 0000000..1ce54da
--- /dev/null
+++ b/tests/reference/ufo/psfmakefea.fea
@@ -0,0 +1,214 @@
+
+# Main Classes
+@GDEF_bases = [.notdef .null Ampersand Apos Asterisk AtSgn CircumAccent Colon Comma DigitEight DigitFive DigitFour DigitNine DigitOne DigitSeven DigitSix DigitThree DigitTwo DigitZero DollarSgn DottedCirc EqSgn ExclamationMrk FullStop GTSgn GraveAccent Hyphen HyphenMinus Hyphen_Soft LTSgn LftCurlyBrac LftParen LftSqrBrac LowLine LtnCapA LtnCapA.alt LtnCapADiaer LtnCapB LtnCapC LtnCapD LtnCapE LtnCapF LtnCapG LtnCapH LtnCapI LtnCapJ LtnCapK LtnCapL LtnCapM LtnCapN LtnCapO LtnCapP LtnCapQ LtnCapR LtnCapS LtnCapT LtnCapU LtnCapV LtnCapW LtnCapX LtnCapY LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmB LtnSmC LtnSmD LtnSmE LtnSmF LtnSmG LtnSmH LtnSmI LtnSmJ LtnSmK LtnSmL LtnSmM LtnSmN LtnSmO LtnSmP LtnSmQ LtnSmR LtnSmS LtnSmT LtnSmU LtnSmV LtnSmW LtnSmX LtnSmY NonBreakingHyphen NumSgn PercentSgn PlusSgn QstnMrk QuotMrk ReverseSolidus RtCurlyBrac RtParen RtSqrBrac Semicolon Solidus Space Tilde VertLine nonmarkingreturn];
+@GDEF_marks = [CombAcute CombCircum CombDiaer CombGrave CombRingAbv CombTilde];
+@c_alt = [LtnCapA.alt];
+@cno_alt = [LtnCapA];
+
+# Positioning classes and statements
+
+# AP: U
+@U = [DigitEight DigitFive DigitNine DigitOne DigitSeven DigitSix DigitThree LtnCapE DigitFour DigitTwo DigitZero DottedCirc Hyphen HyphenMinus Hyphen_Soft NonBreakingHyphen LtnCapA LtnCapA.alt LtnCapADiaer LtnCapB LtnCapC LtnCapD LtnCapF LtnCapG LtnCapH LtnCapI LtnCapJ LtnCapK LtnCapX LtnCapY LtnCapL LtnCapM LtnCapN LtnCapO LtnCapQ LtnCapP LtnCapR LtnCapS LtnCapT LtnCapU LtnCapV LtnCapW LtnSmA LtnSmAAcute LtnSmACircum LtnSmAGrave LtnSmADiaer LtnSmARingAbv LtnSmATilde LtnSmB LtnSmC LtnSmO LtnSmD LtnSmE LtnSmF LtnSmG LtnSmH LtnSmI LtnSmJ LtnSmK LtnSmL LtnSmM LtnSmN LtnSmP LtnSmQ LtnSmR LtnSmS LtnSmT LtnSmU LtnSmV LtnSmY LtnSmW LtnSmX];
+@U_MarkBase = [CombAcute CombCircum CombRingAbv CombDiaer CombGrave CombTilde];
+# baseClass [DigitEight DigitFive DigitNine DigitOne DigitSeven DigitSix DigitThree LtnCapE] <anchor 600 1530> @U;
+# baseClass DigitFour <anchor 607 1530> @U;
+# baseClass DigitTwo <anchor 560 1530> @U;
+# baseClass DigitZero <anchor 605 1530> @U;
+# baseClass DottedCirc <anchor 553 1000> @U;
+# baseClass [Hyphen HyphenMinus Hyphen_Soft NonBreakingHyphen] <anchor 430 1100> @U;
+# baseClass LtnCapA <anchor 687 1530> @U;
+# baseClass LtnCapA.alt <anchor 688 -70> @U;
+# baseClass LtnCapADiaer <anchor 687 1935> @U;
+# baseClass LtnCapB <anchor 615 1530> @U;
+# baseClass LtnCapC <anchor 750 1530> @U;
+# baseClass LtnCapD <anchor 715 1530> @U;
+# baseClass LtnCapF <anchor 595 1530> @U;
+# baseClass LtnCapG <anchor 745 1530> @U;
+# baseClass LtnCapH <anchor 725 1530> @U;
+# baseClass LtnCapI <anchor 477 1530> @U;
+# baseClass LtnCapJ <anchor 675 1530> @U;
+# baseClass [LtnCapK LtnCapX LtnCapY] <anchor 650 1530> @U;
+# baseClass LtnCapL <anchor 592 1530> @U;
+# baseClass LtnCapM <anchor 885 1530> @U;
+# baseClass LtnCapN <anchor 737 1530> @U;
+# baseClass [LtnCapO LtnCapQ] <anchor 717 1530> @U;
+# baseClass LtnCapP <anchor 637 1530> @U;
+# baseClass LtnCapR <anchor 610 1530> @U;
+# baseClass LtnCapS <anchor 580 1530> @U;
+# baseClass LtnCapT <anchor 622 1530> @U;
+# baseClass LtnCapU <anchor 707 1530> @U;
+# baseClass LtnCapV <anchor 672 1530> @U;
+# baseClass LtnCapW <anchor 1027 1530> @U;
+# baseClass LtnSmA <anchor 540 1100> @U;
+# baseClass [LtnSmAAcute LtnSmACircum LtnSmAGrave] <anchor 540 1635> @U;
+# baseClass LtnSmADiaer <anchor 540 1505> @U;
+# baseClass LtnSmARingAbv <anchor 542 1635> @U;
+# baseClass LtnSmATilde <anchor 540 1475> @U;
+# baseClass LtnSmB <anchor 590 1635> @U;
+# baseClass [LtnSmC LtnSmO] <anchor 570 1100> @U;
+# baseClass LtnSmD <anchor 605 1635> @U;
+# baseClass LtnSmE <anchor 569 1100> @U;
+# baseClass LtnSmF <anchor 560 1635> @U;
+# baseClass LtnSmG <anchor 515 1100> @U;
+# baseClass LtnSmH <anchor 585 1635> @U;
+# baseClass LtnSmI <anchor 282 1100> @U;
+# baseClass LtnSmJ <anchor 313 1100> @U;
+# baseClass LtnSmK <anchor 572 1635> @U;
+# baseClass LtnSmL <anchor 282 1635> @U;
+# baseClass LtnSmM <anchor 865 1100> @U;
+# baseClass LtnSmN <anchor 600 1100> @U;
+# baseClass LtnSmP <anchor 590 1100> @U;
+# baseClass LtnSmQ <anchor 555 1100> @U;
+# baseClass LtnSmR <anchor 455 1100> @U;
+# baseClass LtnSmS <anchor 495 1100> @U;
+# baseClass LtnSmT <anchor 325 1360> @U;
+# baseClass LtnSmU <anchor 589 1100> @U;
+# baseClass [LtnSmV LtnSmY] <anchor 535 1100> @U;
+# baseClass LtnSmW <anchor 775 1100> @U;
+# baseClass LtnSmX <anchor 542 1100> @U;
+# baseClass [CombAcute CombCircum CombRingAbv] <anchor -570 1635> @U_MarkBase;
+# baseClass CombDiaer <anchor -570 1505> @U_MarkBase;
+# baseClass CombGrave <anchor -550 1635> @U_MarkBase;
+# baseClass CombTilde <anchor -575 1475> @U_MarkBase;
+
+# AP: _U
+markClass [CombAcute CombCircum CombDiaer] <anchor -570 1100> @_U;
+markClass CombGrave <anchor -550 1100> @_U;
+markClass CombRingAbv <anchor -572 1100> @_U;
+markClass CombTilde <anchor -575 1100> @_U;
+
+# AP: L
+@L = [DigitEight DigitFive DigitNine DigitOne DigitSeven DigitSix DigitThree DigitTwo LtnCapE LtnSmN DigitFour DigitZero LtnSmD DottedCirc LtnCapA LtnCapADiaer LtnCapA.alt LtnCapB LtnCapC LtnCapD LtnCapF LtnCapG LtnCapH LtnCapI LtnCapJ LtnCapK LtnCapL LtnCapM LtnCapN LtnCapO LtnCapP LtnCapQ LtnCapR LtnCapS LtnSmC LtnCapT LtnCapU LtnCapV LtnCapW LtnCapX LtnCapY LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmB LtnSmE LtnSmF LtnSmG LtnSmH LtnSmI LtnSmJ LtnSmK LtnSmL LtnSmM LtnSmO LtnSmP LtnSmQ LtnSmR LtnSmS LtnSmT LtnSmU LtnSmV LtnSmW LtnSmX LtnSmY];
+# baseClass [DigitEight DigitFive DigitNine DigitOne DigitSeven DigitSix DigitThree DigitTwo LtnCapE LtnSmN] <anchor 600 -100> @L;
+# baseClass DigitFour <anchor 607 -100> @L;
+# baseClass [DigitZero LtnSmD] <anchor 605 -100> @L;
+# baseClass DottedCirc <anchor 553 -100> @L;
+# baseClass [LtnCapA LtnCapADiaer] <anchor 687 -100> @L;
+# baseClass LtnCapA.alt <anchor 688 1560> @L;
+# baseClass LtnCapB <anchor 615 -100> @L;
+# baseClass LtnCapC <anchor 750 -100> @L;
+# baseClass LtnCapD <anchor 715 -100> @L;
+# baseClass LtnCapF <anchor 595 -100> @L;
+# baseClass LtnCapG <anchor 745 -100> @L;
+# baseClass LtnCapH <anchor 725 -100> @L;
+# baseClass LtnCapI <anchor 477 -100> @L;
+# baseClass LtnCapJ <anchor 410 -100> @L;
+# baseClass LtnCapK <anchor 695 -100> @L;
+# baseClass LtnCapL <anchor 592 -100> @L;
+# baseClass LtnCapM <anchor 885 -100> @L;
+# baseClass LtnCapN <anchor 737 -100> @L;
+# baseClass LtnCapO <anchor 717 -100> @L;
+# baseClass LtnCapP <anchor 637 -100> @L;
+# baseClass LtnCapQ <anchor 717 -270> @L;
+# baseClass LtnCapR <anchor 610 -100> @L;
+# baseClass [LtnCapS LtnSmC] <anchor 580 -100> @L;
+# baseClass LtnCapT <anchor 622 -100> @L;
+# baseClass LtnCapU <anchor 707 -100> @L;
+# baseClass LtnCapV <anchor 672 -100> @L;
+# baseClass LtnCapW <anchor 1027 -100> @L;
+# baseClass [LtnCapX LtnCapY] <anchor 650 -100> @L;
+# baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] <anchor 540 -100> @L;
+# baseClass LtnSmB <anchor 590 -100> @L;
+# baseClass LtnSmE <anchor 569 -100> @L;
+# baseClass LtnSmF <anchor 335 -100> @L;
+# baseClass LtnSmG <anchor 545 -535> @L;
+# baseClass LtnSmH <anchor 585 -100> @L;
+# baseClass LtnSmI <anchor 285 -100> @L;
+# baseClass LtnSmJ <anchor 125 -500> @L;
+# baseClass LtnSmK <anchor 572 -100> @L;
+# baseClass LtnSmL <anchor 290 -100> @L;
+# baseClass LtnSmM <anchor 865 -100> @L;
+# baseClass LtnSmO <anchor 570 -100> @L;
+# baseClass LtnSmP <anchor 590 -500> @L;
+# baseClass LtnSmQ <anchor 555 -500> @L;
+# baseClass LtnSmR <anchor 255 -100> @L;
+# baseClass LtnSmS <anchor 495 -100> @L;
+# baseClass LtnSmT <anchor 475 -100> @L;
+# baseClass LtnSmU <anchor 589 -100> @L;
+# baseClass LtnSmV <anchor 535 -100> @L;
+# baseClass LtnSmW <anchor 775 -100> @L;
+# baseClass LtnSmX <anchor 542 -100> @L;
+# baseClass LtnSmY <anchor 795 -100> @L;
+
+# AP: H
+@H = [DottedCirc LtnCapA LtnCapADiaer LtnCapU LtnCapA.alt LtnCapC LtnCapE LtnCapG LtnCapH LtnCapR LtnCapI LtnCapK LtnSmR LtnCapL LtnCapM LtnCapN LtnCapO LtnCapS LtnSmC LtnCapT LtnCapV LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmB LtnSmD LtnSmE LtnSmF LtnSmG LtnSmH LtnSmI LtnSmK LtnSmL LtnSmM LtnSmN LtnSmO LtnSmP LtnSmS LtnSmT LtnSmU LtnSmV LtnSmX];
+# baseClass DottedCirc <anchor 553 0> @H;
+# baseClass [LtnCapA LtnCapADiaer LtnCapU] <anchor 707 0> @H;
+# baseClass LtnCapA.alt <anchor 668 1460> @H;
+# baseClass LtnCapC <anchor 750 0> @H;
+# baseClass LtnCapE <anchor 600 0> @H;
+# baseClass LtnCapG <anchor 745 0> @H;
+# baseClass [LtnCapH LtnCapR] <anchor 285 0> @H;
+# baseClass LtnCapI <anchor 477 0> @H;
+# baseClass [LtnCapK LtnSmR] <anchor 270 0> @H;
+# baseClass LtnCapL <anchor 592 0> @H;
+# baseClass LtnCapM <anchor 1521 0> @H;
+# baseClass LtnCapN <anchor 1230 0> @H;
+# baseClass LtnCapO <anchor 717 0> @H;
+# baseClass [LtnCapS LtnSmC] <anchor 580 0> @H;
+# baseClass LtnCapT <anchor 622 0> @H;
+# baseClass LtnCapV <anchor 680 0> @H;
+# baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] <anchor 540 0> @H;
+# baseClass LtnSmB <anchor 590 0> @H;
+# baseClass LtnSmD <anchor 605 0> @H;
+# baseClass LtnSmE <anchor 545 0> @H;
+# baseClass LtnSmF <anchor 370 0> @H;
+# baseClass LtnSmG <anchor 545 -432> @H;
+# baseClass LtnSmH <anchor 250 0> @H;
+# baseClass LtnSmI <anchor 282 0> @H;
+# baseClass LtnSmK <anchor 243 0> @H;
+# baseClass LtnSmL <anchor 290 0> @H;
+# baseClass LtnSmM <anchor 1450 0> @H;
+# baseClass LtnSmN <anchor 970 0> @H;
+# baseClass LtnSmO <anchor 570 0> @H;
+# baseClass LtnSmP <anchor 265 -435> @H;
+# baseClass LtnSmS <anchor 495 0> @H;
+# baseClass LtnSmT <anchor 475 0> @H;
+# baseClass LtnSmU <anchor 589 0> @H;
+# baseClass LtnSmV <anchor 549 0> @H;
+# baseClass LtnSmX <anchor 900 0> @H;
+
+# AP: O
+@O = [DottedCirc LtnCapA LtnCapADiaer LtnCapA.alt LtnCapE LtnCapI LtnCapO LtnCapU LtnCapV LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmE LtnSmI LtnSmO LtnSmU LtnSmV];
+# baseClass DottedCirc <anchor 810 0> @O;
+# baseClass [LtnCapA LtnCapADiaer] <anchor 1450 0> @O;
+# baseClass LtnCapA.alt <anchor -75 1460> @O;
+# baseClass LtnCapE <anchor 917 0> @O;
+# baseClass LtnCapI <anchor 673 0> @O;
+# baseClass LtnCapO <anchor 994 0> @O;
+# baseClass LtnCapU <anchor 1026 0> @O;
+# baseClass LtnCapV <anchor 880 0> @O;
+# baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] <anchor 1125 0> @O;
+# baseClass LtnSmE <anchor 925 0> @O;
+# baseClass LtnSmI <anchor 500 0> @O;
+# baseClass LtnSmO <anchor 835 0> @O;
+# baseClass LtnSmU <anchor 1192 0> @O;
+# baseClass LtnSmV <anchor 725 0> @O;
+
+# AP: R
+@R = [LtnCapE LtnCapI LtnCapL LtnCapO LtnCapU LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmY LtnSmB LtnSmC LtnSmD LtnSmE LtnSmG LtnSmI LtnSmK LtnSmL LtnSmO LtnSmP LtnSmQ LtnSmT LtnSmU];
+# baseClass LtnCapE <anchor 1160 1200> @R;
+# baseClass LtnCapI <anchor 975 1200> @R;
+# baseClass LtnCapL <anchor 540 1200> @R;
+# baseClass LtnCapO <anchor 1460 1200> @R;
+# baseClass LtnCapU <anchor 1400 1200> @R;
+# baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmY] <anchor 1120 1000> @R;
+# baseClass LtnSmB <anchor 1155 1000> @R;
+# baseClass LtnSmC <anchor 1020 1000> @R;
+# baseClass LtnSmD <anchor 1190 1000> @R;
+# baseClass [LtnSmE LtnSmG] <anchor 1095 1000> @R;
+# baseClass LtnSmI <anchor 555 1000> @R;
+# baseClass LtnSmK <anchor 1035 1000> @R;
+# baseClass LtnSmL <anchor 550 1000> @R;
+# baseClass LtnSmO <anchor 1140 1000> @R;
+# baseClass LtnSmP <anchor 1170 1000> @R;
+# baseClass LtnSmQ <anchor 1130 1000> @R;
+# baseClass LtnSmT <anchor 835 1000> @R;
+# baseClass LtnSmU <anchor 1185 1000> @R;
+@base = [A a];
+@basex = [A.x a.x];
+@basey = [A.y a.y];
+feature alt {
+ sub A from [A.x A.y];
+ sub a from [a.x a.y];
+} alt;