Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I always applaud efforts at new typefaces, but unfortunately I feel this is a badly designed typeface that is worse for legibility, not better. Addressing their three main points in turn:

> 1. Increased height for a better reading experience

A high x-height is good for coding fonts, but this x-height is now too high. To my eye, this is now at the point where lowercase letters are getting harder to distinguish from uppercase letters at a glance, so instead of increasing legibility it's actually decreasing it now. There's a good reason most other coding fonts haven't gone this high.

> 2. The shape of ovals approaches that of rectangular symbols.

Again, this is a problem because it makes letterforms harder to distinguish. It's important that the right side of a "b" look very different from an "h"... but if you make the right side of the "b" very straight, they look more similar. The whole point of letterforms is to be easy to differentiate from each other, not to make them more similar.

> 3. JetBrains Mono’s typeface forms are simple and free from unnecessary details... The easier the forms, the faster the eye perceives them and the less effort the brain needs to process them.

Again, this is just factually false, or else all books would be printed in sans-serif body text instead of serif. The main reason serif fonts are used is that all their extra "details" make reading easier, not harder -- because the eye has more clues to differentiate letters. Now because of resolutions of screens, sans-serif is still sometimes a better choice on computer screens, but this makes distinctiveness of letterforms even more important, not less.

For example, they choose a single-story instead of double-story lowercase "g", which is just harder for the eye to distinguish from a "q". Getting rid of the stem on a "u" also makes it less distinguishable, and harder to read. And so on.

I'm genuinely confused as to how the philosophy for this typeface was developed, when it seems to go directly against basic established principles of legibility.



I'm something of a JetBrains fanboi, but unfortunately I have to agree.

I pitted this font against my trusty Consolas, but Consolas wins outright - all the features that JetBrains claim are beneficial (narrow characters and so on) actually seem to make for a less legible font.

This is now a very crowded space, and JetBrains' font seems very similar (to my eye) to [Input](https://input.fontbureau.com) - honestly, I'm not sure what JetBrains think they are bringing new to the table here :-/


That's funny, because I had the exact opposite reaction. I was using Consolas, and when I turned on JetBrains Mono I thought "Ah! This is so much clearer!" Just goes to show you how subjective fonts are.


Impression and our perceived satisfication is certainly subjective. And sometimes, the only thing we are looking for is a change.

But readability and legibility can be measured. It's unfortunate that Jetbrains makes a bunch of claims without supporting any of them with results surveys/studies, because if right, that would translate to other font designs as well.


A lot of the details they spent so much effort on didn't make any sense to me as to why that particular design detail would be important. I don't care about vertical alignment of letter shape details. If I need lowercase letters to look bigger, I almost always also need uppercase bigger too, so I'll just increase the font size +1 pt.

I use three different fonts in terminals, editors and IDEs. So I'm sure this font will look good to someone and will find a use. At the moment I can't find a use for it. For now I'll stick with Operator Mono, Cascadia Mono and Fira Mono.


> A lot of the details they spent so much effort on didn't make any sense to me as to why that particular design detail would be important.

IMHO, fonts have been studied too deeply for too long for some graphic designer at J. Random Corporation to be able to easily make improvements. In situations like that, most changes and new ideas end up being regressions.


Consider how many new hacker fonts we've seen on here in the past year or so. Is there really that much unexplored terrain in this landscape?


We’ve seen a large upgrade due to the increasing interest in ligatured programming fonts that are optimized for Retina display. In that context, maybe: this is really the third entrant after Fira Code and Cascadia. But I doubt it.


In contrast to Operator Mono I'd also advise peeking at Fantasque Sans Mono and Victor Mono as Operator-lites.


