What is the preferred method of keeping kerning data in UFO format ?

mitradranirban
Posts: 100
Should it be stored in kerning.plist file or in Feature.fea file in GPOS table?
Do both create GPOS data or data in kerning.plist is compiled in KERN table?
The situation is I have generated some kerning data in fea format. But I am editing the font in Fontra which presently only supports kerning in kerning.plist format. Is there any tool to convert between the two formats?
Do both create GPOS data or data in kerning.plist is compiled in KERN table?
The situation is I have generated some kerning data in fea format. But I am editing the font in Fontra which presently only supports kerning in kerning.plist format. Is there any tool to convert between the two formats?
0
Best Answers
-
they can both compile to GPOS, modern tools dont really use KERN. with .fea you can do contextual kerning and classes, kerning.plist is glyph to glyph only or using groups.plist IIRC. so you can fairly trivially go from plist to .fea but not necessarily the other way around, depending on how complex it is
1 -
-
IMO, it is preferable (and certainly more common) to maintain kerning data in kerning.plist. Kerning data will often vary between styles/weights of a family. But features are often shared and common within a family. Trying to manage multiple .fea files to accommodate different {kern} features while keeping other features in sync seems unnecessarily troublesome.And most graphic font-editing tools don’t read/write kerning data from .fea files for interactive editing. So you’re left to deal with it manually.As Jeremy says, modern compilers will take kerning.plist data and compile into GPOS as standard. You would have to jump through hoops these days to get it into a KERN table (and you would have to have a good reason to want this).2
-
I wanted a tool with which I can convert auto-generated kerning data created in fontforge in features.fea to be converted to ufo specific kerning.plist format so that I can manipulate them in fontra. I found no ready-made solution and I don't know python enough to create one.
So I did vibe coding with LLM to generate a script to do so0 -
Fontc can not compile variable fonts which has same GSUB table but different values among masters in GPOS kerning or anchor positioning data. I vibe coded some python scripts which split kerning and mark positioning groups into single entries and then merge them into a variable features.fea file which can be identical in all masters.
https://github.com/mitradranirban/feamerge
any feedback on the usefulness of the scripts is welcome.0
Categories
- All Categories
- 46 Introductions
- 3.9K Typeface Design
- 483 Type Design Critiques
- 560 Type Design Software
- 1.1K Type Design Technique & Theory
- 649 Type Business
- 844 Font Technology
- 29 Punchcutting
- 517 Typography
- 119 Type Education
- 321 Type History
- 77 Type Resources
- 110 Lettering and Calligraphy
- 31 Lettering Critiques
- 79 Lettering Technique & Theory
- 544 Announcements
- 88 Events
- 112 Job Postings
- 170 Type Releases
- 173 Miscellaneous News
- 275 About TypeDrawers
- 53 TypeDrawers Announcements
- 120 Suggestions and Bug Reports