The generation of Arabic typefaces

dotlessbeh-ar+dotbelow-ar=beh-ar
dotlessbeh-ar.fina+dotbelow-ar=beh-ar.fina
dotlessbeh-ar.medi+dotbelow-ar=beh-ar.medi
dotlessbeh-ar.init+dotbelow-ar=beh-ar.init

dotlessbeh-ar+twodotshorizontalabove-ar=teh-ar
dotlessbeh-ar.fina+twodotshorizontalabove-ar=teh-ar.fina
dotlessbeh-ar.medi+twodotshorizontalabove-ar=teh-ar.medi
dotlessbeh-ar.init+twodotshorizontalabove-ar=teh-ar.init

dotlessbeh-ar+threedotsupabove-ar=theh-ar
dotlessbeh-ar.fina+threedotsupabove-ar=theh-ar.fina
dotlessbeh-ar.medi+threedotsupabove-ar=theh-ar.medi
dotlessbeh-ar.init+threedotsupabove-ar=theh-ar.init

dotlessbeh-ar+tahabove-ar=tteh-ar
dotlessbeh-ar.fina+tahabove-ar=tteh-ar.fina
dotlessbeh-ar.medi+tahabove-ar=tteh-ar.medi
dotlessbeh-ar.init+tahabove-ar=tteh-ar.init

dotlessbeh-ar+twodotsverticalabove-ar=tteheh-ar
dotlessbeh-ar.fina+twodotsverticalabove-ar=tteheh-ar.fina
dotlessbeh-ar.medi+twodotsverticalabove-ar=tteheh-ar.medi
dotlessbeh-ar.init+twodotsverticalabove-ar=tteheh-ar.init

dotlessbeh-ar+twodotsverticalbelow-ar=beeh-ar
dotlessbeh-ar.fina+twodotsverticalbelow-ar=beeh-ar.fina
dotlessbeh-ar.medi+twodotsverticalbelow-ar=beeh-ar.medi
dotlessbeh-ar.init+twodotsverticalbelow-ar=beeh-ar.init

teh-ar=tehRing-ar
teh-ar.fina=tehRing-ar.fina
teh-ar.medi=tehRing-ar.medi
teh-ar.init=tehRing-ar.init

dotlessbeh-ar+threedotsdownabove-ar=tehThreedotsdown-ar
dotlessbeh-ar.fina+threedotsdownabove-ar=tehThreedotsdown-ar.fina
dotlessbeh-ar.medi+threedotsdownabove-ar=tehThreedotsdown-ar.medi
dotlessbeh-ar.init+threedotsdownabove-ar=tehThreedotsdown-ar.init

dotlessbeh-ar+threedotsdownbelow-ar=peh-ar
dotlessbeh-ar.fina+threedotsdownbelow-ar=peh-ar.fina
dotlessbeh-ar.medi+threedotsdownbelow-ar=peh-ar.medi
dotlessbeh-ar.init+threedotsdownbelow-ar=peh-ar.init

dotlessbeh-ar+fourdotsabove-ar=teheh-ar
dotlessbeh-ar.fina+fourdotsabove-ar=teheh-ar.fina
dotlessbeh-ar.medi+fourdotsabove-ar=teheh-ar.medi
dotlessbeh-ar.init+fourdotsabove-ar=teheh-ar.init

dotlessbeh-ar+fourdotsbelow-ar=beheh-ar
dotlessbeh-ar.fina+fourdotsbelow-ar=beheh-ar.fina
dotlessbeh-ar.medi+fourdotsbelow-ar=beheh-ar.medi
dotlessbeh-ar.init+fourdotsbelow-ar=beheh-ar.init

dotlessbeh-ar+threedotshorizontalbelow-ar=behThreedotshorizontalbelow-ar
dotlessbeh-ar.fina+threedotshorizontalbelow-ar=behThreedotshorizontalbelow-ar.fina
dotlessbeh-ar.medi+threedotshorizontalbelow-ar=behThreedotshorizontalbelow-ar.medi
dotlessbeh-ar.init+threedotshorizontalbelow-ar=behThreedotshorizontalbelow-ar.init

theh-ar+dotbelow-ar=behDotbelowThreedotsupabove-ar
theh-ar.fina+dotbelow-ar=behDotbelowThreedotsupabove-ar.fina
theh-ar.medi+dotbelow-ar=behDotbelowThreedotsupabove-ar.medi
theh-ar.init+dotbelow-ar=behDotbelowThreedotsupabove-ar.init

dotlessbeh-ar+threedotsupbelow-ar=behThreedotsupbelow-ar
dotlessbeh-ar.fina+threedotsupbelow-ar=behThreedotsupbelow-ar.fina
dotlessbeh-ar.medi+threedotsupbelow-ar=behThreedotsupbelow-ar.medi
dotlessbeh-ar.init+threedotsupbelow-ar=behThreedotsupbelow-ar.init

teh-ar+threedotsupbelow-ar=behThreedotsupbelowTwodotshorizontalabove-ar
teh-ar.fina+threedotsupbelow-ar=behThreedotsupbelowTwodotshorizontalabove-ar.fina
teh-ar.medi+threedotsupbelow-ar=behThreedotsupbelowTwodotshorizontalabove-ar.medi
teh-ar.init+threedotsupbelow-ar=behThreedotsupbelowTwodotshorizontalabove-ar.init

dotlessbeh-ar+dotabove-ar+twodotshorizontalbelow-ar=beh-ar
dotlessbeh-ar.fina+dotabove-ar+twodotshorizontalbelow-ar=beh-ar.fina
yeh-ar.medi+dotabove-ar=beh-ar.medi
yeh-ar.init+dotabove-ar=beh-ar.init

dotlessbeh-ar+invertedvvowelbelow-ar=behInvertedvbelow-ar
dotlessbeh-ar.fina+invertedvvowelbelow-ar=behInvertedvbelow-ar.fina
dotlessbeh-ar.medi+invertedvvowelbelow-ar=behInvertedvbelow-ar.medi
dotlessbeh-ar.init+invertedvvowelbelow-ar=behInvertedvbelow-ar.init

dotlessbeh-ar+vvowelabove-ar=behv-ar
dotlessbeh-ar.fina+vvowelabove-ar=behv-ar.fina
dotlessbeh-ar.medi+vvowelabove-ar=behv-ar.medi
dotlessbeh-ar.init+vvowelabove-ar=behv-ar.init

Sir George
Should I continue to put the rest of the models generate Arabic Glyphs or that this problem has no solution?
Attachment of the font used in the models on this link

[Edit: download link removed]

Thank you for your input, and please allow some time while we review it. Especially the recipes (glyphname+glyphname=glyphname) you provide are very helpful. If you have more suggestions, we are happy to hear them. You can use e-mail too, if you like: support at this domain.

(Note: Please do not upload other people’s fonts without their permission. In cases like this, you can simply point us to “font x, bundled with operating system y”.)

#24

reh-ar+dotabove-ar=zain-ar
reh-ar.fina+dotabove-ar=zain-ar.fina

reh-ar+threedotsupabove-ar=zain-ar
reh-ar.fina+threedotsupabove-ar=zain-ar.fina

reh-ar+tahabove-ar=rreh-ar
reh-ar.fina+tahabove-ar=rreh-ar.fina

reh-ar+vvowelabove-ar=rehv-ar
reh-ar.fina+vvowelabove-ar=rehv-ar.fina

reh-ar=rehring-ar
reh-ar.fina=rehring-ar.fina

reh-ar+dotbelow-ar=rehdotbelow-ar
reh-ar.fina+dotbelow-ar=rehdotbelow-ar.fina

zain-ar+dotbelow-ar=rehdotbelowdot-ar
zain-ar.fina+dotbelow-ar=rehdotbelowdot-ar.fina

reh-ar+twodotshorizontalabove-ar=rehtwodots-ar
reh-ar.fina+twodotshorizontalabove-ar=rehtwodots-ar.fina

reh-ar+fourdotsabove-ar=rehfourdots-ar
reh-ar.fina+fourdotsabove-ar=rehfourdots-ar.fina

reh-ar=rehStroke-ar
reh-ar.fina=rehStroke-ar.fina

reh-ar+twodotsverticalabove-ar=rehTwodotsverticallyabove-ar
reh-ar.fina+twodotsverticalabove-ar=rehTwodotsverticallyabove-ar.fina

reh-ar+hamzaabove-ar=rehHamzaabove-ar
reh-ar.fina+hamzaabove-ar=rehHamzaabove-ar.fina

rehtwodots-ar+tahabove-ar=rehTahTwodotshorizontalabove-ar
rehtwodots-ar.fina+tahabove-ar=rehTahTwodotshorizontalabove-ar.fina

#25

seen-ar+threedotsupabove-ar=sheen-ar
seen-ar.fina+threedotsupabove-ar=sheen-ar.fina
seen-ar.medi+threedotsupabove-ar=sheen-ar.medi
seen-ar.init+threedotsupabove-ar=sheen-ar.init

