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_ASC by quoteright.01; } historic_apostrophe; feature ss05 { lookup historic_apostrophe; } ss05; 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 germandbls_variants { sub germandbls from [ germandbls.alt1 germandbls.alt2 ]; } germandbls_variants; feature cv21 { lookup germandbls_variants; } cv21; lookup AE_alt { sub AE by AE.alt; } AE_alt; feature cv22 { lookup AE_alt; } cv22;