Kern feature in FL VI
Jeff Peters
Posts: 36
It seems FL VI writes much longer kern feature code than FL 5 did.
It seems to include both class based and flat kerning. Can anyone shed light on this?
It seems to include both class based and flat kerning. Can anyone shed light on this?
0
Comments
-
When you say "longer kern feature code," do you mean the plain-text representation as FEA code, or the compiled font?
The plain-text FEA code is not at all the same thing....0 -
I mean what is generated when pressing "build kern feature", which I guess equals to plain-text FEA..0
-
FontLab VI uses KLTF kerning optimization (licensed from Karsten Lücke). The text representation of the kerning, that you see as plain text is larger, but the compiled font should be smaller.
Class kerning that would cause kern table overflows if generated in a font from FontLab Studio 5, usually compiles and works when generated from VI, thanks to being significantly smaller in the final font.
Class kerning in a compiled font is essentially a two-dimensional array. The plain-text FEA code representation is essentially linear. If you double the number of classes on both left and right sides, you make the plain text representation twice as long, but the compiled version is four times as big.
Subtable breaks can make the compiled font smaller, however. Imagine a tic-tac-toe board with X's along a diagonal. Without subtable breaks, the font would need all nine squares worth of data. But breaking it into three subtables, for example only kerning Latin against Latin, Greek against Greek, and Cyrillic against Cyrillic, and then breaking the kerning into three separate subtables, makes for a smaller compiled font—the kerning data uses 1/3 the space.
KLTF optimization can make intelligent use of subtables as well as dropping things from class kerning into flat kerning, when doing so requires less data in the final font.
So, it is complicated, and there is not a one-to-one relationship between any plain-text representation of kerning that includes class kerning, and the actual font data in the output font.4 -
Got it, thanks for explaining!0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 798 Font Technology
- 1K Technique and Theory
- 617 Type Business
- 444 Type Design Critiques
- 541 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 483 Typography
- 301 History of Typography
- 114 Education
- 68 Resources
- 498 Announcements
- 79 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 269 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports