Open khaledhosny opened 4 years ago
This looks like something that has come up over and over. fontmake can't always know if a mark is a mark if there's no Unicode assigned to it or if there aren't some kind of heuristics applied to determine what's actually a mark or base. I opened your Glyphs file, selected all the marks and checked the glyph property boxes to say Script: arabic, Category: Mark, Subcategory: Nonspacing. Then when I run fontmake I get the correct result. Glyphs knows all this because it's hard-coded in the default GlyphData.xml file, but to make sure it's actually saved in the Glyphs file you need to deliberately check the boxes or run a script. That's what I do to be sure that the properties are what I want and that they aren't determined on the fly somewhere.
Yes, but glyphsLib should be using the same GlyphsData.xml file that Glyphs uses already, so something is failing.
But all those names don't exist in the GlyphData.xml file. They changed at some point from names like twodotshorizontalbelow-ar
to twodotshorizontalbelowSymbol-ar
. I thought they changed a long time ago, but it seems glyphsLib only got updated more recently.
The glyph names in the font are what Glyphs presents in its UI, I didn’t type them manually.
Yeah, now I'm kind of confused about the glyphsLib copy of GlyphData.xml and also the change @anthrotype made most recently. All of these marks got deleted from the file. And this is exactly why I don't trust some magic calculation and instead make sure the properties are saved into the Glyphs file.
I have no idea, I simply updated the embedded GlyphData.xml based on the copy upstream from https://github.com/schriftgestalt/GlyphsInfo/commit/8e554a7b59a2d7bd7d1d2bf2a46a794e1b51602c#diff-e575a67f4dcbbf1216c0ce9a67ca4236
Well that can totally break things like it obviously did here. @schriftgestalt why is this file so much different from what's actually in Glyphs?
I check if I need to update the GlyphData.xml.
The GlyphData.xml in the repo excised some entries, e.g. some glyphs without unicodes.
Those glyphs are mostly used as components so twodotshorizontalbelow-ar
should never occur in a text. Are you decomposing some glyphs?
I added them to the repo.
Right, those particular glyphs are used in decomposition.
When building the attached font, Arabic dot mark glyphs are not assigned a GDEF glyph class and there are no GPOS mark feature for them.
The font decomposes Arabic glyphs into base and dot mark, so without the correct GDEF glyph class and the mark feature the font is completely broken.
QahiriTest.glyphs.zip
Above is Glyphs app built file, below is fontmake built one (text is بنيت بيتا وأنجبت بنتا):