-
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Map slant axis for more accurate slant control #59
Comments
Two slight complexities of this:
So, the avar could do the following:
By default, Jens’s script prints out the following map: <map input="-14.000000" output="-14.000000" />
<map input="-7.000000" output="-6.894468" />
<map input="0.000000" output="0.000000" /> But for Recursive the required axis map is ... more complicated than expected. I need to map things to get closer to real angles, but I also have to make rvrn substitutions work beyond 14.04. Basically, I couldn’t just use the direct output of Jens’s script, because it (obviously) doesn’t take my (very) specific case into consideration. In the end, I had to do a bit of guessing-and-checking, but I am quite happy with the results. <axis tag="slnt" name="Slant" minimum="-15" maximum="0" default="0">
<labelname xml:lang="en">Slant</labelname>
<map input="-15.000000" output="-15.000000" />
<map input="-14.050000" output="-14.999999" />
<map input="-14.040000" output="-14.980000" />
<map input="-7.020000" output="-7.500000" />
<map input="0.000000" output="0.000000" />
</axis> This is paired with condition sets like this: <rule name="mono">
<conditionset>
<condition name="Monospace" minimum="0.500000" maximum="1" />
<condition name="Slant" minimum="-14.985000" maximum="0" />
<condition name="Cursive" minimum="0" maximum="0.900000" />
</conditionset>
<sub name="dotlessi" with="dotlessi.mono" />
<sub name="f" with="f.mono" />
<sub name="g" with="g.mono" />
<!-- etc -->
</rule> <rule name="mono autoitalic">
<conditionset>
<condition name="Monospace" minimum="0.500000" maximum="1" />
<condition name="Slant" minimum="-15" maximum="-14.990000" />
<condition name="Cursive" minimum="0.100000" maximum="1" />
</conditionset>
<sub name="a" with="a.italic" />
<!-- etc -->
</rule>
ResultsAt AccuracyAt At At And at |
This issue is solved in the designspace updates of #435. I will close this once I build those updates into a release. For now, here is the updated VF: |
I'm not sure whether users need exact control over the degree of slant for Recursive. However, if they do, the slant axis will need an
avar
map.fonttools/fonttools#1079 (comment)
Here's a script to generate that mapping:
https://gist.github.com/jenskutilek/f328f2ca250e8b9ebad0fb398a5a64c1
The text was updated successfully, but these errors were encountered: