The service

The service consists the creation of new spacing and kerning to be imported into fonts. Sidebearing and kerning values are generated automatically (autospacing and autokerning)  by the iKern program after specific inputs consequent to studies and tests performed by a ‘human’ operator.

The submitted fonts can be either in Fontlab Studio .vfb or UFO format. Multiple Masters fonts are welcome too. If features are present they have to be necessarily correct and compilable.

Preliminary to the iKern processing is the building of a specific database for each font. To speed up input operations and reduce the risk of errors a series of automatic data processings have been introduced. As a consequence the fonts submitted should have Unicode compliance and a correct, standard and coherent naming system possibly using the Adobe naming convention and extensions. So, for example, a ffb ligature should be called f_f_b and a small cap a should be called a.smcp.

Unless otherwise requested class kerning will be produced using the generated classes (kern classes eventually already present would be overriden) and after having submitted an opportune standard pair list.

If a typeface is part of a type family then it should be processed along with the rest of the family for obvious consistency and time saving reasons. It would be opportune, in this case, that glyphs number and glyph indexes coincide between family members.


By using the iKern service, You (the client) agree to be bound by the terms and conditions of these ‘Terms of Service’ with Me (Igino Marini).

The service consists in the creation of specific metric data (spacing and kerning) and their importing into specific fonts.

The fonts are provided by You. You assure to be the copyright holder of the fonts or to act on behalf of the copyright holder.

Unless otherwise stated, the fonts which You provide are ‘final’.

The fonts which You provide are technically correct and fully functional.

After I send You back reworked fonts, You can test them and

1. accept the work. In this case the work is completed;

2. ask for modifications submitting a meaningful, prompt and efficient feedback; in this case I may accordingly re-work the fonts and send back a new version. This process may be, eventually, repeated a fair number of times;

3. not accept the work; in this case You will not use it in any way and will delete any copy of it and give Me related communication.

Unless otherwise stated, You should be responsive and prompt enough to let the feedback and finalizing process be completed within 30 days from the first shipment of a reworked file. After that period of time, the work will be considered completed.

Payment is due after complete satisfaction.

Unless otherwise stated or authorized, I don’t disclose confidential informations. I also take reasonable precautions to keep confidential the informations received.

The Metric Data created by Me and the Font Software used to carry those data, are provided “as is” without any warrant of any kind, expressed or implied. It is my interest, anyway, to fairly support You in case you find issues in them.

Under no circumstances I will be liable for direct, indirect, incidental or consequential damages, however caused or on any theory of liability, even if notified in advance, for the Metric Data created by Me and/or the Font Software used to carry those data. Under no circumstances my liability, as above defined, will exceed what You paid for the Service.

The iKern Terms of Service Agreement is subject to Italian Law.


Interpolations can be handled. There are two different ways depending on the chosen workflow. Interpolating the iKern input data applied on interpolated shapes or interpolating the iKern outputs (spacing and kerning; in this case interpolated ‘kern’ features with classes could eventually be provided) in the Multiple Masters way. From a conceptual point of view the first solution could be prefereable: the real and final shapes would be effectively used so the working model would be more faithful because intermediate instances wouldn’t inherit behaviours proper of geometric specificities only present in the masters. The opportune strategy, that could also consider the introduction of intermediate masters, should be decided and agreed case by case.

The import into a FLS file of the new metric data is performed by a wonderful macro written by Karsten Luecke. The macro imports into FLS the ‘kern’ feature as produced by iKern (containing kern classes and kerning values) also updating the internal “kerning assistance” (both FLS classes and kerning values). This way is possible an immediate testing inside FLS; but it also happens that kern classes are defined twice: this may lead to a “warning of double class definition” if the “General Options > Unicode and OpenType > Add all glyph classes to OpenType definition code” option is checked. This option setting depends on the adopted OpenType production strategy: relying or not on internal FLS class definition. It’s just a warning and not an error because the two kern class sets are perfectly synchronized. The inclusion of the ‘kern’ classes into the feature is optional depending on the desired strategy: usually it’s a decision based on the structure or the received files; anyway it’s better to explicitly tell the desired mode.

Class kerning compiling troubleshooting for fonts created using the Karsten’s macro:

a) If you get a warning of double class definition you alternatively may:

  • ignore the warnings (recommended);
  • uncheck the “General Options > Unicode and OpenType > Add all glyph classes to OpenType definition code” option;
  • delete the kern classes definition from the ‘kern’ feature code;
  • delete the FLS kern classes;
  • ask for a file not containing double class definition.

b) If you get an error of “glyph class not defined” you alternatively can:

  • check the “General Options > Unicode and OpenType > Add all glyph classes to OpenType definition code” option (recommended);
  • ask for a file containing double class definition.