lookup ccmpManual1 { sub [i cyrUkrainiani j cyrje iogonekBelow]' @MG_above by [dotlessi dotlessi dotlessj dotlessj iogonek.dotless]; sub eta iotaBelow' by iotaLF; sub eta @MG_above iotaBelow' by iotaLF; sub eta @MG_above @MG_above iotaBelow' by iotaLF; sub eta @MG_above @MG_above @MG_above iotaBelow' by iotaLF; sub [a A u cyra cyrA] ogonekBelow' by ogonekTR; sub [a A u cyra cyrA] @MG_above ogonekBelow' by ogonekTR; sub [a A u cyra cyrA] @MG_above @MG_above ogonekBelow' by ogonekTR; sub [a A u cyra cyrA] @MG_above @MG_above @MG_above ogonekBelow' by ogonekTR; } ccmpManual1; lookup ccmpManual2 { sub commaAbove graveAbove by psilivaria; sub commaAbove acuteAbove by psilioxia; sub commaAbove perispomeniAbove by psiliperispomeni; sub revCommaAbove graveAbove by dasiavaria; sub revCommaAbove acuteAbove by dasiaoxia; sub revCommaAbove perispomeniAbove by dasiaperispomeni; } ccmpManual2; feature ccmp { script latn; language dflt; lookup ccmpManual1; script grek; language dflt; lookup ccmpManual1; lookup ccmpManual2; script cyrl; language dflt; lookup ccmpManual1; script dflt; language dflt; lookup ccmpManual1; } ccmp; feature mark { script latn; language dflt; lookup markAuto_letter1; lookup markAuto_letter2; lookup markAuto_overlay; script grek; language dflt; lookup markAuto_letter1; lookup markAuto_letter2; lookup markAuto_overlay; script cyrl; language dflt; lookup markAuto_letter1; lookup markAuto_letter2; lookup markAuto_overlay; script dflt; language dflt; lookup markAuto_letter1; lookup markAuto_letter2; lookup markAuto_overlay; } mark; feature mkmk { script latn; language dflt; lookup mkmkAuto; script grek; language dflt; lookup mkmkAuto; script cyrl; language dflt; lookup mkmkAuto; script dflt; language dflt; lookup mkmkAuto; } mkmk;