Kerning help for newbie.

Dr jack's picture

Hi guys,
I'm creating a font that's quite 'blockish' in shape (rectangular/portrait).
I'm learning as I'm working through FontLab Studio. Reading the Manual and practical work.

I was wondering...
If I had a font that consisted of just, say Capitals A-Z and nothing else, and overall the glyphs were, say 5 different widths covering the 26 letters, is there a way to automatically ask FontLab to generate the same kerning width right across the glyphs, irrespective of the widths.

I'm reading the Manual and trying to understand Auto Kerning, and I can do, and understand the kerning of pairs, but I cannot see where or how to ask FontLab to take in every eventuality when every unique instance of kerning would arise. Can FontLab do this by itself? (of course with me programing it in) Or do I need to kern every pair and their relationship to each other.
I'm reading and reading, but just probably need a wise head here to either show me a quick way, or the way they do it best.

I hope I've made it clear, and haven't confused you guys.
The more insights from you guys, the more I learn.
Kind Regards

.00's picture

Auto-kerning is for lazy designers.

blank's picture is worth looking at. Some people will call it lazy, but Jos Buivenga appears to be getting great results with it, and enough people on Typophile use his fonts that I think we would be hearing about it if the results were bad.

Quincunx's picture is worth looking at.

That does look interesting.

Arjun's picture

hmmm i agree with terminaldesign, auto kern is for lazy designers but maybe not in this case. He's (Dr Jack?) mentioned, he's making a 'blockish', 'rectangular' font. I'm guessing its going to be monospaced. So autokern may not be such a bad option.

Making a complerte kerning table would be just a waste of time.


kentlew's picture

What I interpreted in the question is not so much "auto kerning" (though that's the term Jack used) as "kerning assistance" or class kerning.

A monospaced font would not need kerning. That would defeat the purpose.

And I would think a 'blockish' 'rectangular' all-caps design would need minimal or even *no* kerning.

So I'm not sure what the point of the question is exactly.

.00's picture

Why do we have to interpret questions?

If the font is blockish, then it probably needs no kerning (or only a touch). But it will have to be properly spaced. I don't think you want to auto-spaced the font. But the whole Uppercase alphabet could be spaced in a very short time.

Dr jack's picture

Sorry if I have confused people, and hopefully I am writing in a manner that is clear and correct to wiser heads.

I fully understand Terminaldesign's opinion on kerning and laziness.
I am a Graphic Designer of many years and would hate a fully automated process that for instance, automated a t-shirt design, or a logo, or business card art, or web graphics, etc.

But more my question was related to the things you can control.
Here's a wider example, and hopefully this helps.
Say the font was regimented by being blockish and you wanted the same kerned relationship between all the glyphs.
Now we have 200 glyphs and within those 200 glyphs we have 59 different widths.
(The 200 glyphs fit into 59 widths)
And you know the same spacing you want across all 59 width occurrences, because however stupidly, you think it looks good!.

So, is it possible to ask FontLab to look at all possible occurrences of all glyphs, irrespective of width, and equally kern them? Or doesn't FontLab need to know the width to automatically kern fonts?

Apologies, if I'm asking a stupid question. I'm learning and I just wondered if this was feasible. I already know that professional, individual (and time consuming) kerning of glyphs is the correct and professional thing to always do. Just wanted to know that if you had a regimented situation, was this possible.

Thanks Again for any insights.

Dr jack's picture

And btw, ikern seems to be a service, not an application/program that one can get their hands on?
Is that the idea others get from that site?

.00's picture

I don't see how different glyph widths, by themselves, have any bearing on kerning or spacing. Straight-to-straight, round-to-round, straight-to-round, diagonal-to-round, etc., these basic relationships are what you should be concerned with. An H and an I have different widths, but they are treated essentially the same from a spacing and kerning standpoint.

Dr jack's picture

Yeh terminal....maybe I'm getting a bit lost. Cheers.

So how would I ask FontLab to kern all these glyphs the same without kerning each individual pair?

Elias's picture

I guess what you need is class kerning (?). Or have you already read about that and is it something else you are asking about?

Jos Buivenga's picture

And btw, ikern seems to be a service, not an application/program that one can get their hands on?

It's indeed a service and I can highly recommend it. For me it's the perfect timesaver that allows me to realize more things than I otherwise ever could.

kentlew's picture

Jack, I think we have a breakdown in communications here -- I suspect because of terminology.

Kerning is only for exceptions to the base spacing. Sidebearings are the parameter that determine base spacing.

As I understand it, you have a blockish design with letters of various widths. You want the spacing between these characters to be exactly the same with every combination of letters. I'm going to assume that by "blockish" you mean that every letter has straight sides, even "round" ones. You want mathematically equal space between them.

If all this is true, this is not a case for kerning. You just need to set the sidebearings for every glyph to be exactly half of your desired inter-letter space. You could use Actions > Metrics > Set Sidebearings to help facilitate this.

If this description doesn't help, then you may need to provide visuals to help us understand what you're after.

-- K.

guifa's picture

Also, FontForge has an autokern and an autospacing (called autowidth) option. It'd be interesting to see the difference in results from the ikern and FF, although FF it seems is a much simpler algorithm (based on ikern's description).

