googlefonts / googlefonts/fontmake
Sources with no kerning or GPOS features are inconsistent between variable and static instance TTFs
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
_EDIT: Issue edited and narrowed to a more specific issue based [on our findings below](https://github.com/googlefonts/fontmake/issues/998#issuecomment-1555040692)._
When a designspace contains sources that do not kern any pairs and have no GPOS features, fontmake fills them with interpolated kerning when building variable TTFs, but may not when building static instance TTFs.
## Reproducing
1. Obtain a font that has one kerned source and one unkerned source.
2. With fontmake, build variable and static instance TTFs:
* `fontmake -m DESIGNSPACE -o variable`
* `fontmake -m DESIGNSPACE -o ttf -i`
3. Navigate to the location of the unkerned source in both the variable and static instance TTFs.
4. Compare the kerning of a pair that has kerning in the neighbouring source.
### Expected Behaviour
The kerning is the same in the variable TTF and its corresponding static instance TTF.
### Actual Behaviour
The variable TTF has interpolated kerning but the static instance TTF does not.
## Example
Attached is a copy of [supertype.de](supertype.de)'s open source font Blinker, which I have destroyed to produce a minimal test case: [Reproducer.zip](https://github.com/googlefonts/fontmake/files/11516385/Reproducer.zip)
This modified font interpolates the kerning of /A/V in the variable TTF, but not in the static instance TTF that corresponds to the unkerned source, exhibiting the bug.
### Variable TTF at 'Bold':

### Static instance TTF for 'Bold':

Contributor guide
Assessment
This issue has not been assessed yet.