seen-ar+dotabove-ar+dotbelow-ar=seenDotbelowDotabove-ar
seen-ar.fina+dotabove-ar+dotbelow-ar=seenDotbelowDotabove-ar.fina
seen-ar.medi+dotabove-ar+dotbelow-ar=seenDotbelowDotabove-ar.medi
seen-ar.init+dotabove-ar+dotbelow-ar=seenDotbelowDotabove-ar.init

seen-ar+threedotsdownbelow-ar=seenThreedotsbelow-ar
seen-ar.fina+threedotsdownbelow-ar=seenThreedotsbelow-ar.fina
seen-ar.medi+threedotsdownbelow-ar=seenThreedotsbelow-ar.medi
seen-ar.init+threedotsdownbelow-ar=seenThreedotsbelow-ar.init

sheen-ar+threedotsdownbelow-ar=seenThreedotsbelowthreedots-ar
sheen-ar.fina+threedotsdownbelow-ar=seenThreedotsbelowthreedots-ar.fina
sheen-ar.medi+threedotsdownbelow-ar=seenThreedotsbelowthreedots-ar.medi
sheen-ar.init+threedotsdownbelow-ar=seenThreedotsbelowthreedots-ar.init

seen-ar+fourdotsabove-ar=seenFourdotsabove-ar
seen-ar.fina+fourdotsabove-ar=seenFourdotsabove-ar.fina
seen-ar.medi+fourdotsabove-ar=seenFourdotsabove-ar.medi
seen-ar.init+fourdotsabove-ar=seenFourdotsabove-ar.init

seen-ar+twodotsverticalabove-ar=seenTwodotshorizontalabove-ar
seen-ar.fina+twodotsverticalabove-ar=seenTwodotshorizontalabove-ar.fina
seen-ar.medi+twodotsverticalabove-ar=seenTwodotshorizontalabove-ar.medi
seen-ar.init+twodotsverticalabove-ar=seenTwodotshorizontalabove-ar.init

seen-ar+twodotshorizontalabove-ar+tahabove-ar=seenTahTwodotshorizontalabove-ar
seen-ar.fina+twodotshorizontalabove-ar+tahabove-ar=seenTahTwodotshorizontalabove-ar.f ina
seen-ar.medi+twodotshorizontalabove-ar+tahabove-ar=seenTahTwodotshorizontalabove-ar.m edi
seen-ar.init+twodotshorizontalabove-ar+tahabove-ar=seenTahTwodotshorizontalabove-ar.i nit

seen-ar+invertedvvowelabove-ar=seenInvertedv-ar
seen-ar.fina+invertedvvowelabove-ar=seenInvertedv-ar.fina
seen-ar.medi+invertedvvowelabove-ar=seenInvertedv-ar.medi
seen-ar.init+invertedvvowelabove-ar=seenInvertedv-ar.init

seen-ar+foursuperior-persian-ar=seenFourabove-ar
seen-ar.fina+foursuperior-persian-ar=seenFourabove-ar.fina
seen-ar.medi+foursuperior-persian-ar=seenFourabove-ar.medi
seen-ar.init+foursuperior-persian-ar=seenFourabove-ar.init

sad-ar+dotabove-ar=dad-ar
sad-ar.fina+dotabove-ar=dad-ar.fina
sad-ar.medi+dotabove-ar=dad-ar.medi
sad-ar.init+dotabove-ar=dad-ar.init

sad-ar+twodotshorizontalbelow-ar=sadTwodotsbelow-ar
sad-ar.fina+twodotshorizontalbelow-ar=sadTwodotsbelow-ar.fina
sad-ar.medi+twodotshorizontalbelow-ar=sadTwodotsbelow-ar.medi
sad-ar.init+twodotshorizontalbelow-ar=sadTwodotsbelow-ar.init

sad-ar+threedotsupabove-ar=sadThreedots-ar
sad-ar.fina+threedotsupabove-ar=sadThreedots-ar.fina
sad-ar.medi+threedotsupabove-ar=sadThreedots-ar.medi
sad-ar.init+threedotsupabove-ar=sadThreedots-ar.init

dad-ar+dotbelow-ar=dadDotbelow-ar
dad-ar.fina+dotbelow-ar=dadDotbelow-ar.fina
dad-ar.medi+dotbelow-ar=dadDotbelow-ar.medi
dad-ar.init+dotbelow-ar=dadDotbelow-ar.init

Finally we finish the process of generating GLYPHS letter waw ( و )

Many thanks for you very detailed comments. I’m very busy this week, but will definitely work on this next week.

If you like you could help me a bit. Please read this tutorial. It explains how you can define your own glyph data file. http://www.glyphsapp.com/tutorials/roll-your-own-glyph-data
If you take the arabic part from the GlyphData.xml file, fix and add stuff and send it to me would be very much appreciated.