Something about the number of kerning pairs in a font

fermello78's picture

Recently I've made my first text font family of 5 weights. I've noticed that each weight of my font includes aproximatedly 3000-3500 kerning pairs (assuming that pairs like v+a, v+à, v+á, v+ã, v+ä, v+â, v+å count as one kerning pair each). I've used class-based kerning in Fontlab.

Then, I've opened a few text fonts that I have in Fontlab, and I've noticed that in most of them the number of kerning pairs reaches something like 1000 pairs or a little more. But also, I've noticed that in most of them, for example, there are not kerning pairs for all diacritical variations of letter "a" (such as à, á, â, ã, ä, å etc).

I know that a lot of kerning pairs is a problem of spacing, and certainly my font still has problems. But I'm wondering if there are kerning pairs missing in those fonts with aproximatedly 1000 kerning pairs.

Fernando

fermello78's picture

Something important that I forgot to tell: each weight of my font family has the basic latin characters of Mac OS Roman encoding (but not all of them - the characters are the uppercase and lowercase letters, their diacritical variations and basic signs and pontuation in a total of 193 glyphs).

Fernando

hrant's picture

Yes, 3000+ pairs for basic Latin stuff is excessive... especially since you say your spacing is still not good enough! Some people say that "too many pairs" is a sign that your base spacing is not good, but actually even a font with good base spacing can suffer from it. So what is "too many" anyway? It seems to me that between 1000-2000 is good (for basic Latin) but of course that depends on the design: something like Impact will need way less pairs than something like Zapfino. Also note that, really, a few hundred pairs is enough for 95% of text.

hhp

fermello78's picture

Hrant,

You say 1000-2000 pairs - does that include diacritical variations of letters?

thanks

hrant's picture

Yes, the whole of ASCII-8 (or Unicode equivalent). I'm not talking about
"exceptionless" kerning though, just stuff 99% of humans might ever need.

hhp

eomine's picture

Rework your spacing as to eliminate kerning between vowels.
Why; because all vowels have accentuated variations.

hrant's picture

That sounds like an interesting tactic, but is it worth sacrificing spacing quality just to end up with fewer pairs? Think of round-rounds for example. A tight set of pairs is certainly a turn-on*, but good spacing is still the real point.

* Don't you go there!

hhp

Glyn Adgie's picture

I have posted a topic on General Discussions about bloated kerning tables when there are many accented glyphs. I should have looked here first.

I agree with Hrant that good letter spacing can eliminate many kern pairs. However, even if this is done, you can still end up with thousands of kern pairs, because of the number of possible combinations of accented letters. The kerning table rapidly expands if you have a bigger character set, that covers Latin Extended A as well as Latin1, for example.

Using kerning by classes on font of mine that implements the first three Unicode blocks produced around 4500 kern pairs. This certainly looked excessive to me. I use Fontforge on Linux, by the way, rather than Fontlab, but it sounds like kerning by classes in Fontforge does similar things to Fontlab.

My point from the other post is that there are many feasible accented letter pairs that never actually occur in any real text, because no alphabet uses all possible glyphs for native words. I proposed a method for filtering a bloated kerning table, using a programme that scans spelling dictionaries in multiple languages for actual letter pairs.

I have also looked at existing fonts, to get an idea of which letter pairs typically need kerning, and how big the kerning table would normally be. Many of these fonts (which are probably not of the best quality) did not have a kern pair for accented letters corresponding to the unaccented letter pair. For example, there would be a pair for T+e, but no T+eacute. T+eacute occurs at the start of quite a number of French words, and it looked like this pair wanted kerning, though not as much as T+e. I presume that there are many fonts that are kerned mainly for English, and so they have fewer kern pairs than they should have, given the glyphs that are implemented.

fermello78's picture

>> Many of these fonts (which are probably not of the best quality) did not have a kern pair for accented letters corresponding to the unaccented letter pair. For example, there would be a pair for T+e, but no T+eacute.

That´s exactly what I was trying to say... I also saw fonts that are not of the best quality (mainly some system fonts)and they showed this problem.

Today I had the oportunity to look at TheSans Plain´s kerning table (which probably has more quality than those system fonts), and there I could find pairs for accented letters. The number of kerning pairs is a little more than 3000.

Fernando

eomine's picture

I must admit it was not a good idea, Hrant. It would be something to consider though, if we had technical limitations to the number of kerning pairs allowed/supported in a font. But now we have class-kerning in OpenType (this comment by T Phinney is relevant).

So, comparing the total number of kerning pairs in PS T1 fonts can be misleading. A possible 'ao' pair in a font results in more or less 50 additional pairs for the accentuated letters. For a quantitative comparison, it should be better to disregard the pairs with accentuated letters.

TBiddy's picture

3000 kerning pairs! Gasp! Kerning can be more taxing than actually designing the glyphs!

Syndicate content Syndicate content