Serifs are easier to read the more pixels you have to work with. For a printed book at 3,000+ DPI, serifs are fine (though it's still possible to overdo them!). For a high-res monitor, microserifs like the ones Consolas uses can help if your text is not too small. This font was designed for small sizes, where anything except the cleanest lines will simply cause blurriness.


Did you mean 300+ DPI? 3,000 seems higher than I imagine anyone could see or any printer could feasibly print at.


This is based on a very old memory, so it might be wrong. Looks like imagesetters and platesetters can commonly do 2,400 DPI and 3,600 is not unheard of. Even a newspaper platesetter should be around 1,200 DPI.


Can confirm that those high dpi numbers are real. (I paid for my last year in college rendering film for offset press on a 25'x6'x6' monster scitex film printer).

Although the plate or film is rendered at 1600/2400/3200/4800 dpi, the dot gain from the ink soaking into the paper tends to blur fine details. The printing software tried to account for the dot gain, but it was still there.

If you look at a 300dpi laser printer output vs 600dpi, most everyone can tell if they look. Higher resolutions may need a loupe to discern differences.


I think 300 DPI is just what is used for raster images. I think the text is usually printed at 2400 DPI.


FWIW, when printing film (which would then be used to expose plates, which would then be loaded on a standard web offset press), the dpi doesn't change when rendering film. Smaller dots allow for a finer-grained halftone pattern.

You'd choose different DPIs based on the paper the final print would go on, though (it took longer to print at higher DPIs: sometimes over an hour before the job got sent to the film printer). Newspaper has the worst dot gain, and got the lowest DPI. Coated stock had the best, and got higher DPI.


Are books really printed at 3000 DPI?


Yes. See my replies above.


The use of ligatures seems counter-productive to me. In the code, I do not want to see any editor shenanigans apart from syntax highlighting.


I agree completely. When I see ligatures, I have to mentally stop and wonder what the actual characters are "underneath". So annoying.


It only took me a few weeks to get used to it and now it' annoying to not have them. The math ones are especially nice since I always had a little bit of trouble remembering the order of gte and lte. Now I get immediate visual feedback that's very clear (just like in the math books).


The ligatures are optional. VS Code lets you toggle them on or off, Notepad++ doesn't support them (but there is a plugin for that).


> Notepad++ doesn't support them (but there is a plugin for that)

Do you by any chance have a link? When I looked for the same thing, I just found one GitHub issue referring to Scintilla internals.


Over the last 10-15 years or so, I’ve tried so many of these new fonts but always just end up back to DejaVu Sans Mono Bold. Now that my eyes are getting older, it works even better.

On a Mac, Menlo looks nearly identical.


I'm the same, except I stick with Consolas, rather than DejaVu.

But it almost feels like trying out new fonts is busywork...


Consolas is (for me) one of those rare fonts that I find better in every aspect than any of its competitors.


Haha same. I've tried so many as well... Inconsolata, Fira Code, etc. Always end up back with Menlo.


Thanks so much for the validation! I really tried to love new fixed with fonts but they all look horrible compared to OSX default. Glad to know I'm not the only one who doesn't like the kool aid


Same but Mononoki.


And they also have added details on their own in cases where it just seems to slightly harm readability, like the extreme narrowing in the "n" for example. I find their design choices strange.


The character bugging me is the lowercase i - it looks like a little 1 with a dot on top if you can squint that hard, it's worse not better than DejaVu Sans which I use.

(edit: the lowercase a is also rapidly gaining my dislike, it's all smashed up and looks weird)


If you're really using DejaVu Sans, that's a proportional font, so the difference to a "mono" font will be pretty big, especially for the usually narrow letters (i, j, l...) which have to be "padded" in mono fonts to avoid looking unbalanced (and, for coding, to make them easier to distinguish). Of course, if the other letters are as geometrically clean as in this font, the "i" will look a bit out of place. But actually in DejaVu Sans _Mono_ (https://www.fontsquirrel.com/fonts/dejavu-sans-mono), the "i" looks pretty similar.


I follow - the default system level (meaning without me tweaking it) fontconfig maps "Monospace Regular" to DejaVu Sans, not DejaVu Mono - so in reality, my "non mono" font is more readable to me (we all know this is subjective) than this actual mono font. I do map Courier to DejaVU Sans Mono in my own custom config, but never actually use that font - it's more for web rendering and stuff to look nice.

Outside of terminal windows and places where Monospace Regular is used automatically, I tend to use Luxi family as my font -- it used to be shipped with RHEL in the 90s, was removed due to license problems (or so I'm to believe) in one of the Fedora Core releases. https://en.wikipedia.org/wiki/Luxi_fonts


I misread 'a's as 'o's in the example provided. Probably result of all three points combined...


I'm super confused, are the using a... well, I don't know the terms, but a fancy "a" for the straight face and a simple "a" that's the circle-bar O|-shaped "a" for italics?

Is that common in fonts and I never noticed before?


Yes, many fonts use double story 'a' for roman and single story 'ɑ' for italic. Calibri, Segoe UI, Times New Roman, Droid Serif, Merriweather, Consolas, and Source Sans Pro are examples I found from quick searching.


... wow, how did I get this far in life without noticing that. a a a a. Edit: Apparently Verdana doesn't seem to do that.


Many fonts having "real italics" would use a different shape, whereas those with only "slanted fonts" would not (like Verdana). It's only a rough rule, but you can assume that most serif fonts will use "real italics".


The words you're looking for are italic and oblique :-) One is a different design, the other simply the same letterforms slanted.


To be honest, I wasn't :) For those not familiar with terminology, they might think that "italics" represents both (because eg. most software would use one or the other if you click on the slanted "I"talic button), which is why I differentiated between "real" or not real italics.

And while I agree "oblique" is a more technical term, "slanted" is frequently used to mean the same thing, and is probably more understandable. Perhaps I am wrong and it isn't :)


I initially had the same thoughts, especially regarding the increased height.

However, in Intellij (and other Jetbrains IDEs), they've recently increased the line spacing to (I currently use 1.1)

With the increased line spacing, I have had no trouble distinguishing between lower and upper case (to my surprise).


I know absolutely zero things about font design, but there's something profoundly uncomfortable about that short-stem "q".


What would be the font you can recommend?


I would recommend trying this one first to see how you like it. In general coding fonts are sort of a very personal thing - everyone is different.

I started a new job 1.5 months ago which facilitated a jump from IntelliJ to Visual Studio. I've been trying to find a good editor font as the Consolas that was the default for VS 2019 just didn't agree with me. I'm ok with Consolas in bash terminal but somehow inside VS it bugs me. I tried a few of my Mac favorites like Monaco and Menlo. Was using Menlo and it was a decent experience. Tried this JetBrains one and so far so good. It just works for me. I think will keep it.






Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: