Problem order in shadda, fatha Arabic

The font I am working on is on the left. On the right another font made in glyphs working properly.

When I type fatha first and shadda after works fine. But when I do the opposite fatha and after shadda they appear in the order I type then. It should be remplaced as we see on the example on the right. It should not matter the order I type the diacritics, result should be the same.

Reordering is usually not the font’s job, but the layout engine’s responsibility. In which app does this occur?

Most layout engines I’m aware of do not force mark order to be anything in particular or, if they do, they tend to choose Unicode normal forms such as NFD or NFC, neither of which is suitable for Arabic.

This means the font needs to handle either order of shadda and fatha. And also either order of shadda and damma. In fact any order of all combinations of marks that you want to support.

If the number of mark combinations you need to support is relatively small, then one easy solution is to use marks ligatures. For example, you include a glyph that is shadda+fatha, and then write rules that ligate sequences of either shadda,fatha or fatha,shadda to that same glyph.


PS: The Unicode consortium is seeking public input on a a proposal that is intended to provide a recommended reordering of Arabic mark glyphs that would give consistent rendering.

It is in inDesign!

What surprises me is that both fonts are constructed the same way and one does it well.

Thank you!

If you’ve not sort it out; I suggest you re-check the Anchors in noon-ar.medi;
The diacritic behavior you described refers probably to the sort of dot you used and Anchors definitions (make sure it is not dotcenter-ar).

Arabic Marks in Glyphs includes Double names, such as:

  • shadda_fatha-ar
  • shaddaFatha-ar
    The difference is that the above got FC60 Unicode value.

There should also be a verification of the Arabic M2M as it has been defined by components:
I understand the logic and the need of positioning, but it is still confusing though;
for example the FC62 Shadda_kasra-ar consist of: fatha-ar + shadda-ar