«El futuro es una línea tan fina que apenas nos damos cuenta de pintarla nosotros mismos». (La Luz Oscura, por Javier Guerrero)

.00's picture

So does FontForge's autospace read your mind and then apply the spacing you have been thinking about?

Whatever happened to the notion that spacing is an integral part of the type design process?

Perhaps there is an auto design script out there as well

All this talk of auto space and auto kern is making me ill.

guifa's picture

FontForge allows you to specify how much spacing you want and then applies it as best as possible. I've always taken it to be as an aid, it's not perfect, but it's quite good, but still requires some hand editing afterwards.

Copy and paste is really just an autodraw. Skewing can be helpful at times for making an italic, but you can't just skew and leave it, there's still a lot of work to be done. Just the same as you can take a bold and a regular and interpolate for a demibold. It helps speed along the design process but it certainly doesn't replace it.

«El futuro es una línea tan fina que apenas nos damos cuenta de pintarla nosotros mismos». (La Luz Oscura, por Javier Guerrero)

Quincunx's picture

>> All this talk of auto space and auto kern is making me ill.

Now don't get too fundamentalistic about it. ;)

I agree with you in most cases, but in the case of ikern for example, I can see the usefulness of it. Even if just for preliminary (auto)kerning, which you can then manually perfect.

I think it is a good thing that certain tasks get automated -- as long as it is monitored and/or perfected afterwards -- especially the repetitive ones. Timesinks are annoying.

.00's picture


I don't agree that kerning and spacing are timesinks. Spending time on a design via spacing and kerning is a fundamental part of the design process. I'd much rather spend the time applying my decisions regarding kerning and spacing, than monitoring and correcting a automatic process. I made hundreds (maybe thousands) of fonts over the last 18 years, and I can't tell you how many times contemplating the kerning and spacing have resulted in the redrawing or fine-tuning of a glyph. I review all the kerning and spacing and drawing of all interpolated instances. Everything needs to be examined.

gferreira's picture

you can ask help from max kerning. ;-)

iginomarini's picture

On I've explained my approach on autospacing and autokerning as a process that requires choices but where metrics are mainly a consequence of the letters' shapes. I'd like to say here that iKern provides a quality adequate for final production and the designer's feedback is useful when tuning the engine, but no other adjustments are necessary afterwards. Besides it's already happened several times that after a first reworking I had received a new version of the fonts with glyphs changed (usually f and t). Anyway in the last sentences of my “manifesto” I ask : «[...] just contact me: I’d be glad to let you test iKern. I’m always looking for good fonts». Some typophile already did it and this is the way I prefere (and it doesn't cost anything as a test is outside of a “commercial scope”).

Igino Marini

scottsullivan's picture

if you have not read the 'from moleskine to market' article on 'I Love Typography' its worth looking at.

- Scott Sullivan

acnapyx's picture

