googlefonts / googlefonts/fontc

fontmake may not be always expanding kerning to bracket glyphs as expected?

Open
#1,826 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

crater
Dominant language
Rust
Stars
193
Forks
21
Avg merge
1d 16h
Merged PRs (30d)
66

Description

I'm not 100% sure of what's going on here because it is occurring in a font (Playfair) with a bunch of other diffs that might be interrelated: but one of the things I'm seeing here is situations where we are kerning say e-cy and e-cy.varAlt01 the same as we kern e-cy and e-cy, but fontmake doesn't seem to have kerning for the alt glyph.

This isn't totally consistent though, since there are other cases where these rules are being expanded as expected.

Thinking out loud, I wonder if this is a situation where there is an explicit kern for e-cy+e-cy, and we aren't adding a similar rule for the bracket? And the cases that we are handling are just those cases that are covered by glyph classes?

repro:

python3 -m ttx_diff 'https://github.com/googlefonts/Playfair?a49f9f9dc9#sources/Playfair.glyphspackage'

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the reported python3 -m ttx_diff reproduction against the Playfair source revision. Compare the generated kerning for e-cy and e-cy.varAlt01, then trace the fontc kerning expansion path to determine why explicit pairs differ from glyph-class cases. Done means bracket glyph kerning is expanded consistently and the reproduction no longer shows the discrepancy.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.