Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mastering for Google Fonts & GitHub Releases #253

Merged
merged 43 commits into from
Oct 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
6d0eef2
add details & docs for build venv
arrowtype Oct 12, 2020
4bcf524
update axis names (see google/fonts/issues/2741)
arrowtype Oct 13, 2020
a90eec6
clean out old fontbakery reports
arrowtype Oct 13, 2020
e85eb3c
update instance names in source, ds, & build files
arrowtype Oct 13, 2020
ef8d2b8
build fonts with updated instance names
arrowtype Oct 13, 2020
2fb2490
improve logging statement
arrowtype Oct 13, 2020
0ed9cc5
fix com.google.fonts/check/varfont/regular_opsz_coord
arrowtype Oct 13, 2020
ab5b3ea
get fixNameTable script working for VFs again
arrowtype Oct 13, 2020
5d19866
updating to simpler STAT build script
arrowtype Oct 14, 2020
102b1a4
split static & variable build scripts
arrowtype Oct 14, 2020
4b23525
sort old mastering scripts into 'deprecated' folder
arrowtype Oct 14, 2020
7d79048
build with improved STAT build flow
arrowtype Oct 14, 2020
084724b
prevent fixNameTable.py from setting RIBBI family name as 'None'
arrowtype Oct 15, 2020
d623610
remote & gitignore fontmake-generated UFO instances
arrowtype Oct 15, 2020
eb2ed75
build statics with RIBBI family names intact
arrowtype Oct 15, 2020
483417d
update designspaces & build static fonts with name "sharp" elided
arrowtype Oct 15, 2020
ef545af
removing excess instances in variable designspaces; change SOFT defau…
arrowtype Oct 15, 2020
044b7bc
change "Wonky" rule name to "NonWonky" for clarity
arrowtype Oct 15, 2020
e822e16
correct "Italic" family/style naming in Italic sources
arrowtype Oct 15, 2020
3360f45
build Roman & Italic VFs that have single family name in menus
arrowtype Oct 15, 2020
d98e84d
rebuild to prep for packaging
arrowtype Oct 15, 2020
3af0686
add ligature caret anchors to sources
arrowtype Oct 15, 2020
f539053
rebuild fonts with ligature carets
arrowtype Oct 15, 2020
8b434af
build fonts without glyph production names
arrowtype Oct 16, 2020
fef2957
Merge branch 'master' of github.com:undercasetype/Fraunces into maste…
arrowtype Oct 16, 2020
dc1170d
update stylename from "ExtraSoft" to "SuperSoft", per undercasetype/F…
arrowtype Oct 16, 2020
4555174
WIP on GH release scripts; building new fonts
arrowtype Oct 19, 2020
fd2cd70
update fontinfo style names so that "Sharp" is elided in PS & Full names
arrowtype Oct 19, 2020
bd792f9
add shell script to generate woff2s
arrowtype Oct 23, 2020
3196599
generate woff2s
arrowtype Oct 23, 2020
8ec84d9
organizing mastering scripts
arrowtype Oct 23, 2020
199ea4a
make serviceable variable font subsets & example html+css
arrowtype Oct 24, 2020
8f520ab
improve latin-ext subset
arrowtype Oct 24, 2020
b5c3da0
integrate roman & italic variable subsets & example code; add subsets…
arrowtype Oct 24, 2020
b4d5357
handle release versioning & organization in build & release scripts
arrowtype Oct 24, 2020
ebe756f
document added build & release scripts
arrowtype Oct 24, 2020
101db2a
Clarifying docs on mastering & releases
arrowtype Oct 25, 2020
f813b42
improve docs; build fonts again to set to 1.000
arrowtype Oct 25, 2020
b718b0a
fix static build to avoid backup-fonttools-prep-gasp TTFs; remove the…
arrowtype Oct 26, 2020
da0f8f5
remove old zips in make-release script
arrowtype Oct 26, 2020
b76b70a
add commit hash version to build scripts
arrowtype Oct 26, 2020
91c3f71
commit-hash stamp font versions in fonts dir
arrowtype Oct 26, 2020
59a776e
correct some build instructions in the readme
arrowtype Oct 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,12 @@
*.vfbak
fonts/Fraunces[GOOF,WONK,opsz,wght].ttf
fonts/Frances-Italic[GOOF,WONK,opsz,wght].ttf
# mastering
venv
mastering/checks
# fontmake-generated files
sources/Roman/instances/*
sources/Italic/instances/*

# ignore release files
UnderCaseType_Fraunces_*
68 changes: 64 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Axis | Tag | Range | Default | Description
--- | --- | --- | --- | ---
Optical Size | opsz | 9pt to 144pt | 144pt | Labeled 9pt, 72pt, and 144pt in instances.
Weight | wght | 100 to 900 | 900 | Labeled Thin, Light, Regular, Semibold, Bold, and Black in instances.
Softness | SOFT | 000 to 100 | 100 | Labeled S000, S050, and S100 in instances.
Softness | SOFT | 000 to 100 | 100 | Labeled Sharp, Soft, and SuperSoft in instances.
Wonky | WONK | 0 to 1 | 1 | Binary axis controls substitution of "wonky" characters. Automatically substitutes when opsz > 18. Not listed in instances.

### Axis Definitions
Expand Down Expand Up @@ -48,12 +48,72 @@ A binary axis that subsitutes `wonk` characters for more normalized characters,

![alt text](documentation/explanations/wonk_axis.gif "Changes in Wonk")

## Building the Font
## Building the Fonts

From terminal, run the build script at `sources/build.sh`. Fonts output to `fonts/`
From terminal, run the build script at `sources/build-all.sh`. Fonts output to `fonts/`.

[@arrowtype's Recursive project](https://github.com/arrowtype/recursive) has a much more thorough breakdown of how to set up a virtual environment and install requirements.
NOTE: The first time you build, you will need to set up a virtual environment and install dependencies:

<details>
<summary><b><!-------->Setting up the build environment<!--------></b> (Click to expand)</summary>

### Set up the environment

To build, set up the virtual environment

```bash
python3 -m venv venv
```

Then activate it:

```bash
source venv/bin/activate
```

Then install requirements:

```bash
pip install -U -r requirements.txt
```

And finally, give the build scripts permission to run/execute (you can copy & paste, then run both lines in the terminal at once):

```bash
chmod +x sources/**/*.sh
chmod +x mastering/make-github-release/**/*.sh
```

Now, you can run `sources/build.sh`!

</details>

### Build fonts

Once you have set up the environment (see above), you can build fonts & prep releases!

When building a new version, add a version number (in the format of `1.001`) to update the UFO versions & version the fonts correctly. If you aren’t sure what version you should be building, check the number of the latest release in https://github.com/undercasetype/Fraunces/releases, then increment by `.001`. If you leave out the version number, it will just build with the same version number that already exists in the UFO sources.

To build variable and static fonts, plus make woff2s, use `build-all.sh`. This takes awhile (most of the time is taken up by building TTF & OTF static fonts).

```bash
sources/build-all.sh 1.000 # optional: place your desired version number as an argument
```

If you just want to build variable fonts, use `build.sh`:

```bash
sources/build-scripts/build-vf.sh 1.000 # optional: place your desired version number as an argument
```

To build only the static fonts (these are secondary to the variable fonts, so you can’t set the version numbers in this script), use `build-statics.sh`:

```bash
sources/build-scripts/build-statics.sh
```

## Production Notes

If you are doing any work on this repo, please read the production notes [here](https://github.com/undercasetype/Fraunces/tree/master/sources).

If you are looking for notes on making GitHub Release packages, see [mastering/README.md](mastering/README.md).
Binary file modified fonts/Fraunces-Italic[SOFT,WONK,opsz,wght].ttf
Binary file not shown.
Loading