Automated Kerning With iKern

Written by Typographica on April 15, 2004

Type designers: Igino Marini will kern your fonts with his custom built application iKern. Other models using math to compute kerning values exist, (Illustrator and InDesign’s “Optical Spacing” feature is one), but I believe this is the first service offered to font makers — other than the feeble “autokern” built into Fontographer and FontLab — that claims to reliably appropriate kern pairs to a font. Without any customer testimonials, it’s unclear how effective iKern is, but Marini presents his own Fell Types as proof.

Update, April 21: I was inaccurate when I said iKern was the only app created to generate kerning. We overlooked DTL Kern Master, part of their Font Master software. Not much information online yet, but the technology on which it is based has been around for a while. More info in today’s comments below. Thanks Erik.

44 Comments

  1. nick shinn says:

    It doesn’t look right.
    Most obvious: the cap F, followed by A,a, or small cap a.
    The “white space” at the bottom right of the F is an important part of the glyph.
    There is no point in tightening up combinations like Fa, it only serves to make more noticeable the “inter-space holes” that cannot be tightened up, such as between r and y, resulting in more spotty text: — this degree of kerning does the opposite of what it is supposed to!

    And especially for a “distressed” old-style face: quite apart from the inauthentic anachronism, what is the point of having rough characters and slick kerning?

    There is a place for this intense amount of kerning, but it should be in a face that is designed with that in mind, such as Avant Garde — the “kiss and fit”, 1960s and 70s look. Let’s have a look at how iKern handles that kind of assignment…

  2. Hector Mu�oz says:

    Well I tested two of the types offered at their intended size: Great Premier and DW Pica.

    I didn�t find the spacing being problematic on the upper or the lower case nor tightened Fa and FA combinations, of course it can�t reach the craft of an expert designer hand spacing but it seems acceptable for being automated, besides there must be parameters to control the kind of spacing you are producing.

  3. Matt Desmond says:

    You know what would be something? A program that actually measures the volume of space between the letters to make perfect letterspacing/kerning. Does something like that exist?

  4. Dyana says:

    While I applaud Igino for undertaking what I know was a daunting task, I will never trust anything but my own eye (and my bosses’) when it comes to kerning.

    Besides, it’s fun.

  5. David says:

    I dont know how this works, but presumably a automated kerning system would have not just mathematical rules for measuring linear space and 2 dimensional area of the spacing between letters, but maybe have a set of “hints” for problematic pairings that adjust the mathematical results to take into account human perception, and, as Mr Shinn says, spacing issues across the entire face. Might be kind of an interesting thing to give the user the ability to define the typeface’s classification and take that into account in both the maths and the “hints”.

    I dont know how autokerning siftware currently works, so it may already do all this, in which case I am looking pretty bloody foolish right now. Hmmm.

  6. Tubby says:

    OK, I don’t have the level of expertise of most posters here; but I don’t understand why free auto-kerning better than that previously available isn’t celebrated without reservation even by those who prefer “hand-tuned” kerning.

    Wouldn’t it always be far easier and better to let software do the “first pass” and then “hand tune” only the specific pairs which are still not up to professional “eyeball and hand” final adjustment? Anytime the machine can do 90% or more of some time-consuming grunt task instead of the person doing all of it “from scratch,” that seems like reason to cheer. Is there some reason for not combining the best of machine and man resources on a single project?

  7. Hrant says:

    Although the “weathered” type shown on the site isn’t a good benchmark to see how well the algorithm really works, I think this is a great effort. Sure, the eye is the “target audience” (and not mathematicians), but math is part of nature. Just like math is in the petal arrangement of a flower or the spirals of a seashell, it’s also in your brain and eyes – we just haven’t figured it out the numbers yet! That’s very different than the pseudo-religious escapism that math could NEVER be used for spacing/kerning, which is essentially a technical thing. Most of all spacing is about consistency, and very little about expression, so methods will beat headless chickens every time.

    Matt, you’re reading the mind of a dead guy. David Kindersley once devised a system that uses measurements of the fourth moment delta (not merely the surface area) between two glyphs to arrive at superb results, certainly much better than 95% of designers seem to manage.

    Tubby: you’re right. But “hybrid” methods are always harder to wrap your head around. Plus the automated base has to be really good, and also tuned to further manual work. No such system is public yet.

    hhp

  8. Matt Desmond says:

    Hrant, Do you know where I can find more info on Kindersley’s system? The old guys stole all our best ideas…

  9. John Butler says:

    Dammit, I hate it when Hrant is right about something.

    There are easily less than a dozen people in the world who satisfy all five of the following criteria:

    1. They understand spacing and can space a font well manually.

    2. They understand enough statistics and math to quantify subtle rules that go beyond sheer area between glyphs, to variably “weigh” pieces of adjacent glyphs to get good kerning.

    3. They can program.

    4. They are willing to deal with font formats and tools.

    5. They understand that there’s a need for this outside of bloody TeX.

  10. Hrant says:

    Matt, the best source is also the least handy: Kindersley’s booklet “Optical letter spacing for new printing systems” (1966).

    I’ll see if I can find anything online.

    Oh, and something old from Typo-L:
    http://listserv.heanet.ie/cgi-bin/wa?A2=ind0109&L=typo-l&P=R2702&I=-3

    > There are easily less than a dozen people ….

    Well, if you’re right, then I’m flattered to be among such rarified company… :-> But frankly I suspect those 5 criteria might still not be enough.

    hhp

  11. I agree with John. People who understand aesthetics and math can produce incredible things.

    To say that an algorithm can’t produce beautiful spacing is a little silly (whether or not any has written one yet is another question). An expert type designer essentially uses a set of parameters to make decisions. The trick is deciding what the parameters and tolerances are, and where to bend them (essentially, creating an algorithm).

    As a matter of fact, most beautiful things have an underlying structure, with some randomness thrown in. Letterforms are no exception. Another example in line with Hrant’s flowers, etc.: the human form is based on a genetic algorithm. While it is true that some people’s algorithms are more aesthetic than others :), it doesn’t discount the fact that the beauty of the human form is derived from a code written in base four numbers.

    As for iKern – I like the look of it from what I’ve seen so far. It at least shows more promise than anything else I’ve seen to this point (it beats FontLab at any rate). If nothing else, it has inspired me; since I saw the site a few days ago I’ve been feverishly writing my own kerning algorithm. So far I’m still lacking in number two, but I’m making progress.

  12. I hope there aren’t any TEXers reading this who might take this as flamebait, but John reminded me of my principal complaint with most of the TEXers out there: They are huge on the math and pretty weak with the aesthetics. I guess it makes sense, since one of the primary uses is mathmatical notation. For one thing, if they would stop using logos in body copy…

  13. John Butler says:

    Tons of people use InDesign now, but still so far only a small percentage of them fully leverage its typography, whether it’s OpenType features or tweaking the multi-line composer’s justification parameters. (Try enabling a little glyph scaling and see how much a given font can take.)

    The same can be said for users of just about any software, including TeX. It’s such an old eccentric program written by such an eccentric guy used by such eccentric people, (and hey, I can appreciate that,) that over the years it’s introduced its own silliness into what hard scientists define as “typography,” mainly the inline logos (LaTeX and XeTeX compound this) and that stupid sloped-roman-for-book-titles convention that you find nowhere else. My main beef is its steadfast rejection of WYSIWYG, stuff like LyX notwithstanding, which relegates it to the kind of people who are comfortable thinking and writing in markup. And I’m one of those people, but at least I recognize that not everybody has the time to rewire their brain that way. More rewarding to learn a new human language instead of another markup language.

    But yes, kerning and spacing *can* be automated, even perfectly, it’s just a matter of the right people finding the time and incentive to do it. I’d be curious to see Marini’s source code.

  14. Hrant says:

    > I�ve been feverishly writing
    > my own kerning algorithm.

    Go Christian go!

    hhp

  15. John Hudson says:

    Regarding Kindersley’s spacing system, this is something into which I have looked and I don’t think there is anything like enough material — and certainly not enough independent material — to confirm whether it really does a good job or how widely it is applicable. This is disappointing, because the basic ideas are interesting and deserved more attention. I recently met someone who knew Kindersley well, and who was more familiar with the spacing system than anyone else I have talked to. I hope to discuss it with him at more length in future, and probably with Kindersley’s wife Lida Lopez Cardozo. One thing I will note is that most of the material shows only uppercase-to-uppercase spacing, which is a whole different ballgame from spacing text type. This is not surprising, as Kindersley’s interest in automated spacing was prompted by poorly spaced street signs in all-caps.

    Before it went belly-up, I was going to write a two-part article on automated spacing systems for Don Hosek’s Serif magazine. I’ve now decided that I want to write an entire book devoted to spacing: history, techniques, interviews, automated systems … the whole lot. It will be titled, after Durer, On the just spacing of letters. It will not be limited to the Latin script. Lord knows when I’ll find the time.

  16. Yuri Yarmola says:

    When I tried to look on the autokerning/autospacing problem for the last time I realized that good algorithm must be based on following:

    1. Optical properties of glyphs and glyph combinations (this is processed by most algorithms that currently exist).

    2. Properties of the glyph groups (also known as class-based spacing and kerning).

    3. Rhythm of the text line appearance (this is the most difficult part). Which is closely related to:

    4. Frequency of the glyphs and glyph combinations in the text.

    I don’t think I can imagine good spacing/kerning algorithm that will handle all this 100% automatically. But it looks that very good results can be archieved if some hints are given about the general properties of the font and several key glyphs, maybe with integration to autohinting algorithms. Of course some kind of recognition system can try analyse font properties, but that will add yet another level of complexity to the complete solution.

    I will try to integrate any good autospacing/kerning system in FL if I get a chance (and we always try to find one), but for the last few months I was spending most of my time making really good manual spacing/kerning tool. Guess who was directing me :-)

  17. Hrant says:

    I hope Luc[as] de Groot, probably the best man for the job: monumental practical experience, an incredible eye for detail, and the mind of a programmer.

    There are in fact “dark” aspects to spacing that very few people would bother with, but they raise the game to the very pinnacle, instead of merely 90% to the pinnacle. One such issue is that color has to be propagated; so ideally for example you shouldn’t space the left of the “h” the same as the left of the “b”. Another issue is indeed linguistics, which for example causes the two sides of the “o” to need different sidebearings.

    Bottom line: it’s not so simple! :-)

    hhp

  18. Yuri Yarmola says:

    Yes.
    Yes.
    Yes.
    :-)

  19. Hrant says:

    Now I’m officially impressed. And anxious to use the results!

    hhp

  20. kris sowersby says:

    You know what would be something? A program that actually measures the volume of space between the letters to make perfect letterspacing/kerning.

    I thought of this exact same thing not so long ago. Strange. The old guys have indeed stolen all of our best ideas! I would love a tool that would take the tedious work out of kerning. Kudos to those who are trying.

    kris

  21. John Hudson says:

    I’ve given occasional thought to automated kerning for a few years. I think any system needs to begin with the user setting some normative values: it is not possible to produce really good spacing without some guidance as to what the user/designer desires. In particular:

    1. Some key glyphs need to be identified. These are glyphs that have normative, non-kernable spacing for basic forms, e.g. straight stems and bowls but not necessarily limited to those forms. Key glyphs are never kerned relative to each other in pairs. This establishes desired interglyph space. Note that the kerning application should never make assumptions on what these key glyphs are: they should always be identified by the user. This is necessary to ensure that the system is adaptable to non-Latin scripts and to specific styles of type. Note that key glyphs may be key only for specific categories of glyphs (see 2), or may be key to interaction between different categories; this also needs to be determined by the user.

    2. All glyphs that are to be kerned by the system need to be classified for ‘kerning-zone’ (see below). The system can take a guess at this based on whether a glyph is encoded as an upper or lowercase character or, for non-bicameral scripts, based on a common glyph height (e.g. all bo-height Thai glyphs). But the classification needs to be adjustable and correctable by the user, and unencoded glyphs will probably need to be manually classified unless glyph name extensions are parsed (e.g. all .sc or .small glyphs are automatically classified as smallcaps).

    3. What I call ‘kerning-zone’ needs to be set for each classification of glyph. The kerning-zone is a vertical zone within which the area of space between the sidebearing and the glyph form is calculated. General kerning is achieved by balancing the combined area of two glyphs against the norms set by the key glyphs, as limited by algorithms to prevent or control collisions. In lowercase Latin letters, for example, the kerning zone is typically equivalent to the distance from the baseline to the x-height. In uppercase letters, it is usually equal to distance from the baseline to the cap-height. For non-Latin scripts, the correct zone may not be so obvious, which is why this — and all other values used by the system — must be editable.

    4. Ideally, I would also like editable controls for collision tolerance, including setting maximim glyph overlap or minimum distance values and being able to classify glyphs that are permitted to collide and those that are not. For example, some Latin letters like v and y may be permitted to collide with each other in some typefaces but not in others.

  22. Hrant says:

    > it is not possible to produce really
    > good spacing without some guidance

    Exactly why not? And what’s “really good”?

    > This establishes desired interglyph space.

    For a given point size only.

    > �kerning-zone�

    Does this mean for example that in Latin the extenders don’t get used to calculate kerning?

    > collision tolerance

    Yes, good point.

    BTW, does this all need to be resticted to kerning? Why not a complete algorithm for base spacing as well as kerning?

    hhp

  23. I guess I’m one of the silly TeX users (or is that a \TeX{}nician?). I don’t see whether or no a system is WYSIWYG as determining whether or not it’s a good tool, just whether or not it’s appropriate for a given task. Given current TeXnology, TeX is at least, “What You Type and Markup Here is rendered as What You Will Get There” which goes a long way toward making TeX much more useful for a much broader variety of things (some of which one can see at the TeX Showcase). ob. discl., some of my stuff is there, though not the latest version of peace_on_earth.pdf.

    As a supporting point, Robert Bringhurst did the lovely “letterfall” frontispiece in his Elements of Typographic Style using not Illustrator or Freehand, but XyWrite…

    And as a counterpoint and out of curiousity, did anyone ever use Right Brain’s / Adobe’s TouchType.app for doing kerning? That’s a good beginning for what I want / like in an interactive WYSIWYG type-tweaking tool.

    William

  24. John Hudson says:

    To me it is largely irrelevant whether a fully automated, ‘guess how this should be spaced’ tool could be made to do a good job (although I don’t think it could, and certainly wouldn’t work reliably for more than a handful of scripts). I am looking for a serious kerning tool to use in font production, and this means a tool that allows me to affect and control as many aspects of the automation as possible, because what matters to me is how I think the letters should be spaced. An automated tool that speeds up the kerning process would be very welcome; a tool that takes away control and still leaves me days of work tidying up its output would not be welcome.

    Things like adjustment of spacing relative to type size is outside the control of the font maker unless he is producing optical masters.

    Regarding Latin extenders in kerning, these are only important where they are in proximity to each other: the kerning zone for the lowercase is the x-height area, because it is in this area that normal spacing is established. Latin extenders tend to affect kerning in abnormal ways, i.e. in collision. Algorithmically, I would expect kerning of elements outside the kerning zone to be handled separately, as exceptions to normal spacing: that is, such elements are not ignored, but are adjusted based on collision tolerances rather than on the analysis of white area on which normal spacing is based.

  25. Hrant says:

    > a tool that takes away control and
    > still leaves me days of work tidying
    > up its output would not be welcome.

    Agreed. But a tool that can do “really good” kerning with no help would be great. And that’s nowhere near impossible.

    > Things like adjustment of spacing
    > relative to type size is outside
    > the control of the font maker unless
    > he is producing optical masters.

    No, because even if you’re not making optical masters you have to decide what the font will [ideally] be used for. A news face needs to be looser than a book face. Sure, you can’t control how everybody will use your fonts, but that doesn’t mean you should ignore those who do know how to associate vertical proportions for example with letterspacing.

    hhp

  26. John Hudson says:

    But, Hrant, you are the one suggesting that a tool could fully automate good kerning, and I’m the one saying that good kerning relies on knowing the intent, which is why I think an automated kerning tool needs to have user/designer-selected values. The intent is expressed in the values. Without such values, the tool has no way of knowing whether a particular typefaces is, to use your example, intended for newspaper or books.

  27. John Hudson says:

    But a tool that can do �really good� kerning with no help would be great.

    Perhaps you are misunderstanding me. I’m not talking about ‘helping’ the tool: I’m talking about controlling the tool so that one can vary the results according to specific intent. Presumably one could tell the tool ‘I have no specific intent’, i.e. not set any preferences, and the tool would do its best to space the glyphs according to default algorithms. Since I almost always have specific intent, I am not interested in a tool that doesn’t provide control such as I have indicated.

  28. Hrant says:

    > The intent is expressed in the values.

    Why couldn’t it be expressed as itself? Like telling the algorithm “this font is for a newspaper”.

    hhp

  29. nick says:

    I have to agree with John that the user should be able to control the parameters. But even then, those parameters would be defined by the software programmer, not by the user.

    If you’re going down this path, you should take the van Blokland approach, which is to design your own tools.

    Ultimately, I don’t believe that a design process which involves a myriad of inter-related aesthetic decisions can be automated. And the more people rely on automation, the less of a feel they will have for the totality of the process, the less of an individual personality their work will have.

    And it IS a creative process, which involves a certain amount of performance serendipity: how do I feel today — will there be happy accidents? Will I have a sublime conception that defies immediate analysis, necessitating the invention of new algorithms to mimic it?

    To sum up:
    1) kerning cannot be isolated from spacing and glyph design — the intent of the designer in those areas must inform his/her kerning aesthetic.
    2) perfect kerning is not desirable or even possible — because kerning is an intuitive, interpretive process.

  30. Hrant says:

    Algorithms are not about perfection, they’re about efficiency. Sort of like printing.

    hhp

  31. John Hudson says:

    Why couldn�t it be expressed as itself? Like telling the algorithm �this font is for a newspaper�.

    What kind of newspaper? What size will the type be? On what kind of press will it be printed?

    Yes, it would be perfectly possible to have optional pre-set preferences, e.g. for ‘Newspaper type’, but these would be sets of preferences for the algorithms to respond to. Once you have sets of preferences, the obvious move is to make the preferences editable by the user. Whichever way you approach the automation of spacing you need to begin with some form of intelligence about how the alogorithms should be applied.

  32. nick shinn says:

    >Algorithms are not about perfection, they�re about efficiency.

    So? Efficiency and beauty are also mutually exclusive values.

  33. Hrant says:

    > Efficiency and beauty are also mutually exclusive values.

    It’s clear you’re not a programmer. To some people, something that works “tightly” is a major turn-on. Beauty is certainly not necessarily tangible.

    hhp

  34. nick shinn says:

    >It�s clear you�re not a programmer.

    That’s irrelevant.
    As a designer, I am well aware ot the elegant solution, mathematical or otherwise. That’s not the point — this is a philosophical discussion.

    Efficiency and Beauty are two different things.
    Perhaps they are not, as I said, mutually exclusive, but the relationship is asymmetric.

    While it is commonplace to derive aesthetic or moral pleasure from efficiency, it is problematic to quantize pleasure. One would be foolish to reject labor-saving devices, becoming uncompetitive in the marketplace — but nonetheless it is the constant brute pressure to automate and mechanize the aesthetic realm, in the name of efficiency, that I oppose. Down with Viagra!

  35. John Butler says:

    I feel compelled to propose that not every little thing is a symptom of a larger, all-pervasive creeping doom.

  36. nick shinn says:

    >not every little thing is a symptom of a larger, all-pervasive creeping doom

    Sorry, but my impression has always been that every little thing is connected to the whole, which is moving too fast. And the longer I’ve been working, the more I resent having to constantly acquire and learn how to use new tools which automate and devalue complex skills in which I have a significant investment. One step ahead of the scrap heap.

    The doom is not something we’re moving towards, it’s the huge scale and rapid speed of change.

    Automated kerning/spacing is not a little thing, it is a profound issue — for type designers.

  37. Is it bad that my desire for building tools is to move myself to the top of the scrap heap? If I can mechanize the process by building a beutiful machine, I’ll do it. If I can use someone else’s beautiful machine, even better. I do, however, like John, want a machine I can control (one of the reasons I, like van Blokland, am inclined to build it myself.)

  38. Hrant says:

    Nick, too fast? Direction is more important than speed.

    hhp

  39. You know what would be something? A program that actually measures the volume of space between the letters to make perfect letterspacing/kerning. Does something like that exist?

    It does. Kern Master, formerly know as Kernus. Available from DTL and URW. Goes back to the work Hermann the German Zapf did with Peter Karow at URW as far back as the 70s. You can actually buy it, albeit only for OS9. Not only kerns, but also re-unitizes if desired.

  40. Ahhh, I completely overlooked Kern Master (DTL has got to get their English pages up!). I wonder if this is the same technology that Adobe licensed for their optical spacing in InD and Ill…

  41. nick says:

    Christian, of course it’s not bad.

    But the problem with fresh mechanization is that it’s always crude, trading off the sophisticated humanity of a legacy skill against inexpensive efficiency. (Democratization is never a bad idea, either.)

    So there are two thing to be done with the beautiful new machines. One is to make them more adept at performing the legacy tasks; and the other is to develop new forms of expression with these tools, that are authentic to their nature, not just mimicking the legacy tools.

    Just to welcome them uncritically, embracing them for mere productivity, is banal. So yes, iKern and Optical Spacing (InDesign) are cool and useful — but let’s be very discriminating about pinpointing their shortcomings, and let’s see what they can do that’s unprecedented.

  42. And many years later, does anyone have a different opinion?

  43. Mrakomor says:

    Well, I’d be very interested in any new info on this. With tools like typebutter.com or TypeFacet Autokern, it’d be nice to get the discussion going again.

  44. Winterwake says:

    The iKern service is a total waste of money. Use DTL KernMaster produces the same results at a fraction of the cost. If you produce a single font, could also be of help, otherwise consider purchasing DTL KernMaster and learn to use it.

Post a Comment

Comments at Typographica are moderated and copyedited, just like newspaper “Letters to the Editor”. Abusive or off-topic comments are not published. We appreciate compliments, but don’t publish them unless they add to the dialog. Thank you!