Arabic shaping when using custom glyph names


In an Arabic script project which was started with a different design program, we have glyph names that are neither the Glyphs-preferred names (e.g. beh-ar) nor AGL names (uni0628). We have working feature code defining, for example, init, medi, and fina features.

A lot of things are working but two things that don’t are:

  • Testing basic shaping: open a new tab, select the arab language system and an arabic keyboard, then type. It seems to treat every character as if it was dual-joining. For example dal and alef cause the following character to display as final or medial.
  • Diacritic clouds don’t work (according to the designer – sorry I don’t have more specifics).

Should these features work with custom glyph names?



Depends on your glyph structure, and the naming.

Depends on the naming of glyphs and your glyph data. The accents need to be defined there, the names need to match (between glyph data and the glyphs in the font), and the anchors need to be named accordingly.


Thanks for the quick reply

Does this require glyph names that are as defined in GlyphData.xml, or can we use our own glyph names?

(The UFO I sent to Georg regarding UFOs with included GDEF and GPOS is an example of these two issues)



That is not a contradiction. You can make your own XML. See the Glyph Data tutorial.


I think you are confirming that our use of custom glyph names requires that we build a custom glyph data xml file if we want to be able to test the basic shaping from within Glyphs.

Do I interpret your reply correctly?


You need a proper XML for the mark cloud to work. For the positional feature, the suffixes count the most.

If you like you can send me the .glyphs file to support (at) (this website without www). I will have a look and see what’s wrong in your case.


Ok, that means we should consider building such an XML file. Before we do that:

Our existing convention doesn’t use suffixes for the contextual forms. For example, we have absBeh, absBehIni, absBehMed, and absBehFin. If we are able to write an appropriate glyphdata XML file, should we expect the positional feature to work with such names?


I think you need suffixes. That is the way Glyphs semantically connects glyphs with each other.