Hacker News new | past | comments | ask | show | jobs | submit login
A Beginner’s Guide to Kerning Like a Designer (canva.com)
227 points by wyclif on Feb 3, 2016 | hide | past | favorite | 74 comments



While the tips presented are fine if you actually need to kern something, in realty the only time you would ever need to do this is if you're using a font that is poorly made, or if you're designing your own typeface.

If you've paid for a decent typeface, it more than likely works as it should and has all of the common kern pairs already defined. If you're typesetting a language that is less common, you may run into combinations of letter that haven't been kerned, in which case any designer worth their salt would be happy to get an email showing the issue (so they can amend their font files in this and other typefaces they have produced).

In the end kerning is a very very time consuming process, and you can save yourself a lot of time just by starting with a decent typeface in the first place.


>in realty the only time you would ever need to do this is if you're using a font that is poorly made, or if you're designing your own typeface.

Or logo design. A few examples:

FedEx http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2009/...

USA Network http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2009/...

ebay http://www.howdesign.com/wp-content/uploads/i-also-find-this...


To be pedantic (though I imagine that's acceptable in this venue) I'd say this is not kerning. Kerning is an optical adjustment between individual letter pairs to correct a deficiency in a historically evolved system, somewhat separate from tracking; tracking being an even application of positive or negative space applied to all characters in a sequence to stylistic effect.

I'd also go so far as to say kerning doesn't exist in these applications because the typeface has been significantly redrawn to create the desired shape. Even the FedEx logo, which appears to be an off the shelf font, had the be redrawn in order to make the letters line up to produce the hidden arrow. Usually optical corrections would have made the x not produce an exact right angle nor would it align precisely with the top of the E crossbar. At some point you're just drawing a logo, which can is not the same as a typeface.


If I recall correctly, the FedEx logo is an amalgam of two fonts to begin with.


I was intrigued by this comment and went searching for this. From this FastCompany article it's inspired by Futura and Univers though sounds like it's more or less a custom job:

> At the time, Lindon was "in love with two bold fonts" known as Univers 67, which is a condensed bold type, and Futura Bold. He takes me through how he started playing with the two typefaces and the letter spacing, from extremely wide to locked together, uppercase and lowercase, mixing and tinkering. One iteration had a capital E and a lowercase x: "I started squeezing the letter spacing, I saw a white arrow start to appear between the E and the x. I thought, ‘There’s something there.’ I tried both fonts, but I didn’t like how much I had to distort either typeface to make the arrow look good. I thought, ‘Would it be possible to blend the best features of both?’ I took the high x of Univers and mixed it with the stroke of Futura Bold. The x rose to the crossbar of a lowered E. I kept tweaking, and eventually not only did the arrow look natural and unforced, but I ended up with a whole new letterform."

http://www.fastcodesign.com/1671067/the-story-behind-the-fam...


It looks like Helvetica with a lot of modifications to make the arrow look correct.


I wouldn't go that far; in The Elements of Typographic Style Robert Bringhurst mentions having to tweak the kerning of just about every typeface he's ever worked with, and he's professionally associated with Adobe's typography department, so it's not like he's never worked with professionally-made typefaces.

To make a software development analogy, manual kerning is a bit like writing your own HTTP client library from scratch. Any language you use probably already has a pretty good or a great one, so it's probably not worth your time unless you have a very specialist use-case, you want to learn how to do it yourself, or you're legitimately that much better than the original implementor.


Perhaps a more direct analogy would be that manual kerning is like hand-optimising code at a low level.

You can improve almost anything to some degree, and an expert would be able to detect even quite small differences on close inspection. However, an isolated minor deviation would not make a significant difference in normal use, and the effort to hand-optimise everything is prohibitive.

However, a user could notice either the cumulative effect of many suboptimal areas (poor built-in kerning in a font, careless inefficiency in frequently run code) or a single major problem (not tidying up a large logo or hero graphic, not optimising the body of a loop running many times causing a delay in UI response). In these cases, the benefit of manual refinement may be amplified enough to justify the effort.


I think that your analogy is slightly off, though true enough. I'd say that writing a low level library is more akin to actually drawing a typeface than it is to mucking with the spacing of an existing one. You won't learn a lot about what goes into properly spacing a typeface just through kerning, as you would by examining a lower level protocol and writing an implementation.


It will be less of a problem in the future, but a lot of the versions of classic fonts floating around have funky kerning. Neue Haas Grotesk is the first properly digitized version of Helvetica, for example.


I agree, and there will always be bad digitizations or just bad fonts. My practical advice is mostly that if you find yourself having to kern more than one or two pairs you're better off finding a better typeface.


I see quite a few HN commenters asking, "why isn't this automated?" Well, it is! In 1994 one of the pioneers of vector fonts, Peter Karow, worked at Adobe on "optical kerning", which inferred kerning pairs for a font automatically. Adobe's algorithm models the whitespace between two letters as a viscous fluid which resists flowing into tight areas. They compared it to hand-kerning and found that neither approach was perfect, but that there were 120% more deficiencies when kerning by hand and 30% redundancy in the kerning pairs. So computers, can and do kern better than humans. However, there are still many poorly kerned fonts around, even digital versions of classics such as Times don't ship with particularly good kerning pairs, so designers often find themselves having to tweak kerns.


And do not forget Igino Marini's iKern [1] used to kern plenty of forts.

[1] http://ikern.com/k1/ikern/the-ikern-theory/


I know a guy who has owned various-sized printing companies since the late seventies.

He told me that, when desktop publishing started happening in mid-'80s, the consensus in his business was that computers wouldn't have much of an impact on "real printing" because the kerning you got from digital sources was so bad.

When I hear people saying "there's no way a computer could do that properly", I think of 1985 print shop owners confident in how their handmade kerning provides value to customers.


My dad used to run a printing shop till the late 80s when he passed away. I think the bulk of his business was producing 10k-100k copies of books/documents for people at a lower unit code than any other methods. Once those machines were setup, they could crank out 3-4 copies a second.

He used to do a lot of the game manuals for a video game company and they used to give him finished video games every year for us kids to play.


I wonder what the equivalent is for developers. What do we mistakenly see as our "real value". Something we think that can't be replaced or become irrelevant.


Identifying a problem, choosing an algorithm to solve it, and implementing that algorithm.

I'd say 1 is the hardest for computers and 2 and 3 are the hardest for humans.

There's a cliff in artificial intelligence that people have been saying is just on the horizon for decades. Eventually they'll be right.


I hope it's fixing bugs.


> their handmade kerning provides value to customers

Did it?


I'm sure it did, to a point. Customers wanted professional-looking results.

But eventually digital became good enough to be largely indistinguishable to the unprofessional eye, while also being 10x cheaper.

Point being: the print shops may have misinterpreted "customers want professional-looking results" as "customers want handmade kerning on offset plates". The specific technique wasn't really relevant, even though it seemed that way to the ingrained pros. (There's perhaps a lesson there to today's web developers who spend their time arguing about frameworks, languages and flat design icons rather than customer-oriented results.)


Just ask ad agencies. I worked for an old-style typesetting outfit as late as 1995 that still did lots of display type work for ad agencies. I found this kind of remarkable, considering how long desktop publishing had been around. The agencies outsourced the work (kerning and other typographic best practice) to "the professionals" because, well, it was still a valued specialist skill.


I'd love to see an actual measurement of this, if only a simple test. Two otherwise identical websites, one kerned by a professional designer, and one just using some default. Serve each of them to a random 50% of your customers and see which one converts more users or sells more widgets or whatever the metric is. Does the kerned version bring in more value than it cost to have the designer fiddle with the fonts?

My belief has always been that all design work should be measured and have to withstand the "does it actually provide value" test, since otherwise, how do you know one design is better than another?


Just sit on the subway and browse the ads above your head. Some will be designed by a pro and the typography will be properly handled. Others will make you want to poke your eyes out if you examine them closely.

I'm going to say that yes, 100%, it provides value by creating a more appealing display. Frankly, it's embarrassing to have your brand displayed without the typography handled properly. If you don't see the difference then maybe you should do yourself a favour and not delve into the art of type because there is no turning back once you start noticing the bad stuff.


The question presented is not whether it makes a stylistic difference visible to those in-the-know but rather whether it makes a motivational difference visible in the actions of the mud-people. Those are two very different questions.


I worked for a multi-billion dollar finance company that worked primarily with middle and lower class people.

Our marketing department swore by bad design. Not just simple, accessible. Intentionally bad. They believed it grabbed more attention, and that their customers felt safe/found them more trustworthy.

When we tried out more polished marketing we had measurably fewer responses.


If it is achieving the intended impact, it's good design not bad design. I've seen looking at direct mail response rates that a very slick polished classy piece can underperform something more FUCKING LOOK AT ME MY LETTERS ARE BIG COLORFUL HERE'S CLIP ART OF A GUY HOLDING CASH!!!!!


That's still bad design. It may be good marketing though.

Not the same thing.


It's ugly, not bad.


Right. I've worked at a place where dozens of different variations of ad copy were tested live against random samplings of users (I'd guess this is what everyone in that business does by this point). Some designs are so much better than others that you can easily eyeball the $ difference just looking at the low-res dashboard. But we didn't go down deep to the level of testing kerning vs. not kerning, subtly different fonts/colors, etc. to see if they had any measurable effect. I think it would be an interesting study. You could probably program a computer to iterate and test by itself over and over until it arrived at the "objectively best" design.


