I am developing an Arabic typeface and want to include two distinct styles for the dots (e.g., standard dots and an alternative geometric/stylized design) within the same font file.
I created the alternative dot glyphs (with .ss01), but since the dots are used as components inside base glyphs (like beh, teh, etc.), the change doesn’t automatically apply to the letters.
What is the standard and most efficient way to handle this in Glyphs?
You should use decomposed structure. With this approach, all composed glyphs are decomposed in the init, medi,fina and isolfeatures(you should add them manually, auto feature couldn’t generate those). Then you can simply add the ss01 feature to replace the dots.
Estedad project used this structure in the latest version, you can check its source file.
I am quite new to font engineering and advanced OpenType features. I actually looked into the source file of Estedad to see how it handles things, and I noticed You have Special Way for building the glyphs, but I couldn’t fully wrap my head around the exact decomposed workflow used there.
Since I am a beginner, could you point me to any documentation, articles, or tutorials (ideally from Glyphs app resources or type design blogs) that explain how to properly set up a decomposed Arabic font structure, handle the init/medi/fina/isol features manually, and safely swap dot components via ss01?
I want to understand the exact step-by-step logic behind this specific method.
I don’t know if there is an article about decomposed structure. You can open Estedad in Fontgoggles and turn off all features, and then turn them on one by one and see how your text reacted. The logic isn’t that complicated, you can also ask AI to explain how it works. I hope you find these explanation helpful.
Since I have already fully built the font using the traditional composite method, do you suggest any alternative workaround that fits my current setup? Or is switching to the decomposed/mark approach the only viable option?
I can’t really tell. But it seems that you are not using automatic alignment of components?
And you n almost all cases, you don’t need anchors in the composite glyphs. It will inherit anchors from the base glyphs.
But that is only partially related to the decomposition in OpenType. What will happen is that you actually never see the beh, only the dotless beh and the dot. But building the beh properly (with alignment) will be a good preview about the final shaping will look like.
you can also create a variable font with a dot style axis. it’s pretty common technique. you need one or more masters with other dot shapes which are compatible, and simply use the axis to change dot styles. no need to decomposed structure.