Kerning, the Hard Way

(home.octetfont.com)

184 points | by todsacerdoti 16 hours ago

14 comments

  • seumars 14 hours ago
    Funnily enough the example given of good “L” and “T” kerning in the word SALTY is badly kerned, the letters are kerned too close to each other. The classic trick is to look at 3-letter groups at a time, one word at a time.
    • Hackbraten 3 hours ago
      It’s a deliberate design decision because of the stripes:

      > The pattern of vertical stripes means that kerns can only be a multiple of the stripe repeat (not quite true, and i have sketched out more general versions of this, but it is true for this font).

    • gundmc 13 hours ago
      I thought so too, but now if I look it seems as if every letter is just under two stripes with from its neighbor?
      • eviks 7 hours ago
        This doesn't help much since visual perception doesn't depend just on this distance
        • beezlewax 5 hours ago
          It's more of an artform than a science as I think different people perceive this differently
          • pixelfarmer 5 hours ago
            This has a lot to do with framing in photography, architecture, and all these other things where "design" is involved that humans perceive as pleasing. It also means that not everyone has a knack for that. In return, chances are good that there are ways to actually "calculate" it. One well known example: The golden ratio that shows up in many designs, architecture, framing etc.
  • jedberg 14 hours ago
    I literally read this headline as "keming the hard way" and thought it was the most clever title ever.
  • badlibrarian 13 hours ago
    The complexity comes from needlessly combining two separate things into one: a simple repeating background pattern and a typeface. It's a "serving suggestion" when really all that's needed is the corn flakes.
    • kevincox 11 hours ago
      Yes, but if you are really picky you will want your background pattern to align nicely with your typeface. Sure, you can carefully try to ensure that each character is a multiple of some fixed unit and set your stripe size based on that. Then make sure that the start padding is correct. But every step of the way any differences in the text renderer and things like accessibility settings overriding font sizes will be working against you. If you want to use this on a website or any other medium that doesn't have a very strict and consistent rendering pipeline I can't think of a better way to do it than a font like this.
  • jasonthorsness 15 hours ago
    Ha the font looks great; but this seems to be pushing the boundaries what fonts themselves were designed to support, definitely "hard mode". What is the intended use case?
    • LegionMammal978 14 hours ago
      Classically, you'd do things like replace f+i with an fi glyph, or f+f+i into an ffi. Though I'm surprised that it can be used to split one glyph into multiple glyphs, then transform those glyphs again.
  • russellbeattie 14 hours ago
    I can't help but point out that as someone who went to college for journalism and graphic design in the early 90s, and had to lay out galleys using strips of words and a razor blade, let me assure this isn't the hard way. Correcting a missing apostrophe or manually adding a hyphen while not throwing off an entire line requires both an eye for kerning and a steady hand.

    Get off my lawn.

    • stavros 2 hours ago
      Oh yeah? You youngsters have it easy, you don't know what it means to have to throw away the whole tablet and start again when your chisel slips.

      The Pharaoh was not amused, I'll tell you that much.

  • euroderf 13 hours ago
    I've had the same idea for Finnish, where all-uppercase text has some really ghastly kerning issues, like YT and VY and KY and (gack!) LJ. I hope to see a font RSN.
  • throwawayk7h 9 hours ago
    Fonts should probably not do this. This would be better served as the font being what's in negative, and then the backdrop behind it being an unrelated graphical element, perhaps accomplished with css.
  • drpossum 15 hours ago
    keming
    • PaulHoule 15 hours ago
      I did a round of printing work two years ago which got me to notice (1) very few printed posters where people use serifed display fonts and (2) awful kerning by default with Microsoft and Adobe tools. When I did desktop publishing in the early 90s and early 00s I never noticed that kerning was so bad and wonder if I had bad taste back then or if it really got worse, like we can blame a patent troll for bad kerning -- I look at old books and see the r almost making love to the s next to it and think how much better it can be.
      • f30e3dfed1c9 14 hours ago
        I spent most of the 1990s and early 2000s working for a typesetting company whose work was college textbooks and monographs for academic presses. We applied modified kern tables to every single typeface we acquired. The tables from the font vendors were inadequate in various ways.
      • thesuitonym 14 hours ago
        Back then, computers didn't really do kerning as well as they do now, and desktop publishing wasn't as common or affordable. Today, publishing tools are so easy to use, and the default kerning is usually good enough that most people won't notice a problem, or if they do, they often don't know it can be fixed.
      • JadeNB 15 hours ago
        > When I did desktop publishing in the early 90s and early 00s I never noticed that kerning was so bad and wonder if I had bad taste back then or if it really got worse, like we can blame a patent troll for bad kerning ….

        My suspicion is that there's always been bad kerning in most computer-generated text. Obligatory XKCD: https://xkcd.com/1015/

    • HeliumHydride 14 hours ago
    • adityaathalye 15 hours ago
      Soon as I saw the headline, I was keming here to say the same thing. You beat me to the pumch.
    • Stratoscope 15 hours ago
      • aidos 14 hours ago
        I love bad kerning more than most, but a lot of those feel like someone just put a space in the wrong place.

        That’s a shame, I like my kerning to sit in that sweet spot where people don’t notice it but once you point it out it gives them an unsettling feeling wherever they see it.

        • keming 12 hours ago
          > I like my kerning to sit in that sweet spot where people don’t notice it but once you point it out it gives them an unsettling feeling wherever they see it.

          I’d love to see some examples of this.

  • layer8 12 hours ago
    Isn’t kerning something that would be amenable to be approximately solved by machine learning? I.e. for a “good enough” default kerning? (Ignoring the extra difficulty from the stripes in TFA.)
    • shove 11 hours ago
      Since it’s an issue of equalizing the perceptual area in the negative space, there’s not really any reason to throw ML at it. Throw actual math at it.
      • orbital-decay 9 hours ago
        Human perception is highly non-linear and largely based on the concepts stored in the brain. Trying to manually approximate that with math is bound to fail once you approach certain fidelity threshold. If you look at the recent color science and spatial perception research, it becomes obvious that it makes total sense to mass profile the perception and throw ML at it. A lot of researchers are still in denial about this, though.
      • f30e3dfed1c9 9 hours ago
        There have been lots of attempts to automate kerning for decades. Most people seem to agree that they're still inadequate and that manual adjustments produce the best results.
      • raphlinus 7 hours ago
        Agree with sibling comments. There's something very slippery and tricky going on with "perceptual area," it's not simple geometry. This is actually an area where I think machine learning has something to offer.
        • scyzoryk_xyz 3 hours ago
          Mrs. Scyzoryk is a typographer, confirms that it’s not just math, but can’t imagine using ML for what is an integral part of developing an „eye” and going through the process.
          • stavros 2 hours ago
            Just like programming! I can't imagine how we'd teach machines to code.
            • scyzoryk_xyz 26 minutes ago
              Yeah and also: new font design is a niche niche niche domain.

              It’s not like accelerating font development would give us something new. Most of what most of us need exists at this point.

  • whatnow37373 14 hours ago
    I don’t see how the benefits of kerning, if any, outweigh the enormous costs.
    • Muromec 14 hours ago
      It looks nice. When everyrhing consistently looks nice, thise small things accumulate into one apple.
    • f30e3dfed1c9 3 hours ago
      The costs aren't enormous or anything close to it.
    • dsp_person 12 hours ago
      In my e-reader I changed the font to Roboto Mono and completely forgot it was monospace. It's not like reading feels any less efficient. Idk might even feel more efficient or comfy somehow.
      • MrMcCall 10 hours ago
        Maybe there's an advantage to having each successive character appear perfectly rhythmically across the page.

        What I want are two or even three shades for consecutive lines, to make it easier to transition from the end of the current line to the beginning of the next.

    • keming 13 hours ago
      Kerning lets letters be spaced more uniformly, which is easier to read for most of us.

      It also allows letters to crowd each other like friends in a wacky group photo, a tree overhanging a sidewalk, or a cat's tail doing its weird contortions. Fonts are fun.

      It’s worth the trouble I think, but there are options if you’d rather not support it.

    • exe34 14 hours ago
      it's one of many little things that add up to "oh your poster looks much nicer than the others" - but they can't put their finger on what exactly makes it nice.
    • numpad0 5 hours ago
      sales
  • rasz 14 hours ago
    Kerning, the super easy way straight from 1986 Atari ST: https://en.wikipedia.org/wiki/Calamus_(DTP)#Calamus_Intellig...
  • user3939382 13 hours ago
    Kerning the hard way would be to hardcode the “numberOfChars factorial/!” number of custom kerning distances.
    • ninkendo 54 minutes ago
      It’s not factorial, that’d be ludicrous… Rather it’s (n * (n+1))/2, which is similar to factorial but using addition instead of multiplication.(52+51+…+1) So a lot, lot smaller.
  • oniony 13 hours ago
    Would it have been possible to fix this by instead swapping out the LT pair with a ligature?
    • dzaima 7 hours ago
      The GSUB lookups used are indeed the same thing that's used for ligatures.
    • shove 11 hours ago
      I could have sworn that was where this was going in the first place
  • unit149 14 hours ago
    [dead]