Gotcha, blame my commute for the grudge.

I would be interested in a simulation based on big data or whatever, but I am passionate about typography as art.


A kerning game: http://type.method.ac/


Thanks for sharing this -- it's remarkably addictive. It's not the first thing one would think of when coming up with a game design concept, but they've somehow made it work!

I wonder if they're storing all the results to do an analysis on peoples' eye for kerning.


This is indeed surprisingly addictive. As a game designer, I love it.


My god this is wonderful and addictive. Is there something similar for leading?


Thanks! (I'm the author). A leading game could be interesting, I'll give it a spin sometime soon :)


Great game, really addictive! Kudos!


Leading is much more subjective than kerning. What kind of game would you make about that?


Crowdsourced manual kerning !


Only show this to someone you really hate. [1]

1. http://xkcd.com/1015/


This [1] doesn't concentrate on kerning as such, but it is my favourite typeface-related comic strip.

[1] http://wondermark.com/650/


It seems that the rules are pretty well defined. Why can't computers auto-kern?


The other comments here are true, but it's worth pointing out explicitly: High-quality fonts have already had this done to them, and contain the resulting information explicitly in the font file. Most software packages (Latex since forever, recent versions of MS Word) understand how to read this information and apply it automatically to text. There are relatively few cases were you actually need to touch this in practice, assuming your fonts and software are doing their job.

