1. 62
  1.  

  2. 28

    The font looks really good, and has a lot of great features! But why the ligatures…

    When I see the current state of coding fonts, and ligatures, I don’t know whether I’m the last of the Mohicans, or whether I’m just becoming an old man…

    1. 12

      You are not alone, but the zip file they have ha a “No ligatures” directory. At least for ttf.

      1. 10

        Why not? I really like those, it is appealing visually and permit to increase the readability at least for me. I use JB Mono most of the the time in my system so maybe I am more used to it but ligatures what a important point when choosing a font for me.

        1. 11

          I’m a vim user. Seeing a different representation than what I’m actually editing trips me up. I’ll often want to go to the equals sign in the != operator. When the ligature version of that operator is visible, I have to remember which characters it contains, and when I type “f=” to go to the character, the cursor is visually over the entire ligatured operator and I don’t trust that it’s actually over the second (invisible) character.

          It’s not that big of a deal and I’m sure I could work past it, but it was enough for me to switch back.

          1. 5

            I am also a (n)vim user and this seemed weird for me so I tried with the JetBrains Mono font and ligatures. In the mini-buffer for search, /!= produces the ligature and when I search for the ligature, I land on the first character of the ligature, eg when I pressed x it remove the ! and keep the = in the text. So the cursor is never on the second, or more, character of the ligature. The ligature contains the exact characters you have typed and it is just a visual interpretation but will not appear with another font/software. And when typing f= to go the the character, it works (at least in my experience). For me a ligature, it is mostly eye-candy (but better readability too) for the set of characters that compose it. Mentally, I have the character set is my representation when searching/editing etc.

            I understand how it can break your mental model and flow by creating some disruptive visual response between the character set behind the ligature and the visual response of the ligature being a character on its own. I like ligatures for that.

            1. 5

              the cursor is visually over the entire ligatured operator and I don’t trust that it’s actually over the second (invisible) character.

              This sounds weird. I haven’t tried this font yet but I normally use Hasklig, which has similar ligatures (Think it’s Source Code Pro with added ligatures? Primary focus is on Haskell, but works well with other languages too). When the cursor is over either of the characters in the ligature, it doesn’t draw the ligature. I’m also using (n)vim, although it’s the terminal (usually konsole in my case) that’s actually drawing the ligatures. I don’t know whether the ligature breaking when under the cursor is an intentional thing or just a side effect of the cursor being there. From looking at the JetBrains mono samples, I think Hasklig’s ligatures are a lot more conservative: for example, it will render ‘/=’ (haskell’s not-equals operator) as a double-width ≠, but it won’t change != to anything, so I think Hasklig’s ligatures always look like a tidier combination of the individual characters, not a completely different character.

              1. 1

                the cursor is visually over the entire ligatured operator and I don’t trust that it’s actually over the second (invisible) character

                I use vim with Fira Code with ligatures enabled, and this does not match my experience. When the cursor is over the ligatured characters, on my systems, they are displayed as separate characters. Maybe JetBrains Mono is different though?

                I do still have to remember what characters make up the ligature in order to navigate directly to one of them, but 30 years of muscle memory take care of that for me.

                1. 1

                  A few people mentioned that this doesn’t happen with their setups. I don’t know whether it’s vim or the terminal that renders the ligatures. I don’t have a ligature font installed anymore. I tried it on a previous computer. It sounds like with an updated vim/font/terminal/something then the problem is avoidable. I still think I’d run into similar versions of the issue: having to mentally remove the visual abstraction to reference the underlying text. In the end I don’t think I’ll go back to it since it doesn’t feel more readable to me regardless.

                  I just wanted to offer a more concrete reason for why I stopped since the OP was asking.

            2. 4

              The difference between =, == and === is like trying to indentify the differences in a hyphen, en dash and em dash. Not a fan.

              1. 3

                === generally has three lines and looks like ≡≡≡. = and == are easier to tell apart because of their length.

              2. 4

                There’s a ligature free version thankfully. Can’t wait for windows terminal to give you a no ligatures switch. I don’t like the way they look and I don’t want my font to lie to me.

                1. 3

                  I’m with you. Personally, I do not see the point of not seeing the real characters that make up your code. But that must be the way my brain works.

                  1. 4

                    I am Chingachgook, and I support this message. As we say in my language, “ligatures are hella wack, yo.”

                    1. 2

                      One of the reasons I use this font is because of the ligatures. For me it increases readability and also just looks nice.

                      1. 2

                        I use it as my main font (terminal, including nvim; and as the mono font in firefox), but without ligatures. It’s just not a problem if you don’t like them :-) Otherwise it looks just great.

                        1. 1

                          I’m with you, here. But then I also tend to find “fi”-ligatures in English text jarring on occasion. Worst is when those show up in preformatted text.

                        2. 5

                          Ever since ponying up for PragmataPro, I find it very difficult to switch back to wider fonts. The extra information I get per line without sacrificing readability is wonderful.

                          1. 3

                            I’m the opposite, I recently switched to a wider font (IBM Plex Mono) and I noticed I can reduce the font size by a couple of points (11 to 9), increasing the number of lines of code I can display compared to Iosevka. I’m still able to display 2 buffers side by side.

                            1. 1

                              +1 for wider fonts, Source Code Pro is king here.

                            2. 1

                              I had the same, though I went from Iosevka which is nice to see whether you enjoy these kinds of fonts. PragmataPro is just very slightly nicer, but the incredible configurability and free license of Iosevka is definitely cool.

                            3. 3

                              Another monospace coding font, yay?

                              I’m really fond of Go Regular, a proportional font, but I really wish it wasn’t the only one made with coding in mind.

                              1. 2

                                The download here seems to also contain a variable font, unless I’m reading it wrong

                                1. 3

                                  Variable fonts are a way to package the regular, italic, bold, etc. versions of a font in a single file.

                              2. 2

                                You can pry inconsolata-g from my cold, dead hands

                                1. 1

                                  I will be lying dead next to you once I upgrade from my low-res 900p MacBook Air monitor ;) I’ve found it doesn’t really do Inconsolata justice.

                                2. 2

                                  There’s also a Nerd Fonts version… https://www.nerdfonts.com/#home, which has been quite delightful both within intellij IDEs and Alacritty, for me.

                                  1. 2

                                    This has become my only fixed width font. It’s really very good. I use it with neovim + kitty and the ligatures make things fairly nice looking, too.

                                    1. 1

                                      The consolas comparison… seems to show that they made this font both wider and taller. Or in other words they increased font size and decreased line spacing. Moreover being bigger (or at least taller) seems to be one of it’s main claims to fame.

                                      I can uniformly scale fonts myself with css (or other styling for non browsers), that doesn’t impress me much. I’d rather that they had kept the width the same, or had at least chosen font sizes and line spacing so they had the same width and line spacing in the comparison. Then the utility of the increased height could be reasonably judged.

                                      1. 1

                                        JetBrains Mono NL (without ligatures) is one of the best things to have come out of JetBrains.

                                        1. 1

                                          Like, I want to like this typeface, it has some nice detailing and all…

                                          but, omfsm, the lower-case g is wretched. Not just that its single storey (which is terrible for readability) but look at that thing!? Its like the designer decided to make it single storey, but then just lost interest in the glyph part way through and never came back to finish it.

                                          This is (sadly) becoming a feature of coding fonts lately - Operator Mono, the Cristal of Coding Fonts, also has an abysmal lower-g glyph; Victor Mono does the same.