googlefonts / googlefonts/axisregistry

Consider adding "optional fallback" to axis definitions

Open
#163 1 comment 0 reactions 0 assignees View on GitHub
--review-axis
Dominant language
Rust
Stars
43
Forks
17
PR merge metrics
No merged PRs in 30d

Description

**Describe the issue**
There are situations where we may want to add more instances to a font without affecting how instances are cut in the pipeline.
Having the "optional fallback" in the axis definitions would allow that and also serve as a standard for those instance names that are not covered by "fallback" entries.
**Example**
Consider a case where a font has a range of 1-1000 in the weight axis, but the axis registry only covers the range 100-900.
The 1 and 1000 instances are not defined in the axis registry, so we don't name those extremes in the font. However, if we don't, then our min and max for this axis in the STAT table will be uncovered. In this case, using a range in the STAT is also not appropriate - too big of a range.
This is being checked by FB here https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/STAT

To address that fail, we could introduce new instances that are not defined in the axis registry, which is not ideal, as we would introduce something that is not standardised. At the same time, we might not introduce more "fallback" entries. This is where "optional fallback" for additional instances would come in handy. If 1 "Hairline" and something like 1000 "UltraBlack" or "UltraHeavy" are defined as optional fallbacks, we have a standard name for this place on the axis but, at the same time, wouldn't cut too many static instances.

It could be even more helpful for novelty and custom axes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the axis registry definitions and the linked Font Bakery STAT check to understand how fallback entries are currently interpreted. Done should include an agreed definition for optional fallback entries, their effect on instance naming and STAT coverage, and a clear scope for supporting them on standard and custom axes.

Written by the indexing model from the issue text.

Assessment

Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.