Hi all,
I recently spotted a kerning problem in one of my fonts, in a word having consecutive kerning pairs.
At first glance I thought it was my fault only, but after looking at some fonts from the big guys we all admire, I discovered that
this problem was much more frequent, and that many people suffer from the
same issue.
The problem was inconsistent fitting in words made of consecutive kerning pairs.
For example, consider the word "Waves" having 3 consecutive pairs: Wa + av + ve
I think the reason for this, is that when we kern single pairs, they may look good on their own.
But when we find such words, where a pair follows another pair and then another pair and then another, the small inconsistencies add-up and the problem becomes more evident.
So, I want to generate a list of words that include a pattern of consecutive kerning pairs.
Having a set of test words will allow us to better double-check for kerning consistency "across pairs", to be used as a second-pass after the kerning of single pairs is done. For extra refinement.
Basically, I need help from some magic programmer who can make a script to detect that kind of words inside a dictionary. Once I have the list of words, I will upload it to the testing page for everyone else to use.
I can provide the pairs list to be used as "seed" for the script to detect the words.
Anyone up to the challenge?
3
Comments
I don't know if such pairs should be part of your list or if this is a totally different phenomenon?
I check against an extensive word list with almost every pair combination that would occur in a given font style. I'll use made-up words/strings such as dovok dovak dovsk davok dsvok dovok dovak dovsk davok dsvokv. I also check for a sensible balance amongst pairs with somewhat related glyph negative space. A general spacing balance with pairs such as TANE YANE FANE PANE ÞANE etc.
It would be more ideal if they were real words, but it works that it generally reads as a real word when set in a paragraph and easily allows multiple related shape glyphs paired against a key glyph.
I also try and look at known pair problems like the L quoteright A and other anomalies.
Lowercase English words having 5 or more kerning pairs:
Uppercase English words having 5 or more kerning pairs:
This assumes that the TT and LA combinations themselves neither require negative kerning in your font, nor do they have any space left to spare. Depending on how you do sidebearings on such characters, you might have to adjust this advice slightly one way or the other.
The other option would be contextual kerning, a.k.a. kerning triplets.
Don’t misunderstand me, adding some of these (maybe not all ;-) to a well-balanced word list is a fine idea. Just beware of relying only on extremes like single pairs and maximum pairs.
Like John, I have cultivated word lists over the years that provide combinations in multiple contexts. Any given pair may be evaluated differently in different contexts, and one needs to find the right balance overall. That’s the nature of fitting a font. (In our current paradigm, anyway.)
Maybe I can also make a list of words without any kerning pairs (words that should relay only on spacing) and then both list can be mixed, alternating on each row: one having lots of pairs, one having none, one having lots of pairs, one having none...
Anyway... you may want to kern it or not... but I do want to have it in my word list, so I can test it.
I disagree with this new orthodoxy, which strikes me as a step sideways entailing a lot of unnecessary work. Sorry if this is off-topic, but kerning is an end-of-pipe corrective measure, and a lot of kerning suggests fundamental side-bearing or glyph-shape issues, IMHO.
So yes, the word lists may be useful, but at an earlier stage in the design process!
Here is how an old Bitstream font did it:
Wouldn't it be more useful to do what James suggested and just list the words which have the kern pairs defined in a given font?
The point is that letter combinations — in all manner of possible combinations — need to look [acceptably] even in words. Whether that requires a lot of kerning or not may be a matter of some taste and technique.
I interpret what Pablo is doing in terms of potential kerning pairs, based on the presence of shape combinations that are other than straight-to-straight, round-to-round, or straight-to-round. The point isn't that these combinations must be kerned, or that there isn't some other way of ensuring that the result is a nicely spaced word. They are words that expose particular kinds of shape combinations in complex contexts, so are a good test for any spacing approach.
We all can agree basic that pairs like "LT" should be kerned, an pairs like "HH" should not. But other pairs fails in a grey area that depends on the spacing strategy, personal preference, typeface style, etc... Some people kern "oo" (Hi Adobe Garamond Premier!)... others think it's a deadly sin... looks like there is no consensus.
Keeping that in mind:
Option 1) Try to reach some kind of consensus creating the seed pairs list. A dead end.
Option 2) Instead of compiling a predefined list of pairs and a predefined list of words, it should be a customizable tool: It should let the users define the list of "seed" pairs instead of using a predefined set. This way each one of you will be able to define the kerning pairs of your preference, and generate custom words lists. Will that be ok?
After you feed your font's kerning table into the tool, it will give you a nice customized "birds-eye visualization" on what you have kerned and what you have not.
It will also split the dictionary into heavily kerned words (those having 5 or more pairs each) and words than are resolved using spacing only. This words are also customized according to each font kerning pairs.
So, the tool is not doing any assumption about your kerning strategy.
It's only role is to assist you, so you gain more control over your own process.
It's still a very early prototype, so thing may change in the future. Also: It's a web based tool, so you need to export your font's kerning using a macro and upload it to the server and configure a few Php files (this is the most tedious part) but hopefully someone can steal mi idea and turn it into a plugin for Glyphs, Fontlab, Robofont, etc.. or maybe it can be possible to just drag the font into the app and have some magic javascript reading the kerning table on the fly (this is technically possible but out of my programming abilities)
Attached some screenshots: