I will explain this thoroughly, bear with me even if you know the facts already. As you might know there is a way to ignore marks when it comes to substitute a glyph with another one in case any mark gets in between the sequence of glyphs you're intending to match. Take the following glyph sequence for example:
lam.init kasra alef.fina
Let's say in the above sequence the kasra is a mark and the rest are base glyphs. I can use the IgnoreMarks flag in the OpenType feature syntax in a case I want to match the following substitution on the above glyph sequence:
sub lam.init alef.fina by lam_alef;
So even there is a mark (kasra) between lam.init and alef.fina in the top glyph sequence, the substitution will occur. Let's say I have a glyph like tatweel (kashida) that I want to ignore in all glyph sequences, even when it comes to contextual situations. If I define that glyph as a mark in GDEF, then shaping engine will treat it as a mark and some unexpected results will occur. The question is: have you came across a glyph which is inserted in the glyph sequence like a connection, and it didn't have any function other than fill in shape and you wanted to ignore all the time when it comes to contextual substitutions? This set of glyphs that I want to ignore could be considered as dummy glyphs that will be inserted in between all the letters as a connection and I want to ignore them when it comes to contextual substitution. Solutions in methods other than OpenType feature syntax are also welcome.
Thanks in advance