lookup cyrillic_DLLj {
    sub [ uni0409 uni0414 uni041B uni0434 uni043B uni0459 ] by [ uni0409.alt uni0414.alt uni041B.alt uni0434.alt uni043B.alt uni0459.alt ];
} cyrillic_DLLj;

feature ss01{
    lookup cyrillic_DLLj;
} ss01;

lookup historic_u {
    ignore sub [ @Letters quoteright quoteright.01 ] u';
    sub u' by u.LAT;
    sub [ @Letters quoteright quoteright.01 ] v' by v.LATmedi;
    sub U' by U.LAT;
    sub [ U.sc u.sc ]' by [ U.LATsc u.LATsc ];
} historic_u;

feature ss02 {
    lookup historic_u;
} ss02;

lookup longs_replacement {
     sub s' [ @letters hyphen uni200D ] by longs;
} longs_replacement;

feature cv01 {
 lookup longs_replacement;
} cv01;

lookup at_alternates {
    sub at by at.01;
} at_alternates;

feature cv02 {
    lookup at_alternates;
} cv02;

lookup historic_j {
    sub [ J j ] by [ J.hist j.hist ];
} historic_j;

feature cv03 {
    lookup historic_j;
} cv03;

lookup historic_apostrophe {
    sub quoteright' [ @NO_ASC1 @NO_ASC2 ] by quoteright.01;
} historic_apostrophe;

feature ss05 {
    lookup historic_apostrophe;
} ss05;

lookup alternate_h {
    sub [ h k hcircumflex uni01E9 uni021F uni1E23 uni1E27 uni1E31 ] by [ h.01 k.01 hcircumflex.01 uni01E9.01 uni021F.01 uni1E23.01 uni1E27.01 uni1E31.01 ];
} alternate_h;

feature ss07 {
#    lookup CCMP_Precomp;
    lookup alternate_h;
} ss07;

lookup guillemet_var {
    sub [ guilsinglleft guilsinglright guillemotleft guillemotright ] by [ guilsinglleft.alt guilsinglright.alt guillemotleft.alt guillemotright.alt ];
} guillemet_var;

feature cv06 {
    lookup guillemet_var;
} cv06;

lookup one_variants {
    sub one by one.01;
    sub one.taboldstyle by one.taboldstyle01;
} one_variants;

feature cv11 {
    lookup one_variants;
} cv11;

lookup alternate_a {
    sub a from [ a.01 ];
} alternate_a;

feature cv21 {
    lookup CCMP_Precomp;
    lookup alternate_a;
} cv21;

lookup alternate_g {
    sub g from [ g.01 ];
} alternate_g;

feature cv27 {
    lookup CCMP_Precomp;
    lookup alternate_g;
} cv27;

lookup germandbls_variants {
    sub germandbls from [ germandbls.alt1 germandbls.alt2 ];
} germandbls_variants;

feature cv47 {
    lookup germandbls_variants;
} cv47;

#lookup AE_alt {
#    sub AE by AE.alt;
#} AE_alt;

#feature cv48 {
#    lookup AE_alt;
#} cv48;

lookup cv82_decomp {
    sub dcaron by d uni030C.alt;
    sub lcaron by l uni030C.alt;
    sub tcaron by t uni030C.alt;
    sub Lcaron by L uni030C.altcap;
} cv82_decomp;

lookup cv82 {
    sub uni030C.alt by uni030C.alt1;
    sub uni030C.altcap by uni030C.altcap1;
} cv82;

feature cv82 {
    lookup cv82_decomp;
    lookup cv82;
} cv82;

lookup chi_alts {
	 sub  chi from [ chi.a1 chi.a2 chi.a3 chi.a4 chi.a5 chi.a6 chi.a7 chi.a8 ] ;
} chi_alts;

feature cv83 {
	 lookup chi_alts;
 } cv83;

lookup salt {
    sub [ uni019F uni0275 ] by [ uni019F.alt uni0275.alt ];
} salt;

feature salt {
    lookup salt;
} salt;
