From Robert Bringhurst’s The Elements of Typographic Style:
Names like T.V.R. Murti and T.R.V Murti, for example, pose microscopic typographic problems that no binomial kerning table can solve. Fonts with polynomial kerning tables — able to kern a given pair of letters in different ways according to context — have existed for a decade and my someday be the norm. For now, they are a rarity.
What exactly is a polynomial kerning table? How is it different from a binomial kerning table or a standard kerning table? What about it or it’s implementation makes it polynomial?
Polynomial simply means consisting of several terms, as opposed to binomial consisting of only two terms.
In most cases, kerning is the spacing between pairs of characters (binomial). It is however possible and useful to apply kerning based on a larger string of characters (polynomial). This is called contextual kerning. (As far as I’m aware, the term polynomial kerning isn’t a standard term and it is more usually and widely called contextual kerning)
Contextual kerning is often needed in characters with negative sidebearings. Most often with a space or punctuation in between. For example, the triplet
L apostrophe A. The
L apostrophe pair will have negative kerning and the
apostrophe A pair will have negative kerning—this may result in the
A colliding and the apostrophe too close to the
A and too far away from the
Contextual kerning is supported by the OpenType format but support in desktop publishing software and various text-processing engines is limited.
I don’t have any figures to back this up, but—from my experience—contextual kerning isn’t something many type designers implement. After the very long and tedious process of kerning character pairs, not many designers will be too worried about contextual kerning. Especially when support is so limited.
Related reading on contextual kerning:
- Wikipedia – Contextual Kerning
- Glyphs App – Contextual Kerning
- FontForge – Advanced Typography Tables
- Adobe Developer – OpenType Feature File Specification
Note: most of this answer is taken from this previous Q&A