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

Inclusion of contrast axis #4355

Closed
yanone opened this issue Mar 9, 2022 · 8 comments
Closed

Inclusion of contrast axis #4355

yanone opened this issue Mar 9, 2022 · 8 comments

Comments

@yanone
Copy link
Collaborator

yanone commented Mar 9, 2022

I'm proposing the inclusion of a "contrast" axis (CNTR) into the axis registry.
https://github.com/tallchai/akshar-type has one, that I’m currently onboarding.

tag: "CNTR"
display_name: "Contrast"
min_value: 0.0
default_value: 0.0
max_value: 100.0
precision: 1
fallback {
  name: "Low"
  value: 0.0
}
fallback {
  name: "High"
  value: 100.0
}
description:
  "Stroke contrast describes the stroke width difference"
  " between the thick and thin parts of a pen stroke."
  " Traditionally, a Redis pen nib would yield a low contrast stroke"
  " (monolinear) while a broad nib or pointed nib pen would"
  " yield a high contrast stroke."

Bildschirmfoto 2022-03-09 um 17 02 53

Bildschirmfoto 2022-03-09 um 17 03 02

cc @m4rc1e @davelab6 @rsheeter

@felipesanches
Copy link
Collaborator

Can I transfer this issue to the new googlefonts/axisregistry repo?

https://github.com/googlefonts/axisregistry

@yanone
Copy link
Collaborator Author

yanone commented Mar 9, 2022

Of course

@felipesanches
Copy link
Collaborator

Can I transfer this issue to the new googlefonts/axisregistry repo?

hmmm... apparently I lack the admin rights here to do so :-P
@davelab6, can you do it for us, please?

@twardoch
Copy link
Collaborator

twardoch commented Mar 9, 2022

The Contrast axis exists by many names already, as per googlefonts/axisregistry#4 :

cntr: 2 fonts, CONT: 5 fonts, ctrs: 1 font, CTST: 1 font, CNTR: 10 fonts

@twardoch
Copy link
Collaborator

twardoch commented Mar 9, 2022

I think the registered range should be from -100 to 100:

min_value: -100.0
default_value: 0.0
max_value: 100.0

The universalized meaning should be something like the "dominance of the thick parts over the thin parts, expressed in percent" or the "difference between 100% and the division between the thickness of the thin parts and the thickness of the thick parts". For example if the thin parts are 30 units and the thick parts are 230 units, the division yields 13% so the CONT value should be 100%–13% = 87.

Positive values should be used if the contrast follows the traditional contrast axis of the dominant writing system, and negative values should be used if the contrast follows the reversed contrast axis of the dominant writing system.

So 0 should stand for "no contrast", 100 should stand for "thin strokes are invisible and the contrast axis is traditional", and -100 should stand for "thin strokes are invisible and the contrast axis is reversed". This way, some design could go from fully reversed contrast to fully traditional contrast.

@davelab6
Copy link
Member

davelab6 commented Mar 9, 2022

Can I transfer this issue to the new googlefonts/axisregistry repo?

hmmm... apparently I lack the admin rights here to do so :-P @davelab6, can you do it for us, please?

You can only transfer issues within an org, and this repo is on the /google org, so, no, alas I can not.

To the main point, I will respond on googlefonts/axisregistry#3

@davelab6 davelab6 closed this as completed Mar 9, 2022
@davelab6 davelab6 reopened this Mar 9, 2022
@davelab6 davelab6 closed this as completed Mar 9, 2022
@tiroj
Copy link

tiroj commented Mar 9, 2022

The universalized meaning should be something like the "dominance of the thick parts over the thin parts, expressed in percent" or the "difference between 100% and the division between the thickness of the thin parts and the thickness of the thick parts". For example if the thin parts are 30 units and the thick parts are 230 units, the division yields 13% so the CONT value should be 100%–13% = 87.

I’m not sure that math would make a lot of sense to a font maker or user. I think I would favour the axis scale expressed as the percentage relationship of thin stroke to thick stroke. So in your example the value would be 13, and the contrast approaches monolinear by increasing the thickness of the thin strokes until the value reaches 100. I think most font makers will think of increasing contrast in terms of making some parts thinner, rather than in terms of making some parts thicker, and the relationship between the value and the glyph appearance is easier if thinner = smaller value.

@felipesanches
Copy link
Collaborator

@tiroj (and anybody else interested in this issue), please post followup comments at googlefonts/axisregistry#3

@google google locked as resolved and limited conversation to collaborators Mar 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants