During the post-processing phase we enter the field of typographic choices. Here the raw kerning produced by the engine is filtered to obtain the desired result using different functions that can manipulate kerning and geometric data. Their default functionality can be overriden at any level, global or local, at will. Four of them are really focused on typographic correctness.
Tracking
I have already mentioned the built-in tracking function as counterpart of the engine’s width parameter in the contrast-lightness analogy. Since the spacing used by the engine applies to correct glyphs interaction this tracking function is used to harmonize the final spacing with the typeface weight. A feature: eventual imposed minimum distances between outlines (see below) are preserved so the consequent positive kerning values change accordingly varying this tracking.

Tracking is used to balance fitting with weight.
Minimum distances and controlled reduction of positive kerning
These filters act in a parallel way. The engine is conceived such that glyphs never touch. The consequent positive kerning values are sometimes necessary for legibility reasons but can also become as a break in the rhythm, nearly an artifact. That’s why they have to be filtered. Minimum distances between outlines are also imposed to control overlapping of glyphs in a more typographically appropriate and accurate way. Whatever the settings may be overlap prevention and/or positive kerning preservation are locally forced, anyway, after automatic recognition of a legibility issue during the analysis of local optical densities of the white space.

Minimum distances management: the minimum distances can be chosen and remain preserved varying the tracking. In this example you can see that the minimum distance is not applied on all the pairs.
Kerning strength
The engine can directly produce a tight kerning that I find very suitable for display size but maybe too strong for text size. It can also produce a relaxed kerning surely more rhythmic and suitable for text size. These values are stored during analysis and are interpolated at will during the post-processing phase depending on the expected kind of output and desired effect. In this case only negative kerning values are affected.

Kerning relaxation example. Above: maximum strenght suitable for display size; below: relaxed, suitable for text size (click to enlarge).
Other functionalities are specifically production related: definition of thresholds for cutting away very small kerning pairs, number of class kerning exceptions controlled reduction, &c.
The same way the engine defines parameters focused on glyphs, the post-processing parameters are focused on pairs: small vs. small, capital vs. small (and viceversa), capital vs. capital, involving a not letter, involving a quote, involving a punctuation. Minimum distances are also defined according to where the contact point is situated: upper and/or lower part of glyph, inside the kerning zones of both the glyphs, inside only one kerning zone, outside the kerning zones.
iKern uses massive kerning pairs lists written in class form for class kerning output in ‘GPOS’ table. For plain kerning output in ‘kern’ table iKern uses lists based on pairs that can really occour developed for different languages (for latin, greek and cyrillic scripts).
