I have the following feature code:
lookupflag UseMarkFilteringSet [hamzaabove-ar];
ignore sub alef-ar' hamzaabove-ar lam-ar.init hah-ar.medi;
sub alef-ar' lam-ar.init' hah-ar.medi' by alef_lam_hah-ar.init.liga;
lookupflag IgnoreMarks;
sub [kaf-ar.init]' [alef-ar.fina kaf-ar.fina lam-ar.medi lam-ar.fina lam_alef-ar.fina] by [kaf-ar.init.001];
The second lookup should have only IgnoreMarks flag set, but in the exported fonts it has both IgnoreMarks
and UseMarkFilteringSet
from the previous lookup:
<Lookup index="13">
<LookupType value="6"/>
<LookupFlag value="24"/><!-- ignoreMarks useMarkFilteringSet -->
<!-- SubTableCount=1 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=1 -->
<InputCoverage index="0">
<Glyph value="kaf-ar.init"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0">
<Glyph value="alef-ar.fina"/>
<Glyph value="kaf-ar.fina"/>
<Glyph value="lam-ar.fina"/>
<Glyph value="lam-ar.medi"/>
<Glyph value="lam_alef-ar.fina"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="16"/>
</SubstLookupRecord>
</ChainContextSubst>
<MarkFilteringSet value="0"/>
</Lookup>