I’ve noticed that Glyphs 3 automatically shortens the name ID1 by replacing certain terms by prefixes if the family name exceeds a certain length. What is the rationale/what are the exact rules for doing this? I am asking because:
The resulting names are still longer than 29 characters, which is the limit specified in the instance tutorial
There are still other, unshortened terms (e.g. Ultra Bold → Ul Bold and not UlBd)
The shortening doesn’t take place consistently across the whole family. So Ultra Bold Italic may be shortened to Ul Bold Italic but Ultra Bold remains unshortened as it’s shorter anyway.
Hello, sorry to revive this topic, but it’s driving me (or, rather, Fontbakery) nuts.
Some form of control would be great, and as Tamir pointed out, the shortening is very inconsistent. Even with explicitly set Name Table Entry parameters, shortening still occurs. It took me quite a while to actually realise the mistake wasn’t in the file and that shortening was happening automatically.
The current implementation will make replacements in a certain order until the combined length of family name and style name does not exceed 30 characters:
‘Regular’ → ‘’
‘Ultra’ → ‘Ul’
‘Extra’ → ‘Ex’
‘Condensed’ → ‘Cond’
‘Extended’ → ‘Extd’
‘Semi’ → ‘Sm’
‘Italic’ → ‘It’
‘Bold’ → ‘Bd’
‘ Sans’ → ‘’
‘ Mono’ → ‘’
But I agree it should not do anything where the user explicitly sets name IDs.
I would find it a bit outrageous tbh that Glyphs does that automatically. A custom parameter like “shorten font names over 30 characters” should be enough to handle that situation if needed.
This! And also perhaps a warning to the user that it changed something. We recently spent hours trying to find the cause for fontbakery complaining about expected and given names. (In this particular case we’re not yet sure if it is due to this, but still such changes need to be told to the user when happening)
I just tried this and can’t see the issues you mention. Only the automatic name ID 1&2 are shortened. But if I overwrite them with “Name Table Entry”, I get the full length name. If you have a font that behaves differently, I like to have a look.