Closed RosaWagner closed 1 year ago
Width axis wasn't added eventually. It's only linearized weight axis & expanded its range. Npm version is new, it's injected as font version, so it must be new already, 3.4.0
@dy the font version (in the name table) in your repo is still 3.004
Got it. Bumped
@dy while reviewing my PR, my colleague @vv-monsalve asked why not mapping 20 to 1 to have an Hairline instance in the STAT table. I want to be sure my suggestion in https://github.com/dy/wavefont/pull/60 was not overlooked, are you sure you want to keep the minimal range at 20? It's okay if you don't want, but I'd like to confirm before merging.
with default at 100 it's safe to extend to hairline indeed. The main limitation is compatibility with linefont, but maybe I should introduce default at 100 there too. I guess @vv-monsalve is right, I'll try hairline
yes the default at 100 is also expected for Linefont
Excellent @dy, thank you!
Ok, just experimented with weight=1 value, and there's multiple limitations making it not feasible.
<axis default="100" minimum="1" maximum="1000" name="Weight" tag="wght">
<map input="1" output="0.25"/>
<map input="100" output="25"/>
<map input="1000" output="250"/>
</axis>
That reduces the worth of hairline style.
The premise about the wavefont/linefont is that they're not intended for rendering precise data, since they have only 127 values. Besides, rendering too much data with wght=1 is not performant and creates visual artifacts. Min value of wght=20 is more-or-less meaningful limitation in terms of healthy font usage, it seems reasonable to keep it.
We were proposing to map this way:
<map input="1" output="20"/>
, is that problematic?
This creates non-linearity, since mapping is a factor of 4. The furthest I can safely get is <map input="4" output="1">
, but that doesn't reach hairline-style instance. Should I proceed with that?
I reversed the value above so I edited my comment.
Honestly we are not picky on what a hairline style should look like. We just suggest a way to have the minimum range in the STAT table for future update of the API that could generate an instance for it in the future. If your user value (input) is 1, you choose whatever design value (output) you think would fit.
Ah, ok. So should I add hairline instance in designspace then? I've expanded axis to wght=4
Only in the STAT table, so in the config.yaml
Ok, added
Font Project Git Repo URL: https://github.com/dy/wavefont
Current version: 3.004
New available version: 3.005
Super short description of the upgrade: ~Addition of a WIDHT axis~ expanded weight axis' range and remap values