Kerning in OT CFF-flavoured fonts

pablohoney77's picture

I was reading through "Learn FontLab Fast" last night and came across a list of pros and cons for font formats. I read (or at least i thought i read) that CFF fonts don't support kerning for scritps other than latin. Am i confused or what's the 411 on this?

John Hudson's picture

This is probably a reference to the fact that applications that do not natively support OpenType GPOS kerning may use a subset of OT kerning from a CFF font, as determined by the CFF rasteriser. Adobe's rasteriser code (built into Windows and Mac OS) provides a subset of OT kerning flattened to simple pair kerning, based on a superset of the Win ANSI and an Mac Roman character sets. This means that any characters not included in these character sets will not be kerned in such situations, even if the font contains OT kerning for them. This was a compromise arrived at by Adobe based on the desire to provide at least some kerning to applications that don't support OT kerning, but recognising that flattening all the OT kerning in a font might easily exceed the limits on kerning pairs that much older software has.

pablohoney77's picture

So for apps that support the OT kerning this is not an issue? Correct?

John Hudson's picture

Well, that sort of depends on the individual apps and how the <kern> feature is implemented in individual fonts. Some versions of Adobe apps had a stupid limitation of only recognising OpenType Layout features that were associated with the <latn> script tag, which meant that if you wanted Cyrillic kerning (or Greek ligatures, for that matter) these lookups needed to be associated with the Latin script as well as the actual script. So kerning for non-Latin scripts in these applications will depend on how the font is made.

pablohoney77's picture

Thank you much for your help, John! I guess i need to read up on applying features for different scripts. Do you have any suggestions? Do the most current versions of Adobe apps recognize layout features that aren't included in the <latn> script tag? Maybe Thom will drop in and let us know the answer to this one.
Oh, and thnx again!

Syndicate content Syndicate content