> The most effective font is the one you don’t notice. No super high x-height, no geometric construction, no eye-catching design and no confusing ligatures. Designed to be neutral and anonymous, Commit Mono is quietly useful.
Thank you for this memorandum, and especially for "no confusing ligatures".
It’s true, some monospace fonts have absurd ligatures enabled by default.
The craziest thing I’ve seen was a single-width “fi” ligature. The only point of this ligature in proportional fonts is to prevent the dot on the ‘i’ from overlapping with the hook of the ‘f’, and that by definition can’t happen in monospace! But you madmen decided to create a single “fi” glyph, like it was a letter of its own. Imagine that on a typewriter.
IMO, even as someone who really likes ligatures in general, in a monospace font the invariant of 1 character text - 1 character displayed - 1 character width must be upheld. I'm all for => getting turned into a 2 character wide arrow, or === and == getting little dots above them and whatever. But never, under any circumstances, should my font change character alignment.
Personally I've been using a lot of Cascadia Code lately. Big fan.
Unicode U+FB01 is the fi ligature as a single precombined codepoint. You're right - it doesn't make any sense to have a monospaced glyph for that ligature, or for fl or ffi or many other codepoints in the Alphabetic Presentation Forms block. But those codepoints exist, and somebody might print them to the terminal, and a terminal has to represent every non-CJK glyph as a single character cell...
I like the typeface. The website navigation is really fun. A little confusing until you are used to it, but I like the logic of it. Still unclear which widgets can receive input other than navigation. It would be nice to have some clear visual indicator. Some widgets use arrow keys to change state (tabs, toggles, etc.) rather than just move focus around, which I found surprising. Seems like state changes ought to require a distinct input from the focus-affecting input. Some cases certainly blur the lines, such as when navigating over glyphs and seeing captions on focus changes. On the whole, I really enjoyed it. I wish more UIs would experiment with this kind of stuff.
Just an FYI, some features don't work with Dvorak keyboards.
For instance, the "I" key doesn't work (I assume you are using keyCodes, not strings, for characters). That is, it I press "C" (in Dvorak), I get italics on page 2. If I press "I" (in Dvorak), I don't. (I tested on two browsers to confirm.)
The shortcuts also do not work properly on the most common US QWERTY layout (eg. the "-" key does not).
They do work on most EU layouts though, where eg. "-" is placed left of Right Shift (on US QWERTY it is right of "0"), which likely indicates the author made this using some EU keymap...
As a guess, this is using deprecated keycodes [1] instead of just characters.
Is there a term for "smart kerning" this that digital typographers use? Is it a feature of OpenType? Is it similar to/controlled be the font-kerning property in CSS?
> Smart kerning works by looking at single letter between two other letters. If the other letters are in different width classes, the middle letter will slide closer to the narrow letter.
From this paragraph it sounds like they're using ligatures, which are rules of "when this character sequence appears, use this glyph instead."
But A) I'm no OTF expert, and B) I haven't dissected the font files.
The typeface looks nice, but I first opened the site on mobile and it told me to use keys to navigate, effectively locking me out from browsing it.
I then opened it on desktop, tried to scroll and realised that it uses WASD keys which are all over my keyboard. The scroll wheel on my mouse/trackpad/etc don't work. As a user of a non-QWERTY layout this sucks.
Then I tried to use the text zoom and while it documents this as being controlled by + and -, it's actually controlled by _ and /. This suggests careless handling of input.
Why does this matter? I think a very important thing for typefaces is accessibility and coverage of edge-cases in language and usage. Covering characters that are used in different languages (even just punctuation that isn't common in English), ensuring readability for those without perfect vision, and so on, all require care and attention to a wide range of concerns.
This website doesn't instil confidence that the designers of the typeface have taken this approach, and in fact the interaction model (which I actually really like) gives the impression of style over substance.
It's an overly stylized affectation for a font website but everything here is mouse-accessible; I didn't use my keyboard at all. My scroll wheel works and you can click on the key buttons on the bottom and the categories on the top.
Looks like you're right. The first time you try clicking it shows a message telling you to use the keyboard to navigate and then flashes the list of keyboard controls. I didn't try clicking again after that.
Scrolling is completely broken for both trackpads and mice scroll wheel, so no, not everything is accessible. At least not in a non-buggy way. Scrolling on a web page should never be buggy.
Minor frustration -- I'm reading the directions to install, but when I focus out (to update my VSCode settings as instructed), the screen goes into low contrast, making it harder to read the directions.
Also, section navigation by number works with the number row keys but not the num pad. I would have expected all number keys to work the same since it doesn't specify otherwise.
Same feelings about it here. The font actually looks pretty nice, but I won't be using it because that website is utter garbage. I take no issue with the creator taking the time to code up a cute terminal-like interface, but there absolutely needs to be a link to a basic version of the site (and it needs to not require me to press a key to navigate to that link).
Thank you for this memorandum, and especially for "no confusing ligatures".
The craziest thing I’ve seen was a single-width “fi” ligature. The only point of this ligature in proportional fonts is to prevent the dot on the ‘i’ from overlapping with the hook of the ‘f’, and that by definition can’t happen in monospace! But you madmen decided to create a single “fi” glyph, like it was a letter of its own. Imagine that on a typewriter.
Personally I've been using a lot of Cascadia Code lately. Big fan.
For instance, the "I" key doesn't work (I assume you are using keyCodes, not strings, for characters). That is, it I press "C" (in Dvorak), I get italics on page 2. If I press "I" (in Dvorak), I don't. (I tested on two browsers to confirm.)
Nice font, BTW. I also like the site.
They do work on most EU layouts though, where eg. "-" is placed left of Right Shift (on US QWERTY it is right of "0"), which likely indicates the author made this using some EU keymap...
As a guess, this is using deprecated keycodes [1] instead of just characters.
[1]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEve...
Ignore the haters. The website is lots of fun.
From this paragraph it sounds like they're using ligatures, which are rules of "when this character sequence appears, use this glyph instead."
But A) I'm no OTF expert, and B) I haven't dissected the font files.
I then opened it on desktop, tried to scroll and realised that it uses WASD keys which are all over my keyboard. The scroll wheel on my mouse/trackpad/etc don't work. As a user of a non-QWERTY layout this sucks.
Then I tried to use the text zoom and while it documents this as being controlled by + and -, it's actually controlled by _ and /. This suggests careless handling of input.
Why does this matter? I think a very important thing for typefaces is accessibility and coverage of edge-cases in language and usage. Covering characters that are used in different languages (even just punctuation that isn't common in English), ensuring readability for those without perfect vision, and so on, all require care and attention to a wide range of concerns.
This website doesn't instil confidence that the designers of the typeface have taken this approach, and in fact the interaction model (which I actually really like) gives the impression of style over substance.
It's a stupid website. It took more work to make it shittier to use. It's a loss for the author AND the viewer. Counterproductive.
The font seems decent but I closed the tab because I don't have this kind of time.
That's a very apt way to put it, haha. Might steal that for future references, thanks!
Dead Comment