> if you have not read the ’from moleskine to market’
Possibly many people here have read it. But I do not think this would help, as exactly the kerning tools mentioned there are not publicly available (and Tal Leming seems not to answer personal emails).

Drjack: honestly, I would recommend at least doing the metrics by hand, or you'll never learn to do it right; FL contains some AutoMetrics feature, as well as a kind of auto-kerning. But:

1: They are far from perfect.
2: Any kind of automatic setting these values won't spare you the prolonged reading of printed texts, laid out with your font - to correct the kerning gaps. And sometimes fixing the autogenerated values is not less obnoxious than spacing and kerning everything by hand from the beginning.
3: Any auto-spacing/kerning depends heavily on the letterforms. The more you sway away from the classical letterform, the more uneven auto-values you will get. I.e. if the font is blocky, the autospacing/kerning has some sense (although better to avoid it altogether). If you fancy curly designs... better avoid it.
4: After all, you are still learning, and time-suckers like spacing and kerning are required to learn to do it right. If you prefer, later you can rely on auto-generation tools (even the masters sometimes get lazy), but training the eye to see the 'gaps' in spacing/kerning would do much better service to you in the future.
5: And finally, would you feel this font is 'yours', if at least a half of the work on it was done by someone/something else?

If you are mostly interested in experimenting/learning, I would recommend you to start by designing monospaced font - better to learn to do letterspacing only, than compensate bad metrics with extensive kerning. If you can do this, later you could do... well, almost anything.

On more practical note: Eh, if Metrics Machine was publicly available for licensing... I'm getting tired doing everything the hardest way in FL.

Wiewauters's picture

Igino iKerned my font last week and I must say that it was better then my own spacing. Also I did change the lowercase "t" after he send me the first processed copy.

He even processed different version which gave a different text-image.

It's really something worth considering.


Jos Buivenga's picture

All this talk of auto space and auto kern is making me ill.

I guess an open mind wouldn't hurt and if this ill feeling occurs regularly try not to contaminate other people. There's no one saying it's wrong to space and kern fonts yourself.

Wiewauters's picture



Igino iKerned my font last week and I must say that it was better THAN my own spacing. Also I did change the lowercase “t” after he send me the first processed copy.

He even processed different version which gave a different text-image.

It’s really something worth considering.


Dr jack's picture

Thank You to everyone who respond. I value your wisdom immensely.
(As I get more into Typography I understand what a science it is. There seems to be enough learning for a lifetime!)

After posting by initial post and spending many hours slowly working with Fontlab, as "kentlew" suggested I realised that my issue was with understanding and using Metrics.

I was getting ahead of myself I think, and I thought the answer was in the Kerning, when in fact understanding Metrics and how to do it in FontLab correctly was my issue. I'm doing everything manually now, and Kern pairs when the need arises. I never wanted it easy or to take the lazy man's way out, I just thought that an application so detailed may have an easy route. But I can see now the possible ramifications of automating without me knowing the basics first.

Thanks to all who didn't just flick me off. Much Appreciated.


Having said that, I have my 'blackslash' glyph functioning and typing well in preview mode, but I am having a problem with the 'slash' glyph (Unicode 002F)Solidus.
My Backslash in preview mode repeats every time I hit the key with the Metrics all fine, but when I hit the Slash key a couple of times I eventually end up with a space in between, even though I haven't hit the space bar. And the space that is added between my multiple key taps of 'Slash' is in fact my 'Space' Metrics width.

Anyone know what is causing this? I have nothing but the Slash shape in the Slash Glyph Window? I've looked on the net for help. Even if I copy the Backslash Glyph outline, paste it into the Slash Glyph window, flip it horizontally, the same happens.
Is it me? How can I type the Slash glyph over and over again in Preview Mode with a Space Glyph inserting itself? Is there a clean-up method for a weird acting Glyph window. (Unicode 002F)

When I hit Backslash multiple times in FontLab's Preview I get --> \\\\\\\\
When I hit the problematic Slash Glyph in FontLab's Preview I get-> / / / /


eliason's picture

The slash is an "escape character"

Syndicate content Syndicate content