Lack of Kerning

WARNING: If you are unfamiliar with kerning, reading this post might cause you to be bothered by it, not only in Heroes but in general. Continue reading at your own risk. You have been warned.


Preface: If you frequent the Heroes of the Storm subreddit, you might be familiar with this topic and/or this post in particular. This post is pretty much identical to the one you might already know.
Since my crusade to bring kerning to the Nexus is now officially one year old, and to celebrate the release of these shiny new forums, I wanted to immortalise this post here as well. That is all. Sadly, I had to remove all links from this post, so if you want to access them, you’ll have to find the original reddit post. The easiest way is to look for my name in any weekly Rage Thread.

Disclaimer: This topic is as nit-pickey as they get. I know and agree that there are more pressing issues than aesthetically unpleasing typefaces. But, the people working on new Heroes/Mounts/Battlegrounds/Skins/Features or Balance are (prbably) not the same as those responsible for the rendering of typefaces.


Kerning:

In typography, kerning is the process of adjusting the spacing between characters in a proportional font, usually to achieve a visually pleasing result. […] In a well-kerned font, the two-dimensional blank spaces between each pair of characters all have a visually similar area.

Wikipedia also has a nice picture that will immediately convey the concept to you. If you prefer the practical approach, there is also a kerning game.

And I am sorry to tell you that Blizzard has a hard time kerning typefaces in their games, including Heroes. But it’s a little more interesting than just a “BLZ Y U NO KERN?”. Let’s dive in.

When a company like Blizzard needs a font (typeface) in a commercial product (like a game), they license it from a design studio. Believe it or not but typfaces are a work of art and are commercially treated as such even though they fulfill an immediate function (displaying information) in contrast to conventional works of art like paintings which generally just hang around to be appreciated.

Part of the job of the font designer is to kern his or her typeface. That means deciding for every pair of characters how big the spacing between them has to be in order for the end result to look aesthetically pleasing. Back when fonts were little blocks of lead with embossed letters that had to be arranged into a page and were then used to actually apply ink to a page, that was quite a hassle for the typesetter. Nowadays, the information is packaged with the font and it is up to the application that uses the font to also make use of the kerning information when rendering the typeface.

In the case of Heroes, the probably most prominent font is Metronic and was designed by Olivier Gourvat of Mostardesign (now Mostardesign Type Foundry) in 2013 (see the Heroes Credits). In the pdf specification of the font, at the bottom of page 10, kerning is specifically mentioned as a feature.

And indeed Blizzard knows how to kern their licensed font as you can see for instance on the page for Blackheart’s Bay (look at the spacing between ‘A’ and ‘Y’ in BAY). Although the credit for this probably lies more with browsers rendering the page and less with Blizzard. Edit: Due to a redesign of the respective page, this example is no longer valid.

Similarly, every piece of text rendered on panels during HGC events is properly kerned as well. Look at the spacing between the ‘A’ and ‘T’ in FNATIC in the top screenshot of this news post (“HGC Weekly Digest: Kicking off the Home Stretch”, August 24th 2017).

Not only does the font come with kerning information, the Heroes client uses two libraries related to the rendering of typefaces that both support kerning, namely Freetype and ICU (again, see Heroes Credits).

So, we have a professionally designed font with kerning information and libraries to properly kern that font and yet the result is this:

*Imgur link to visual example from Ana Homescreen*

And it’s not like it was better once. Typefaces have been rendered without kerning since Technical Alpha:

  • *Link to very old reddit post*

  • *Imgur link to album of examples*

  • *Imgur link to second album with more examples*

Granted, it could be a lot worse, but knowing that everything is in place for us to have nicely rendered typefaces in Heroes and for some reason unbeknownst to me we just don’t is a special kind of annoying to me.

So Team 1, what gives?

In the meantime, I have tickled a response out of Blizzard:

Hey Kamikaze28, believe it or not, we have read your posts! Your persistence is pretty impressive and definitely sparked conversations here. Fixing this issue isn’t as easy as it may seem though. We do support FreeType, but that won’t fix the issue alone. We would need to integrate the HarfBuzz library to get the results we want.


P.S.: in case you want to escape a lack of kerning in Heroes by playing other Blizzard games, you’re out of luck since none of the current Blizzard games render kerned typefaces, not even the Launcher.

2 Likes