-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[builder] Reorder .notdef and space glyphs in public.glyphOrder #1038
Conversation
Unless "Keep GlyphOrder" (or the older "TrueType Keep GlyphOrder") custom parameter is set to True.
The regression tests failure is expected, it is all re-ordered |
Any objection, should I merge this PR? |
no objection from me, I just didn't have the time to review, but feel free to merge without me |
@khaledhosny I still cannot even add this "Keep GlyphOrder" custom parameter, it's not shown in the list when try to add one.. Is one supposed to just add a seemingly unsupported parameter with that name? And what value? The string "1"? Maybe we rushed a bit in adding support for this in glyphsLib if even the latest beta 3.3 doesn't have it. |
Any value that glyphsLib considers True should work, or alternatively you can use “TrueType Keep GlyphOrder” which current version of Glyphs support (It does not show up when you type the name, but if you add it anyway, Glyphs recognizes it as a boolean custom parameter). |
they really don't want you to keep the glyph order 😅 |
Apparently |
The two "Keep Order" parameters are not in the list but can be still added by typing in the search file and click Add (They are kind of private, I really like to keep people from adding them without a very good reason). |
Don't you also find a bit weird that now "space" will take the second position even when the gid1 was specified to be the old "CR" glyph and the font's glyphOrder custom parameter is following the old TrueType convention about the first-four glyphs (.notdef, CR, NULL, space)? I really think this is too much hand-holding. If a font developer has bothered setting a glyphOrder custom parameter (which is already optional), why not just simply obeying that?...
I'm reaaaaly tempted to just revert this. I really don't like this. |
actually this particular font (https://github.com/googlefonts/praise-script/blob/master/sources/Praise-Pro.glyphs) actually has them in the "wrong" order, NULL should be second and CR third (not the other way around) according to the old Apple Truetype spec, but it doesn't matter. NULL also doesn't have any contours and would be fine to have a second glyph as far as that Windows COLRv0 bug is concerned. |
wait.. I just tried to export a TTF from https://github.com/googlefonts/praise-script/blob/master/sources/Praise-Pro.glyphs directly from Glyphs.app (3.3 3325, the latest) and it does NOT reorder the space glyph in this particular case. it has the following glyphOrder custom parameter, and it does not have that so glyphsLib is reordering the space, but Glyphs.app isn't. $ ttx -o - -t GlyphOrder /Users/clupo/Downloads/Praise-Regular.ttf | less
Dumping "/Users/clupo/Downloads/Praise-Regular.ttf" to "<stdout>"...
Dumping 'GlyphOrder' table...
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.54">
<GlyphOrder>
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
<GlyphID id="0" name=".notdef"/>
<GlyphID id="1" name="NULL"/>
<GlyphID id="2" name="nonmarkingreturn"/>
<GlyphID id="3" name="space"/>
<GlyphID id="4" name="uni00A0"/>
<GlyphID id="5" name="A"/> @schriftgestalt is there some extra logic that we're missing? Does Glyphs.app only attempts to place space glyph as second when the glyph that is already in second place is not empty? |
the following archive contains two simple glyphs sources, one with the other wihout glyphOrder custom parameter. is it the names I used or the fact the would-be second glyph is empty, I don't know.. But this example already produces a different output from glyphsLib 6.9.3, and I think a revert is in order here. |
Revert "Merge pull request #1038 from googlefonts/space-glyphOrder"
Unless "Keep GlyphOrder" (or the older "TrueType Keep GlyphOrder") custom parameter is set to True.