Skip to content

Commit f882e3a

Browse files
authored
Merge branch 'main' into process-update
2 parents b182e3e + 431e516 commit f882e3a

33 files changed

Lines changed: 290 additions & 288 deletions

gf-guide/article.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ You can copy/paste the following line (don’t forget to adjust the URL):
5353
<span style="border-bottom:0.05em solid">Example:</span>
5454

5555
> This font was upgraded in July 2021 to expand its language coverage. It now supports Greek and Cyrillic.
56-
- **We only accept** **`.en_us`** **extension**, but you can definitely add a translation to the description when the font primarily targets an audience reading a non-latin script.
57-
- If the primary script of your font is not Latin, we strongly recommend you also provide a translation of the text using the actual main script. **This localised text must be in the same html snippet as the English text.**
56+
- **We only accept** **`.en_us`** **extension**, but you can definitely add a translation to the description when the font primarily targets an audience reading a non-Latin script.
57+
- If the primary script of your font is not Latin, we strongly recommend you also provide a translation of the text using the actual main script. **This localized text must be in the same HTML snippet as the English text.**
5858

5959
### Format text with the font family
6060

@@ -80,12 +80,12 @@ There are two options to include videos in the Article file: `MP4` with a max fi
8080
- For the `MP4` video inclusion, it must follow this format:
8181

8282
`<video autoplay muted src="your-video-name.mp4" type="video/mp4"></video>`
83+
84+
or, if you need to loop it:
8385

