googlefonts / axisregistry

A Python API to access data from the Google Fonts variable fonts Axis Registry.
Apache License 2.0
27 stars 11 forks source link

Add Horizontal Element Alignment [XELA] axis #157

Closed simoncozens closed 4 months ago

simoncozens commented 11 months ago

Requirements

Font project(s) using the axis

SixtyFour Color (to be renamed) at https://github.com/jenskutilek/homecomputer-fonts

Short description of what the axis does

As a parallel to Vertical Element Alignment [YELA], this controls the position of horizontal elements.

Image

xela

Why is the axis needed

As the counterpart to YELA.

Axis metadata fields

(Remove this line and fill out the mock of the data structure of the axis)

#YELA based on [Wavefont](https://github.com/dy/wavefont)
tag: "XELA"
display_name: "Horizontal Element Alignment"
min_value: -100
default_value: 0
max_value: 100
precision: 0
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description:
  "Align glyphs from their default position (0%),"
  " usually the baseline, to a rightmost (100%)"
  " or leftmost (-100%) position."
vv-monsalve commented 11 months ago

Could this be the same XALN #126?

simoncozens commented 11 months ago

I don't think so. XALN aligns the entire glyph, YELA (and proposed XELA) aligns an element of the glyph.

vv-monsalve commented 10 months ago

Revised description would be

description:
  "Align glyph elements from their default position (0%),"
  " usually the baseline, to a rightmost (100%)"
  " or leftmost (-100%) position."
vv-monsalve commented 6 months ago

Revised definitions on January 26:

Precision value could be -1 to allow the fine control and 1000 positions

#XELA based on [Sixtyfour Convergence](https://github.com/jenskutilek/homecomputer-fonts/tree/master/Sixtyfour)
tag: "XELA"
display_name: "Horizontal Element Alignment"
min_value: -100.0
default_value: 0
max_value: 100.0
precision: -1
fallback {
  name: "Default"
  value: 0
}
fallback_only: false
description:
  "Align glyph elements from their default position (0%),"
  " usually the baseline, to a rightmost (100%)"
  " or leftmost (-100%) position."