Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming

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.)

This discussion has been archived. No new comments can be posted.

Introducing JetBrains Mono, 'A Typeface for Developers'

Comments Filter:
  • But perhaps they should still reconsider sharing the name with a serious medical condition.
  • Useless (Score:5, Insightful)

    by awe_cz ( 818201 ) on Sunday January 19, 2020 @10:41AM (#59634658)
    Unfortunately somebody had this bright idea to introduce ligatures instead of stuff like "!=", the code is unreadable because of this and what's even worse, it is enabled by default. Older IDEs are not able to disable it (NetBeans, for one). I'm staying with Noto Sans.
    • by Entrope ( 68843 )

      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.)

    • by xonen ( 774419 )

      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)

      by MichaelJ ( 140077 ) on Sunday January 19, 2020 @12:11PM (#59634880)

      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)

        by bsolar ( 1176767 ) on Sunday January 19, 2020 @01:37PM (#59635052)

        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.

      • 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?...

      • by tlhIngan ( 30335 )

        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.

        Ligatures are just how the font rendere

    • by crow ( 16139 )

      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

    • 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.

    • 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. :)

    • Comment removed based on user account deletion
  • by 110010001000 ( 697113 ) on Sunday January 19, 2020 @10:50AM (#59634680) Homepage Journal

    ...looks a lot like the default font that Visual Studio Code uses.

    • by Mal-2 ( 675116 )

      It also has a similar design aesthetic to a font I've been using for terminals for years, called Hack.

  • by Sebby ( 238625 ) on Sunday January 19, 2020 @10:53AM (#59634686)
    Which was previously mentioned on [slashdot.org].
    • by UPi ( 137083 )

      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.

  • This is so awesome. It's like the Gods spoke directly to the developers. Let there be Jetbrains Mono!
  • by atisss ( 1661313 ) on Sunday January 19, 2020 @11:12AM (#59634726)

    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]

  • With this new font I will finally be able to write all the good code I've always wanted to! Know more misplellings in comments or syntax, error bugs too!
  • by OzPeter ( 195038 ) on Sunday January 19, 2020 @11:22AM (#59634746)

    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.

    • Yeah, the font looks nice in general, but the ligature merging isn't for me, especially the double and triple equal signs and things like arrows. I'll stick with Consolas and Inconsolata.
    • by AHuxley ( 892839 )
      Thanks for the link to the font history of Menlo.
  • I like that it improves on-screen density, has orthographic ligature and looks quite nice, distinguishes between 0 and O. So happy!
  • 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.

  • The easier the forms, the faster the eye perceives them and the less effort the brain needs to process them."

    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.

  • by PPH ( 736903 ) on Sunday January 19, 2020 @02:40PM (#59635256)

    ... in TFA.

    I still can't see the curly braces with this font.

  • 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...

    • Don't worry, the ligatures only appear at render time, it's a feature of truetype fonts. They aren't implemented by replacing the encoded characters in the source code text. (To be honest I'm still not a fan of them, though.)
    • by Mal-2 ( 675116 )

      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.

  • ... 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.

  • > 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

    • 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.

    • by MikeKD ( 549924 )

      > 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.

  • It appears this font doesn't include Powerline support. Otherwise, it looks nice. I'm not a fan of the ligatures (like, apparently, everyone except font designers) but those should be able to be disabled for most environments. I just downloaded this and Hack to try side-by-side. The both are quite readable. Given the lack of Powerline support and questionable ligatures, Hack might be a better choice of the two. My default editor font is 'Droid Sans Mono Dotted for Powerline'. It's nearly identical to
  • 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 what's the science behind perceiving the characters as requiring less brain effort?

  • 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

  • On the demo page [jetbrains.com] it says:

    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!

  • 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..

  • 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.

  • ... how well the "increased height of lower case letter" plays for readability when people are coding in a Cyrillic script (where variable names, descriptors, the names of libraries etc are as likely to be rendered in a relevant-to-project language, such as Russian, as they are in the language that web page was written in. (For those who don't know, the norm for Cyrillic scripts is to have very blocky lower-case forms; for learners from the Latin-script-using world it is common to hear complaints that they

This file will self-destruct in five minutes.

Working...