Kerning of lowercase/Uppercase pairs

Bhikkhu PesalaBhikkhu Pesala Posts: 208
edited May 23 in Technique and Theory
I found a few posts on this topic, but not many examples of pairs to kern.

I looked at a few standard Windows fonts. Tahoma and Verdana include cT and eT, but that is about all. Calibri has loads of pairs, but none for lowercase/uppercase. 

Scottish names like McAlister or McVitie might benefit from them, and some other words like OpenType or TrueType. 

What do others consider best practice here? 

Comments

  • André G. IsaakAndré G. Isaak Posts: 419
    That would really depend on which languages you plan on supporting. For English, Gaelic-dervived names like the ones you mention are one of the few places where lowercase-Uppercase combinations are found. In Irish, on the other hand, such combinations are common and can involve most possible pairs.

    Also, of course, is the question of whether you want to support the increasingly-ubiquitous use of CamelCase in branding.

    Personally, I'd think the easiest solution would simply be to kern those problematic pairs which you can actually identify as being in common use, and then adopt a EULA which allows users to add their own kerning pairs. That way the graphic designers at (purely hypothetical) MaxTech Inc. will be happy without you having to worry about every obscure pair.
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 23
    It takes longer to figure out which pairs to include (especially for languages that are poorly documented, which makes it very hard to anticipate) than to simply do all of them that need it... Plus new ones pop up all the time.

    Certainly the worst practice though is refusing to kern lc-UC at all. An escape from responsibility, post-rationalized from the metal era (which is bogus to begin with however, since kerning and filing were common).
    https://typedrawers.com/discussion/comment/35275
    adopt a EULA which allows users to add their own kerning pairs.
    And not just that, but any modification. I find EULAs that prohibit modification to be generally unethical.
  • Thomas PhinneyThomas Phinney Posts: 1,595
    I use class-based kerning, and try to kern the most significant/egregious CamelCase situations.
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    My fonts have a wide glyph coverage to support most Latin based languages. All of Latin Extended-A, and Latin Extended Additional, about half of Latin Extended-B, and a few of Latin Extended-D for Medievalists. 

    Since FontCreator automates the process, I could easily add thousands of pairs, but I don't want to bloat my fonts any more than they are already.

    I guess I am looking for a list of common lowercase/Uppercase pairs. My fonts are released on a GNU license, so anyone can add more pairs if they have the inclination and the tools.
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 23
    I don't want to bloat my fonts
    What Thomas said.
    Since FontCreator automates the process
    Don't trust that.
    I guess I am looking for a list of common lowercase/Uppercase pairs.
    You could look to lists of common pairs irrespective of case. Also, commonly-last letters followed by commonly-first (like "sJ"). Any instance-based approach is not rigorous enough in my view.
    My fonts have a wide glyph coverage
    ....
    anyone can add more pairs if they have the inclination and the tools.
    They can also add more languages... So personally instead of covering hundreds of languages with inferior kerning I would cover fewer better.

  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 23
    BTW the ugly old thing below that I once compiled from the Brown Corpus (by hand...) might be useful. It's a table showing letter-pair frequencies, with tiers.
  • Dyana WeissmanDyana Weissman Posts: 280
    I use a kerning list in Metrics Machine that has all the mixed case surnames I could find. MacGyver, DeVito, DuBois etc. I don't bother with words like OpenType. I'm hoping mixed case words is a trend that will die. In my experience, they don't occur often enough to warrant it. But a surname is worth the effort. 
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    I'm hoping mixed case words is a trend that will die.
    So you don't include the long-s in your fonts?
    But a surname is worth the effort. 
    And new proper names have a way of popping up... Not least among under-represented groups.
    https://www.bbc.com/news/world-africa-43821512
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    edited May 24
    It is clear than an automated process will not work well. I needed to adjust some pairs manually after using the same spacing parameter that I had previously used for Uppercase/lowercase kerning. Many pairs (like cA below) needed positive kerning values, cV needed increasing by 100 funits while nT was increased by 50 funits. 



  • Ray LarabieRay Larabie Posts: 903
    Does anyone know of common lowercase accent to capital collisions?
  • Thomas PhinneyThomas Phinney Posts: 1,595
    Almost any accented lowercase vowel followed by T (also V, W, or Y).
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    For now, I have added 676 pairs for aA to zZ without any accents, and removed any values less than 21 funits as not worth having. I adjusted some manually where the automatically calculated pair was too tight, e.g. with oT, aV, etc. 
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    I'm curious, how many of the 676 were less than 21?
    BTW 21 is pretty chunky. (And a funny-seeming number; why not 20?)
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    Less than 21 is equal to 20. I think the difference between 17 and zero here is barely discernible at body text point sizes. Anyone using sizes where the difference might be distinct would probably be refining it with manual kerning. 

    After trimming, there were 598 pairs in this bold typeface. 



  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 25
    Less than 21 is equal to 20.
    Isn't it more straightforward to think/remember that you kerned 20 and above? Or since the action here is trimming not adding, maybe you're right that's where the round number should go... Anyway it's not a big deal, as long as it works for you (long-term).

    It looks like your Em is bigger than 1000, I presume 2048? Then 20 isn't too chunky. Certainly that "aD" shouldn't get a kern.

    I'm surprised almost 90% ended up with a kern. Speaks to the need for a methodic (versus instance-based) approach I would say. Or it speaks to the need of not over-extending oneself, not sure...  :-)
  • Thomas PhinneyThomas Phinney Posts: 1,595
    Sometimes caps have looser spacing than lowercase. This can lead to needing to kern what might seem like a lot, for cap-to-lc and lc-to-cap combinations.

    Alternatively, one spaces the caps more like the lowercase, and uses a 'cpsp' feature to loosen the all-caps settings, and prays that one’s users actually use all-caps formatting and get that spacing, appropriate height dashes, etc.

    Which is also why even if I type all-caps text, I try to also remember to still format as all-caps, to get adjusted spacing and shifted punctuation.
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 25
    Alternatively, one spaces the caps more like the lowercase, and uses a 'cpsp' feature to loosen the all-caps settings, and prays that one’s users actually use all-caps formatting and get that spacing, appropriate height dashes, etc.
    I'm a fan of spacing caps to work with lowercase, but:
    Since blanket loosening can wreak havoc with boundary conditions (like the right side of the "L") it's better to just positive-kern everything that needs it; the good news is you will nicely subsume the pairs that needed loosening to begin with. Also, any user savvy enough to deploy sophisticating formatting is savvy enough to simply track all-caps looser (if necessary) anyway.
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    edited May 26
    The way that trimming works in FontCreator is to remove negative and positive kerning values that are less than a chosen value.



    Most of the pairs that are not trimmed are positive values. Those in green are negative values, those in blue are positive, any that are zero are shown in red. 



    Automation does most of the donkey work, but there are still a number of pairs that need manual adjustment, typically those with overhang like oT or aY. Those with hyphen are particularly prone to error so I give them to their own subtable. One uses shift+left/right cursor to adjust pairs by 100 funits or ctrl+left/right to adjust by 1 funit. With no modifier the step is 10 funits. 

    FontCreator 12 can generate a cpsp feature as a percentage of funits/em or as a percentage of advance width. I use 5% of advance width, which adds 2.5% to each side-bearing.


  • Ray LarabieRay Larabie Posts: 903
    I should have asked: has anyone ever witnessed a lowercase accent to capital collision? Not including while you were kerning.
  • Mark SimonsonMark Simonson Posts: 1,136
    FontCreator 12 can generate a cpsp feature as a percentage of funits/em or as a percentage of advance width. I use 5% of advance width, which adds 2.5% to each side-bearing.
    Percentage of advance width would add more space around the /M than the /I. Not sure why one would want to do it that way.
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    I don’t know why anyone would use any other method than proportional to Advance Width. After all, what happens if one adds tracking to selected text? 
  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 26
    what happens if one adds tracking to selected text? 
    One causes a disruption in the spacing cosmos.

    BTW the sidebearings in your "a" above seem suspect.
  • Bhikkhu PesalaBhikkhu Pesala Posts: 208
    I should have asked: has anyone ever witnessed a lowercase accent to capital collision? Not including while you were kerning.
    I came across a few that clash or that are very close when adding the lowercase/Uppercase kerning pairs such as lowercase fU, fW, fV, and fY. Without the positive kerning I have added, a good number of clashes would occur. 


  • Hrant H. PapazianHrant H. Papazian Posts: 1,539
    edited May 26
    Things following an "f" are obvious, Ray said "lowercase accent".
  • Frode HellandFrode Helland Posts: 125
    edited May 30
    I should have asked: has anyone ever witnessed a lowercase accent to capital collision? Not including while you were kerning.

    Of course. Swazi, for example, has accented letters (acute) followed by capital letters mid-word. They are prone to collide. Most of the mentioned above obviously have the tittle above j and i to consider as well. Maybe if Apple kills iTunes, you can get a break :)

    PS: Irish written in ALL CAPS sometimes use small caps for the eclipsis prefix.
Sign In or Register to comment.