# 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] @U; # baseClass DigitFour @U; # baseClass DigitTwo @U; # baseClass DigitZero @U; # baseClass DottedCirc @U; # baseClass [Hyphen HyphenMinus Hyphen_Soft NonBreakingHyphen] @U; # baseClass LtnCapA @U; # baseClass LtnCapA.alt @U; # baseClass LtnCapADiaer @U; # baseClass LtnCapB @U; # baseClass LtnCapC @U; # baseClass LtnCapD @U; # baseClass LtnCapF @U; # baseClass LtnCapG @U; # baseClass LtnCapH @U; # baseClass LtnCapI @U; # baseClass LtnCapJ @U; # baseClass [LtnCapK LtnCapX LtnCapY] @U; # baseClass LtnCapL @U; # baseClass LtnCapM @U; # baseClass LtnCapN @U; # baseClass [LtnCapO LtnCapQ] @U; # baseClass LtnCapP @U; # baseClass LtnCapR @U; # baseClass LtnCapS @U; # baseClass LtnCapT @U; # baseClass LtnCapU @U; # baseClass LtnCapV @U; # baseClass LtnCapW @U; # baseClass LtnSmA @U; # baseClass [LtnSmAAcute LtnSmACircum LtnSmAGrave] @U; # baseClass LtnSmADiaer @U; # baseClass LtnSmARingAbv @U; # baseClass LtnSmATilde @U; # baseClass LtnSmB @U; # baseClass [LtnSmC LtnSmO] @U; # baseClass LtnSmD @U; # baseClass LtnSmE @U; # baseClass LtnSmF @U; # baseClass LtnSmG @U; # baseClass LtnSmH @U; # baseClass LtnSmI @U; # baseClass LtnSmJ @U; # baseClass LtnSmK @U; # baseClass LtnSmL @U; # baseClass LtnSmM @U; # baseClass LtnSmN @U; # baseClass LtnSmP @U; # baseClass LtnSmQ @U; # baseClass LtnSmR @U; # baseClass LtnSmS @U; # baseClass LtnSmT @U; # baseClass LtnSmU @U; # baseClass [LtnSmV LtnSmY] @U; # baseClass LtnSmW @U; # baseClass LtnSmX @U; # baseClass [CombAcute CombCircum CombRingAbv] @U_MarkBase; # baseClass CombDiaer @U_MarkBase; # baseClass CombGrave @U_MarkBase; # baseClass CombTilde @U_MarkBase; # AP: _U markClass [CombAcute CombCircum CombDiaer] @_U; markClass CombGrave @_U; markClass CombRingAbv @_U; markClass CombTilde @_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] @L; # baseClass DigitFour @L; # baseClass [DigitZero LtnSmD] @L; # baseClass DottedCirc @L; # baseClass [LtnCapA LtnCapADiaer] @L; # baseClass LtnCapA.alt @L; # baseClass LtnCapB @L; # baseClass LtnCapC @L; # baseClass LtnCapD @L; # baseClass LtnCapF @L; # baseClass LtnCapG @L; # baseClass LtnCapH @L; # baseClass LtnCapI @L; # baseClass LtnCapJ @L; # baseClass LtnCapK @L; # baseClass LtnCapL @L; # baseClass LtnCapM @L; # baseClass LtnCapN @L; # baseClass LtnCapO @L; # baseClass LtnCapP @L; # baseClass LtnCapQ @L; # baseClass LtnCapR @L; # baseClass [LtnCapS LtnSmC] @L; # baseClass LtnCapT @L; # baseClass LtnCapU @L; # baseClass LtnCapV @L; # baseClass LtnCapW @L; # baseClass [LtnCapX LtnCapY] @L; # baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] @L; # baseClass LtnSmB @L; # baseClass LtnSmE @L; # baseClass LtnSmF @L; # baseClass LtnSmG @L; # baseClass LtnSmH @L; # baseClass LtnSmI @L; # baseClass LtnSmJ @L; # baseClass LtnSmK @L; # baseClass LtnSmL @L; # baseClass LtnSmM @L; # baseClass LtnSmO @L; # baseClass LtnSmP @L; # baseClass LtnSmQ @L; # baseClass LtnSmR @L; # baseClass LtnSmS @L; # baseClass LtnSmT @L; # baseClass LtnSmU @L; # baseClass LtnSmV @L; # baseClass LtnSmW @L; # baseClass LtnSmX @L; # baseClass LtnSmY @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 @H; # baseClass [LtnCapA LtnCapADiaer LtnCapU] @H; # baseClass LtnCapA.alt @H; # baseClass LtnCapC @H; # baseClass LtnCapE @H; # baseClass LtnCapG @H; # baseClass [LtnCapH LtnCapR] @H; # baseClass LtnCapI @H; # baseClass [LtnCapK LtnSmR] @H; # baseClass LtnCapL @H; # baseClass LtnCapM @H; # baseClass LtnCapN @H; # baseClass LtnCapO @H; # baseClass [LtnCapS LtnSmC] @H; # baseClass LtnCapT @H; # baseClass LtnCapV @H; # baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] @H; # baseClass LtnSmB @H; # baseClass LtnSmD @H; # baseClass LtnSmE @H; # baseClass LtnSmF @H; # baseClass LtnSmG @H; # baseClass LtnSmH @H; # baseClass LtnSmI @H; # baseClass LtnSmK @H; # baseClass LtnSmL @H; # baseClass LtnSmM @H; # baseClass LtnSmN @H; # baseClass LtnSmO @H; # baseClass LtnSmP @H; # baseClass LtnSmS @H; # baseClass LtnSmT @H; # baseClass LtnSmU @H; # baseClass LtnSmV @H; # baseClass LtnSmX @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 @O; # baseClass [LtnCapA LtnCapADiaer] @O; # baseClass LtnCapA.alt @O; # baseClass LtnCapE @O; # baseClass LtnCapI @O; # baseClass LtnCapO @O; # baseClass LtnCapU @O; # baseClass LtnCapV @O; # baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde] @O; # baseClass LtnSmE @O; # baseClass LtnSmI @O; # baseClass LtnSmO @O; # baseClass LtnSmU @O; # baseClass LtnSmV @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 @R; # baseClass LtnCapI @R; # baseClass LtnCapL @R; # baseClass LtnCapO @R; # baseClass LtnCapU @R; # baseClass [LtnSmA LtnSmAAcute LtnSmACircum LtnSmADiaer LtnSmAGrave LtnSmARingAbv LtnSmATilde LtnSmY] @R; # baseClass LtnSmB @R; # baseClass LtnSmC @R; # baseClass LtnSmD @R; # baseClass [LtnSmE LtnSmG] @R; # baseClass LtnSmI @R; # baseClass LtnSmK @R; # baseClass LtnSmL @R; # baseClass LtnSmO @R; # baseClass LtnSmP @R; # baseClass LtnSmQ @R; # baseClass LtnSmT @R; # baseClass LtnSmU @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;