The article itself is describing what you would do to fix kerning in a low-quality font. But really, why would you want to waste your time with that? Even properly kerned, a low-quality font will have other flaws.

There are still certain typographical tasks like avoiding rivers (https://en.wikipedia.org/wiki/River_%28typography%29) which are not handled well by existing typographical engines. But most everything else can be done well with Latex and a good font.

So the real lessons here are:

1. Pay for high-quality fonts. This is just one more reason to do so.

2. If you have to use MS Word, use a recent version or run it through Adobe InDesign afterwards. Or just do it correctly from the beginning with Latex.

3. For very large text that will be used frequently (such as in logos), pay for a designer.


This is called "Optical" kerning in Adobe products. In general it's a good time saving device if for some reason you're using a typeface with no kerning pairs defined, but the result often ends up looking robotic and either too tightly or too loosely spaced (as I believe it ends up kerning every pair rather than only those that need kerning). If you have a typeface made by a reputable foundry there's usually no need to turn this feature on.

On the type design end of kerning, automated kerning does exist, though it's always tuned by hand afterwards. The most complicated part of kerning is that there are variables that need to be tuned based on the purpose of the typeface. If the typeface is intended for screen use or print use, or if it's made for large headlines or tiny captions, the amount and method of kerning changes, and so would the algorithm needed to generate it.


That sounds like a perfect match for using machine learning. The exact connection what we think is the perfect kerning isn't obvious and the model used by Adobe seems to be arbitrarily selected. Machine learning probably can approximate how a human decides which kerning is best better.


Right, though I'm skeptical that the program would also be able to correctly identify the motivation for the typeface, which drives all of the decisions about how it behaves. That component of the program would end up being far more complex than generating the actual kerning pairs themselves.


I can't imagine how kerning could look 'robotic'. Can you give an example?


Not an easy phenomenon to describe or even illustrate. I believe that some legibility come through slightly uneven textures that are created by varying shapes that words create and the "color" (density of light and dark) that is created by different sequences of letters. Different words become identifiable by their shape and the visual space they occupy. Kerning somewhat counteracts this by attempting to make sequences appear more regular, so "robotic" kerning, might be described as an extemely even appearance to the detriment of legibility.

Granted were talking about a very micro adjustment. In the end he word will still be word and will still be read.


They can. Most software (MS Word) will just use kerning pairs predefined in the font, but more complex design software (Adobe InDesign and Illustrator, for example) can automatically optically kern text - it works pretty dang well.

Maybe I'm not picky enough as a designer, but I only very rarely kern something by hand, and that's usually when I'm working with some weird display font that auto kern doesn't handle well and has poorly defined kern pairs. Sometimes logos as well, but for 99% of text it's really not worth the trouble IMHO.


You're probably not gonna kern by hand anything that isn't an attention grabber in a huge font, or a logo or product label, and the like.


If you want to produce a nicely typeset document, LaTeX (or XeLaTeX) is the way to go -- it does almost everything you could want (kerning-wise) automatically, and has an active community supporting new packages and new fonts. There are also many templates[1] to help you get started.

[1] https://www.overleaf.com/latex/templates

(and if you give Overleaf a try let me know what you think - I'm one of the founders, and always like to hear feedback from new users)


No, the article is about kerning a typeface, not simply rendering existing kerns contained in font files. LaTeX does many things but auto-kerning is not one of them. It can only execute embedded kerning pairs (metric kerning) it can't infer its own (optical kerning).


Aha, thanks for that explanation, that was really useful and concise. I've learnt something new today, which is always good :)


I wondered the same thing myself. I suspect they can/do, but that their guesses aren’t great for general, more complicated fonts. That might make it inappropriate for larger print work.


>>designschool

Got a big pop-up over my screen asking for signing the mail list while reading the article. I'm sorry but into the trash it goes.


I got the same pop-up. I clicked the X button, which didn't seem like too much of a burden to continue reading this relatively interesting and free content.


...thereby contributing to the problem by reinforcing the irritating behavior.


It's hard to see their design advice through all of the clutter.

http://i.imgur.com/lSTSTQk.png


Nice post but the essential info is missing—the CSS property font-kerning.

The font-kerning property controls the usage of the kerning information; it controls how letters are spaced. The kerning information is stored in the font, and if the font is well-kerned.


Here: https://www.w3.org/TR/css3-fonts/#propdef-font-kerning

Question is, how do you find fonts that have proper kerning information attached ?


Just get the expensive all-time classics from the big guys like URW++, Linotype etc.

EDIT: Or just go to MyFonts.com, to any font and type a sample text which includes some kerning, such as the word 'WATER'; eg try it here for the Helvetica Neue family and voilà it has kerning: http://www.myfonts.com/fonts/linotype/neue-helvetica/


Most do. Try the word "AVAVA" as a test. You'll also need to set `text-rendering: optimizeLegibility;` for WebKit.


If you have time, then add them into the font yourself with FontForge.


Most heinous example of poor kerning in a professional publication: http://i.imgur.com/Z1869gK.jpg



Kerning.js is a really good css/js library to include in your projects if you're interested in this stuff but not a professional. It lets you take control of what's going on with the typography on your site.

http://kerningjs.com/


For those unfamiliar with how easy it is to get kerning wrong, I suggest this fantastic sub-reddit:

https://www.reddit.com/r/keming

I remember old terminal style fonts where pom would read like porn, and vice versa. Fun days.


This recent article is also useful if you want to learn a little more about typography:

https://medium.com/martiancraft-s-syndicate/why-san-francisc...


Kerning.js sounds like a horrible idea. It's bloating your DOM, real bad. That's especially bad for SPAs that are constantly diffing and changing the DOM.

The project also has a ton of open and unanswered issued, of which some sound pretty severe.

Edit: Grammar


see also the nicely named Reddit sub /r/keming


You don't need a guide, you need an eye for it.


I wonder why this process is not automated? I mean, it should be fairly easy to create an algorithm which would adjust letter spacing based on the actual printed letter. Another milestone for AI, now that Go is conquered? ;)


It is, actually, and in two instances, even.

Type designers use software to automatically create all common kerning pairs and to then try its best to align them on its own, after which the designer goes through them one by one to correct the program as necessary.

The other way this can be used is with any endpoint design software like InDesign, which has the option to set type in the 'metric' or 'optical' modes [0]. Metric uses the font's built-in kerning pairs (if any exist), while optical overrides them with the application's own algorithm.

If you're using a font that doesn't have built-in kerning pairs, though, you're probably better off choosing another typeface than blindly trusting this software in hundreds of pages of body copy. Browsers AFAIK still don't support kerning pairs and rely on their own hideous kerning algorithm, toggled on through `text-rendering: optimizeLegibility;` in CSS.

[0] http://type-ed.com/2013/12/08/metrics-vs-optical/


WebKit has supported kerning pairs via `text-rendering: optimizeLegibility;` since 2010. It works just fine.


In 1994 Adobe created an automated kerning system which outperforms humans. It's built into InDesign and Illustrator. They call it "optical kerning".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: