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

Add Vertical Extension [ YEXT ] axis #135

Open
2 tasks done
davelab6 opened this issue Jun 5, 2023 · 13 comments
Open
2 tasks done

Add Vertical Extension [ YEXT ] axis #135

davelab6 opened this issue Jun 5, 2023 · 13 comments
Labels
---Approved. Valid for PR Axis is ready to create a PR --new-axis New variable axis definition

Comments

@davelab6
Copy link
Member

davelab6 commented Jun 5, 2023

Requirements

  • I have inspected the current Axis Registry and there is not a registered custom axis that could be used for the variation purpose on the upcoming font project.
  • The metadata fields of the proposed axis meet the Axis Requirements as specified in the Protocol (linked above).

Font project(s) using the axis

Playpen, currently in a private repo

Short description of what the axis does

The Playpen fonts have an "Extenders" axis that is essentially a blend or combination of the YTAS and YTDE axes.

Values are absolute, per-mille-of-em, measuring distance from baseline to y-max.

Image

Screenshot 2023-06-05 at 14 09 11 Screenshot 2023-06-05 at 14 09 16

PlaypenSans-Extension

Why is the axis needed

To make the user experience more simple, varying ascender and descender lengths are combined.

Axis metadata fields

# YTEX based on github.com/googlefonts/playpen
tag: "YTEX"
display_name: "Extenders"
min_value: 0
default_value: 300
max_value: 1000
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description: ""
@davelab6 davelab6 added the --new-axis New variable axis definition label Jun 5, 2023
@vv-monsalve
Copy link
Contributor

vv-monsalve commented Jun 7, 2023

Values are absolute, per-mille-of-em, measuring distance from baseline to y-max.

The Extenders axis operates over strokes that go both up (above xheight) and down (below baseline) to y-max. So the axis requires a range from positive (up) to negative (down) values.*

To make the user experience more simple, varying ascender and descender lengths are combined.

I would add: "To make the user experience more simple. The axis extends ascender and descender strokes beyond standard writing conventions to specific lengths to meet the teaching process needs."

Now, Inspecting the name again, I wonder if "Extenders" is too generic. If we are going to make this friendly and to differentiate this from the existent parametric axes as well as any other "extender" axis that may be needed (eg. from a particular script), I suggest naming it Y Pen Extensions with YPEX tag.

# YPEX based on github.com/googlefonts/playpen
tag: "YPEX"
display_name: "Vertical Pen Extensions"
min_value: 0
default_value: 300
max_value: 1000
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description: "The axis extends ascender and descender strokes beyond standard writing conventions."

  • The axis modifies ascenders and descenders simultaneously, so no negative range value is needed.

@davelab6
Copy link
Member Author

davelab6 commented Jun 9, 2023

I suggest naming it Y Pen Extensions

This seems too family specific. Let's discuss with Evan today :)

@vv-monsalve vv-monsalve changed the title Add Extenders [ YTEX ] axis Add Extenders [ YEXT ] axis Jun 16, 2023
@vv-monsalve
Copy link
Contributor

After the last Axis review this are:

tag: "YEXT"
display_name: "Vertical Extensions"

@vv-monsalve
Copy link
Contributor

Revision to axis type and range

There was a discussion on if it should be a relative axis (percentage range).

The axis controls ascenders and descenders simultaneously, modifying them in the same proportion, but measuring from different relative points: baseline to descender and x-height to ascenders. Which would make this axis relative instead of absolute.

If measured from one unique reference point (the baseline), the ascender value should sum the x-height. That is, when the descenders are at 300, the ascenders' absolute value is 700

Screen Shot 2023-06-21 at 19 56 27 Screen Shot 2023-06-21 at 19 52 37

@vv-monsalve
Copy link
Contributor

Vertical Metrics implications

Given the unusually high proportions for the extensions, this axis adds to the font; we should consider

  • Making an exception to our Vertical Metrics specifications. Otherwise, if we use the ymax for the whole set, most variations per country would have a highly loose line-height.
  • Using variable vertical metrics

VExtension-axis-revision

@vv-monsalve
Copy link
Contributor

vv-monsalve commented Jun 30, 2023

We've agreed that this would be a Relative (percentage) axis.
Description should be updated

# YEXT based on github.com/googlefonts/playpen
tag: "YEXT"
display_name: "Vertical Extensions"
min_value: 0
default_value: 0
max_value: 100
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
#description: "The axis extends ascender and descender strokes beyond standard writing conventions."

@davelab6
Copy link
Member Author

"The axis extends ascender and descender strokes beyond standard writing conventions."

I propose:

"The axis extends glyphs in the Y dimension, such as the Cap Height, Ascender and Descender lengths. This is a relative axis, starting at 0% and going to the typeface's individual maximum extent at 100%."

@kenmcd

This comment was marked as resolved.

@davelab6

This comment was marked as resolved.

@vv-monsalve

This comment was marked as resolved.

@vv-monsalve

This comment was marked as resolved.

@vv-monsalve vv-monsalve changed the title Add Extenders [ YEXT ] axis Add Vertical Extensions [ YEXT ] axis Aug 15, 2023
@davelab6
Copy link
Member Author

davelab6 commented Apr 12, 2024

Evan and I synced up today and we re-confirmed this is good to go with a percent; also no plural for Extension; and YEXT is not following the Font Bureau parametric system naming (which would be Y as the first character for dimension and T as the second character for acting on transparency not ink)

# YEXT based on github.com/googlefonts/playpen
tag: "YEXT"
display_name: "Vertical Extension"
min_value: 0
default_value: 0
max_value: 100
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description: "The axis extends glyphs in the Y dimension, such as the
  Cap Height, Ascender and Descender lengths. This is a relative axis,
  starting at 0% and going to the typeface's individual maximum
  extent at 100%."

@vv-monsalve vv-monsalve added the ---Approved. Valid for PR Axis is ready to create a PR label Apr 12, 2024
@vv-monsalve
Copy link
Contributor

We'll add it in the future when the big PW family is ready to be onboarded.

@vv-monsalve vv-monsalve changed the title Add Vertical Extensions [ YEXT ] axis Add Vertical Extension [ YEXT ] axis Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
---Approved. Valid for PR Axis is ready to create a PR --new-axis New variable axis definition
Projects
None yet
Development

No branches or pull requests

3 participants