Introducing JetBrains Mono, 'A Typeface for Developers' (jetbrains.com) 73
Long-time Slashdot reader destinyland writes:
JetBrains (which makes IDEs and other tools for developers and project managers) just open sourced a new "typeface for developers."
JetBrains Mono offers taller lowercase letters while keeping all letters "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." There's a dot inside zeroes (but not in O's), and distinguishing marks have also been added to the lowercase L (to distinguish it from both 1's and a capital I). Even the shape of the comma has been made more angular so it's easier to distinguish from a period.
"The shape of ovals approaches that of rectangular symbols. This makes the whole pattern of the text more clear-cut," explains the font's web site. "The outer sides of ovals ensure there are no additional obstacles for your eyes as they scan the text vertically."
And one optional feature even lets you merge multi-character ligatures like -> and ++ into their corresponding symbol. (138 code-specific ligatures are included with the font.)
JetBrains (which makes IDEs and other tools for developers and project managers) just open sourced a new "typeface for developers."
JetBrains Mono offers taller lowercase letters while keeping all letters "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." There's a dot inside zeroes (but not in O's), and distinguishing marks have also been added to the lowercase L (to distinguish it from both 1's and a capital I). Even the shape of the comma has been made more angular so it's easier to distinguish from a period.
"The shape of ovals approaches that of rectangular symbols. This makes the whole pattern of the text more clear-cut," explains the font's web site. "The outer sides of ovals ensure there are no additional obstacles for your eyes as they scan the text vertically."
And one optional feature even lets you merge multi-character ligatures like -> and ++ into their corresponding symbol. (138 code-specific ligatures are included with the font.)
I guess it's better than calling it JetBrains AIDS (Score:1)
Or JetBrains .NET Framework (Score:2)
What would you recommend to denote monospace typefaces without an imagined connection to Epstein-Barr infection? (Or free reimplementations of the .NET Framework for that matter.)
Re: (Score:3)
Re:I guess it's better than calling it JetBrains A (Score:5, Insightful)
Re: (Score:2)
It's the same people who won't stop giggling every time they hear "Uranus".
Re: (Score:2)
Mono isn't that big a deal, it is just a type of Cooties.
Re: (Score:1)
Useless (Score:5, Insightful)
Re: (Score:2)
Re: (Score:1)
Barf....
Looks like something developed by someone that's never designed fonts before. Cosmic Sans Mono comes to mind.
For one, the x-height is *too* high- making CamelCase hard to distinguish.
Bracketing characters (){}[] fill up too much of their charwidths.. yes, it's a monospaced font, but that doesn't mean that ( should be drawn as to be so wide that if overlaps an 0 (e.g. kern pair (0.
Horizontally the font is too cramped.
Vertically the font is too loose.
These guys would Steal Sheep!
There's a reason that
Re: (Score:1)
Re: (Score:3)
Re:Useless (Score:4, Informative)
Look at the >= They reduced it to one character width. How are you supposed to tell it that you want to delete the > as compared to the = or vice versa. I assumed with the other ligatures that they'd remain their same fixed-width, so it doesn't mess up the vertical columns...so your cursor would be over the correct part of the 'ligature' even though they all appeared to be attached. But with the >= symbol, that's impossible.
Re: (Score:2)
Re: (Score:2)
In IntelliJ, which half is which?
>= vs =>
I assume those are equivalent and get displayed as the same ligature. But which side is the equals on?
Re: (Score:2)
Those are not semantically equivalent (at least in Java, which is the programming language I'm testing this with): the former is greater-or-equal, the latter is not a correct logical operator.
The ligatures are anyway different:
Re: (Score:2)
It could be worse, right? The ligature for != could look like <>, the one for <> could look like =/=, the Perl one for ~= could look like ~ on top of =, and so forth.
(No, I am not going to spend the time to figure out how to enter the "real" Unicode versions of those on this Android keyboard.)
Re: (Score:3)
You have a very valid point. Apart this issue i do think the font looks very good though and indeed more readable then most monospace alternatives. What i think about the ligatures themselves i'll find out on monday when i'll try the font - cba to do this today - and chances are i actually might like it.
Also i assume they'll take the feedback into account and release a version without the issue. It's obvious they spend a lot of effort designing it. And i do welcome an open font, and the license is very libe
Re:Useless (Score:4, Interesting)
I'm unable to try this until Monday so I have to ask — what is actually happening when the ligatures kick in? If the font renderer ends up putting just one glyph there when the underlying data model has two characters, how do I select only one of them? If I'm cursoring through, does it take one or two arrow taps to move past the ligature? If I select text with a ligature and copy, what gets pasted? Especially if using the font somewhere other than JetBrains' IDE.
Re:Useless (Score:5, Informative)
Testing it in IntelliJ.
The ligature is effectively 2 characters. E.g. "<=" looks like U+2264, but it takes 2 monospace widths and you can select the "left half" of it, which is the "<", or the "right half" which is the "=". It also requires 2 cursor movements to go through.
Personally, I find the ligatures somewhat awkward but at least in IntelliJ they can be disabled. The font looks otherwise pretty good.
Re: (Score:1)
It's pretty intuitive. It renders as a single glyph, but is composed of multiple characters. Using normal conventions of a text cursor (or mouse cursor), you can select all or part of the glyph. In the case of "https://www.youtube.com/watch?...
Re: (Score:1)
Stupid Slashdot rendered my post incorrectly. 2 arrow keys (or backspaces) to traverse some glyphs. Just watch this demo video: https://www.youtube.com/watch?v=6nhtJGlfV3I [youtube.com]
Re: (Score:2)
Ligatures are just how the font rendere
Re: (Score:2)
I've been using a font like this in emacs for some time. The ligatures take up two spaces, and when you move the cursor over one of them, the ligature breaks up into the separate characters that you typed.
The only problem I have is that it is activating ligatures that don't make sense for the language I'm programming in or in the context I'm using the characters, but since I happen to have the characters next to each other, I get something a little weird. I'm sure there are ways of fixing that in the conf
Gets Ligatures wrong in Julia and Perl (Score:2)
The extremely often used Hadamard vector operations in Julia (like matlab) are .+ .* and .- But the ligature in JetBrains for .- is a new symbol that looks like something else. Less anoyingly It also adds a space into converting it too elipsis ... to . ..
Julia also uses unicode charcters which are now indistinguishable from some of the ligatures, which may introduce some confusions as well.
Re: (Score:2)
Unfortunately somebody had this bright idea to introduce ligatures instead of stuff like "!="
Actually, I like the rest of it well enough I might even take the time to rip that shit out. After all, that's why I use open source fonts. :)
Re: (Score:1)
I'm not too bright, but... (Score:4, Informative)
...looks a lot like the default font that Visual Studio Code uses.
Re: (Score:2)
It also has a similar design aesthetic to a font I've been using for terminals for years, called Hack.
Also the 'Hack' typeface (Score:5, Informative)
Re: (Score:2)
I love Hack and I have been using it as my go-to code editing font. It works great even at small sizes, aligns well to grid and makes it easy to differentiate between 1 / l / I etc.
I will give JetBrains Mono a chance and see if it works any better for me.
Let there be Jetbrains Mono! (Score:2)
Looks terrible for terminal (Score:5, Interesting)
Using Konsole, the code looks terrible, even missing letters from words. Isn't it supposed to be monospace?
https://imgur.com/a/tgqOh4B [imgur.com]
Re: (Score:3)
Konsole is notorious for having font rendering bugs, just google "konsole font rendering" to see endless pages of complaints.
With that being said, I love, and use Konsole and this JetBrains font works fine for me in version 19.04.2.
Screenshots:
http://xn0.co/winscreenshot-20200119103001.png [xn0.co]
http://xn0.co/winscreenshot-20200119103230.png [xn0.co]
Re: (Score:3)
Why does anyone bother with Konsole when there's Yakuake [kde.org]?
That being said, JetBrains Mono is not bad, but Yakuake doesn't recognise it as a monospace font, and the ligatures seem to be ignored by it.
Finally! I can write good code from the get-go! (Score:2)
I don't need no steenkn' new font (Score:5, Insightful)
If I'm working in an MS environment I use Consolas [wikipedia.org]
If I'm working in a Mac environment I use Menlo [wikipedia.org]
I don't work in Linux but I se there are a number of similar fonts to choose from.
The head scratcher for me is the merged ligatures. I looked at the code samples and had to really think about what I was looking at. For a moment I thought I was l seeing some APL [wikipedia.org]
I personally think that this ligature merging is going to suck for anyone who moves between different environments which have or don't have this installed. It's one thing to swap languages between environments, but it's a totally different thing to change the "letters" that those languages are written in.
Re: (Score:1)
Re: (Score:2)
Orthographic ligature, yay! (Score:2)
Is there any tall and narrow monospace font (Score:1)
Compared to Consolas, it appears that Jetbrains mono is a bit wider font, which means less characters per line of text.
I prefer fonts that let me put more columns without having to scroll horizontally.
Does anyone have a suggestion of a tall and narrow monospace font.
Re: (Score:2)
Of course, you mean "fewer" -- if I was being a grammar dick. :-)
Re: (Score:2)
He probably says "amount of people" where he really means "number of people", too.
Re: (Score:2)
He probably says "amount of people" where he really means "number of people", too.
Did you mean "number of persons"?
Really? (Score:2)
Unless they're new to you.
This seems like much ado about very little. The time you save is going to be washed by the time of your eye movements. That and you can't actually measure the time it takes someone to perceive something. It's subjective.
Short -> This is just another option, use what you like.
Python example (Score:4, Funny)
I still can't see the curly braces with this font.
Um... How does this help developers? (Score:2)
And one optional feature even lets you merge multi-character ligatures like -> and ++ into their corresponding symbol. (138 code-specific ligatures are included with the font.
Which most (all?) programming languages won't recognize. That'll be fun to copy&paste and debug...
Re: (Score:1)
Re: (Score:2)
I don't see why the ligatures couldn't just be assigned to the usual Unicode code points, at least where they exist (many do, not sure about all). In fact I'd be kind of annoyed to find them missing, although there are many fonts (and probably always will be) that will push you back to OS-supplied fonts if you get outside their wheelhouse, in a semi-transparent manner. The only reason I can think of to hard code ligatures into text is to squeeze a tiny bit more into a tweet.
Ligatures are probably a bad idea ... (Score:3)
... for reading and writing code. I get that most others here see the same problem. A ligature is, by definition, not the same as the two characters it represents, especially when it comes to computers and their code.
Bad idea, don't like it.
Oh HELL no!!! (Score:2)
> multi-character ligatures
Nope. Just, NO! That's some serious bullshit right there. Those abominations deserve to be cast right down there with other garbage characters like "smart" quotes, en/em dashes, and ellipsis. All of these; plus the automatic substitution of same, which inevitably results in things breaking, especially when you have to copy & paste in or out of equally-garbage tools like Jira and Confluence that nevertheless bafflingly remain very popular and commonly used; are definitely on
Re: (Score:2)
So I just went to where it lists all its multi-character ligatures copied them and pasted them into a bunch of programs (including JIRA)
and they worked fine (because True Type Fonts ligatures are rendering time rather than replacing source characters like smart quotes).
So... you sort of had a big angry rant over nothing.
Re: (Score:2)
> multi-character ligatures
Nope. Just, NO! That's some serious bullshit right there. Those abominations deserve to be cast right down there with other garbage characters like "smart" quotes, en/em dashes, and ellipsis. All of these; plus the automatic substitution of same, which inevitably results in things breaking, especially when you have to copy & paste in or out of equally-garbage tools like Jira and Confluence that nevertheless bafflingly remain very popular and commonly used; are definitely on the short list of technologies that should be un-invented and their creators ground up into chum a la Fargo.
I think I'd rather try to write in Comic Sans.
Yup, this. (I had a similar rant all queued up but lost it >:\ ). This is yet another user-hostile design [jetbrains.com] from JetBrains. At least it can be disabled, for now.
Powerline support? (Score:2)
vs. SourceCode Pro (Score:2)
I've been using SourceCode Pro for a long time. I'll compare this new font to it, but it doesn't look at first glance like there's enough difference to make me change.
Thanks for the free font, but (Score:2)
Thanks for the free font, but what's the science behind perceiving the characters as requiring less brain effort?
oh!oh!oh! I know! (Score:2)
haven't taken a look yet, but let me see which of the following they managed to fuck up:
1) digit zero is crossed, not dotted. Dotted zero looks like the greek capital theta (Î). Digit 1 has a base. Digit 3 is top-angle, bottom-curve. Digit 4 is a right triangle with the right angle on the bottom right, with the longer vertical side extending slightly on the bottom and the shorter horizontal side extending slightly on the right. Digit 5 is upper right angle, lower curve.
2) lowercase L is different from
Re: (Score:2)
and now that i did take a look at it...
what kind of fresh hell is this xD
No Japanese (Score:2)
No good.
But it's wider! (Score:2)
Consider this in contrast to some other fonts. Consolas, for example, has slightly wider letters. However, they are still rather small, which forces you to increase the size by one point to make the font more readable. As a result, lines of code tend to run longer than expected. JetBrains Mono’s standard-width letters help keep lines to the expected length.
However moving the slider next to this text makes it clear that the opposite is true; the JetBrains fort is wider!
no much improvement (Score:2)
I don't see any real improvement over Consolas for instance. It even is larger than the same size in Consolas (which I don't see as an advantage, if I want larger font I'll set it larger).
With the jetbrains mono font now you don't even see the difference between a capital U and a lowercase u, so now you can easily mistake is for a lowercase v.
I see absolutely no advantage (I even see disadvantages) to using JetBrains Mono compared to Consolas..
Courier New/Courier (Score:2)
Available and the same on _all platforms_ (Windows, OS/x, Linux, ...). I used this font for years (and years...) as my only monospace font for editing code and terminals. I love it. :)
And multi-character ligature for editing source code (or in a terminal) is a BIG NO.
I wonder ... (Score:2)