How to implement ligatures when followed by Marks

Hello,
I’m trying to implement a wide variation of lam_meem-ar.init ligature when it is followed by above marks. I wrote this inside a lookup:
lookupflag RightToLeft ;
sub lam-ar.init’ meem-ar.medi’ @mark_above by lam_meem-ar.init.wide;
this works like so:
22%20AM

When I type any marks on lam it breaks:
04%20AM

If I apply IgnoreMarks lookup flag nothing works.

Please suggest a solution.

Thanks and regards.

This is tricky. You need to split it in two substitutions. Something like:

lookup lig1 {
    sub meem-ar.medi' @mark_above by meem-ar.medi.wide;
} lig1;
lookup lig2 {
    lookupflag IgnoreMarks;
    sub lam-ar.init' meem-ar.medi.wide' by lam_meem-ar.init.wide;
} lig2;

(I typed that in Safari so this is just an idea of how it could work)

Thanks @GeorgSeifert for the reply.

This code works like a charm:

lookup lam_calt_1{

lookupflag RightToLeft

sub lam-ar.init’ @all_eraab meem-ar.medi @all_eraab by lam-ar.init.beforemeemmedi;

sub lam-ar.init.beforemeemmedi @all_eraab meem-ar.medi’ @all_eraab by meem-ar.medi.wide;

} lam_calt_1;

lookup lam_calt_2{

lookupflag IgnoreMarks RightToLeft ;

sub lam-ar.init’ meem-ar.medi by lam-ar.init.beforemeemmedi;

sub lam-ar.init.beforemeemmedi meem-ar.medi’ by meem-ar.medi.normal;

} lam_calt_2;

My sincere thanks and regards.