Why do contextual substitutions apply to some Arabic letters but not others? Any tutorial example?

Title:

Why do contextual substitutions apply to some Arabic letters but not others? Any tutorial example?

والآن نص السؤال المقترح بناءً على هذا العنوان:


Message Body:

Hello,

I’m creating an Arabic font in FontCreator and trying to implement contextual substitutions using OpenType features. However, I’m noticing that substitutions work correctly for some letters (like seen, meem, etc.) but not for others (like alef or hah), even though I’ve set up similar rules for all of them.

I wonder if I’m missing something in the script settings or in the way the lookups are defined.

Could someone please share a clear example or tutorial of how to properly implement contextual substitutions (like initial and medial forms) for Arabic letters? Especially how to ensure consistent behavior across all characters.

Thanks in advance!

Could you attach a small test project (.fcp) together with the text that triggers the problem? Seeing an actual file makes it much easier to spot what’s going on.

Meanwhile, be sure you’re on the current build of FontCreator — v 15.0.0.3017 (March 25, 2025). That release fixes several shaping-engine issues affecting non-joining characters and the order in which features and lookups are processed, both of which can cause the kind of inconsistencies you’re seeing.

1 Like