googlefonts / googlefonts/glyphsLib
lib Keys
- Dominant language
- Python
- Stars
- 201
- Forks
- 56
- Avg merge
- 17m
- Merged PRs (30d)
- 1
Description
I just worked a bit on how Glyphs writes custom parameters to .ufo. I compared that to how glyphsLib is doing it. Some of the keys are a bit "unusual".
`com.schriftgestaltung.customParameter.GSFont.DisplayStrings`
should be just
`com.schriftgestaltung.DisplayStrings`
There are some more that have contain `customParameter.GSFontXX` that shouldn’t have it:
```
com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment
com.schriftgestaltung.customParameter.GSFont.useNiceNames
com.schriftgestaltung.customParameter.GSFontMaster.customValue
com.schriftgestaltung.customParameter.GSFontMaster.customValue1
com.schriftgestaltung.customParameter.GSFontMaster.customValue2
com.schriftgestaltung.customParameter.GSFontMaster.customValue3
com.schriftgestaltung.customParameter.GSFontMaster.iconName
com.schriftgestaltung.customParameter.GSFontMaster.weightValue
com.schriftgestaltung.customParameter.GSFontMaster.widthValue
```
The master keys should only be written when not counting the default (`0` for the custom and `100` for the other two keys).
There is another `com.schriftgestaltung.weightValue` that is a duplicate of `com.schriftgestaltung.customParameter.GSFontMaster.weightValue` and this one is the key that Glyphs uses. It seems that for those shorter keys it almost does the right thing and only writes the relevant keys (it still writes `100` for weight or width).
And what is `com.schriftgestaltung.fontMasterOrder`?
Contributor guide
Research direction
Start by tracing how glyphsLib serializes Glyphs custom parameters into UFO keys, then compare that behavior with the key list and defaults described in the issue. Done means the listed keys use the expected names and default values are omitted, with the purpose of fontMasterOrder clarified; the issue names no files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100