blob: 7a2c44bbfcf68a7c2fd686855af696befa2e7a44 [file] [log] [blame]
# Glyph classes
@dnom = [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
@numerals = [zero one two three four five six seven eight nine];
@numr = [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
@slash = [slash fraction];
# Mark classes
markClass eight.numr <anchor 0 0> @INIT.1.10;
markClass eight.numr <anchor 0 0> @INIT.2.10;
markClass eight.numr <anchor 0 0> @INIT.3.10;
markClass eight.numr <anchor 0 0> @INIT.4.10;
markClass eight.numr <anchor 0 0> @INIT.5.10;
markClass eight.numr <anchor 0 0> @INIT.6.10;
markClass eight.numr <anchor 0 0> @INIT.7.10;
markClass eight.numr <anchor 0 0> @INIT.8.10;
markClass eight.numr <anchor 0 0> @INIT.9.10;
markClass eight.numr <anchor 0 0> @NUMRNUMR;
markClass five.numr <anchor 0 0> @INIT.1.10;
markClass five.numr <anchor 0 0> @INIT.2.10;
markClass five.numr <anchor 0 0> @INIT.3.10;
markClass five.numr <anchor 0 0> @INIT.4.10;
markClass five.numr <anchor 0 0> @INIT.5.10;
markClass five.numr <anchor 0 0> @INIT.6.10;
markClass five.numr <anchor 0 0> @INIT.7.10;
markClass five.numr <anchor 0 0> @INIT.8.10;
markClass five.numr <anchor 0 0> @INIT.9.10;
markClass five.numr <anchor 0 0> @NUMRNUMR;
markClass four.numr <anchor 0 0> @INIT.1.10;
markClass four.numr <anchor 0 0> @INIT.2.10;
markClass four.numr <anchor 0 0> @INIT.3.10;
markClass four.numr <anchor 0 0> @INIT.4.10;
markClass four.numr <anchor 0 0> @INIT.5.10;
markClass four.numr <anchor 0 0> @INIT.6.10;
markClass four.numr <anchor 0 0> @INIT.7.10;
markClass four.numr <anchor 0 0> @INIT.8.10;
markClass four.numr <anchor 0 0> @INIT.9.10;
markClass four.numr <anchor 0 0> @NUMRNUMR;
markClass nine.numr <anchor 0 0> @INIT.1.10;
markClass nine.numr <anchor 0 0> @INIT.2.10;
markClass nine.numr <anchor 0 0> @INIT.3.10;
markClass nine.numr <anchor 0 0> @INIT.4.10;
markClass nine.numr <anchor 0 0> @INIT.5.10;
markClass nine.numr <anchor 0 0> @INIT.6.10;
markClass nine.numr <anchor 0 0> @INIT.7.10;
markClass nine.numr <anchor 0 0> @INIT.8.10;
markClass nine.numr <anchor 0 0> @INIT.9.10;
markClass nine.numr <anchor 0 0> @NUMRNUMR;
markClass one.numr <anchor 0 0> @INIT.1.10;
markClass one.numr <anchor 0 0> @INIT.2.10;
markClass one.numr <anchor 0 0> @INIT.3.10;
markClass one.numr <anchor 0 0> @INIT.4.10;
markClass one.numr <anchor 0 0> @INIT.5.10;
markClass one.numr <anchor 0 0> @INIT.6.10;
markClass one.numr <anchor 0 0> @INIT.7.10;
markClass one.numr <anchor 0 0> @INIT.8.10;
markClass one.numr <anchor 0 0> @INIT.9.10;
markClass one.numr <anchor 0 0> @NUMRNUMR;
markClass seven.numr <anchor 0 0> @INIT.1.10;
markClass seven.numr <anchor 0 0> @INIT.2.10;
markClass seven.numr <anchor 0 0> @INIT.3.10;
markClass seven.numr <anchor 0 0> @INIT.4.10;
markClass seven.numr <anchor 0 0> @INIT.5.10;
markClass seven.numr <anchor 0 0> @INIT.6.10;
markClass seven.numr <anchor 0 0> @INIT.7.10;
markClass seven.numr <anchor 0 0> @INIT.8.10;
markClass seven.numr <anchor 0 0> @INIT.9.10;
markClass seven.numr <anchor 0 0> @NUMRNUMR;
markClass six.numr <anchor 0 0> @INIT.1.10;
markClass six.numr <anchor 0 0> @INIT.2.10;
markClass six.numr <anchor 0 0> @INIT.3.10;
markClass six.numr <anchor 0 0> @INIT.4.10;
markClass six.numr <anchor 0 0> @INIT.5.10;
markClass six.numr <anchor 0 0> @INIT.6.10;
markClass six.numr <anchor 0 0> @INIT.7.10;
markClass six.numr <anchor 0 0> @INIT.8.10;
markClass six.numr <anchor 0 0> @INIT.9.10;
markClass six.numr <anchor 0 0> @NUMRNUMR;
markClass three.numr <anchor 0 0> @INIT.1.10;
markClass three.numr <anchor 0 0> @INIT.2.10;
markClass three.numr <anchor 0 0> @INIT.3.10;
markClass three.numr <anchor 0 0> @INIT.4.10;
markClass three.numr <anchor 0 0> @INIT.5.10;
markClass three.numr <anchor 0 0> @INIT.6.10;
markClass three.numr <anchor 0 0> @INIT.7.10;
markClass three.numr <anchor 0 0> @INIT.8.10;
markClass three.numr <anchor 0 0> @INIT.9.10;
markClass three.numr <anchor 0 0> @NUMRNUMR;
markClass two.numr <anchor 0 0> @INIT.1.10;
markClass two.numr <anchor 0 0> @INIT.2.10;
markClass two.numr <anchor 0 0> @INIT.3.10;
markClass two.numr <anchor 0 0> @INIT.4.10;
markClass two.numr <anchor 0 0> @INIT.5.10;
markClass two.numr <anchor 0 0> @INIT.6.10;
markClass two.numr <anchor 0 0> @INIT.7.10;
markClass two.numr <anchor 0 0> @INIT.8.10;
markClass two.numr <anchor 0 0> @INIT.9.10;
markClass two.numr <anchor 0 0> @NUMRNUMR;
markClass zero.numr <anchor 0 0> @INIT.1.10;
markClass zero.numr <anchor 0 0> @INIT.2.10;
markClass zero.numr <anchor 0 0> @INIT.3.10;
markClass zero.numr <anchor 0 0> @INIT.4.10;
markClass zero.numr <anchor 0 0> @INIT.5.10;
markClass zero.numr <anchor 0 0> @INIT.6.10;
markClass zero.numr <anchor 0 0> @INIT.7.10;
markClass zero.numr <anchor 0 0> @INIT.8.10;
markClass zero.numr <anchor 0 0> @INIT.9.10;
markClass zero.numr <anchor 0 0> @NUMRNUMR;
# Lookups
lookup frac.numr {
sub @numerals by @numr;
} frac.numr;
lookup frac.dnom {
sub [@slash @dnom] @numr' by @dnom;
} frac.dnom;
lookup frac.noslash {
sub @numr slash by @numr;
sub @numr fraction by @numr;
} frac.noslash;
lookup frac.fracinit {
ignore sub @numr @numr';
sub @numr' by fracinit @numr;
} frac.fracinit;
lookup kern.numeral_to_fraction {
enum pos @numerals fracinit 140;
pos @dnom @numerals 140;
} kern.numeral_to_fraction;
lookup fracmark.init_1.10_target {
pos base fracinit
<anchor 3150 0> mark @INIT.1.10;
} fracmark.init_1.10_target;
lookup fracmark.init_2.10_target {
pos base fracinit
<anchor 2800 0> mark @INIT.2.10;
} fracmark.init_2.10_target;
lookup fracmark.init_3.10_target {
pos base fracinit
<anchor 2450 0> mark @INIT.3.10;
} fracmark.init_3.10_target;
lookup fracmark.init_4.10_target {
pos base fracinit
<anchor 2100 0> mark @INIT.4.10;
} fracmark.init_4.10_target;
lookup fracmark.init_5.10_target {
pos base fracinit
<anchor 1750 0> mark @INIT.5.10;
} fracmark.init_5.10_target;
lookup fracmark.init_6.10_target {
pos base fracinit
<anchor 1400 0> mark @INIT.6.10;
} fracmark.init_6.10_target;
lookup fracmark.init_7.10_target {
pos base fracinit
<anchor 1050 0> mark @INIT.7.10;
} fracmark.init_7.10_target;
lookup fracmark.init_8.10_target {
pos base fracinit
<anchor 700 0> mark @INIT.8.10;
} fracmark.init_8.10_target;
lookup fracmark.init_9.10_target {
pos base fracinit
<anchor 350 0> mark @INIT.9.10;
} fracmark.init_9.10_target;
lookup fracmark.init {
# fracmark.init\1.10
pos [@numr]' lookup fracmark.init_1.10_target @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\2.10
pos [@numr]' lookup fracmark.init_2.10_target @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_2.10_target @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\3.10
pos [@numr]' lookup fracmark.init_3.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_3.10_target @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_3.10_target @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\4.10
pos [@numr]' lookup fracmark.init_4.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_4.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_4.10_target @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_4.10_target @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\5.10
pos [@numr]' lookup fracmark.init_5.10_target @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_5.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_5.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_5.10_target @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_5.10_target @dnom @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\6.10
pos [@numr]' lookup fracmark.init_6.10_target @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_6.10_target @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_6.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_6.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_6.10_target @numr @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_6.10_target @dnom @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\7.10
pos [@numr]' lookup fracmark.init_7.10_target @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @numr @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_7.10_target @dnom @dnom @dnom @dnom;
subtable;
# fracmark.init\8.10
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @numr @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @numr @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_8.10_target @dnom @dnom @dnom;
subtable;
# fracmark.init\9.10
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @numr @dnom @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @numr @dnom @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @numr @dnom @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @numr @dnom @dnom @dnom;
pos [@numr]' lookup fracmark.init_9.10_target @dnom @dnom;
} fracmark.init;
lookup fracmkmk.numrspacing {
pos mark zero.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark one.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark two.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark three.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark four.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark five.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark six.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark seven.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark eight.numr
<anchor 700 0> mark @NUMRNUMR;
pos mark nine.numr
<anchor 700 0> mark @NUMRNUMR;
} fracmkmk.numrspacing;
# Features
feature afrc {
script DFLT;
language dflt;
lookup frac.numr;
lookup frac.dnom;
lookup frac.noslash;
lookup frac.fracinit;
script latn;
language dflt;
lookup frac.numr;
lookup frac.dnom;
lookup frac.noslash;
lookup frac.fracinit;
} afrc;
feature frac {
script DFLT;
language dflt;
lookup frac.numr;
lookup frac.dnom;
lookup frac.noslash;
lookup frac.fracinit;
script latn;
language dflt;
lookup frac.numr;
lookup frac.dnom;
lookup frac.noslash;
lookup frac.fracinit;
} frac;
feature kern {
script DFLT;
language dflt;
lookup kern.numeral_to_fraction;
script latn;
language dflt;
lookup kern.numeral_to_fraction;
} kern;
feature mark {
script DFLT;
language dflt;
lookup fracmark.init;
script latn;
language dflt;
lookup fracmark.init;
} mark;
feature mkmk {
script DFLT;
language dflt;
lookup fracmkmk.numrspacing;
script latn;
language dflt;
lookup fracmkmk.numrspacing;
} mkmk;
@GDEF_base = [glyph0 \NULL CR space zero one two three four five six seven eight nine slash fraction fracinit zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
@GDEF_mark = [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
table GDEF {
GlyphClassDef @GDEF_base, , @GDEF_mark, ;
} GDEF;