Skip to content
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

First pass sample Kern pairs #1

Open
dberlow opened this issue Aug 15, 2019 · 6 comments
Open

First pass sample Kern pairs #1

dberlow opened this issue Aug 15, 2019 · 6 comments
Assignees

Comments

@dberlow
Copy link
Collaborator

dberlow commented Aug 15, 2019

Image shows default at the bottom and use of scaling kerning using XTRA:
Default XTRA/100 = Extreme XTRA/n

Default Kern x n = Extreme Kern
Amstelvar Roman XTRA scaled kerning1

@dberlow
Copy link
Collaborator Author

dberlow commented Aug 15, 2019

Kern.pair tendencies
Assume FB space/kern method.

Default = 14 pt. Its xtra will = “dxtra” and “lxtra” is local instance’s value.

Values given in first chart is approximated scale and at least direction to scale kerns to 6 lxtra adding those scales to the existing scale. 20 other defining designspace locations for wght, wdth, and opsz will then be analyzed as those scalings add up.

This approximated scaling makes negative kern values larger, and positive kern values smaller, (which may seem wrong, please confirm;).

The value list is not intended to be final as listed, but rather as a guide to the dxtra to lxtra values at first applied to the instances at 6 “sides” of the design space e.g.
opsz14, wdth50, wght400, default size & weight, width min, or
opsz144, wdth100, wght400, default weight & width, opsz max.
get scale factors differ t form so far now applied.

After analyzing the effects of the rescaling on the kerning those 6 sides.

The suggested scaling effects on those sides is in italic

The other 20 locations shown in the chart, (as list only for opsz8), then need to be looked at as the scale factors have added up in the design space.

Then:

  1. Further refinement for those 6 and/or 20 instances?
  2. Division of scale factors between cases, and among cases?
  3. Separate treatment of positive and negative values?
  4. Manual intervention?

Amstelvar Roman:
Input: opsz 008 wdth 100 wght 400 lxtra 0.98 + from dxtra...
Input: opsz 008 wdth 050 wght 400 lxtra 1.10
Input: opsz 008 wdth 150 wght 400 lxtra 1.50
Input: opsz 008 wdth 100 wght 100 lxtra 1.40
Input: opsz 008 wdth 100 wght 900 lxtra 1.05
Input: opsz 008 wdth 050 wght 100 lxtra 1.10 + lxtra 1.40
Input: opsz 008 wdth 150 wght 900 lxtra 1.50 + lxtra 1.05
Input: opsz 008 wdth 150 wght 100 lxtra 1.50 + lxtra 1.40
Input: opsz 008 wdth 050 wght 900 lxtra 1.10 + lxtra 1.05
Input: opsz 014 wdth 100 wght 400 dxtra
Input: opsz 014 wdth 050 wght 400 lxtra 1.10
Input: opsz 014 wdth 150 wght 400 lxtra 1.50
Input: opsz 014 wdth 100 wght 100 lxtra 1.40
Input: opsz 014 wdth 100 wght 900 lxtra 1.05
Input: opsz 014 wdth 050 wght 100
Input: opsz 014 wdth 150 wght 900
Input: opsz 014 wdth 150 wght 100
Input: opsz 014 wdth 050 wght 900
Input: opsz 144 wdth 100 wght 400 lxtra 1.20
Input: opsz 144 wdth 050 wght 400
Input: opsz 144 wdth 150 wght 400
Input: opsz 144 wdth100 wght 100
Input: opsz 144 wdth 100 wght 900
Input: opsz 144 wdth 050 wght 100
Input: opsz 144 wdth 150 wght 900
Input: opsz 144 wdth 150 wght 100
Input: opsz 144 wdth 050 wght 900

@djrrb
Copy link
Collaborator

djrrb commented Aug 17, 2019

Sorry for the delay here, these are the values I used in the initial version of the script:

Source Multiplier XTRA value
default 1.0 800
Amstelvar-Roman-opsz-36.ufo 0.9364 749
Amstelvar-Roman-opsz-84-wghtmin.ufo 1.0528 842
Amstelvar-Roman-opsz-84.ufo 0.8778 702
Amstelvar-Roman-opsz-max-wdthmin-wghtmax.ufo 0.18125 145
Amstelvar-Roman-opsz-max-wghtmin.ufo 1.045 837
Amstelvar-Roman-opsz-max.ufo 0.87125 697
Amstelvar-Roman-opsz-min.ufo 1.0 800
Amstelvar-Roman-wdthmax.ufo 1.4775 1182
Amstelvar-Roman-wdthmin.ufo 0.55 440
Amstelvar-Roman-wghtmax.ufo 0.625 500
Amstelvar-Roman-wghtmin.ufo 1.175 940

@dberlow
Copy link
Collaborator Author

dberlow commented Aug 17, 2019

So the six values in italic that I’ve given above, are guesses intended to be additional scales to the values that you used for those 6, but the opsz value somehow has to be distributed out over OPSZ max’s Intermediates.

Let me know thanks

@dberlow
Copy link
Collaborator Author

dberlow commented Sep 6, 2019

pinging DJR on last comment above...

@djrrb
Copy link
Collaborator

djrrb commented Sep 18, 2019

Again, my apologies on the delay...in the past couple days I’ve finally been able to get my brain back into the kerning.

I hope I’ve understood your comment above correctly and have manually inserted multiplier values for the italicized masters in your post. When you used "dxtra" it is relative to the default value, when you used "lxtra" it is relative to the value that I had previously calculated.

For example, where you wrote Input: opsz 014 wdth 050 wght 400 lxtra 1.10 I interpreted that to mean that for wdth-min, the previously calculated value of 0.55 is multiplied by 1.10 to become 0.605.

These values are currently hard-coded into the script, making it Amstelvar-specific. If there was some systematic logic you used to get these values that could be written into the script, let me know.

A sample font is attached here and available on Amstelvar fea-propagate-kerns.

Amstelvar-Roman-VF.ttf 2.zip

Source Multiplier XTRA value
default 1 800
Amstelvar-Roman-opsz-36.ufo 0.9364168734491315 749.1334987593052
Amstelvar-Roman-opsz-84-wghtmin.ufo 1.0528011786600497 842.2409429280398
Amstelvar-Roman-opsz-84.ufo 0.8778011786600497 702.2409429280398
Amstelvar-Roman-opsz-max-wdthmin-wghtmax.ufo 0.18125 145.0
Amstelvar-Roman-opsz-max-wghtmin.ufo 1.0458467741935484 836.6774193548388
Amstelvar-Roman-opsz-max.ufo 1.0454999999999999 697.0
Amstelvar-Roman-opsz-min.ufo 0.98 800
Amstelvar-Roman-wdthmax.ufo 2.21625 1182
Amstelvar-Roman-wdthmin.ufo 0.6050000000000001 440
Amstelvar-Roman-wghtmax.ufo 0.875 500
Amstelvar-Roman-wghtmin.ufo 1.2337500000000001 940

djrrb added a commit to googlefonts/amstelvar that referenced this issue Sep 18, 2019
djrrb added a commit that referenced this issue Sep 18, 2019
@dberlow
Copy link
Collaborator Author

dberlow commented Sep 18, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants