googlefonts / googlefonts/fontc
fontmake may not be always expanding kerning to bracket glyphs as expected?
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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