Adding Glyphs for Arabic Symbols

What’s the best way to add glyphs for Arabic symbols (I mean in terms of naming the glyphs)

I tried adding “jallajalalouhou-ar” it works but it was added as a letter not as a symbol
“bismillah-ar” was recognized and added as a symbol
“allahlong-ar” added something different it seem to recognize “SAW” “SallaLaahuAlaihiWasallam”

so in general it’s not clear to me

My goal is to add the below symbols (some could have possible ligature/feature)

1 Bismillah بسم الله الرحمن الرحيم
2 Jalla Jalaluhu جل جلاله
3 Azza wa Jal عز وجل
3 Sadaqa Allahu Alazim صدق الله العظيم
4 SAW صلى الله عليه وسلم
5 Radia Allahu Anhu (Optional) رضي الله عنه

Pictures attached for reference (in respective order)
image
image
image
image
image

The glyph names and how they behave (their glyph properties) are defined a big file called GlyphData.xml. Here is what the line for bismillah-ar looks like:

Here, you can see the name of the glyph and its properties such as the Unicode code point, the category, script, and writing direction.

And here are allahlong-ar and jallajalalouhou-ar.

For these, the Unicode code point is marked as legacy and the category is Letter, not Symbol. I am not sure if these differences are intensional or historic artifacts.

As you noticed, the current GlyphData does not contain all of the symbols you want. U+FDFF ARABIC LIGATURE AZZA WA JALL, for example, is not part of GlyphData yet. You can create your own GlyphData file containing only the new glyph definitions. For example:

<glyph unicode="FDFF" name="azzawajal-ar" category="Symbol" subCategory="Ligature" script="arabic" production="uniFDFF" direction="RTL" description="ARABIC LIGATURE AZZA WA JALL" />

or similar. Learn more about GlyphData.xml and how to edit it using the EditGlyphData app in the tutorial here:

We are happy to integrate these additions into the GlyphData included with Glyphs. You can either send us your proposed definitions here on the forum or contribute to the GlyphData file on GitHub.


If the GlyphData approach is too much work and all you want to do is define a handful of glyphs, you can also add a new glyph with a name of your choosing and define the properties with EditInfo for Selection…:

The GlyphData approach is preferable when you want to reuse the glyph definitions across multiple Glyphs files and sharer them with others.

1 Like

Thanks for the great and detailed response, I will need to write a few lines for these common symbols and will share them here I think they could useful for the data update especially fixing what I belive could be wrong (like Allah-long)

Thanks again

I have a question though, what if the symbol I want doesn’t have a Unicode like “3 Sadaqa Allahu Alazim صدق الله العظيم” what should I fill in the Unicode identifier in the code line? of course, the goal is to use it as a symbol and might also be called through stylistic set

In that case you would not specify any Unicode code point.

Instead, the glyph should be accessible as a ligature. Depending on your intensions for the font, the ligature can be active by default: liga feature, or activated at the font user’s discretion: dlig feature. But these feature code decisions are not part of GlyphData.xml.

1 Like

I have added 3 and amended saw-ar cuz the previous name allahlong-ar was wrong

the below codes for creating the attached symbols

image
image
image
image

I tried them they work fine

<glyph unicodeLegacy="FDFA" name="saw-ar" sortName="ar2745" decompose="sad-ar, lam-ar, alefMaksura-ar, alef-ar, lam-ar, lam-ar, heh-ar, ain-ar, lam-ar, yeh-ar, heh-ar, waw-ar, seen-ar, lam-ar, meem-ar" category="Letter" subCategory="Ligature" script="arabic" production="uniFDFA" direction="RTL" altNames="sallallahoualayhewasallamarabic" description="ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM" />
	<glyph unicodeLegacy="FDFB" name="jallajalalouhou-ar" sortName="ar2748" decompose="jeem-ar.init, lam-ar.fina, jeem-ar.init, lam_alef-ar.fina, lam-ar.init, heh-ar.fina" category="Symbol" subCategory="Ligature" script="arabic" production="uniFDFB" direction="RTL" description="ARABIC LIGATURE JALLAJALALOUHOU" />
	<glyph unicode="FDFF" name="azzawajal-ar" decompose="ain-ar.init, zain-ar.fina, waw-ar, jeem-ar.init, lam-ar.fina" category="Symbol" subCategory="Ligature" script="arabic" production="uniFDFF" direction="RTL" description="ARABIC LIGATURE AZZA WA JALL" />
	<glyph name="sadqallahulazim-ar" decompose="sad-ar.init, dal-ar.fina, qaf-ar, alef-ar, lam-ar.init, lam-ar.medi, heh-ar.fina, alef-ar, lam-ar.init, ain-ar.medi, zah-ar.medi, yeh-ar.medi, meem-ar.fina" category="Symbol" subCategory="Ligature" script="arabic" direction="RTL" description="ARABIC LIGATURE SADAQA ALLAHU ALAZIM" />```