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 Scanlines (SCAN) Axis #18

Closed
felipesanches opened this issue Mar 11, 2022 · 6 comments · Fixed by #145
Closed

Add Scanlines (SCAN) Axis #18

felipesanches opened this issue Mar 11, 2022 · 6 comments · Fixed by #145
Labels
--new-axis New variable axis definition

Comments

@felipesanches
Copy link
Member

Fonts to be onboarded that have this axis:

@RosaWagner
Copy link
Contributor

Discussed in google/fonts#3699

@chrissimpkins chrissimpkins added the --new-axis New variable axis definition label Sep 21, 2022
@RosaWagner
Copy link
Contributor

Copy pasting Jens issue here:

My Homecomputer fonts use custom variation axes for visual artefacts related to display on a cathode ray tube: (horizontal) bleed (tag: BLED) and (vertical) scan lines (tag: SCAN).

I propose to add those axes to the Google Fonts axis registry:

Scanlines (SCAN)

On CRT screens

Scanlines of pixels separated by a varying amount of black space are characteristic of CRT screens.

The Scanlines axis allows to controls the height of the lines, and as a result of this, the amount of vertical space between the lines. The space may also disappear completely, causing the simulated "pixels" to blur into each other.

Bildschirmfoto 2021-08-12 um 16 52 26
SCAN=default (0)

Bildschirmfoto 2021-08-12 um 17 27 51
SCAN=min

Bildschirmfoto 2021-08-12 um 17 28 08
SCAN=max

Other uses

Bildschirmfoto 2021-08-12 um 17 39 36

The axis could also be used to segment glyphs in a way that is not reminiscent of CRT screens, similar to the "Hatch" filter in Glyphs.

Axis proposal

tag: "SCAN"
display_name: "Scanlines"
min_value: -1000
max_value: 1000
default_value: 0
precision: 0
fallback {
  name: "Normal"
  value: 0
}
description:
  "Segment glyphs horizontally without any changes overall width, inter-letter spacing,"
  " or kerning, so there are no changes to line breaks or page layout."
  " Negative values causes the glyphs to become visually segmented,"
  " while positive values may cause the segments to overlap and thus"
  " cause a boldening effect."

@RosaWagner
Copy link
Contributor

The addition of this axis is still to discuss because it could be a weight axis.

cc @davelab6

@vv-monsalve
Copy link
Contributor

vv-monsalve commented Jul 24, 2023

After the last revision, it was decided to include this axis in the axis registry as a relative axis, with a percent range instead of an absolute one.
This decision was made because the current axis range values used do not match any specific font measurement. Additionally, this change will make the axis more versatile and applicable to other scenarios where it can be used to adjust the number of lines (as in the example shown above) instead of the space between them. This change will allow for various implementations to be used in the future.

The description needs to be refined.

Definitive metadata fields:

# Scanlines, based on https://github.com/jenskutilek/homecomputer-fonts
tag: "SCAN"
display_name: "Scanlines"
min_value: -100
max_value: 100
default_value: 0
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description:
  "Segment glyphs horizontally without any changes overall width, inter-letter spacing,"
  " or kerning, so there are no line breaks or page layout changes. Negative values"
  " cause the glyphs to become visually segmented, while positive values may cause
  " the segments even overlap and create a bold effect."

@jenskutilek
Copy link

How about this?

description:
  "Break up shapes into horizontal segments without any changes in overall width, inter-letter spacing,"
  " or kerning, so there are no line breaks or page layout changes. Negative values"
  " cause the glyphs to become visually segmented, while positive values may cause
  " the segments to overlap and create a bold effect."

I don't know how specific the description has to be. Should it be mentioned that the segments could be rectangular, but may also take on other forms, like in the rounded lines image, or even be irregular in shape as long as they create the impression of a vertical segmentation?

@vv-monsalve
Copy link
Contributor

I don't know how specific the description has to be.

This level of definition sounds good. The description has to be clear and universal enough at the same time. So it doesn't need to go that much into details, like specific shapes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--new-axis New variable axis definition
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants