#> classes
#/> otclasses
@locl1 = [uni0414 uni041B uni0432 uni0433 uni0434 uni0436 uni0437 uni0438 uni0439 uni043A uni043B uni043F uni0442 uni0446 uni0448 uni0449 uni044A uni044B uni044C uni044E uni045D];
@locl2 = [uni0414.loclBGR uni041B.loclBGR uni0432.loclBGR uni0433.loclBGR uni0434.loclBGR uni0436.loclBGR uni0437.loclBGR uni0438.loclBGR uni0439.loclBGR uni043A.loclBGR uni043B.loclBGR uni043F.loclBGR uni0442.loclBGR uni0446.loclBGR uni0448.loclBGR uni0449.loclBGR uni044A.loclBGR uni044B.loclBGR uni044C.loclBGR uni044E.loclBGR uni045D.loclBGR];
#/< otclasses
#< classes

#/> classes
#/> otclasses
@locl1 = [uni0414 uni041B uni0432 uni0433 uni0434 uni0436 uni0437 uni0438 uni0439 uni043A uni043B uni043F uni0442 uni0446 uni0448 uni0449 uni044A uni044B uni044C uni044E uni045D];
@locl2 = [uni0414.loclBGR uni041B.loclBGR uni0432.loclBGR uni0433.loclBGR uni0434.loclBGR uni0436.loclBGR uni0437.loclBGR uni0438.loclBGR uni0439.loclBGR uni043A.loclBGR uni043B.loclBGR uni043F.loclBGR uni0442.loclBGR uni0446.loclBGR uni0448.loclBGR uni0449.loclBGR uni044A.loclBGR uni044B.loclBGR uni044C.loclBGR uni044E.loclBGR uni045D.loclBGR];
#/< otclasses
#/< classes

languagesystem DFLT dflt;
languagesystem cyrl dflt;
languagesystem cyrl SRB ;
languagesystem cyrl BGR ;
languagesystem cyrl UKR ;
languagesystem cyrl RUS ;
languagesystem latn dflt;
languagesystem latn NLD ;
languagesystem latn AZE ;
languagesystem latn LTH ;
languagesystem latn TRK ;
languagesystem latn MOL ;
languagesystem latn ROM ;
languagesystem latn CAT ;


feature aalt {
# Access All Alternates

#> feature
  feature locl;
  feature sinf;
  feature sups;
  feature subs;
  feature numr;
  feature dnom;
  feature smcp;
  feature c2sc;
  feature salt;
  feature hist;
#< feature
} aalt;
feature locl {
 script cyrl;
 language BGR  exclude_dflt;
    sub @locl1 by @locl2;
 script latn;
} locl;

feature sinf {
# Scientific Inferiors

#> feature
  sub eight by eight.inferior;
  sub five by five.inferior;
  sub four by four.inferior;
  sub nine by nine.inferior;
  sub one by one.inferior;
  sub seven by seven.inferior;
  sub six by six.inferior;
  sub three by three.inferior;
  sub two by two.inferior;
  sub zero by zero.inferior;
#< feature
} sinf;
feature sups {
# Superscript

#> feature
  sub eight by eight.superior;
  sub five by five.superior;
  sub four by four.superior;
  sub nine by nine.superior;
  sub one by one.superior;
  sub seven by seven.superior;
  sub six by six.superior;
  sub three by three.superior;
  sub two by two.superior;
  sub zero by zero.superior;
#< feature
} sups;
feature subs {
# Subscript

#> feature
  sub eight by eight.subscript;
  sub five by five.subscript;
  sub four by four.subscript;
  sub nine by nine.subscript;
  sub one by one.subscript;
  sub seven by seven.subscript;
  sub six by six.subscript;
  sub three by three.subscript;
  sub two by two.subscript;
  sub zero by zero.subscript;
#< feature
} subs;
feature numr {
# Numerator

#> feature
  sub eight by eight.numr;
  sub five by five.numr;
  sub four by four.numr;
  sub nine by nine.numr;
  sub one by one.numr;
  sub seven by seven.numr;
  sub six by six.numr;
  sub three by three.numr;
  sub two by two.numr;
  sub zero by zero.numr;
#< feature
} numr;
feature dnom {
# Denominator

#> feature
  sub eight by eight.dnom;
  sub five by five.dnom;
  sub four by four.dnom;
  sub nine by nine.dnom;
  sub one by one.dnom;
  sub seven by seven.dnom;
  sub six by six.dnom;
  sub three by three.dnom;
  sub two by two.dnom;
  sub zero by zero.dnom;
#< feature
} dnom;
feature frac {
# Fractions

#> feature

# Arbitrary fractions (based on opentypecookbook.com)

@frac_figs = [eight five four nine one seven six three two zero];
@frac_numr = [eight.numr five.numr four.numr nine.numr one.numr seven.numr six.numr three.numr two.numr zero.numr];
@frac_dnom = [eight.dnom five.dnom four.dnom nine.dnom one.dnom seven.dnom six.dnom three.dnom two.dnom zero.dnom];

lookup frac_bar {
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs @frac_figs slash';
  ignore sub slash' @frac_figs @frac_figs slash;
  ignore sub slash @frac_figs slash';
  ignore sub slash' @frac_figs slash;
  ignore sub slash slash';
  ignore sub slash' slash;
  sub @frac_figs slash' @frac_figs by fraction;
} frac_bar;

lookup frac_numr1 {
  sub @frac_figs' fraction by @frac_numr;
} frac_numr1;

lookup frac_numr2 {
  sub @frac_figs' @frac_numr fraction by @frac_numr;
} frac_numr2;

lookup frac_numr3 {
  sub @frac_figs' @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr3;

lookup frac_numr4 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr4;

lookup frac_numr5 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr5;

lookup frac_numr6 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr6;

lookup frac_numr7 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr7;

lookup frac_numr8 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr8;

lookup frac_numr9 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr9;

lookup frac_numr10 {
  sub @frac_figs' @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr @frac_numr fraction by @frac_numr;
} frac_numr10;

lookup frac_dnom {
  sub [fraction @frac_dnom] @frac_figs' by @frac_dnom;
} frac_dnom;

#< feature
} frac;
feature ordn {
# Ordinals

#> feature
  sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine;
  sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine;
  sub N o period by uni2116;
#< feature
} ordn;
feature smcp {
# Small Caps

#> feature
  sub a by a.sc;
  sub b by b.sc;
  sub c by c.sc;
  sub d by d.sc;
  sub e by e.sc;
  sub f by f.sc;
  sub g by g.sc;
  sub h by h.sc;
  sub i by i.sc;
  sub j by j.sc;
  sub k by k.sc;
  sub l by l.sc;
  sub m by m.sc;
  sub n by n.sc;
  sub o by o.sc;
  sub p by p.sc;
  sub q by q.sc;
  sub r by r.sc;
  sub s by s.sc;
  sub t by t.sc;
  sub u by u.sc;
  sub uni0430 by uni0430.sc;
  sub uni0431 by uni0431.sc;
  sub uni0432 by uni0432.sc;
  sub uni0433 by uni0433.sc;
  sub uni0434 by uni0434.sc;
  sub uni0435 by uni0435.sc;
  sub uni0436 by uni0436.sc;
  sub uni0437 by uni0437.sc;
  sub uni0438 by uni0438.sc;
  sub uni0439 by uni0439.sc;
  sub uni043A by uni043A.sc;
  sub uni043B by uni043B.sc;
  sub uni043C by uni043C.sc;
  sub uni043D by uni043D.sc;
  sub uni043E by uni043E.sc;
  sub uni043F by uni043F.sc;
  sub uni0440 by uni0440.sc;
  sub uni0441 by uni0441.sc;
  sub uni0442 by uni0442.sc;
  sub uni0443 by uni0443.sc;
  sub uni0444 by uni0444.sc;
  sub uni0445 by uni0445.sc;
  sub uni0446 by uni0446.sc;
  sub uni0447 by uni0447.sc;
  sub uni0448 by uni0448.sc;
  sub uni0449 by uni0449.sc;
  sub uni044A by uni044A.sc;
  sub uni044B by uni044B.sc;
  sub uni044C by uni044C.sc;
  sub uni044D by uni044D.sc;
  sub uni044E by uni044E.sc;
  sub uni044F by uni044F.sc;
  sub v by v.sc;
  sub w by w.sc;
  sub x by x.sc;
  sub y by y.sc;
  sub z by z.sc;
#< feature
} smcp;
feature c2sc {
# Capitals to Small Caps

#> feature
  sub A by a.sc;
  sub B by b.sc;
  sub C by c.sc;
  sub D by d.sc;
  sub E by e.sc;
  sub F by f.sc;
  sub G by g.sc;
  sub H by h.sc;
  sub I by i.sc;
  sub J by j.sc;
  sub K by k.sc;
  sub L by l.sc;
  sub M by m.sc;
  sub N by n.sc;
  sub O by o.sc;
  sub P by p.sc;
  sub Q by q.sc;
  sub R by r.sc;
  sub S by s.sc;
  sub T by t.sc;
  sub U by u.sc;
  sub V by v.sc;
  sub W by w.sc;
  sub X by x.sc;
  sub Y by y.sc;
  sub Z by z.sc;
  sub uni0410 by uni0430.sc;
  sub uni0411 by uni0431.sc;
  sub uni0412 by uni0432.sc;
  sub uni0413 by uni0433.sc;
  sub uni0414 by uni0434.sc;
  sub uni0415 by uni0435.sc;
  sub uni0416 by uni0436.sc;
  sub uni0417 by uni0437.sc;
  sub uni0418 by uni0438.sc;
  sub uni0419 by uni0439.sc;
  sub uni041A by uni043A.sc;
  sub uni041B by uni043B.sc;
  sub uni041C by uni043C.sc;
  sub uni041D by uni043D.sc;
  sub uni041E by uni043E.sc;
  sub uni041F by uni043F.sc;
  sub uni0420 by uni0440.sc;
  sub uni0421 by uni0441.sc;
  sub uni0422 by uni0442.sc;
  sub uni0423 by uni0443.sc;
  sub uni0424 by uni0444.sc;
  sub uni0425 by uni0445.sc;
  sub uni0426 by uni0446.sc;
  sub uni0427 by uni0447.sc;
  sub uni0428 by uni0448.sc;
  sub uni0429 by uni0449.sc;
  sub uni042A by uni044A.sc;
  sub uni042B by uni044B.sc;
  sub uni042C by uni044C.sc;
  sub uni042D by uni044D.sc;
  sub uni042E by uni044E.sc;
  sub uni042F by uni044F.sc;
#< feature
} c2sc;
feature salt {
# Stylistic Alternates

#> feature
  sub uni0445 from [uni0445.alt];
#< feature
} salt;
feature hist {
# Historical Forms

#> feature
  sub s by longs;
#< feature
} hist;
