Updating Kern On
If you have the free trial or demo, download the latest demo version to update.
If you have purchased a license, update the full version.
Kern On change log
v 1.33 2024-10-21
- Added some African languages to the built-in list of pairs.
- Fixed a crash during the setting and un-setting of user-set autopairs.
v 1.32 2024-08-08
- Added support for cvXX OpenType features.
As per OT specification,
cvXX
is supposed to trigger independent variants for individual glyphs.
This means for cvXX, Kern On autokerns all possible pairs that can occur if the feature is applied to any of the glyphs in a string.
In contrast, ssXX is meant to trigger the whole alternate glyph set. In accordance with this, Kern On does not automatically autokern pairs that can only occur if the feature is applied to individual glyphs.
As an example, Kern On will kern a.cv01–b (even if b.cv01 exists) and it also kerns a.cv01–a. However, it will not kern a.ss01–b (unless b.ss01 does not exist), and it will never kern a.ss01–a. - The engine is now more flexible with respect to “compact” vs “un-compact” (enclosing) shapes. Compact shapes can now be particularly tight without requiring un-compact shapes to be particularly loose. A typical example would be OO vs XX: Previously, a tight OO would imply (and enforce) a loose XX. Now this internal effect is split into two independent effects, which allows us to have a tight OO and at the same time not overly loose XX.
- Kern On now understands that narrow glyphs often have spacing and kerning that considers possible neightbours.
An example would be u–period vs n–period in a typical sans serif
(where the n has a smaller RSB than the u because of the rounded shoulder).
With u–period as a zero model, Kern On would previously enforce positive kerning for n–period
as the round shoulder of the n is so far away from the period that it does not interact with it.
Now, with a hypothetical “back wall” behind the period, Kern On allows u–period as well as n–period to have zero kerning without being considered inconsistent. We could also say, considering n+period to be one glyph, then, without n–period kerning, the right side of this glyph is correctly spaced, and so is the right side of the u+period glyph.
Another effect of this “back wall” is that the kerning between narrow, open shapes such as period–quotesingle or A–quotesingle is naturally less tight and less likely to trigger Kern On’s 50% “overkerning” limit.
Note that, like all effects at work under the hood, this effect is not prescriptive. You may need to set models to trigger it. - Improved warnings.
- Kerning that affects composites is now live-updated.
- Some additional kerning pairs for inferior and superior minus.
- Prevent some unnecessary autokerning pairs for .c2sc glyphs.
- Fix: show the (•••) menu as applicable.
- Fix: show correct influencer names for “autokerned from” masters.
- Fixed a crash.
- Some smaller fixes and improvements.
Note:
This update is likely to autokern the font somewhat differently. I recommend to:
- Fully kern the font(s) you are working on (using the “Kern On” button) with the old version
- Create a backup copy of the working file
- Install the latest version of Kern On
- Open the working file and start Kern On
- In case Kern On removes models (this can happen), resolve the problems
- Open the backup file
- In Glyphs, switch to the working file (which has KO running)
- Choose “Compare to...” (select the backup version)
- Examine the changes
v 1.31 2024-03-26
- Kerning pairs that impact composite glyphs (such as fractions) are now autokerned. (This is not a new feature but it was broken for a while.) Kern On will show a notification if this has created new autopairs in your font. Keep in mind that setting a glyph(-side) to “No kerning” is often the most elegant way of removing unwanted autopairs.
- Added a link to the user manual in the (•••) menu.
- Fixed the setting of default special spacing during first-time use.
- If the kerning is limited to half the smaller advance width, this is reflected in the info labels under the slider.
- Some smaller fixes and improvements.
2024-03-14
Did you know? We have a brand new user manual!
v 1.30 2024-03-08
- Overly tight kerning caused by class kerning compression is now avoided.
- The accents on capital letters are now de-emphasized.
- Some smaller fixes and improvements.
v 1.29 2024-01-24
- Small improvements to the autospacing algorithm.
- Many small but important improvements and fixes.
- Added and removed some pairs from the list of Unicode pairs.
- Some UI fixes.
v 1.28 2024-01-11
- Very similar models now trigger a warning.
- Identical models will be rejected/removed.
- Re-worked the pair comparison engine (which is the heart of Kern On, of course). The engine is somewhat stricter now, which means it may remove model pairs when you start Kern On with this new version. These should only be pairs that are real mismatches, though. As a result, the engine has a “tighter grip”, which means generally better autokerning, and you may need fewer models.
- Several smaller UI fixes (showing and hiding of elements as applicable).
- Fixed a crash on start-up.
- Inaccessible glyphs, i.e. those that do not have a Unicode value and cannot be accessed via OT features, are now marked with a warning triangle. (This implies that Kern On will not generate autokerning pairs for these glyphs.)
- Many smaller fixes and improvements.
v 1.27 2023-12-16
- Fixed issue with unresponsive kerning value text field.
- Fixed behaviour when the user removes all models.
- When deactivating “Autokern from”, local models are generated automatically.
- Some smaller fixes and improvements.
v 1.26 2023-11-29
- Fixed a crash on start-up.
- Added more currency symbols for autokerning.
- Kern On now ignores the fwid (full widths) OT feature.
v 1.25 2023-11-03
- Fixed unresponsive kerning slider and text field.
- Some minor fixes.
v 1.24 2023-10-24
- Small tweaks to the engine.
- Removed the ^K default keyboard shortcut (discussion).
- Kern On now ignores deactivated “Rename Glyphs” custom parameters.
- Re-worked the internal start-up process for improved stability and performance.
- Fixed and improved support for masters that are autokerned from another one, have linked metrics, are interpolated, and for fonts with KO initialized only for some masters.
- Fixed several crashes.
- Some smaller UI improvements.
- Added support for some African languages (thanks Eben!).
- Some improvements to the Unicode pairs list (thanks Christoph!).
- Updated default spacial spacing groups (thanks Christoph!).
v 1.23 2023-07-12
- The engine is somewhat stricter now, which means it may remove model pairs when you start Kern On with this new version. These should only be pairs that are real mismatches, though. As a result, the engine has a “tighter grip”, which means generally better autokerning, and you may need fewer models.
- Added an “About” dialogue, to be found in the (···) menu.
- Increased priority of pairs with UC letter and special character.
- Increased (rather, less decreased) priority for pairs with numerals that are available only via OT features, such as oldstyle figures when lining figures are the default.
- Fixed some crashes and other bugs related to “autokerned from” and interpolated masters.
- Some smaller fixes and improvements.
- Note: The minimum requirement for the Glyphs 2 version of Kern On is now macOS 10.11.
v 1.22 2023-04-25
This version supports manually set kerning groups. In this version,
- Kern On no longer erases existing kerning groups as it starts. The kerning groups are simply left as they are.
- As before, while KO is running, it only generates glyph-glyph pairs on-the-fly. This means the kerning groups, although retained, are left unused while KO is running.
- After pushing the “Kern On” button, you can select whether you want to re-generate the kerning groups or not. Without re-generating the kerning groups, Kern On will use your manually set groups (note: if you previously auto-generated the groups then this practically allows you to keep them instead of updating them).
Further updates reflect the changed behaviour of different versions of Glyphs:
- The KO dialogue now closes, as you close the font in Glyphs, in all versions.
- The glyph categories are now consistently interpreted by KO in all versions of Glyphs.
- When creating the kerning groups, and picking the class kerning and exceptions, Kern On for G3 now simulates the way G3 writes the subtables when font files are exported. This means the kB size should now be correct in both versions, and the generated class kerning is different. Specifically, KO for G3 cannot fit as much kerning into the given kB size as KO for G2 but this is inevitable. Kern On finds the best solution for the Glyphs version it is running in.
Further changes:
- Increased the priority of UC-UC pairs.
- During class kerning generation, fixed inappropriately picking zero value for infrequent pairs.
- Some smaller fixes and improvements.
v 1.21 2023-03-26
- Improved autokerning for glyphs triggered by numr, dnom, sups, sinf and subs. This includes kerning all numr-to-fractionslash and fractionslash-to-dnom.
- Note: Kern On generally ignores glyph names (as it always has). The only exceptions are when comparing fonts, and when kerning from another font, in which case the glyphs are mapped via their names.
- Small caps are no longer kerned against case-specific punctuation.
- Added support for Unified Canadian Aboriginal Syllabics.
- Added some pairs with spacing diacritics.
- When re-working the kerning during onboarding, with a partly kerned font, inappropriate warnings are fixed.
- Some smaller fixes and improvements.
v 1.20 2023-02-14
- Comparison to other font now focuses on the stronger changes, tests more pairs, and maps glyphs correctly between the fonts.
- Kerning pairs that impact composite glyphs (such as fractions) are now autokerned. Kern On will show a notification if this has created new autopairs in your font. Keep in mind that setting a glyph (-side) to “No kerning” is often the most elegant way of removing unwanted autopairs.
- Improved application of complex OT features. While this got more reliable, some advanced techniques are not fully supported yet. For example, “ignore sub” statements are not applied yet, so you may get some irrelevant pairs. As always, you can use independent zero-value pairs to switch them off, or user-set autopairs to explicitly add pairs.
- Kern On remembers the previous kerning weight limit for the font.
- The current Kern On version is stored so that it can give a warning if the file was last edited with a newer version.
- Improved compatibility with Glyphs 2.
- Some smaller fixes and improvements.
v 1.19 2023-01-27
- Improved compatibility with Glyphs 3.2.
- Fixed an issue with certain types of substitutions in OT features (thanks Aaron!).
- Fix: the editing controls should no longer get completely disabled (unless a “red dot” message is shown).
v 1.18 2022-11-20
- Re-worked a part of the autokerning mechanism, to improve accuracy and speed. This should usually lead to only very small changes in the autokerning result.
- As a result of this, Kern On works properly with touching script fonts.
- The class kerning mechanism should now give results that are closer to what most human designers would do.
- Add kerning pairs for Ǽ Ǣ ǽ ǣ.
- Some more work on the on-boarding via re-working existing kerning.
- Some smaller fixes and improvements.
v 1.17 2022-10-28
- Improved the on-boarding via re-working existing kerning.
- Fix: Don’t show warnings that have been dismissed already.
- Some smaller fixes and improvements.
v 1.16 2022-08-07
- Added support for lookup type 5 when applying OT features.
- Fixed a crash due to extremely high memory usage.
- If special spacing is set for letters (which is probably accidental), you now get a warning.
- Some smaller fixes and improvements.
v 1.15 2022-07-04
- New experimental feature: Autospacing via “zero partners”.
In the sidebearing fields of the Kern On window, you can enter one or several glyph names (slash separated) that should not have kerning (i.e. zero value) against this glyph side.
Kern On will adjust the sidebearing so that the kerning with the given partner(s) becomes zero.
Of course, this may not be possible for all partners.
You can specify a partner glyph several times so as to increase its priority.
For example, specifying /H/H/d for the LSB of the two will lead to zero kerning for H2 and, if possible, also zero kerning for d2.
Autospacing via “zero partners” usually works well for sans-serifs, where you would typically specify /H/d for the autospaced LSB and /H/h for the RSB.
Note: • You can autospace several glyphs at the same time (i.e. with several glyphs selected). • You cannot autospace glyph sides that appear in models. • You can specify characters instead of glyph names but they also need to be separated by slash, e.g. /H/d/| (the last one is a bar). • You can combine this autospacing with the “autokern from” feature. In other words, in a typical sans-serif, you can almost completely autospace the italics based on the upright (after carefully setting the standard flat sides manually). • Right now, this autospacing is a one-off action, the sidebearings don’t “remember” their setting, and they don’t auto-update. I am planning to implement that, though. • Note that this feature is still somewhat experimental. Any feedback appreciated! See more on the Kern On forum. - Added some pairs with superiors and inferiors to the default list of pairs.
- Added pairs for Ethiopic.
- Support for unlimited kerning size: with 0 kB given, Kern On will generate un-compressed, raw glyph-glyph kerning.
- Small refinements to the autokerning algorithm.
- Quadratic bezier curves are now correctly handled.
- Fix: On start-up, kerning classes used in RTL kerning are no longer removed (Glyphs 3 only).
v 1.14 2022-04-25
- Fixed the comparison function.
- UI fix: don’t allow interpolating and autokerning a master at the same time (thanks Hugo!).
v 1.13 2022-04-21
- Fixed some UI glitches: wrongly shown or disabled buttons (thanks Valerio!).
- Improved (background) checking for updates.
- Fixed inaccurate interpolated masters in complex set-ups (thanks Hugo!).
- Fixed setting and removing of independent pairs if autokerned from another font/master (thanks Sebastian!).
v 1.12 2022-04-05
- New feature: You can now autokern one font (or master) from another font (or master). Just open the other font, then from the (···) menu choose “Autokerned from” and select the “model master”.
- While a model is selected, holding down control to preview the “what if autokerned” is now applying the autokerned value in Glyphs, not only showing the figure.
- Several other small but important fixes and improvements under the hood.
v 1.11 2022-03-04
- Several important improvements under the hood.
- Additional inconsistency warnings.
- Fixed text cursor position when ligatures are activated (thanks Claus!).
- The KO window is now placed next to the Glyphs window (if possible).
- Better preserve high-priority pairs (if a model has to be removed).
- For model suggestions, prefer pairs that are models in other masters.
- Added Cherokee support (thanks John!).
- Fixed wrong Latin-Cyrillic pairs from Chuvash Wikipedia.
- Increased the accuracy of finalized (class) kerning values involving the fraction character (thanks Erkin!).
- Other small refinements to the Unicode pairs list.
- Fixed adding and removing user-set auto pairs.
v 1.10 2022-02-07
- Improved model suggestions and warnings.
- Somewhat improved displayed possible span (for the slider).
- Fixed a crash while re-working the exising kerning (thanks Yevgeniy!).
- Several other small but important improvements under the hood.
v 1.09 2022-01-13
- New feature: For models or independent pairs, hold ctrl to preview the kerning value it would have if it was a model. This saves you switching to Auto and back.
- Improved internal calculation of the special spacing amounts.
- Added support for some African languages (Kanuri, Bambara, Hausa, Tamajaq and Zarma) and U+2010 HYPHEN (thanks Christoph!).
- Fixed a crash (thanks Hugo!).
- Better support for Romanian with legacy Tcedilla/tcedilla.
- Unused kerning groups are now omitted.
- Several other small but important improvements and fixes under the hood.
v 1.08 2021-12-09
- New feature: Add models and independents from other master or font (to be found in the gear menu).
- Some small but important fixes.
- More appropriate model suggestions and warnings.
v 1.07 2021-11-24
- More appropriate model suggestions and quicker response.
- More appropriate warnings.
- Improved de-emphasizing of shapes below the baseline and above the x-height.
- No longer generates pairs between LC and .case. Thanks Christoph!
- pair_frequencies.txt is now sorted by script.
- Boosted “rare” scripts, i.e. all scripts are now normalized to the same maximum frequency (well, sort of). Thanks Sebastian!
- Some smaller UI improvements.
- Fixed a handful of smaller issues.
v 1.06 2021-11-02
- Fixed a problem with the signing certificate.
- Fixed a handful of smaller issues.
v 1.05 2021-10-31
As of today, we do not have a trial version any more (which was unlimited in terms of functionality, but came with an expiry date). Instead, you can download a demo version – its only limitation is that it will not finalize fonts, i.e. does not fully kern the font and generate class kerning after you push the “Kern On” button.
This version also features minor tweaks to the engine, refined warnings and suggestions, and fixes a crash when all metrics are removed.
v 1.04 2021-10-26
This version does not add any obvious new features but has significantly improved overall behaviour:
- More consistent, reliable and better autokerning results.
- Better model sugestions.
- Additional warnings. As always, do take them seriously but feel free to ignore if you are sure about it.
- Some small tweaks to the UI.
v 1.03 2021-09-30
- Fixed a couple of crashes on start-up (thanks Christoph and Christian!).
- Better support for soft hyphen (thanks Eben!).
- Added letter-to-hyphen pairs based on hyphenation dictionaries.
- Improved handling of conflicting special-spaced pairs and “Try again”-type priorities.
- Smaller refinements to the shape analysis deep inside the engine.
- Many other smaller improvements and fixes.
v 1.02 2021-09-16
- Tabular figures are set to “No kerning” the first time you use Kern On with a font. If you add them later, just set the “No kerning” manually, although this is usually not even necessary as tnum-based pairs are not autokerned.
- “Compare to...” now only compares the current master.
- Comparing fonts now also reflects spacing changes.
- Now you can click on the influencer label (under the slider) to insert it at the end of the line.
- If a glyph is modified then Kern On also updates glyphs that contain it as a component. (I hope this is reliable. If in doubt, just close and re-start Kern On to be sure everything is up-to-date.)
- The automatic selection of models when re-using pre-existing kerning is somewhat improved.
- Many other significant improvements and fixes.
v 1.01 2021-07-19
- Added feature: undo (to be found in the gear menu).
- Added feature: show glyphs and models for current special spacing group (to be found in the special spacing menu).
- “Show overview” now also shows standard-kerned glyphs, and has moved to the kerning type menu above.
- The prioritization expressed by “trying again” is slightly improved.
- If a model has to be removed, and special-spaced pairs are involved, Kern On now picks a more sensible pair to remove, better respecting the prioritization.
- If special-spaced models influence autopairs, the min/max range is more correct (usually tighter) now. This means switching an autopair to model without changing its value should no longer lead to model removals. Note that this new behaviour may also affect autokerning in general.
- Several smaller fixes and improvements.
v 1.0 2021-06-18
- Initial public release.