84-
or, if you need to loop it:
85-
86-
`<video loop autoplay muted src="video1.mp4" type="video/mp4">
86+
```<video loop autoplay muted src="video1.mp4" type="video/mp4">
8787
Your browser does not support the video tag.
88-
</video>`
88+
</video>```
8989
9090
You can see these cases as reference: <a href="https://github.com/google/fonts/blob/main/ofl/danfo/article/ARTICLE.en_us.html">Danfo</a>, <a href="https://github.com/google/fonts/blob/main/ofl/savate/article/ARTICLE.en_us.html">Savate</a>
9191
@@ -110,16 +110,16 @@ There are two options to include videos in the Article file: `MP4` with a max fi
110110
111111
## Examples
112112
113-
### Without localised text
113+
### Without localized text
114114
115115
See [Space+Grotesk#about](https://fonts.google.com/specimen/Space+Grotesk?query=Space+Grotesk#about) provided by [DESCRIPTION.en_us.html](https://github.com/floriankarsten/space-grotesk/blob/master/DESCRIPTION.en_us.html) as an example: it gives plenty of links (mini-website, original authors, referenced font published in GF), and follows all requirements.
116116
117117
118-
### With localised text
118+
### With localized text
119119
120120
See [Zen+Antique#about](https://fonts.google.com/specimen/Zen+Antique#about) as an example, provided by this file [DESCRIPTION.en_us.html](https://github.com/google/fonts/blob/main/ofl/zenantique/DESCRIPTION.en_us.html).
121121
122-
**Html snippet**
122+
**HTML snippet**
123123
124124
``` code
125125
<p>Zen Antique features two kinds of Antique Japanese with Kanji.

gf-guide/authors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
🦤 Authors and contributors are people or industries participating into a project either because they paid for it, they employed people who created and produced it, or because they are the people who made it.
1111

1212
<ul>
13-
<li> The list of authors generally includes the creators and all the possible copyright holders (such as the company employing the actual creators). This may differ according to the copyright laws of the author’s country; better to inform yourself if the project was commissioned by an instiution or a company.</li>
13+
<li> The list of authors generally includes the creators and all the possible copyright holders (such as the company employing the actual creators). This may differ according to the copyright laws of the author’s country; better to inform yourself if the project was commissioned by an institution or a company.</li>
1414
<li> The list of contributors generally includes everyone who participated in the project to a large degree: producers, engineers, developers etc. (including non–copyright-holders). </li>
1515
</ul>
1616

gf-guide/axis-registry.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ However, this option is strongly discouraged and should be the last case scenari
7272
Derived from case 1.2. If a registered axis matches the function and name but not the range values of the incoming axis, then the following could be applied.
7373

7474
- The axis range can be increased if a family requires wider range values.
75-
- The type of value can’t be changed (e.g. boolean to ranges.)
75+
- The type of value can’t be changed (e.g. Boolean to ranges.)
7676
- If the default value of the new font does not match the registered axis default it can be overridden on the family `METADATA.pb` file, it must not be modified in the axis registry. Refer to the `default_value` in the *Axis Requirements* section of this document.
7777

7878

@@ -104,12 +104,12 @@ The `tag` is used to specify an axis in font-variation-settings, CSS API request
104104

105105
- #### Defining the type of axis and range values wisely
106106
As with the name definition, the axis' type of value should be reusable. It should both serve the particular needs or uses of the project submitting the axis and try to anticipate the possible ways it could be used for other projects (See [Type of axis](https://googlefonts.github.io/gf-guide/axis-registry.html#types-of-axis))
107-
- Defining an axis as a boolean might not be valid for further font project needs, as is happening now with Wonky axis.
107+
- Defining an axis as a Boolean might not be valid for further font project needs, as is happening now with Wonky axis.
108108
- Ranges that are overly narrow or too wide would leave either insufficient room for the inclusion of other steps or too much to create meaningless intermediate steps. As an example, YEAR axis original range was including only the period covered by the original project (1979-2050). The range was redefined to a broad scope that could support other projects using the axis (-4000 — 4000).
109109
- The following values must be included
110110
- **`min_value`** The lower bound of the axis. Inclusive.
111111
- **`max_value`** The upper bound of the axis. Inclusive.
112-
- **`default_value`** Default position of the aixs.
112+
- **`default_value`** Default position of the axis.
113113
The default value should work as a reference. It is possible to override it in the family `METADATA.pb` file so that the axes keep their reusable purpose. Please refer to the <a href="https://googlefonts.github.io/gf-guide/metadata.html#registry_default_overrides" target=_blank>registry_default_overrides</a> entry under the Metadata file section for details on this process.
114114
- **`precision`** Describes the specificity at which an axis position can be specified.
115115
For example, 0 means values must be specified as whole numbers while -1 means values can be as precise as one decimal place. A percentage axis going from 0 -- 100 with a precision value `0` allows one hundred accessible intermediate positions, while a value `-1` would determine one thousand positions 0.0 -- 100.0.
@@ -120,7 +120,7 @@ For server implementation reasons, new custom axis registries require to include
120120
- #### The `fallback_only` field affects the way the type tester surfaces the axis control.
121121
It determines whether only the fallback positions should be used.
122122
- `false` value is used for a continuous range axis displaying a slider to reach all the intermediate points
123-
- `true` value would be used in cases like `Italic` boolean axis to display an "on/off" toggle, or `Cursive`, a pseudo boolean which was registered with three fallbacks positions, and so it uses radio buttons to give access to those positions. However, as stated in the *Type of Axis* section, binary and pseudo-boolean axes are expected to be avoided or rather exceptions.
123+
- `true` value would be used in cases like `Italic` Boolean axis to display an "on/off" toggle, or `Cursive`, a pseudo Boolean which was registered with three fallbacks positions, and so it uses radio buttons to give access to those positions. However, as stated in the *Type of Axis* section, binary and pseudo-Boolean axes are expected to be avoided or rather exceptions.
124124

125125
<figure>
126126
<img src="images/axis/TypeTester-radio-buttons.png" style="width:300px" />
@@ -150,13 +150,13 @@ Commonly percent (0..100) or “per mille of em” (0..1,000). Within ranges, tw
150150
The default is usually always the same, e.g. 400 wght, 100 width, 0 mono.
151151
For new expressive axes, the default range for these is likely to be a percent range 0..100, and probably with a 0 precision value (meaning no decimal places). The default might be 0, 50 or 100 depending on if the axis is adding something that usually isn't used, something that usually is used but can be turned up or down, or something usually used that can be removed. Width is unusual as a relative percent range, as it has 100 as default and goes up and down from there.
152152

153-
- **Binary, pseudo boolean** (0, 1 but with a range 0.00..1.00)
154-
Few binary axes have been registered as pseudo boolean behavior with off and on positions but with two or three decimal places allowing a range. The difference with a percent (0 to 100) range would be semantical, related to the amplitude of variation that an axis expresses. Going from 0 to 1 with decimals could be interpreted as how much of the completeness of a single unity/entity it represents. In contrast, the percentage understanding implies the possibility of defining many stops that suggest different concepts within the range.
153+
- **Binary, pseudo Boolean** (0, 1 but with a range 0.00..1.00)
154+
Few binary axes have been registered as pseudo Boolean behavior with off and on positions but with two or three decimal places allowing a range. The difference with a percent (0 to 100) range would be semantic, related to the amplitude of variation that an axis expresses. Going from 0 to 1 with decimals could be interpreted as how much of the completeness of a single unity/entity it represents. In contrast, the percentage understanding implies the possibility of defining many stops that suggest different concepts within the range.
155155
<br><br>
156-
<a href="https://fonts.google.com/knowledge/glossary/fill_axis" target="_blank">Fill</a> is a good example of this axis where the numbers indicate proportion filled, from 0 (no treatment) to 1 (completely filled). Another pseudo boolean case <a href="https://fonts.google.com/knowledge/glossary/cursive_axis" target="_blank">Cursive</a>, an axis with the same binary definition of on and off but with an intermediate point "auto" at 0.5 that would add a third behavior option allowing it to change automatically according to another axis that conditions it.
156+
<a href="https://fonts.google.com/knowledge/glossary/fill_axis" target="_blank">Fill</a> is a good example of this axis where the numbers indicate proportion filled, from 0 (no treatment) to 1 (completely filled). Another pseudo Boolean case <a href="https://fonts.google.com/knowledge/glossary/cursive_axis" target="_blank">Cursive</a>, an axis with the same binary definition of on and off but with an intermediate point "auto" at 0.5 that would add a third behavior option allowing it to change automatically according to another axis that conditions it.
157157

158158

159-
Going forwards, we would like to see the registry more consistent. Most of the upcoming axes are likely to be Relative ones with a percent range since users are more accustomed to thinking about things in terms of percentages (particularly for technical stuff) and more comfortable with integers than decimals. Hence, **pseudo-boolean axes are expected to be avoided or rather exceptions**.
159+
Going forwards, we would like to see the registry more consistent. Most of the upcoming axes are likely to be Relative ones with a percent range since users are more accustomed to thinking about things in terms of percentages (particularly for technical stuff) and more comfortable with integers than decimals. Hence, **pseudo-Boolean axes are expected to be avoided or rather exceptions**.
160160

161161

162162
#### Absolute range axes
@@ -179,7 +179,7 @@ Absolute axes, by their nature, have no meaningful per registry/library default
179179
- An expected case of use from the user’s point of view. It would be a “Why do we need this” section, reasoning on why or how the users might use it. This explanation would help to discern the validity of the axis itself and its definitions such as the ranges, a concern that has arisen when reviewing new axes (e.g. discussing Year, HEXP/ TRACK).
180180
<br>
181181
This information will also help to create the additional educational content required (detailed below.)
182-
- An image (gif or video) showing the effect of the axis in the font.
182+
- An image (GIF or video) showing the effect of the axis in the font.
183183
- The reviewing process (discussion and decisions) of the proposed axis and its metadata fields should happen on the issue before creating the PR for the axis inclusion. Do not create a PR simultaneously as the proposal issue to avoid having the discussion take place in two different places making the process slower and harder to follow and conclude.
184184

185185

@@ -210,13 +210,13 @@ Therefore, additional educational information should be created to communicate m
210210

211211
## Foreseeable scenarios
212212

213-
Over time, following the AVAR 2 table development, it is expected type designers will combine the axes in many ways to create synthetic ones and make, for example, the OpenType features as variation axes.
213+
Over time, following the avar2 table development, it is expected type designers will combine the axes in many ways to create synthetic ones and make, for example, the OpenType features as variation axes.
214214

215215
This would allow for the user to choose things like the size or thickness of features like Old Style Figures or Small Caps. This approach would also reduce the file size as the data for these axes does not exist; they are composed of the combination of other axes. Roboto Flex is 1.8 Mb, but Roboto Flex with avar2 Is approximately 300 Kb, an 80% file size savings.
216216

217217
Eventually, the registry of those synthetic axes should follow the same protocol for their inclusion.
218218

219-
Similarly, eventually, *Stylistic Sets* could become a variation axis since for them to interact with another axis, they had to be an axis on its own. That is the case of the Wonky axis, which is an axis controlling glyph substitutions, but being it an axis it can interact with the Optical Size axis to activate it at discresion.
219+
Similarly, eventually, *Stylistic Sets* could become a variation axis since for them to interact with another axis, they had to be an axis of their own. That is the case for the Wonky axis, which is an axis controlling glyph substitutions, but being it an axis it can interact with the Optical Size axis to activate it at its discretion.
220220

221221

222222
<!-- Glossary (to-do)
@@ -229,7 +229,7 @@ Knowledge Content Editor -->
229229
Some fonts provide named positions on a custom axis. For example, the Element Shape in Handjet defines different shapes at each integer value along the axis (Triangle, Square, Lozengue, etc) and Kablammo’s design is centered around four named positions on a custom axis.
230230
<!-- Without named positions, Kablammo’s design center "gets lost". Ideally, the named positions would be available to the fonts.google.com Type Tester as a dropdown. It may also make sense to use the named positions when creating a download zip. -->
231231

232-
Named positions are similar to, but different than, fallback positions. Fallback positions were originally defined for the legacy axes, width and weight, to cover the axis values that matched the pre-VF world. Google Fonts creates static instances at each of the fallback positions and delivers them when a requestor does not support VFs. For example, when wght=451 is requested by a non-VF client, Google Fonts could deliver weight 500.
232+
Named positions are similar to, but different than, fallback positions. Fallback positions were originally defined for the legacy axes, width and weight, to cover the axis values that matched the pre-VF world. Google Fonts creates static instances at each of the fallback positions and delivers them when a requester does not support VFs. For example, when wght=451 is requested by a non-VF client, Google Fonts could deliver weight 500.
233233

234234
Additionally, fallback positions are defined on the axis and not on the font with the expectation that all fonts that support an axis will want the same fallback positions (very reasonable for legacy support).
235235

@@ -254,4 +254,4 @@ These are some links where you could find more detailed information about this C
254254
<div class="next-reading">
255255
Further reading:<br>
256256
<mark class="brown">team&nbsp;</mark> <a href="./metadata">METADATA file</a>
257-
</div>
257+
</div>

gf-guide/build.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Using a `yaml` file with more detailed instructions is a preferred option to hav
156156
gftools builder config.yaml
157157
```
158158

159-
### Config file for simple font
159+
### Config file for a simple font
160160

161161
For Example: [JetBrains Mono](https://github.com/JetBrains/JetBrainsMono/blob/master/sources/config.yaml)
162162

@@ -184,7 +184,7 @@ buildOTF: false
184184

185185
→ Note that the `ital` axis shouldn’t be in the source files if the Roman is separated for from the Italic. Although, the axis order is here to describe the entire design space of the family, so the `ital` should be mentioned to properly set up the style linking between the two files, as well as a complete `STAT` table.
186186

187-
### Config file for complex font
187+
### Config file for a complex font
188188

189189
For example: [Texturina](https://github.com/Omnibus-Type/Texturina/blob/master/sources/config.yaml), [Montserrat](https://github.com/googlefonts/Montserrat/blob/master/sources/config.yml), [Roboto Serif](https://github.com/googlefonts/roboto-serif/blob/main/sources/config.yml).
190190

0 commit comments

Comments
 (0)