googlefonts / googlefonts/glyphsLib

Axis values seem to be getting lost/confused in ufo2glyphs

Open
#924 0 comments 0 reactions 0 assignees View on GitHub
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.

> image

> image

> image

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.