[HN Gopher] JetBrains Mono - the free and open-source typeface f...
       ___________________________________________________________________
        
       JetBrains Mono - the free and open-source typeface for developers
        
       Author : onnnon
       Score  : 264 points
       Date   : 2022-01-20 14:26 UTC (8 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | thecosmicfrog wrote:
       | Source Code Pro is my personal go-to.
        
       | dang wrote:
       | Past related threads:
       | 
       |  _JetBrains Mono: A free and open-source typeface for developers_
       | - https://news.ycombinator.com/item?id=22053998 - Jan 2020 (201
       | comments)
       | 
       |  _JetBrains Mono: A free and open source typeface for developers_
       | - https://news.ycombinator.com/item?id=22062675 - Jan 2020 (29
       | comments)
        
       | s5806533 wrote:
       | JetBrains Mono won the coding font tournament [1] for me, but
       | said tournament did't have "Hack", which still looks best in my
       | IDE (geany).
       | 
       | [1] https://www.codingfont.com/
        
       | Trex_Egg wrote:
       | I just converted to this font and using it for a month almost.
       | Seems good on my editor/
        
       | traspler wrote:
       | I really, really like Anonymous Pro. In comparison JB Mono looks
       | similar enough but a bit fatter, not a bad look :)
        
       | fc373745 wrote:
       | I've tried IBM plex, Fira, and even bought Operator Mono.
       | 
       | Always switched back to Ubuntu Mono.
       | 
       | It may not be the coolest looking font, but the most legible to
       | me.
        
       | forrestthewoods wrote:
       | Almost all programming fonts suck on Windows. They're designed
       | for retina DPI MacBooks with Apple rendering. It's annoying.
       | 
       | As a Windows programmer my #1 font for ~15 years was Consolas. I
       | recently made the change to Cascadia Mono. It took a couple of
       | days to get used but it's better.
       | 
       | #1 Cascadia Mono #2 Consolas #3 Death
        
       | usrme wrote:
       | I think I switched to this font a couple of years ago and I've
       | been unable to find anything that even comes close! At this point
       | I would consider JetBrains Mono to be my forever font.
        
         | khaledh wrote:
         | Same here.
        
         | GordonS wrote:
         | I do like JetBrains Mono, but I personally prefer Fira Code.
         | Plain old Consolas (a standard Windows font) actually comes
         | pretty close too.
        
           | typon wrote:
           | Agreed. Fira Code is still the most aesthetically pleasing
           | font that has all the modern features. Can't stand how
           | robotic JetBrains Mono looks.
        
           | klysm wrote:
           | Consolas is still one of the best
        
         | mbar84 wrote:
         | I would argue, that a more narrow font gives you more bang for
         | the buck in terms of information per area of foveal vision.
         | Even if something looks aesthetically more pleasing, if it
         | serves is purpose better, you'll get used to everything else.
         | 
         | My history is: Monoid -> Iosevka SS05 -> Essential PragmataPro
         | 
         | I just compared the latter two to JetBrains Mono, and at least
         | on my settings, doing a blink comparison, they both look more
         | clear to me.
        
         | petepete wrote:
         | I've been using it for about a year, definitely won't be
         | changing any time soon.
        
         | krat0sprakhar wrote:
         | Exactly in the same boat. Whenever I setup a new workstation, I
         | install this font right away and set it as default in my IDE,
         | terminal etc.
        
         | fortyseven wrote:
         | It unseated Ubuntu Mono as my "forever". I was stunned that
         | happened!
         | 
         | I ended up going with a slashed zero variant of JetBrains Mono.
         | Now it's perfect.
        
           | ragnese wrote:
           | I keep trying to switch away from Ubuntu Mono, but I always
           | end up switching back after a few days. I just played "the
           | font game" and Source Code Pro won for me, today (But my top
           | contenders were pretty much what I expected: Fira, Ubuntu,
           | Source Code Pro). So, maybe I'll give SCP another few days
           | and see what happens.
        
       | rob74 wrote:
       | My favorite is still Go Mono (and not only for Go) - mostly
       | because I prefer the good old "typewriter-style" fonts with
       | serifs. "Sans-serif" monospace fonts look odd to me because most
       | letters are sans-serif, but then they have to add serifs to I, i,
       | l, 1 etc. to avoid having them look "skinny".
        
       | Axsuul wrote:
       | I try every programming font but always end up going back to
       | Monaco.
        
         | amir734jj wrote:
         | Monaco is my go-to font
        
       | i_like_apis wrote:
       | There was a great Show HN a few months ago of a game to find your
       | favorite programming font and JetBrains Mono is one of the
       | contenders:
       | 
       | https://news.ycombinator.com/item?id=29010443
        
       | hahnchen wrote:
       | Apple's fonts are quite nice. I use sf mono.
       | 
       | You can download it from https://developer.apple.com/fonts
        
         | epicide wrote:
         | Looks like SF Mono is what replaced Menlo.
         | 
         | Interestingly enough, JetBrains Mono seems _very_ similar to
         | Menlo. Biggest difference I see is the 0.
        
       | vr46 wrote:
       | Love this font, has half-replaced Pragmata after a decade or so.
       | Super-good in the terminal.
        
         | GrumpyNl wrote:
         | For me, not enough difference between 0 and O, zero and capital
         | o
        
       | smasher164 wrote:
       | This is up there with Inconsolata as one of the best monospace
       | fonts, IMO.
        
         | raphlinus wrote:
         | Why thank you :)
         | 
         | People may not know that Inconsolata is now a 2-axis variable
         | font with a particularly wide width range: 0.5 to 2.0 of the
         | nominal width.
        
       | GavinMcG wrote:
       | > Ligatures in programming fonts are a terrible idea.
       | 
       | > And not because I'm a purist or a grump. (Some days, but not
       | today.) Programming code has special semantic considerations.
       | Ligatures in programming fonts are likely to either misrepresent
       | the meaning of the code, or cause miscues among readers. So in
       | the end, even if they're cute, the risk of error isn't worth it.
       | 
       | - Matthew Butterick, _Ligatures in Programming Fonts: Hell No_ ,
       | https://practicaltypography.com/ligatures-in-programming-fon...
        
         | stronglikedan wrote:
         | > cause miscues among readers
         | 
         | Surely the readers are reading the code in the font of _their_
         | choosing. If they get miscued by ligatures, that 's squarely on
         | them, because _they 're_ the ones that chose to read it in a
         | ligature font. That's the beauty of fonts - they can be very
         | personal.
        
         | viktorcode wrote:
         | I agree. The symbol combinations may have different meaning
         | depending on where they appear. Replacing raw symbols with
         | ligatures will create confusion.
         | 
         | I was using this font in Rider when JetBrains made it the
         | default, but gave up after several months. The ligatures were
         | giving me a pause still. The effect was opposite to ease of
         | reading the code.
        
         | Philip-J-Fry wrote:
         | I think ligatures are amazing, makes code easier to read for
         | me.
        
         | kitsunesoba wrote:
         | For me it depends on what's being written. For the stuff I work
         | with day to day (all very "boring"/mainstream languages)
         | there's no possibility of ligatures causing confusion, and I
         | find them to be an enhancement in both aesthetics and
         | readability.
         | 
         | I also think it would be interesting if a programming language
         | used the Unicode characters that ligatures simulate rather than
         | combinations of general purpose characters, but that seems
         | unlikely given that it'd require a new programmer-oriented
         | keyboard layout.
        
           | ReleaseCandidat wrote:
           | You should check out APL.
           | 
           | Dyalog still has special APL keyboards.
        
         | peeters wrote:
         | I tend to agree not because I think they often get the
         | semantics wrong, but because it's an unnecessary translation
         | operation my brain has to do. Why does my brain need to process
         | two different ways of representing the same thing (one when
         | typing, one when reading)?
        
         | moron4hire wrote:
         | And yet, somehow, no such thing has actually happened.
        
           | CapsAdmin wrote:
           | I've witnessed curly quotes finding its way into html due to
           | copy paste causing at least an hour of debugging.
           | 
           | So I can imagine when there are tools to prettify code for
           | blogs this can become an issue for some languages.
           | 
           | While not entirely related to ligatures, my own biggest
           | offender has been strange whitespace being treated as an
           | identifier in LuaJIT. Mostly caused by my Norwegian keyboard
           | layout producing strange whitespace when you want to write
           | the not operator "~=" if you're not careful enough.
           | 
           | You can blame many parts here, LuaJIT for allowing this in
           | the first place, editors lacking tools to deal with it or
           | normalize pasted code, me for not using a us layout, me copy
           | pasting code, or me not being careful enough.
           | 
           | Thankfully vscode will now highlight non standard whitespace
           | with a yellow box. And best of all I've learned to be aware
           | of these things when copy pasting code from the browser.
        
         | enobrev wrote:
         | It's a strange claim - to say it's a terrible idea. I've been
         | programming for over 20 years and I've been using a font with
         | ligatures for nearly a year now. For me, personally, it
         | increases legibility and clarity. I feel slightly stunted when
         | I don't have them. I read other people's code with ligatures on
         | just fine as well.
         | 
         | I also hate dark mode and small fonts, and I let my code run
         | way past 120 chars per line when it's right to do so.
         | 
         | I couldn't possibly care how other developers read code. I want
         | them to be able to read my code and so I try to code for
         | clarity, but I can't imagine a font choice or many other IDE
         | preferences affecting their ability to read the code I write.
        
         | dheera wrote:
         | You can disable the ligatures in your editor or use Jetbrains
         | Mono NL which is the no-ligature version.
         | 
         | Bottom line is it's just there, enable or disable depending on
         | your preference.
        
         | howdydoo wrote:
         | If you think "-" misrepresents the meaning of "->", then
         | certainly "->" also misrepresents the meaning of a semantic
         | arrow "-". The set of symbols in 7-bit ASCII is somewhat
         | arbitrary after all.
         | 
         | Let's say "-" misrepresents the meaning of "->" even as much as
         | 0.1% of the time. Would you rather your risk of error be 99.9%,
         | or 0.1%?
         | 
         | I'm sick of anti-ligature people telling everyone else not to
         | enjoy their fonts, on every single post about a font. Ligatures
         | have caught on for a reason.
        
           | cwaffles wrote:
           | The issue is that people also share screenshots, and
           | ligatures are not universally shaped or styled, unlike ASCII.
        
             | WorldMaker wrote:
             | Screenshots are a suboptimal way to share code in general,
             | and should be avoided. If you are trying to copy code from
             | a screenshot something has gone horribly wrong in your
             | process. If you are having trouble reading ligatures, that
             | may be a learning curve issue you can adapt to with more
             | use. (Arguably, most ligatures should be obvious with
             | enough familiarity with the programming language without
             | needing to look them up or learn them.)
             | 
             | Most other ways of code sharing you just copy and paste
             | into a non-ligature font if you need to.
             | 
             | Aside: "ASCII" symbols are neither universally shaped or
             | styled _either_. The easiest and obvious example to mind is
             | the plain 0, dotted 0, slashed 0 choice and confusion with
             | nearby symbols such as O and o and th (Theta, not far away
             | in  "Extended ASCII"). Similarly all the variations of
             | lower-case L (versus 1 and i). Those choices vary
             | considerably between fonts and are another huge reason some
             | people prefer certain monospace fonts over others and the
             | debate over "best" will likely be an ever ongoing one. You
             | may not think these issues compare to ligature use, but
             | it's exactly the same sort of style debates.
        
           | calcifer wrote:
           | > I'm sick of anti-ligature people telling everyone else not
           | to enjoy their fonts
           | 
           | Who is doing that? Certainly not the author. It sounds to me
           | like you're taking the author's opinions as a personal
           | affront, which seems... weird.
        
             | eproxus wrote:
             | If you say it is a "terrible idea" that kind of implies
             | that anyone who has the idea to add them to their font or
             | use a font that supports it has made a terrible choice. At
             | least, that's how I interpret it.
             | 
             | It's certainly not the most neutral phrasing.
        
           | grayclhn wrote:
           | Works great until some jerk uses `-` as a variable name...
        
           | laurent92 wrote:
           | The only thing that is annoying with -> as two characters is
           | the misalignment of the horizontal center. If the ligature
           | had always centered the - to the middle of the >, I'm not
           | sure so many people would be pushing towards having a single
           | arrow.
        
         | fermentation wrote:
         | I thought it was weird at first, but I grew to really enjoy the
         | way they look. It isn't too difficult to figure out, because
         | even if you don't use ligatures when you look at one you know
         | right away it is an unusual symbol and you need to look at it a
         | little closer to figure out what it is.
         | 
         | Also, if something doesn't turn red when you swap an = for a ==
         | then it's time to re-evaluate code coverage.
         | 
         | Edit: I should note that I mainly write C and C++. Other
         | languages may make ligatures less pleasant
        
         | politelemon wrote:
         | I find ligatures increase the difficulty of
         | communicating/collaborating with other developers. When working
         | through a problem together in a screenshare, or at their
         | machine, having to visually parse what they're displaying
         | creates a speedbump in my head as I have to pause and
         | translate. Some ligatures are not too bad, easily discernible,
         | but some are particularly egregious.
         | 
         | The worst offenders tend to be anything involving '!' and '='
         | and the many varying stylistic interpretations of it. It
         | appears that font designers are in a race to outdo each other,
         | or introduce it for the 'coolness' factor and eschewing the
         | practicalities involved.
         | 
         | But I don't want to be a grump and I do keep trying out
         | ligature fonts every now and again, always with negative
         | results.
        
           | usrusr wrote:
           | "Is this a ligature or is it a homoglyph attack" is certainly
           | a waste of cycles that nobody should have to endure. (why am
           | I thinking of Scala all of a sudden, Scala has done nothing
           | wrong!)
           | 
           | Perhaps if some radical homoglyph defenses get established
           | they could also take this sting out of ligatures? (how about
           | highlighting everything that cannot be typed with your
           | current keyboard layout, or with the layouts in whatever
           | quick access scheme you might have?)
        
           | jonnycomputer wrote:
           | Hmm. Yeah, I really don't think I like != ligature. I don't
           | want to mistake it for some non-ascii unicode symbol, and I
           | generally like what I type to stay the way I typed it
           | (including curly quotes!).
           | 
           | Yeah, no thank you.
           | 
           | Also, I notice that Jetbrains Mono doesn't ligature ~= as !=,
           | but that is what it means in Matlab. So it really seems like
           | assumptions about language semantics is baked in to the font.
           | 
           | Jetbrains Mono does offer the no-ligature version.
        
         | gnull wrote:
         | The ligature [?] for != is very C/C++/Java-specific, which is
         | kind of annoying. Is there a way to selectively disable
         | ligatures like this one?
        
           | timw4mail wrote:
           | It's a very common logic operator across a multitude of
           | languages. In what situation do you have that sequence of
           | characters that isn't a logic operator?
        
             | jonnycomputer wrote:
             | ~= and <> are common-enough, e.g. in Matlab, SQL
             | 
             | Having a ligature for != but not for the others betrays its
             | language-independent semantics.
             | 
             | != in Matlab is not legal logic operator.
             | 
             | Also, != might be part of regular expression.
        
         | usrusr wrote:
         | I might be imagining this but I think that I have seen
         | ligatures on/off being used as a deliberate hint to convey the
         | difference between read-only and editable code. That's a very
         | nice tweak. InteliJ at least can be configured that way, might
         | be a case where its Android Studio incarnation has different
         | defaults.
        
         | CapsAdmin wrote:
         | I always felt it's slightly sad that we're stuck with only
         | being able to type the ASCII symbols
         | !"#$%&'()*+,.-./\:;<=>?@~|{} efficiently.
         | 
         | So languages that want to express more with different symbols
         | find it difficult to do so with our limited set. You end up
         | with combinations of symbols that look familiar to existing
         | combination of symbols, and for those who find this problematic
         | to read we have ligatures.
        
         | dorian-graph wrote:
         | This gives me the same vibe as "Why get rid of the DVD drive?".
         | 
         | I've used ligatures now for several years (with JetBrains Mono
         | in particular for some time). I've done lots of pair
         | programming and a common immediate reaction is "How can I get
         | those too?! It makes it so nice to read and understand".
         | 
         | Instead of throwing them out because of some edge cases, why
         | not improve the software for the edge cases?
        
         | kortex wrote:
         | I make less errors and find errors more readily with ligatures
         | on. The instant I saw them on my coworker's machine, I had
         | installed Fira and enabled ligatures in Jetbrains. I have ADHD
         | and I'm a highly visual person. I love ligatures, emojis, and
         | any CLI tool that "makes my terminal look like a disco" (to
         | quote a different coworker).
         | 
         | I'm sure it's a highly personal thing, but Matthew Butterick
         | proclaims it's more universally bad than it actually is.
         | 
         | That is why there's a checkbox for enabling ligatures.
         | 
         | Like why is this a thing? It's like proclaiming certain font
         | sizes aren't worth it. My dev machine is my interface. I should
         | be able to do what I like with it.
         | 
         | Edit: I guess he addresses this in a footnote, but hardly:
         | 
         | > "What do you mean, it's not a matter of taste? I like using
         | ligatures when I code." Great! In so many ways, I don't care
         | what you do in private. Although I predict you will eventually
         | burn yourself on this hot mess, my main concern is typography
         | that faces other human beings.
         | 
         | A) I've never burned myself b) other than screen shares (again,
         | nary a complaint, but several "cool! How do I get that?") I'm
         | never rendering code for others to consume. I agree that a
         | ligatured font would be bad e.g. for publishing code in a
         | whitepaper.
        
           | [deleted]
        
         | bokchoi wrote:
         | > There are a lot of ways for a given sequence of characters,
         | like !=, to end up in a source file. Depending on context, it
         | doesn't always mean the same thing.
         | 
         | While this is true, it doesn't seem to come up that often in
         | practice. I'd say this appears when I'm viewing log files or
         | something that isn't a programming language.
        
         | one_off_comment wrote:
         | This font ships with a ligature-less version.
        
         | donatj wrote:
         | > They grow on you.
         | 
         | - Me
         | 
         | I honestly really didn't like them at first, but I came to love
         | Fira Code after a couple false starts.
         | 
         | My IDE catches the errors this guy mentions.
        
         | tomc1985 wrote:
         | Yet another facet of the infantization of this trade
        
           | moron4hire wrote:
           | Ah, yes, my preference for how a couple of bytes of data in
           | my text file end up getting mapped to a few dozen more bytes
           | of data on my screen. _That_. That was the moment things went
           | to far.
        
         | [deleted]
        
         | oxff wrote:
         | They're fine in moderation, like for logical signs. I wouldn't
         | want UNICODE symbol soup like Agda code seems to be.
        
         | ReleaseCandidat wrote:
         | Yes, there are some problems, like a double arrow to the left
         | `<=` which is not the same as a 'less than or equal' or, to a
         | lesser extend, 'less than -1', which can be written as `a<-1`,
         | which is no arrow `a <- 1`.
         | 
         | But I still use them ;).
        
           | onychomys wrote:
           | Since R uses back arrows to assign values to variables, you
           | could potentially have to write x <- -1, which could get
           | messy.
        
         | boomskats wrote:
         | Matthias Tellen also has an interesting take on this subject in
         | in issue #29 for his font mononoki [0]. I love mononoki.
         | 
         | [0]:
         | https://github.com/madmalik/mononoki/issues/29#issuecomment-...
        
           | schleck8 wrote:
           | Looks fantastic, I'll definitely try this one out
        
           | barrenko wrote:
           | Mononoki, Input Mono are in my Top 3.
        
         | sfteus wrote:
         | Functional considerations aside, there's definitely some
         | personal issues with ligatures. Spacing in code is incredibly
         | important for a lot of people. I'm dyslexic, so distinguishing
         | between something like someValue=someOtherValue() and
         | someValue->someOtherValue() adds additional unnecessary
         | complexity compared to simply writing assignments with spacing
         | (ie, someValue = someOtherValue()). This makes it significantly
         | easier for me to interpret it at a glance.
         | 
         | That leads into my personal issue with ligatures: they change
         | what should be a binary operation into a more complex one.
         | Instead of "I see equals signs, one space or two?" it becomes
         | "I need to stop, change to a vertical reading direction, and
         | see if that's 2 or 3 lines" or "I need to estimate if that is 2
         | or 3 characters worth of width, or get off track comparing it
         | to characters on the line above." Comparison operators should
         | simply be "greater space equals" but become "wait, was there a
         | second line there? I have to go back and double check that."
         | 
         | I'm sure someone will come along and say "how is reading the
         | number of spaces different than reading the number of lines?"
         | It might be that the spacing is normalized without ligatures,
         | it might just be the vertical spacing in ligatures is too
         | small, I don't really know. It's incredibly difficult to convey
         | this to someone who doesn't experience it, all I can say is it
         | is a night and day difference to me.
         | 
         | I've given Fira Code a shot 2 or 3 times but have found the
         | ligatures to hinder my productivity every time. I also tried
         | them just in the "reader mode" with Jetbrains Mono when that
         | feature was first released, but had to turn it off after a few
         | days.
         | 
         | That all being said, I won't fault anyone for using them if it
         | helps them in the same way that not using them helps me. I'm
         | just glad they can be disabled in Jetbrains Mono as it is
         | otherwise an incredible font.
        
           | pxeger1 wrote:
           | Interesting. A friend of mine is dyslexic and has expressed a
           | strong preference for ligatured fonts for programming for the
           | opposite reason. I guess the lesson is to leave people alone
           | with their preferences...
        
         | c7DJTLrn wrote:
         | I'm the most whiny opinionated person on the planet and even I
         | find this stupid. Why would you care about what code looks like
         | on _other_ people 's screens? If it works for them, it works
         | for them. Christ. I hate this industry sometimes. There are
         | serious problems and then there's people writing argument bait
         | about ligatures.
        
       | VTimofeenko wrote:
       | Absolutely love this font, been using the Nerd fonts patched
       | version for a very long time for my terminal-based workflows. One
       | really minor gripe that I have with it is the triple asterisk
       | ligature which I have no use for. But it's so minor that I never
       | bothered to patch this symbol out.
        
         | 8n4vidtmkvmk wrote:
         | get the non ligatures version. ligatures are extra terrible in
         | a terminal
        
           | VTimofeenko wrote:
           | I have been using kitty on Linux for quite a while now, and
           | it handles ligatures extremely well. I like seeing nice
           | arrows in my terminal.
        
       | fleaaa wrote:
       | Am I the only one rocking with agave? Especially agave NF, it
       | looks a bit funky (casual-looking) but it's been really easy on
       | my eyes on not-too-high res display(34' 1440p).
       | 
       | https://github.com/blobject/agave
        
       | one_off_comment wrote:
       | I used to use Fira Code. Then I played this font game and I
       | switched to JetBrains Mono.
       | 
       | https://www.codingfont.com/
        
         | jedimastert wrote:
         | I really like the idea, although I'd really prefer if I could
         | pick an example for a language I actually use. Even just my own
         | snippet
        
         | mcdonje wrote:
         | I use fira code. I just played this with the names hidden and
         | still ended up with fira code, lol. Both are extremely good,
         | though.
        
         | knuthsat wrote:
         | I do not know why but this game makes the winning font look
         | much better than it is when I use my code.
         | 
         | Whenever I try the winning font (b612, fira mono), I always go
         | back to Liberation Mono.
        
           | mbar84 wrote:
           | I think it has to do with rendering. Have a spin with
           | iosevka-term-ss05.
        
         | afturner wrote:
         | Long time Fira Code user, also ended up with JetBrains Mono.
         | Runner up was IBM Plex Mono.
        
           | dxdm wrote:
           | I don't see a runner up, only the winner. Did they change the
           | game? Playing on mobile, Android Firefox.
        
             | afturner wrote:
             | I hid the font names until I reached the final two. Decided
             | which I liked better and then disabled the toggle to see
             | the names.
        
           | xbar wrote:
           | Same.
        
           | stronglikedan wrote:
           | I use Fira too, currently, but IBM just won for me, with
           | JetBrains as the runner up. I'm actually surprised by that,
           | and learned a lot from this game(?).
        
         | aiilns wrote:
         | I don't much like that differences in sizing are not taken into
         | consideration (not all fonts are equally large at a given pixel
         | size).
         | 
         | I have been using Fira Code extensively and also writing texts.
         | Both in English & in Greek, both spotting my mistakes and
         | reading what I'd written improved within minutes of first
         | trying it out. I may give JetBrains Mono a try as well, though
         | I really am taken with Fira Code.
         | 
         | Unfortunately I have yet to find the perfect general purpose
         | font to use in general. Ubuntu fonts do come really close to
         | being perfect.
        
         | drBonkers wrote:
         | I ended up with Xanh Mono-- I wonder if that says anything
         | about my reading style.
        
         | benbristow wrote:
         | I've been using JetBrains Mono on JetBrains Rider at home/work,
         | has been pretty good.
         | 
         | Playing that game though ended up with liking Roboto Mono the
         | most, Fira being a close second.
        
         | jcelerier wrote:
         | i've been using anonymous pro for years, did it, and landed on
         | anonymous pro lol. too bad it does not have a good bitmap 4k
         | version..
        
         | jedberg wrote:
         | Just played the game with names off and ended up with Fira
         | Code. But since I have the names off, I don't know what second
         | place was, but I think it was Jetbrains Mono based on the look
         | of it.
        
           | anotherevan wrote:
           | Also just played, and ended up with ennui.
        
         | sfteus wrote:
         | I feel this would be more interesting if you could hide the
         | font names until you were done.
        
           | throwaway675309 wrote:
           | You can, it has a toggle.
        
             | sfteus wrote:
             | I somehow missed that, thanks
        
         | [deleted]
        
         | invisible wrote:
         | This site is pretty neat! It's a bit weird it doesn't have
         | Menlo, Monaco, etc. to compare to some widespread fonts. I'm
         | not sure what I'd pick if those were mixed in.
        
         | peakaboo wrote:
         | I also ended up with Jetbrains Mono but Ive been too lazy to
         | switch from Fira Code which is also really good. But soon!
        
       | electric_mayhem wrote:
       | Bitstream Vera Sans Mono has been my monospaced font of choice
       | for years, but having seen JetBrains Mono when I started playing
       | with their IDEs last year... it's really good, and has some
       | features I prefer over BVSM.
        
       | faldore wrote:
        
       | RBerenguel wrote:
       | If we are throwing font recommendations here, I favour Monoid
       | [M], I love its glyphs and look. But some years ago I installed
       | Victor Mono [V] as a kind of practical joke on myself (it has
       | _italics_ , usually enabled for comments in the language you use
       | in your editor, but of course that's up to where you want them)
       | and I found it's actually extremely nice because of that. I now
       | also use it on Obsidian (the other monospaced editor I use aside
       | from VS Code/emacs)                   [M]:
       | https://larsenwork.com/monoid/         [V]:
       | https://rubjo.github.io/victor-mono/
       | 
       | Edit: formatting
        
       | manmal wrote:
       | Installing this font is the first thing I do when setting up a
       | new editor. It has a great character and feels pretty much ideal
       | to me.
        
       | sawaali wrote:
       | In terms of legibility, aesthetic balance, and not being over-
       | engineered, I haven't found anything better than M+ 1:
       | https://macwright.com/2014/07/09/mplus.html
        
       | kitsunesoba wrote:
       | I'll be giving JetBrains Mono a try, but for the past few years
       | I've been enjoying Dank Mono[0] for writing Swift, Obj-C, Kotlin,
       | and C#. In particular I like its handwriting-inspired italic
       | style, which works well for adding contrast to things like
       | keywords.
       | 
       | [0]: https://philpl.gumroad.com/l/dank-mono
        
       | dorfsmay wrote:
       | I've started using JetBraims Mono after a friend suggested it to
       | me.
       | 
       | If you hesitate between a few fonts, edit some text in your
       | terminal and reduce the size of the font/terminal until it's
       | almost unreadable. Pay special attention to the i, l, o, 0 etc...
        
       | DwnVoteHoneyPot wrote:
       | Julia Mono font is pretty great. https://juliamono.netlify.app/
        
       | ralgozino wrote:
       | In my case the font that made me stop switching fonts every month
       | was Victor Mono: https://rubjo.github.io/victor-mono/
        
       | TheRealDunkirk wrote:
       | <Laughs in Monaco>
        
       | 19h wrote:
       | Absolutely amazing font. Used it since the first day it was out
       | and never looked back. Improved the code readability for me so
       | much it's among the first things I setup on a new Mac. I also use
       | it for the terminal, as a font override in dark reader on a bunch
       | of websites, ...
        
       | macrael wrote:
       | Anyone have good examples of proportional width fonts that have
       | coding focused changes, like well differentiated 0/O and I/l and
       | or coding ligatures? I've been really happy just using Avenir for
       | coding for the last 10 years or so, but I'd love something
       | proportional that was a bit more coding aware.
       | 
       | rant: Fixed width fonts are an abomination invented b/c they were
       | easier to program for display in early terminals and computers
       | have long since been fast enough to eschew them forever.
        
         | Stratoscope wrote:
         | Nice to meet another fan of proportional fonts! I find them so
         | much more readable than monospaced.
         | 
         | My current favorite is Trebuchet MS, or more specifically a
         | version of it that I tweaked in FontForge and call Trebuchet++.
         | 
         | Trebuchet MS ticks a lot of the boxes for me "as is". It
         | doesn't have ligatures, but does have easily distinguished 0/O,
         | I/l, etc. And it renders beautifully on the high-DPI monitors I
         | use with the largish font sizes I prefer. I do most of my
         | coding on a 24" 4K monitor, so it's just shy of 200 DPI, and I
         | run it with 200% scaling on Windows and Linux.
         | 
         | One thing I don't like in Trebuchet MS is the tilde. It is a
         | scrawny little thing that is hard to distinguish from a hyphen.
         | So I used FontForge to swap in a much better tilde.
         | 
         | Then I had some fun with underscores.
         | 
         | I don't like snake_case_names at all, but some coding standards
         | mandate them. One problem with proportional fonts is that the
         | underscore is much wider than the period, so you get this
         | effect:
         | 
         | snake_case.snake_case.snake_case
         | 
         | If you look at the spacing between words here, "case.snake" is
         | more tightly grouped than "snake_case" - the opposite of how it
         | should be.
         | 
         | I fixed this by adding a bit of space on each side of the
         | period, and narrowing the space occupied by the underscore.
         | 
         | At first I tried just making the underline itself shorter, but
         | it was hard to tell from a period. So instead I kept most of
         | the underline width and narrowed the character box instead. The
         | underline tucks under the adjacent characters a bit, but it
         | looks OK.
         | 
         | The net effect is subtle, but for my eyes it makes
         | snake_case.snake_case a little easier to read and understand.
         | 
         | I have been meaning to find out if and how I could open source
         | Trebuchet++ (since it's based on a Microsoft font), but in the
         | meantime drop me a note if you would like a copy to try out -
         | email is in my profile.
        
         | rami3l wrote:
        
       | 1024core wrote:
       | Every once in a while when I get bored, I head over to Google
       | Fonts page and download some fonts:
       | https://fonts.google.com/?category=Monospace&subset=latin
        
       | minimaxir wrote:
       | My experience with JetBrains Mono is that it's too _aesthetic_
       | /overdesigned for coding (coming from Fira Code), but it makes an
       | excellent monospace typeface for image design.
        
         | chrismorgan wrote:
         | Following aesthetic at the cost of function is a complaint I'd
         | make of Fira Code, not JetBrains Mono (disregarding ligatures,
         | which both overdo): Fira Code's r glyph is lousy, its & poor
         | for code where immediately followed _sans_ whitespace by
         | letters (common for reference syntax in C-family languages;
         | it's much too similar to a letter, especially given the high ex
         | height), and its ff ligation (two columns - one) downright
         | idiotic.
        
           | minimaxir wrote:
           | Fair. At the least, some of those examples have variants that
           | can be manually enabled: https://github.com/tonsky/FiraCode/b
           | lob/master/extras/charac...
        
             | chrismorgan wrote:
             | Actually, I must amend what I said: I was talking about
             | Fira _Mono_ rather than Fira _Code_. Fira Code fixes the r
             | glyph (its default r glyph is excellent and its alternative
             | perfectly respectable, still having narrowed the base
             | line), and offers a better ampersand as an alternative.
             | Dunno about the f ligations (ff, fi, _& c._), hopefully
             | they ditched that madness (even if they're opt-in
             | discretionary ligatures in Fira Mono--they just have
             | absolutely no place in a monospaced font, dlig or no dlig).
        
       | LittlePeter wrote:
       | I may be weird but I prefer Times New Roman.
       | 
       | Just joking. Ubuntu Mono for me.
        
       | mLewisLogic wrote:
       | Too wide for me (makes side-by-side code windows less useful).
       | Check out Iosevka SS14.
        
       | gombosg wrote:
       | Also you can think out of the box and realize that you may not
       | need a monospaced font for development, but a font that has the
       | advantages of monospaced fonts. I've been using Input Sans for
       | years now. See at: https://input.djr.com/info/
        
       | ChrisArchitect wrote:
       | Last updated 274 days ago. What's new?
       | 
       | https://www.jetbrains.com/lp/mono/
       | 
       | Previous discussion:
       | https://news.ycombinator.com/item?id=22053998
        
       | onnnon wrote:
       | I've been using this typeface lately, and it's fantastic. Well
       | done!
       | 
       | https://jetbrains.com/mono
        
       | nick_ wrote:
       | https://github.com/i-tu/Hasklig is best, IMHO. It is
       | https://fonts.google.com/specimen/Source+Code+Pro but with
       | ligatures.
        
         | Jenk wrote:
         | "Hasklug NF" represent!
        
       | leokennis wrote:
       | Since this has turned to "list your favorite monospaced font"
       | I'll happily mention I've never found anything better than
       | Consolas.
        
       | neilpanchal wrote:
       | I've been working on a new typeface[1][2] for code - Berkeley
       | Mono. I've taken some inspiration from Jet Brains Mono, SF Mono,
       | Bit Stream Vera, Andale Mono, OCR-B, Univers, Eurostile and
       | Monogramma from the 50's, and weird things like the German
       | License Plate slashed 0. Anyone interested in beta testing?
       | neil@berkeleygraphics.com.
       | 
       | [1] https://neil.computer/notes/introducing-berkeley-mono/
       | 
       | [2] https://neil.computer/notes/berkeley-mono-december-update/
        
         | fgblanch wrote:
         | Neil, congrats your site! It looks great, very cool design and
         | content. The Berkeley font also looks very nice. I'll beta
         | test.
        
         | epilys wrote:
         | Personally I love it and your aesthetics, kudos. Is it going to
         | be for sale or openly licensed?
        
           | neilpanchal wrote:
           | I am thinking for sale, after one year make it open source?
           | Another option is to make it free for personal use, and paid
           | for commercial use. Font licensing is too complicated and I
           | want to simplify it just as if I were to purchase the font
           | for myself - unlimited use for anything and everything. No
           | one should have to worry about using fonts for obvious use
           | cases such as embedding in avionics, etching on nuclear power
           | plant control panels and designing submarine bailout signs.
        
         | radicaldreamer wrote:
         | Great work, looking forward to trying it out when it's ready
        
         | ghishadow wrote:
         | looks great
        
         | dorian-graph wrote:
         | Looks neat so far! Do you plan on supporting ligatures?
        
           | neilpanchal wrote:
           | Unlikely. Explicitness and the binding between the code you
           | see with the eyes and the keys on the keyboard shouldn't be
           | violated IMHO. Ligatures add ambiguity ("what's this symbol?
           | Which keys were pressed to create it?"), great for
           | manuscripts and literature but not so great for code I
           | personally think.
        
         | tannhaeuser wrote:
         | Matter of taste, but I like and recommend single-storey a in
         | the regular not just the italic type face as variant. Or
         | preferably even as default/only variant as I don't find
         | switching double-storey to single-storey, or other drastical
         | change of basic shapes for that matter convincing for a coding
         | font.
        
           | neilpanchal wrote:
           | Thanks for the feedback. Double-storey 'a' does make things
           | busy. I'll see what I can do with optional single storey 'a'
           | as a stylistic set. The problem with stylistic sets is no one
           | uses them and they're not well supported in programming
           | tools. I've got automated font file generation script in
           | Glyphs app that generates all variants as separate fonts, so
           | users can download whatever they want. I'll try to create a
           | single storey 'a' as an option, definitely for italics which
           | are still under development.
        
         | qbasic_forever wrote:
         | Very cool! I want to try this with cool-retro-term and vim. :)
        
       | nathanaldensr wrote:
       | Meh, I like Cascadia Code[1], especially after the designer fixed
       | the awful "fun" italics.
       | 
       | [1] https://github.com/microsoft/cascadia-code
        
         | ReleaseCandidat wrote:
         | > especially after the designer fixed the awful "fun" italics.
         | 
         | I like the old italics better.
        
         | blahyawnblah wrote:
         | I like the old Consolas font. Basically the same but not quite
         | as thick.
        
         | blondin wrote:
         | another vote for cascadia code :)
         | 
         | (someone should do a hn poll on programming fonts.)
        
           | irrational wrote:
           | Not a poll, but try this tool (be sure to hide font names
           | using the switch at the top of the page).
           | https://www.codingfont.com/
        
             | [deleted]
        
             | ReleaseCandidat wrote:
             | > https://www.codingfont.com/
             | 
             | That's terribly blurred on my screen.
        
               | irrational wrote:
               | Strange, it worked great for me.
        
               | ReleaseCandidat wrote:
               | Actually only in the tournament part, the browser part is
               | fine with the same font size (16) and fonts
        
               | knuthsat wrote:
               | Yep, blurred on one of my devices.
        
       | paulvnickerson wrote:
       | Beautiful! Thanks for sharing. This is my new font in VS Code.
        
       | tehnub wrote:
       | This story links to the GitHub repo, which is useful, but I
       | really enjoy the main webpage they've made for this font:
       | https://www.jetbrains.com/lp/mono/
        
       | j1elo wrote:
       | After playing the CodingFont that others commented
       | (https://www.codingfont.com/), I ended up with this list of
       | winners:
       | 
       | * Cousine
       | 
       | * JetBrains Mono
       | 
       | * Roboto Mono
       | 
       | * Source Code Pro
       | 
       | However, when actually testing, they all have a _something_ that
       | doesn 't click as good as the Ubuntu Mono in terms of horizontal
       | spacing.
       | 
       | All these fonts are too wide, and the step from 10pt to 11pt
       | causes a huge increment on horizontal space usage. Whereas Ubuntu
       | Mono stays in a perfect sweet spot when set at 13pt.
       | 
       | Anyone finding the same?
       | 
       | EDIT: I made a quick visual comparison (mind that all of the
       | fonts listed above have practically the same width):
       | 
       | https://pasteboard.co/qZ8rvfV4aEHf.png
        
         | wodenokoto wrote:
         | Yeah, you can add features to your font all you want, but in
         | the end it comes down to "does it feel good to read?"
        
         | jrockway wrote:
         | If you like narrow, you want Iosevka:
         | https://typeof.net/Iosevka/
         | 
         | It is my all-time favorite font.
        
           | j1elo wrote:
           | Curiously enough, this is the only font that I've tested
           | which matches the horizontal proportions of Ubuntu Mono;
           | well, to be precise, iosevka is actually a couple pixels
           | wider than the former :-)
           | 
           | All in all, a very nice font, although if I'm allowed to
           | complain, it now seems to me that it takes too much
           | _vertical_ space :-) (not just a nitpick, same test lines
           | take considerably more pixels)
        
         | smoldesu wrote:
         | It's shilled pretty heavily on sites like this, but IBM Plex[0]
         | Mono has always felt "right" to me with how well it fills out
         | it's space at pretty much every DPI I've tried it at. Maybe
         | give it a try?
         | 
         | [0] https://www.ibm.com/plex/
        
         | smlacy wrote:
         | SF Mono (https://developer.apple.com/fonts/) is also an amazing
         | font, but generally left out of most online comparison tools
         | due to licensing issues. But, it's freely available for
         | personal use, and is certainly worth a look, and has been my
         | preferred fixed width font for quite some time.
         | 
         | SF Mono works great in any system (not just Fruit) but you'll
         | need to use a few tools to dig down to get the OTF's out of the
         | DMG.
        
           | saagarjha wrote:
           | I'm unsure if the license has changed recently but I know
           | that as of a year or two ago you basically had no license to
           | use the font for anything but the system apps that it shipped
           | with. Not that I particularly care much for it, but it's not
           | really very usable for general use if you want to "stay
           | legit".
        
             | X-Istence wrote:
             | Nope, that is still in the license.
             | 
             | See here (left off most of the agreement as the comment was
             | deemed too long. See https://gist.github.com/bertjwregeer/f
             | aedb3d9dbf4b6e6d6ec0fa... for full license)
             | 
             | APPLE INC. LICENSE AGREEMENT FOR THE APPLE SF MONO FONT For
             | iOS, iPadOS, macOS, tvOS and watchOS application uses only
             | 
             | PLEASE READ THIS SOFTWARE LICENSE AGREEMENT ("LICENSE")
             | CAREFULLY BEFORE USING THE APPLE SF MONO FONT (DEFINED
             | BELOW). BY USING THE APPLE FONT, YOU ARE AGREEING TO BE
             | BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING
             | THE APPLE FONT ELECTRONICALLY, SIGNIFY YOUR AGREEMENT TO BE
             | BOUND BY THE TERMS OF THIS LICENSE BY CLICKING THE "AGREE"
             | BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE,
             | DO NOT USE THE APPLE FONT AND CLICK "DISAGREE".
             | 
             | IMPORTANT NOTE: THE APPLE SF MONO FONT IS TO BE USED SOLELY
             | FOR CREATING MOCK-UPS OF USER INTERFACES TO BE USED IN
             | SOFTWARE PRODUCTS RUNNING ON APPLE'S iOS, iPadOS, macOS,
             | tvOS OR watchOS OPERATING SYSTEMS, AS APPLICABLE.
             | 
             | 1. General. A. The Apple font, interfaces, content, data,
             | and other materials accompanying this License, whether on
             | disk, print or electronic documentation, in read only
             | memory, or any other media or in any other form,
             | (collectively, the "Apple Font") are licensed, not sold, to
             | you by Apple Inc. ("Apple") for use only under the terms of
             | this License. Apple and/or Apple's licensors retain
             | ownership of the Apple Font itself and reserve all rights
             | not expressly granted to you. The terms of this License
             | will govern any software upgrades provided by Apple that
             | replace and/or supplement the original Apple Font, unless
             | such upgrade is accompanied by a separate license in which
             | case the terms of that license will govern.
             | 
             | B. Title and intellectual property rights in and to any
             | content displayed by or accessed through the Apple Font
             | belongs to the respective content owner. Such content may
             | be protected by copyright or other intellectual property
             | laws and treaties, and may be subject to terms of use of
             | the third party providing such content. This License does
             | not grant you any rights to use such content nor does it
             | guarantee that such content will continue to be available
             | to you.
             | 
             | 2. Permitted License Uses and Restrictions. A. Limited
             | License. Subject to the terms of this License, you may use
             | the Apple Font solely for creating mock-ups of user
             | interfaces to be used in software products running on
             | Apple's iOS, iPadOS, macOS, tvOS or watchOS operating
             | systems, as applicable. The foregoing right includes the
             | right to show the Apple Font in screen shots, images, mock-
             | ups or other depictions, digital and/or print, of such
             | software products running solely on iOS, iPadOS, macOS,
             | tvOS or watchOS. Your use of the Apple Font shall also be
             | subject to any specific use restrictions with respect
             | thereto as set forth in the Apple Font or Apple's Human
             | Interface Guidelines.
             | 
             | You may use this Apple Font only for the purposes described
             | in this License and only if you are a registered Apple
             | Developer, or as otherwise expressly permitted by Apple in
             | writing.
             | 
             | B. Other Use Restrictions. The grants set forth in this
             | License do not permit you to, and you agree not to,
             | install, use or run the Apple Font for the purpose of
             | creating mock-ups of user interfaces to be used in software
             | products running on any non-Apple operating system or to
             | enable others to do so. You may not embed the Apple Font in
             | any software programs or other products. Except as
             | expressly provided for herein, you may not use the Apple
             | Font to, create, develop, display or otherwise distribute
             | any documentation, artwork, website content or any other
             | work product.
             | 
             | Except as otherwise expressly permitted by the terms of
             | this License or as otherwise licensed by Apple: (i) only
             | one user may use the Apple Font at a time, and (ii) you may
             | not make the Apple Font available over a network where it
             | could be run or used by multiple computers at the same
             | time. You may not rent, lease, lend, trade, transfer, sell,
             | sublicense or otherwise redistribute the Apple Font in any
             | unauthorized way.
        
           | j1elo wrote:
           | I tested it (very easy to extract the Matryoshka of files
           | with "7z x") and it looks very nice, actually very similar in
           | size (not shape) to Ubuntu Mono. Gives me a feeling of being
           | a tad more "packed", and letters look more "squareish", but
           | nonetheless a very good looking font...
           | 
           | I'll evaluate it over a couple of days. Thanks!
        
         | franga2000 wrote:
         | Thanks for that link! I ended up getting Inconsolata, which I
         | quite like, but it probably won't be replacing Fira Code for me
         | any time soon. The ligatures are just too damn pretty!
        
       | pjbk wrote:
       | It's a bit taller than the usual PT Mono I regularly use. I find
       | that "boxier" mono fonts are a bit more readable than elongated
       | ones.
        
       ___________________________________________________________________
       (page generated 2022-01-20 23:01 UTC)