What I Like in a Font for Code
5 Dec 2022
I'm well aware that I may have a bit of an obsession with fonts. I don't think that's too unusual for someone who works in tech, however. Sites like Programming Fonts exist to let people test drive and compare a bunch of different fonts. Just for fun, I thought I'd write up some of the features I look for in a programming font that I've come to deliberately pick out.
Critical letter forms: i
, I
, l
, 1
; o
, O
, 0
These are probably the most important letters to get write in any font that's meant to be hyper-legible: lowercase l
must be easily distinguishable from an uppercase I
or the number 1
, and the lowercase i
should stand out nicely as well.
Today I learned: Vertical monitors and subpixel anti-aliasing
11 Aug 2022
Something I learned today from a coworker: if you turn your monitor sideways, subpixel anti-aliasing gets completely broken. This isn't as much of an issue on today's high-dpi displays, but for anything lower than a 4k screen, the effect can be noticeable.
Just a little interesting thing I learned today. Thanks to my good, knowledgeable friend and coworker Jonner Steck!
Also, while we're on the topic of font rendering, I've updated Iosevka Output to more closely match Input Mono: the cross-bar on the f
now lines up nicely with the x-height. However, I kept the hook on the f
open; I think it's more legible than Input in that regard. I've finally switched over from preferring Input and seeing Iosevka as weird, to now seeing my custom font as the familiar, good-looking one and the Input, though still very good-looking, is a little less familiar.
A New Font
1 Aug 2022
This week I created a custom build of the Iosevka font. I've used Input Mono for a long time now, and was very happy with it. However, it was missing a few glyphs that I wanted to use. Moreover, I didn't have a license for the Input font to use on e.g. my blog. Iosevka is stupendously customizable, so I thought I'd see if I could get something close to Input's styles.
Iosevka's default style is extremely narrow. However, I discovered that the width of Iosevka extended at 13pt matched Input at 12pt exactly. Here's a side-by-side comparison: the first picture is with Input Mono, and the second is with my new Iosevka Output font:
...