Skip to content

googlefonts/roboto-flex-avar2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RobotoA2

Alpha version of RobotoFlex made with avar2 data. (work in progress)

Table of contents

Current folder structure

RobotoA2
├── docs/
├── fonts/
├── OFL.txt
├── source/
├── README.md
├── requirements.txt
├── tools/
Fonts
This folder contains variable font binaries for testing, in subfolders for different stages of the project.
Source
This folder contains various source files used to design and build the variable fonts. Source files include UFO font sources, designspace files, Python scripts, as well as additional text files with data for glyph sets, glyph constructions, measurements, parametric blends, and fences.
docs
This folder is meant to contain font proof tests. It currently contains only a txt with strings comparing Amstelvar1 to AmstelvarA2.

Fonts Folder

The Fonts folder currently contains two subfolders which correspond to different development stages of the project.

Fonts
├── TechAlpha/
├── AsciiAlpha/
TechAlpha
Our first (failed) attempt at building an avar2 font. ⚠️ These files are no longer useful and can probably be archived in a branch.
AsciiAlpha
Our second (successful) attempt at building an avar2 font, and current development stage. This subfolder contains the current working files (more details below).

ASCII Alpha

AsciiAlpha
├── RobotoA2-avar1-VF.ttf
├── RobotoA2-avar2-VF.ttf
└── RobotoA2-avar2-fences-VF.ttf
RobotoA2-Roman_avar1.ttf
Variable font in avar1 format. Blended axes are created by instantiating their extrema from parametric axes, and inserting them into the designspace as sources.
RobotoA2-Roman_avar2.ttf
Variable font in avar2 format. Blended axes are created by defining mappings from parametric axes to extrema input values.
RobotoA2-Roman_avar2_fences.ttf
Attempt to build an avar2 font with “fences” to restrict the limits of parametric values at blended extrema locations. ⚠️ The added fences work at the default location, but not at the blended extrema.*

* see Implementing fences

Source folder

Just like the Fonts folder, the Sources folder contains subfolders which correspond to different stages of the project:

Source
├── TechAlpha/
├── Parametric-avar2/
└── tools/
TechAlpha
Sources in the TechAlpha folder were derived from the original RobotoFlexavar1 parametric sources. A measurements file in JSON format is included, as well as the original extrema sources in a subfolder. With the exception of the `extrema` sources and the measurements file (which are used in the initial blends calculation, see below), all other files are no longer useful and can probably be archived in a branch.
Parametric-avar2
Sources in the Parametric-avar2 folder were recreated from a revised default. These are the current workin files.
tools
This folder collects various small scripts which were used during development of TechAlpha and/or Parametric-avar2 sources. Most of them are no longer needed. The most relevant ones are listed below.

Tools folder

A selection of production scripts which are worth mentioning:

glyphConstruction folder
Contains all the glyphconstruction recipes by script
copyGlyphsToSources.py
Copy base glyphs from the default to the parametric sources.
fixGlyphs.py
Used make miscellaneous fixes needed glyphs on all the defined sources.
getRecipe.py
Used to get the current glyph construction recipes, without anchors.
mark-components.py
Mark glyphs in the current font containing components with different colors depending on their components' nesting level.

Parametric-avar2

Folder containing source files, designspace, and variable font.

Roman
├── *.ufo
├── measurements.json
├── blends.json
├── fences.json
├── features
│   └── *.fea
├── instances
│   ├── RobotoA2-opsz8.ufo
│   ├── RobotoA2-opsz144.ufo
│   ├── RobotoA2-wdth25.ufo
│   ├── RobotoA2-wdth151.ufo
│   ├── RobotoA2-wght200.ufo
│   └── RobotoA2-wght800.ufo
├── RobotoA2.designspace
├── RobotoA2-avar1.designspace
├── RobotoA2-avar2.designspace
└── RobotoA2-fences.designspace
*.ufo
Font sources in UFO format, with files named according to their variation parameters.
measurements.json
Standalone JSON file containing definitions for various font- and glyph-level measurements. Created using the Measurements tool from the VariableValues extension. See Measurements format for documentation of the data format.
blends.json
Standalone JSON file containing definitions of blended axes and blended sources from parametric axes. This data is used to build the avar2 designspace.
fences.json
Standalone JSON file containing definitions of min/max fence values for parametric values at blended sources. This data is used to add mappings for fences to the avar2 designspace (experimental).
features
Subfolder with files containing OpenType code which can be linked to the source fonts. Currently not used when building the variable fonts.
instances
Subfolder containing instances generated from the parametric sources, which are used to add blended axes to the avar1 designspace. Also useful for comparison with the original RobotoFlex var1 sources for blended extrema.
RobotoA2.designspace
Basic parametric designspace for use during design and development. Also used to build instances for the avar1 designspace.
RobotoA2-avar1.designspace
Designspace for building avar1 variable font. Includes the blended instances as sources for blended axes.
RobotoA2-avar2.designspace
Designspace for building avar2 variable font. Includes avar2 mappings which define blended sources from parametric values.
RobotoA2-avar2-fences.designspace
Experimental designspace containing avar2 mappings for fences. Includes avar2 mappings of fences for the default and blended extrema.
Scratch folder
Parametric axis from RobotoFlex public version.

* All variable fonts are built into the Fonts/AsciiAlpha folder.

The designspace and variable font builder

The different Variable Fonts are built by a single build-RobotoAvar2.sh shell script.

First make virtualenv.

virtualenv tools/robotoflexA2-env

Then install dependencies.

source tools/robotoflexA2-env/bin/activate
pip install -r requirements.txt
deactivate

Finally build Variable Fonts.

sh source/Parametric-avar2/build-RobotoAvar2.sh

About

Alpha version of Roboto Flex with avar2 data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published