googlefonts / googlefonts/glyphsLib
Axis values seem to be getting lost/confused in ufo2glyphs
- Dominant language
- Python
- Stars
- 202
- Forks
- 57
- Avg merge
- 17m
- Merged PRs (30d)
- 1
Description
The basic problem is that when I use `ufo2glyphs`, my axis values are getting lost and mixed up.
I have axes for opsz, wght, and ital, but it seems to lose opsz and ital when creating the Glyphs document. More specifically:
- The Glyphs file only gets a variable axis for `wght`
- In Masters, the `opsz` value goes into the "Weight" axis
- In Exports, the `wght` value does make it into the Weight Class. But again, the `wght` value is filled out by what should be `opsz`.
- So, all my instances previews are given the same appearance.
- And, when I use `glyphs2ufo` to go back to a designspace, the designspace inherits the mixed-up data from the Glyphs document.
>
>
>
I’m on glyphsLib version `6.2.2`, the latest release as of today.
It’s definitely possible that my input designspace is somehow malformed, but it seems to work okay in other settings (like Prepolator Next, for RoboFont), so it’s probably not too badly formed. I’ll try to test it with Designspace Problems, etc, and update if I find a solution on my end.
Thanks!
Full Designspace, before `ufo2glyphs` (Click to expand)
```xml
Optical Size
Weight
```
Full Designspace, after roundtrip (Click to expand)
```xml
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Thin
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
ExtraLight
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Light
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Medium
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
SemiBold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Bold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
ExtraBold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Black
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Thin
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
ExtraLight
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Light
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Medium
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
SemiBold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Bold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
ExtraBold
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Black
com.schriftgestaltung.width
Medium (normal)
com.schriftgestaltung.export
com.schriftgestaltung.intanceInterpolations
DE64852F-2E83-401C-8F7D-B9C16CA13CDD
1
com.schriftgestaltung.manualInterpolation
com.schriftgestaltung.weight
Regular
com.schriftgestaltung.width
Medium (normal)
GSDontShowVersionAlert
1
```
Contributor guide
Research direction
Start by reproducing the supplied designspace through ufo2glyphs, then inspect the generated Glyphs document and the glyphs2ufo round trip for axis data. Verify that opsz, wght, and ital remain distinct in the variable axes, masters, exports, and returned designspace.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100