In need of some help understanding Adobe Illustrator's Optical Kerning Feature.

Russell McGorman
Russell McGorman Posts: 261
edited January 2022 in Font Technology
Unless something else is going on, Adobe Illustrator's Optical Kerning seems to scale kerning results differently according to the point size. 

Briefly, a client asked me to modify kerning* in a font so that Adobe's Auto Kerning matches Adobe's Optical kerning (applied to figures only). It is my client's client that whats this. For what ever reason, They insist on working with Adobe Optical kerning, but the client's system is Kind of like a BIM/CAD system, (but not for buildings) that has to convert Illustrator files to SVG to function and therefore has no access to Optical kerning. 

For type set above 72 points, my adjustments are as accurate they can be... (The native kerning being limited to units on a 1000 x 1000 grid while the Adobe drawing space is, of course, capable of much finer increments... Meaning that most pairs involve rounding up or down by a unit to get a result that can be off by up to half a unit in FontLab but for practical purposes, perfect. Below 72 points points, accuracy starts going down, becoming increasingly noticeable below 60 points. 

The only reason I can think of for Optical Kerning making proportionally larger adjustments at smaller sizes would be to mitigate the effect of crowding  text at smaller sizes. 

At smaller sizes adding tracking in Illustrator does fix the problem:
  • 72 point and up, all is good. 
  • @ 60 points, add 3 units tracking = no discernible difference up to 10 characters
  •  @ 36 points, add 10 units tracking = no discernible difference up to 10 characters
  •  @ 27 points, add 13 units tracking = no discernible difference up to 10 characters
  • @ 21 points, add 15 units tracking = no discernible difference up to 10 characters
* It is allowed in the EULA


  • Thomas Phinney
    Thomas Phinney Posts: 2,800
    edited January 2022
    Yes, Adobe’s optical kerning is size-specific. To simplify slightly, one could say it includes tracking.

    It is… impractical to simply build optical kerning into the font, because optical kerning affects ANY combination that occurs in the document text. Let’s say you have an average sized basic character set with 400 glyphs. That is 160,000 pairs/combos.

    A sufficiently savvy script could be made that would take InDesign, take all possible glyphs from the font, generate input for a kerning file, and then collapse the kern pairs into classes.

    Of course, there are issues with the data size involved—things would need to be broken into subtables to fit in a single GSUB 'kern' feature.

    Anyway, so it is sort of possible, but not trivial. I imagine somebody has scripted doing this for specific kerning combinations, but probably not all glyphs.
  • Russell McGorman
    Thanks, Thomas.

    It never crossed my mind that size would be of any relevance. 

    I'm only dealing with the default figures in the roman and italic of one weight , so the total number pairs isn't a concern. 

    What I've done so far is just overlay my modified  versions (with Auto Kerning on) on to the original (with Optical Kerning on), calculate the number of units glyphs in each font are out of alignment and adjust the kerning accordingly. When they line up, it's right. Pretty simple and very accurate... Above 72 points, but below that size, not so much. is was see that tracking is throws the the smaller sizes of. The errors are uniformly cumulative, and reliably corrected by adjusting the tracking. The end client will not be setting large numbers so cumulative errors aren't a concern when I can get good results in a string of 10 figures.