mirror of
https://github.com/google/fonts.git
synced 2024-12-01 03:06:03 +03:00
GF Axis Registry setup (#2541)
* Add GF Axis Registry files to git repo. * Update root README.md with a description of the axisregistry/ subdir. * Update root README.md with a description of the axisregistry/ subdir. * Revise the axis registry README file to be simpler and also descrie the metadata fields of the axis textprotos.
This commit is contained in:
parent
81cdd01607
commit
4bd3c05add
@ -9,6 +9,8 @@ Each family subdirectory contains the `.ttf` font files served by Google Fonts,
|
||||
|
||||
The `/catalog` subdirectory contains additional metadata, such as profile texts and portrait/avatar images of font designers, and this is open for contributions and corrections from anyone via Github.
|
||||
|
||||
The `/axisregistry` subdirectory contains metadata for the GF Axis Registry, containing information on variable font axes that can be found in the collection, including experimental axes.
|
||||
|
||||
## Bug reports and improvement requests
|
||||
|
||||
If you find a problem with a font file or have a request for the future development of a font project, please [create a new issue in this project's issue tracker](https://github.com/google/fonts/issues).
|
||||
|
33
axisregistry/README.md
Normal file
33
axisregistry/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# GF Axis Registry
|
||||
|
||||
This package contains a collection of metadata files that collectivefly form the
|
||||
GF Axis Registry.
|
||||
|
||||
## Why does Fonts have its own Axis Registry?
|
||||
|
||||
We plan to support a superset of the OpenType axis registry and additional
|
||||
metadata. Individual variable fonts support a subset of our axis registry. Axes
|
||||
not in our registry will not function via our API.
|
||||
|
||||
## Axis Metadata Fields
|
||||
|
||||
* `tag`
|
||||
* Tag for the axis used to specify an axis in `font-variation-settings`
|
||||
and CSS API requests.
|
||||
* `display_name`
|
||||
* Readable name for the axis, generally the expanded form of `tag`.
|
||||
* `min_value`
|
||||
* Lower bound of the axis. Inclusive.
|
||||
* `max_value`
|
||||
* Upper bound of the axis. Inclusive.
|
||||
* `default_value`
|
||||
* Default position of the aixs.
|
||||
* `precision`
|
||||
* Describes the specificity at which an axis position can be specified.
|
||||
For example, `0` means values must be specified as whole numbers while
|
||||
`-1` means values can be as precise as one decimal place.
|
||||
* `fallback` (repeated)
|
||||
* Important positions along the axis. For weight, these are positions like
|
||||
Regular, Medium, and Bold.
|
||||
* `description`
|
||||
* A description of the axis.
|
19
axisregistry/casual.textproto
Normal file
19
axisregistry/casual.textproto
Normal file
@ -0,0 +1,19 @@
|
||||
# CASL based on https://github.com/arrowtype/Recursive#variable-axes
|
||||
tag: "CASL"
|
||||
display_name: "Casual"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: -2
|
||||
fallback {
|
||||
name: "Linear"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Casual"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Along this axis, letterforms adjust in stroke curvature, contrast, and"
|
||||
" terminals to go from a sturdy, rational 'Linear' style to a friendly,"
|
||||
" energetic 'Casual' style."
|
24
axisregistry/cursive.textproto
Normal file
24
axisregistry/cursive.textproto
Normal file
@ -0,0 +1,24 @@
|
||||
# CRSV based on https://github.com/arrowtype/Recursive#variable-axes
|
||||
tag: "CRSV"
|
||||
display_name: "Cursive"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0.5
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "Roman"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Auto"
|
||||
value: 0.5
|
||||
}
|
||||
fallback {
|
||||
name: "Cursive"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Controls the substitution of cursive forms along the Slant axis. 'Off' (0)"
|
||||
" maintains Roman letterforms such as a double-story a and g, 'Auto' (0.5)"
|
||||
" allows for Cursive substitution, and 'On' (1) asserts cursive forms even"
|
||||
" in upright text with a Slant of 0."
|
20
axisregistry/expression.textproto
Normal file
20
axisregistry/expression.textproto
Normal file
@ -0,0 +1,20 @@
|
||||
# FOR TESTING ONLY [for now anyway]
|
||||
# Added for initial releases of Recursive::XPRN (https://recursive.design)
|
||||
tag: "XPRN"
|
||||
display_name: "Expression"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "Inexpressive"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Expressive"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Axis used first in Recursive development, intended as a general purpose"
|
||||
" axis for any expressive variation; GF team requested a different approach"
|
||||
" to expressive axes, with more specificity."
|
33
axisregistry/grade.textproto
Normal file
33
axisregistry/grade.textproto
Normal file
@ -0,0 +1,33 @@
|
||||
# GRAD based on https://github.com/TypeNetwork/Opentype-1.8-Axis-Proposal/blob/gh-pages/proposal/Grade/ProposalSummary.md
|
||||
tag: "GRAD"
|
||||
display_name: "Grade"
|
||||
min_value: -1
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "Full Negative"
|
||||
value: -1
|
||||
}
|
||||
fallback {
|
||||
name: "Half Negative"
|
||||
value: -0.5
|
||||
}
|
||||
fallback {
|
||||
name: "Normal"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Half Positive"
|
||||
value: 0.5
|
||||
}
|
||||
fallback {
|
||||
name: "Full Positive"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Finesse the style from lighter to bolder in typographic color, by varying"
|
||||
" stroke thicknesses or other forms, without any changes overall width,"
|
||||
" inter-letter spacing, or kerning, so there are no changes to line breaks"
|
||||
" or page layout. Negative grade makes the style lighter, while positive"
|
||||
" grade makes it bolder. "
|
19
axisregistry/italic.textproto
Normal file
19
axisregistry/italic.textproto
Normal file
@ -0,0 +1,19 @@
|
||||
# ital based on https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_ital
|
||||
tag: "ital"
|
||||
display_name: "Italic"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "Roman"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Italic"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Adjust the style from roman to italic. This can be provided as"
|
||||
" a continuous range within a single font file, like most axes, or as a"
|
||||
" toggle between two roman and italic files that form a family as a pair."
|
23
axisregistry/monospace.textproto
Normal file
23
axisregistry/monospace.textproto
Normal file
@ -0,0 +1,23 @@
|
||||
# FOR TESTING ONLY [for now anyway]
|
||||
# MONO based on https://github.com/arrowtype/Recursive#variable-axes
|
||||
tag: "MONO"
|
||||
display_name: "Monospace"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: -2
|
||||
fallback {
|
||||
name: "Proportional"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Monospace"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Adjust the style from proportional (natural widths, default) to"
|
||||
" monospace (fixed width). Monospace is when all glyphs have the same"
|
||||
" total character width, and more wide or narrow letter proportions to fill"
|
||||
" the space such as a narrower 'w' or wider 'r.' Proportionally spaced"
|
||||
"fonts have letters drawn with more typical proportions, and each glyph"
|
||||
"takes up a unique amount of space on a line."
|
93
axisregistry/optical_size.textproto
Normal file
93
axisregistry/optical_size.textproto
Normal file
@ -0,0 +1,93 @@
|
||||
# opsz based on https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_opsz
|
||||
# fallbacks based on https://en.wikipedia.org/wiki/Traditional_point-size_names
|
||||
# plus discussion with dcrossland@
|
||||
tag: "opsz"
|
||||
display_name: "Optical size"
|
||||
min_value: 6
|
||||
max_value: 144
|
||||
default_value: 14
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "6pt"
|
||||
value: 6
|
||||
}
|
||||
fallback {
|
||||
name: "7pt"
|
||||
value: 7
|
||||
}
|
||||
fallback {
|
||||
name: "8pt"
|
||||
value: 8
|
||||
}
|
||||
fallback {
|
||||
name: "9pt"
|
||||
value: 9
|
||||
}
|
||||
fallback {
|
||||
name: "10pt"
|
||||
value: 10
|
||||
}
|
||||
fallback {
|
||||
name: "11pt"
|
||||
value: 11
|
||||
}
|
||||
fallback {
|
||||
name: "12pt"
|
||||
value: 12
|
||||
}
|
||||
fallback {
|
||||
name: "14pt"
|
||||
value: 14
|
||||
}
|
||||
fallback {
|
||||
name: "18pt"
|
||||
value: 18
|
||||
}
|
||||
fallback {
|
||||
name: "20pt"
|
||||
value: 20
|
||||
}
|
||||
fallback {
|
||||
name: "24pt"
|
||||
value: 24
|
||||
}
|
||||
fallback {
|
||||
name: "28pt"
|
||||
value: 28
|
||||
}
|
||||
fallback {
|
||||
name: "36pt"
|
||||
value: 36
|
||||
}
|
||||
fallback {
|
||||
name: "48pt"
|
||||
value: 48
|
||||
}
|
||||
fallback {
|
||||
name: "60pt"
|
||||
value: 60
|
||||
}
|
||||
fallback {
|
||||
name: "72pt"
|
||||
value: 72
|
||||
}
|
||||
fallback {
|
||||
name: "96pt"
|
||||
value: 96
|
||||
}
|
||||
fallback {
|
||||
name: "120pt"
|
||||
value: 120
|
||||
}
|
||||
fallback {
|
||||
name: "144pt"
|
||||
value: 144
|
||||
}
|
||||
description:
|
||||
"Adapt the style to specific text sizes, specified in Points. At smaller"
|
||||
" sizes, letters typically become optimized for more legibility, with loose"
|
||||
" spacing/kerning and thicker strokes with less detail. At larger sizes,"
|
||||
" letters are typically optimized for headlines with thinner strokes and"
|
||||
" more detailed forms, and more extreme weights and widths. When used in"
|
||||
" CSS, this axis is activated by default, but not all products/platforms"
|
||||
" use it automatically."
|
15
axisregistry/slant.textproto
Normal file
15
axisregistry/slant.textproto
Normal file
@ -0,0 +1,15 @@
|
||||
# slnt based on https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_slnt
|
||||
tag: "slnt"
|
||||
display_name: "Slant"
|
||||
min_value: -90
|
||||
max_value: 90
|
||||
default_value: 0
|
||||
precision: 0
|
||||
fallback {
|
||||
name: "Default"
|
||||
value: 0
|
||||
}
|
||||
description:
|
||||
"Adjust the style from upright to slanted, also known to typographers"
|
||||
" as an 'oblique' style. Rarely, slant can work in the other direction,"
|
||||
" called a 'backslanted' or 'reverse oblique' style."
|
16
axisregistry/softness.textproto
Normal file
16
axisregistry/softness.textproto
Normal file
@ -0,0 +1,16 @@
|
||||
# SOFT based on https://github.com/undercasetype/Fraunces#variable-axes
|
||||
tag: "SOFT"
|
||||
display_name: "Softness"
|
||||
min_value: 0
|
||||
max_value: 100
|
||||
default_value: 0
|
||||
precision: -1
|
||||
fallback {
|
||||
name: "Normal"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Soft"
|
||||
value: 100
|
||||
}
|
||||
description: "Along this axis, letterforms become more soft and rounded."
|
48
axisregistry/weight.textproto
Normal file
48
axisregistry/weight.textproto
Normal file
@ -0,0 +1,48 @@
|
||||
# wght based on https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_wght
|
||||
tag: "wght"
|
||||
display_name: "Weight"
|
||||
min_value: 1
|
||||
max_value: 1000
|
||||
default_value: 400
|
||||
precision: 0
|
||||
fallback {
|
||||
name: "Thin"
|
||||
value: 100
|
||||
}
|
||||
fallback {
|
||||
name: "Extra Light"
|
||||
value: 200
|
||||
}
|
||||
fallback {
|
||||
name: "Light"
|
||||
value: 300
|
||||
}
|
||||
fallback {
|
||||
name: "Regular"
|
||||
value: 400
|
||||
}
|
||||
fallback {
|
||||
name: "Medium"
|
||||
value: 500
|
||||
}
|
||||
fallback {
|
||||
name: "Semi Bold"
|
||||
value: 600
|
||||
}
|
||||
fallback {
|
||||
name: "Bold"
|
||||
value: 700
|
||||
}
|
||||
fallback {
|
||||
name: "Extra Bold"
|
||||
value: 800
|
||||
}
|
||||
fallback {
|
||||
name: "Black"
|
||||
value: 900
|
||||
}
|
||||
description:
|
||||
"Adjust the style from lighter to bolder in typographic color, by varying"
|
||||
" stroke thicknesses or other forms. This typically changes overall width,"
|
||||
" and so may be used in conjunction with axes for Width and Grade (if"
|
||||
" present)."
|
50
axisregistry/width.textproto
Normal file
50
axisregistry/width.textproto
Normal file
@ -0,0 +1,50 @@
|
||||
# wdth based on https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_wdth
|
||||
tag: "wdth"
|
||||
display_name: "Width"
|
||||
min_value: 50
|
||||
max_value: 200
|
||||
default_value: 100
|
||||
precision: -1
|
||||
# Instance values based on https://docs.microsoft.com/en-us/typography/opentype/spec/os2#uswidthclass
|
||||
fallback {
|
||||
name: "Ultra Condensed"
|
||||
value: 50
|
||||
}
|
||||
fallback {
|
||||
name: "Extra Condensed"
|
||||
value: 62.5
|
||||
}
|
||||
fallback {
|
||||
name: "Condensed"
|
||||
value: 75
|
||||
}
|
||||
fallback {
|
||||
name: "Semi Condensed"
|
||||
value: 87.5
|
||||
}
|
||||
fallback {
|
||||
name: "Normal"
|
||||
value: 100
|
||||
}
|
||||
fallback {
|
||||
name: "Semi Expanded"
|
||||
value: 112.5
|
||||
}
|
||||
fallback {
|
||||
name: "Expanded"
|
||||
value: 125
|
||||
}
|
||||
fallback {
|
||||
name: "Extra Expanded"
|
||||
value: 150
|
||||
}
|
||||
fallback {
|
||||
name: "Ultra Expanded"
|
||||
value: 200
|
||||
}
|
||||
description:
|
||||
"Adjust the style from narrower to wider, by varying the proportions of"
|
||||
" counters, stems, and other forms including overall spacinig and kerning."
|
||||
" This typically changes the apparent weight (what typographers call"
|
||||
" 'typographic color') in a subtle way, and so may be used in conjunction"
|
||||
" with axes for Width and Grade (if present)."
|
20
axisregistry/wonkiness.textproto
Normal file
20
axisregistry/wonkiness.textproto
Normal file
@ -0,0 +1,20 @@
|
||||
# WONK based on https://github.com/undercasetype/Fraunces#variable-axes
|
||||
tag: "WONK"
|
||||
display_name: "Wonkiness"
|
||||
min_value: 0
|
||||
max_value: 1
|
||||
default_value: 0
|
||||
precision: 0
|
||||
fallback {
|
||||
name: "Normal"
|
||||
value: 0
|
||||
}
|
||||
fallback {
|
||||
name: "Wonky"
|
||||
value: 1
|
||||
}
|
||||
description:
|
||||
"Controls the subsitution of wonky forms along the Optical Size axis. 'Off'"
|
||||
" (0) maintains more normalized letterforms, such as the leaning n/m/h in"
|
||||
" Roman, or the bulbous flags in the b/d/h/k/l of the Italic. In"
|
||||
" static fonts, this is also available as an OpenType Stylistic Set."
|
Loading…
Reference in New Issue
Block a user