googlefonts / googlefonts/glyphsLib

support "Feature for Feature Variation" custom parameter

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

Description

Glyphs.app has a "Feature for Feature Variation" to allow changing the feature tag used for GSUB FeatureVariations (bracket trick) from the default "rvrn" to a user-defined feature tag.

one problem with implementing support for this in glyphsLib is that

> designspace only has processing=[first|last], and uses rvrn and rclt respectively.
Unlike that Glyphs.app custom parameter, it doesn't let you specify an arbitrary feature tag.

So if user sets that `Feature For Feature Variation` to a tag that isn't either rvrn nor rclt, besides setting rules processing="last" inthe designspace file, we will have to also store that custom feature tag in the designspace.lib as a private key, and see how we can wire it up to ufo2ft and fontTools.varLib somehow.

Or maybe we just say we only support "rclt" as alternative non-rvrn feature tag for now, as that fits the designspace model and current library support.
And refine later.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the designspace processing model and the existing handling of rvrn and rclt in glyphsLib. Then trace how designspace.lib data is consumed by ufo2ft and fontTools.varLib. Done requires a decided scope for arbitrary custom feature tags or a documented rclt-only limitation, with the relevant conversion path and tests updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.