googlefonts / googlefonts/glyphsLib

Parse `instanceInterpolations` values correctly

Open
#240 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
201
Forks
56
Avg merge
17m
Merged PRs (30d)
1

Description

Montserrat has some [`GSInstance::instanceInterpolations`](https://docu.glyphsapp.com/#instanceInterpolations) with coefficients that look like `NSPoint`s rather than floats, e.g.

```
instanceInterpolations = {
UUID0 = "{0.777778, 0.733333}";
"1C84A7F3-C40A-4DC1-B8B4-102D183C348F" = "{0.222222, 0.266667}";
};
```

The fix for #238 parses those values as strings, but we should probably define more precisely what are the possible values of `instanceInterpolations` and parse them accordingly, maybe as points.

@schriftgestalt

Contributor guide

Open the contributing guide

Research direction

Review the parsing change from #238 and the handling of GSInstance::instanceInterpolations. Determine the valid value shapes, including the shown NSPoint-like strings, and define parsing that preserves them appropriately. Done means instanceInterpolations values are parsed according to their supported forms rather than uniformly as strings.

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.