googlefonts / googlefonts/fontmake

name and fvar writing differences between 2.1.3 and 2.1.4

Open
#672 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
888
Forks
97
Avg merge
4d 52m
Merged PRs (30d)
1

Description

I am experiencing a strange issue when I am producing a variable font via fontmake. It seems that version 2.1.3 and 2.1.4 write a different fvar table.

I am working on [https://github.com/kosbarts/Commissioner](url)

# The Setup #
The instance setup contains 54 instances bundled in 3 "subfamilies" (Commissioner Normal, Commissioner Flair, Commissioner Loud) of 9 upright + 9 italics.

I am using the same Glyphs file to produce the VF and the statics (which are bundled in 3 subfamilies). Thus, the Style names of all Thin instances are identical (Thin) but there is a custom FamilyName, PreferredFamilyName parameter that define the name of the "subfamily".

# Version 2.1.3 #
When producing the file via 2.1.3 the name table entries contain a single entry for each instance, even though the names might be identical (so there are 3 entries for Thin, 3 for Regular, etc.)

The named instances in the fvar table for each unique combination of axes values point to the corresponding name in the name table.

After production, I can patch the name table (as well as the STAT) using ttx and correct the duplicate names with my preferred ones.

You can observe the original vs the patched files and the ttx'd STAT, name, and fvar tables here:
[https://github.com/kosbarts/Commissioner/tree/master/fonts-tests/variable_fm213-fb724](url)

# Version 2.1.4 #
When producing with 2.1.4, the name table omits all repetitions of names and keeps just one set of Thin, ExtraLight, Regular, etc...

The named instances in the fvar table, even though they are actually corresponding to different axes values combinations, they point to the same name id's. (So all "Thin" point to "260")

The patch that I am using obviously is not working because even though I introduce the correct name tags, the fvar table is not patched and points to the "limited" set of name id's.

You can observe the original vs the patched files and the ttx'd STAT, name, and fvar tables here:
[https://github.com/kosbarts/Commissioner/tree/master/fonts-tests/variable_fm214](url)

# Question #
Has this change been intentionally introduced or is it some bug?

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.