google / google/fonts

Statics with download of Recursive from Google Fonts work poorly on Windows, macOS, Adobe apps, and probably more

Open
#2,616 17 comments 3 reactions 0 assignees View on GitHub
I Font Bug z_Inter
Dominant language
HTML
Stars
20.5k
Forks
2.9k
Avg merge
1d 21h
Merged PRs (30d)
95

Description

The static fonts for Recursive that are available via the "Download Family" function of the [Recursive specimen on Google Fonts](https://fonts.google.com/specimen/Recursive) have several issues that make them very unuseful in most contexts.

This is a particular problem because many designers would be likely to use static fonts to design a website or app before then using Google Fonts to provide the fonts on the web. And, many popular design tools currently work best with static fonts – exporting variable fonts to PDFs is flaky, and variable fonts aren’t yet supported at all in Figma.

Until this can be resolved, I propose that we replace the current, auto-generated fonts with the statics available from the [official Recursive releases](https://github.com/arrowtype/recursive/releases). I know this approach may not work for every family, but the Recursive statics have been specifically engineered by Ben Kiel, a type engineer with years of experience, so it would be worth making an exception to use the higher-quality fonts until the auto-generated instances can perform as well.

## Issues include

### Filenames

Filenames are confusing. They should do something to include the instance names, such as `RecursiveMonoCslSt-BlkItalic.otf` (an abbreviated form used in the Recursive releases – possibly, it would be even better with less abbreviation). Instead, the downloads from Google Fonts specify the weight first, then axis values, which are hard to understand without a fairly deep knowledge of the font, such as `Recursive-Black-CASL=0-CRSV=1-MONO=0-slnt=0.ttf`.

![image](https://user-images.githubusercontent.com/45946693/89975483-dac4e100-dc33-11ea-969b-41a33a736482.png)

### Font style sorting & availability

- The font metadata only uses weight descriptors in style names, which disrupts macOS Font Book, as well as font menus in many or all apps. In Font Book, styles are marked as duplicates, and "Resolve Automatically" deletes all but one of each weight.

![image](https://user-images.githubusercontent.com/45946693/89974708-c8e23e80-dc31-11ea-84c7-d9b3c6add948.png)

- In Adobe apps, this style naming results in just seven available styles, which aren’t even in a consistent subfamily, making them totally confusing and more or less impossible to use together.

![styes available in adobe](https://user-images.githubusercontent.com/45946693/89974462-2b870a80-dc31-11ea-8c28-cda57621728c.png)

![Kapture 2020-08-12 at 0 15 49](https://user-images.githubusercontent.com/45946693/89974419-07c3c480-dc31-11ea-8d3b-74a2adb36e02.gif)

- There are also problems in other apps. In Sketch, for example, the menu appears to show a bunch of "Regular" styles all selected at the same time:

![image](https://user-images.githubusercontent.com/45946693/89974596-7ef95880-dc31-11ea-95cb-fc5609d804f4.png)

- In Figma, the issue is similar to Adobe apps, though it is a different arbitrary seven styles that are available.

![image](https://user-images.githubusercontent.com/45946693/90041419-42604800-dc97-11ea-9ece-8fe971a49840.png)

- This is perhaps even worse on Windows, where the repeated names make it impossible to install all of the static instances at the same time. (Then again, even though Mac allows all instances to be installed, only a few are actually selectable, so it’s a tossup of what’s worse.)

![image](https://user-images.githubusercontent.com/45946693/89975190-23c86580-dc33-11ea-8348-0e4e267dd7c1.png)

### General disruption of design intent

- Weight is used as the principle/only sorting category. Not only does that cause practical issues of file handling & text layout, but it also isn’t a very useful way to break down this family. Instead, it is much simpler to think of as four sub-families (Sans Casual, Sans Linear, Mono Casual, & Mono Linear), each with a range of weight & italics. Here’s a table of the instances designed for the font, illustrating the intended subfamilies:

![image](https://user-images.githubusercontent.com/45946693/89975531-fcbe6380-dc33-11ea-934f-caac1f94b1c7.png)

### Incorrect & Limited styles

- The GF download statics exclude any slanted styles.
- Half the fonts are upright but have "CRSV" at 1, making them upright italics. These work okay as fonts, but I don’t think they are the most useful part of the family. They look maybe a little more frilly than I think tends to be useful.
- The fonts exclude ExtraBlack styles at wght=1000

## Solutions

- It seems that these static instances must have been generated based on a combination of available values in each axis. Instead, these styles should be generated from the preset instances listed in the `fvar` table.
- For this family, we already have thoughtfully-produced static fonts that will very likely work better and in more places than static fonts instantiated from the variable font. So, we should probably include these in the download.

I know it takes a lot to make a service as complex as Google Fonts, and I know things like this are inevitable. But, I’m hoping it can be resolved relatively quickly, as the main solution is pretty simple. Let me know if you need any further info. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.