Arabic Revised GlyphData

Earlier I started an ill-fated topic because I had an outdated data thinking it was the current data and also because I was oblivious to the importance of the glyphs’ names. So I start a new topic with a title more to the point.
To make it simple to test, I created a package containing a test Glyphs file, the revised GlyphData.xml (which should remain with the Glyphs file) and some informative extra lists. I already prepared the test Glyphs file with the necessary lists and glyphs. The basic shapes list and the basic identifier marks are already loaded to the file. There is another list called ‘Arabic All’ which contains the rest of Arabic characters. The test consist of right-clicking on ‘Arabic All’, selecting all, and generating them to verify the outcome. DO NOT REPLACE THE EXISTING GLYPHS otherwise you won’t have any raw material to populate the glyphs.
It looks pretty good to me. I didn’t put any GPOS and anchors to the basic shapes and marks because it is not for making a real font. But the components are built into the generated glyphs properly. There are some glitches and some glyphs remain empty. But if you select those glyphs, copy their names, delete them and re-generate them again off the clipboard (you got to love Glyphs GUI!) they will come back with correct components. So the problem is not in data instructions I suppose. These glitches are consistent and always happen to the same items. So there may be an easy fix to them.
The OT substitution features come out nicely. There is a slight difference of numbers of .medi substitutions with .init substitutions which can be looked at. These numbers should be the same.
The plain for Arabic math letters works fine for base letters but doesn’t work for mark components. I put it there because it was part of my general auto-populating scheme but I knew that Glyphs was not ready for that plain and I didn’t expect much.
All and all I’m very happy with the result. The modified list and the add list are in the package if you want to look at.
Arabic Update Testing Package (136.8 KB)

I’ll have a look at that but not sure when. I’ll fly to TypeCon tomorrow. Thanks for this.

I modified the package slightly. The decomposition scheme for lam-alef formation is now adjusted to follow the adjustments done on its basic sample for alef-ar and lam-ar. The change is reflected in the GlyphData.xml file and also in the add list. I also corrected the dual marks list in the package.
In additon, I added the contextual substitution lookups for allah and lam-alef formations in the Glyphs file. I thought it would be informative.
The lam-alef formation in this ‘all unicode’ sample is a good example of the advantage of contextual substitution as opposed to the individual ligatures. We have seven different types of lam. In their initial and medial forms they total fourteen. And we also have ten different alef.
To make ligature of lam-alef formation for all of them, we need 140 glyphs! contextual substitution reduces this number to 34 and instead of 140 lines of ligature lookups in OT features we will have something like the one I added to the sample Glyphs file.
Arabic Update Testing Package (136.8 KB)