I get the following code for rlig
ligature:
lookup rlig_arabic_0 {
lookupflag IgnoreMarks;
sub lam-ar.init alef-ar.fina by lam_alef-ar;
sub lam-ar.medi alef-ar.fina by lam_alef-ar.fina;
sub lam_alef-ar hamzaabove-ar by lam_alefHamzaabove-ar;
sub lam_alef-ar.fina hamzaabove-ar by lam_alefHamzaabove-ar.fina;
sub lam_alef-ar hamzabelow-ar by lam_alefHamzabelow-ar;
sub lam_alef-ar.fina hamzabelow-ar by lam_alefHamzabelow-ar.fina;
sub lam_alef-ar madda-ar by lam_alefMadda-ar;
sub lam_alef-ar.fina madda-ar by lam_alefMadda-ar.fina;
sub lam_alef-ar wasla-ar by lam_alefWasla-ar;
sub lam_alef-ar.fina wasla-ar by lam_alefWasla-ar.fina;
} rlig_arabic_0;
script arab;
lookup rlig_arabic_0;
But only the first two entries are correct, the rest ligate lam_alef-ar
with a mark instead of ligating lam-ar
with alef_*-ar
glyphs. The third line for example should have been:
sub lam-ar.init alefHamzaabove-ar.fina by lam_alefHamzaabove-ar;
This happens in any font, even new from scratch font with just placeholder glyphs.