Ignore ligatures

hi,
i am trying to ignore some ligatures in my arabic font! i used “ignore” Command in any combinations that i was guessing!
i read the features part4 tutorial where mentioned ignore command a couple o times.
and also checked all over the forum, specially this post: Arabic ligature
is exactly my problem!
i am trying to prevent a ligature in a particular situation, and combination.
i have a “yeh_noon.fina” ligature, but i want to prevent it when “beh-ar.init” combines with “yeh_noon.fina” so, i wrote it like ignore sub beh-ar.init yeh_noon.fina';
is it correct?
and where i exactly should put this code? i tried after the ligature, in a different feature, above everything, but it doesn’t work!

I think you just need to find the substitution for that pair and remove it. The ignore rule is only needed to prevent contextual substitutions. In that case the code would need to go at the top of that feature.

there is no pair for the substitution that I’m looking for to remove it, the ligature itself is yeh-ar.medi+noon-ar.fina (yeh_noon.fina). what i want is to pervernt this ligature when beh-ar.init combines with it.

What you want is:

ignore sub beh-ar.init yeh.medi' noon.fina';
sub yeh.medi' noon.fina' by yeh_noon.fina;

In the ignore statement, you need to put the sequence that is not supposed to turn into the ligature, and mark it with tickmarks ('), plus the context (beh-ar.init in our case) without tickmarks. It does not make sense to put the ligature there, because once you have the ligature, it is too late, and you wanted to prevent it.

In the sub statements that follow, do not forget to mark the sequences that are supposed to match the marked sequence in the ignore statement (note the tickmarks after yeh.medi' noon.fina'). Otherwise the ignore statement does not apply to the line.

oh thank you very much!
where should i put this line of code? between my other ligatures right above the “sub” ?

The ignore line must come before the sub line for which it is meant. The ignore statement is valid for all lines that follow in the rest of the lookup or feature. You can put it at the beginning of the all sub lines, or end of sub lines.

What is important is that you:

  1. take the original sub yeh.medi noon.fina by yeh_noon.fina; out, the one without the tickmarks
  2. test, test, test. :slight_smile: Cannot spare you from that, sorry.

i tried what you said yesterday, that worked perfectly fine! but today when i type the combination, its not working again! i dont know whats going on!

oh sorry! problem fixed! i realized that there was a copy of “sub” command executed before that i put “ignore” command.

1 Like

A post was split to a new topic: Encode Keyboard shortcuts in font; case sensitive punctuation