1
0
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:
Nathan Williams 2020-07-13 15:52:55 -07:00 committed by GitHub
parent 81cdd01607
commit 4bd3c05add
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 415 additions and 0 deletions

View File

@ -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
View 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.

View 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."

View 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."

View 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."

View 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. "

View 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."

View 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."

View 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."

View 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."

View 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."

View 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)."

View 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)."

View 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."