What does HackerNews think of FiraCode?

Free monospaced font with programming ligatures

Language: Clojure

#1 in Font
Some other fonts use character variants for this, so you can personalize your own setup. For example, with Fira Code[0], if you want to tell VS Code to not use the long = for == but still space it in a less ugly way, instead of setting ligatures to true, you set it to "'ss08'", which will then do the same thing to === and != and !==. This is also where they can hide their 'overthinking' glyphs, so the discerning user can enable them but they won't disrupt you if you just install the font normally. For example I have ss06, ss07, and cv27 enabled, for distinct escaping backslashes, =~ and !~ operators, and smooth-square [].

[0]: https://github.com/tonsky/FiraCode

Perhaps Fira Code?

https://github.com/tonsky/FiraCode https://news.ycombinator.com/item?id=10764527

But I think it's different: it uses double-width characters for two-character ligatures, so this doesn't break alignment.

Looks like fira code font https://github.com/tonsky/FiraCode and the color scheme is similar to the soft default Alacritty terminal uses https://alacritty.org/
I also like both of them. I use Fira Code (https://github.com/tonsky/FiraCode) for code editor and IBM Plex Mono for terminal.
FYI Fira Code is one example of a very popular programming font that supports ligatures (67k stars on GitHub) [1]. But totally get the frustration of seeing ligatures on the web and not understanding what was going on!

[1] https://github.com/tonsky/FiraCode

For IDEs and text editors, I use Dank Mono[0] 14pt.

On my personal machine, my terminal font is Cozette[1] 13pt, while on my company machine it's Dank Mono[0] 14pt.

In the past I've also used SF Mono[2], Fira Code[3] and Anonymous Pro[4] among others.

[0]: https://philpl.gumroad.com/l/dank-mono [1]: https://github.com/slavfox/Cozette [2]: https://developer.apple.com/fonts/ [3]: https://github.com/tonsky/FiraCode [4]: https://www.marksimonson.com/fonts/view/anonymous-pro

I've been using FiraCode for a year or so and like it pretty well https://github.com/tonsky/FiraCode
Sure. Since it's less of a theme and more of a custom configuration, here is a link to the installation (it's a portable install, so no need for folders in `AppData`. Just place this anywhere, and run foobar.exe): https://www.dropbox.com/sh/j9yfv18j8b2mss4/AABgDgZUfm0KuvEi6...

Additionally, I use the 'Fira Code' font for the UI, so you must have that installed if you want your foobar to look the same. That font is freely available here: https://github.com/tonsky/FiraCode

I bet ligatures would be unambiguously helpful in programing if they were limited to the presentation layer and controlled by the syntax highlighter.

For example, the author uses Fira Code[0] as an example of well-intentioned by problematic ligatures. The author says this is bad because (1) it contradicts unicode and (2) the substitutions will be inappropriate sometimes.

(2) is solved by applying substitutions in semantically relevant places with the syntax highlighter. This would be particularly useful when typing special sequences. If you get the ligature substitution, then you know you don't have a typo.

(1) is trickier. You want to save a unicode file, and you want to be able to copy text selections that end part way through a ligature. This requires some finesse.

[0] https://github.com/tonsky/FiraCode

In terms of mono fonts that look like Comic Sans, I am surprised no one has mentioned Fantasque Sans Mono: https://github.com/belluzj/fantasque-sans

While not Comic Sans, another Microsoft Web Core font which has been reasonably cloned is Trebuchet MS. Fira is, to my eyes, an open source font which looks similar to Trebuchet MS, and there is the very popular monospace variant Fira Code: https://v-fonts.com/fonts/fira-code https://github.com/tonsky/FiraCode

Not to mention the original Fira Mono: https://github.com/bBoxType/FiraSans/blob/master/Fira_Mono_3... for a sample or https://github.com/bBoxType/FiraSans to download.

The free Fira Code [0] has them.

I don't have the knowledge to respond to your second point.

[0] https://github.com/tonsky/FiraCode

Currently loving Fira Code. Took some time to get used to ligatures, but they actually work pretty nicely. In addition to ligatures there are lot of well thought design details that increase legibility. https://github.com/tonsky/FiraCode
The author is apparently the same author as Fira Code, a ligature-supporting monospaced font. https://github.com/tonsky/FiraCode
Readability of programming ligatures is very different for people who are familiar with the language/font, and people who aren't.

For instance, look at the list of ligatures for Fira Code[1] and without referencing the monospace counterparts on the right, tell me if you can tell how to reproduce each one without a lot of guesswork.

[1] https://github.com/tonsky/FiraCode

> A programming font with cursive italics and ligatures is the worst idea in the world. This is absolutely horrible. BTW, I am really angry.

I'm not angry, but I'm pretty sure it's objectively a bad idea. Provably, it's more difficult to read cursive fonts than, say, sans-serif monospace fonts.

Not to mention that the argument that "people like different things" is just not very good. It's simply a bad design choice. Cool project, and the monospace as well as ligatures are awesome, but the cursive italics are most definitely a bust. For context, I've used Fira Code[1] for the past few years and I'm quite happy with it. Author's claim that there aren't any free clean programming fonts is also a bit bizarre; we see free fonts released all the time.

[1] https://github.com/tonsky/FiraCode

This is pretty neat. Here's the overview blog post: https://devblogs.microsoft.com/commandline/cascadia-code/

FYI, there's also the "Input" font for coding: https://input.fontbureau.com/ and of course "Fira Code" which became popular for ligatures: https://github.com/tonsky/FiraCode

I've been trying out a bunch of free fonts and I keep coming back to Input Mono (https://input.fontbureau.com/).

Some of my favorites include:

- Hack (https://sourcefoundry.org/hack/)

- IBM Plex Mono (https://www.ibm.com/plex/)

- Input (above)

- Fira Code (only when coding JS, the only place I like ligatures) (https://github.com/tonsky/FiraCode)

What about ligatures? I love using the Fira Code font.

https://github.com/tonsky/FiraCode

Ligatures in programming fonts usually don't want to solve the problem of character collisions. Instead they transform rather weird symbol sequences used in programing to something closer to symbols used in maths or how you would write it by hand, e.g. != becomes ≠, =< becomes ≤, or === becomes ≡. More examples are in the repo readme: https://github.com/tonsky/FiraCode
Used judiciously, ligatures can help make code more readable, not less. Consider JavaScript's == and ===, and their inverses != and !==. I personally find them difficult to visually distinguish on occasion (especially the negative forms). Fira Code [0] replaces them with two-bar and three-bar equals signs (something like =, ≠, ≡, and ≢, only wider; see the link for a screenshot). I personally find these easier to distinguish from one another at a glance. I'm sure it's not for everyone, but in my opinion at least these ligatures improve readability.

I'm generally a fan of Practical Typography, but this post is unnecessarily condescending. It's sort of laughable to claim that "this isn’t a matter of taste" when users are making this choice in the privacy of their own editors.

[0]: https://github.com/tonsky/FiraCode

Fira Code[1] because I really enjoy its aesthetic (especially the ligatures).

For general purposes, I like Open Sans[2].

[1] https://github.com/tonsky/FiraCode

[2] https://fonts.google.com/specimen/Open+Sans

Fira Code with ligature support turned on in your editor, or GTFO. LOVE. IT.

https://github.com/tonsky/FiraCode

Fira Code is Fira Mono with coding ligatures:

https://github.com/tonsky/FiraCode

I used to prefer Consolas (Inconsolata is a ~clone of Consolas) but the ligatures made me switch.

I get that "for free" via programming ligatures:

https://github.com/tonsky/FiraCode

Depending on your (irrational) feelings about fonts and typography, this may either be the most amazing advance in coding readability you've ever encountered, or a mild improvement, or even annoying. But I love them!

A number of coding-oriented fonts support them now:

https://medium.com/larsenwork-andreas-larsen/ligatures-codin...

also, small grammar niggle: "it's" should only be used where it can be replaced with "it is" and still make sense; otherwise it's always "its" :)

I have a different proposal - ligatures.

I don't know if you've ever played with a font like FiraCode, but it gives you both fancy typographical symbols and compatibility with existing compilers by defining purely-visual translations between certain sequences of characters and purpose-built glyphs. So for example '!=' is rendered as '≠', '=>' as '⇒', '>=' as '≥', etc.

See https://github.com/tonsky/FiraCode. They do go a bit overboard, IMO.

Would you care to elaborate? Is there something specific you see in this project that caught your eye? One thing I noticed is the use of ligatures, which is becoming increasingly common as editors embrace Unicode more fully, but that's an editor/presentation feature, not something specific to the language. For example:

  ->  →
  =>  ⇒
  >=  ≥
I've seen an increasing number of people trying out Fira Code, which includes a nice set of such ligatures:

https://github.com/tonsky/FiraCode

Well, I also tend to enjoy programming ligatures, such as != becoming ≠ or => becoming ⇒. (but in a size proportional to the pair of fixed width characters, see https://github.com/tonsky/FiraCode )

But then I don't inflict them on anyone but myself and people who look over my shoulder...

The point of Org mode is that you can type the table.

How do you type ┌─ ?

It's easier to use a font that renders "regular" keyboard characters as borders, akin to https://github.com/tonsky/FiraCode

Could be done in a font with ligatures.

Turns out that ligatures in common font formats are quite powerful! See e.g. http://www.sansbullshitsans.com/ or https://github.com/tonsky/FiraCode

Some people use monospace fonts with ligatures specific to common programming languages: https://github.com/tonsky/FiraCode is one such example.
I like Sublime Text, but one thing that has really annoyed me is the lack of support for font ligatures.

See https://github.com/tonsky/FiraCode

It's a superficial reason, but I've gotten very used to them in Emacs, IntelliJ IDEA, VS Code and Atom, yes, I'm still using all of them interchangeably :-(

Fira Code for me. It's based on Fira Mono but with a ton of useful ligatures for coding.

Much better, and justifies the use of a special font, which IMO is not really worth it without ligatures.

https://github.com/tonsky/FiraCode

Do the latest builds support fonts with ligatures? [1]

One of the reasons I switched from Sublime to Atom was exactly that, but I'm willing to switch back since I've yet to find an editor as fast and lightweight as Sublime.

[1] https://github.com/tonsky/FiraCode

Coding font ligatures mostly are meant for symbols though. Examples (linked for the example images there):

- The submitted font - scroll down to "Ligation sets" https://be5invis.github.io/Iosevka/ (note that they only show symbols)

- https://github.com/tonsky/FiraCode

- https://github.com/i-tu/Hasklig

I think people using a programming language with a more math-like notation probably benefit much more than those using "normal" languages.

same here. my only gripe is that it seemingly doesn't support firacode (https://github.com/tonsky/FiraCode)
Thanks! I didn't see it mentioned here or in the HN comments, and looking at a bunch of font samples didn't turn it up, either. However I did stumble into Fira Code [1], which has some awesome ligatures for programming!

[1]: https://github.com/tonsky/FiraCode

Edit: ouch Operator Mono is $199 and up. I've purchased quality fonts before, but that's well above my impulse-buy threshold.

It can if you use a monospaced font with ligatures.

Take a look at Fira Code [1]. I use it in Vim and IntelliJ, and it looks great with Rust and other functional languages.

[1] https://github.com/tonsky/FiraCode

I was surprised to see that you didn't add any Go-specific code ligatures (e.g. for <- like Fira Code provides[1]).

Has there been any thought into providing a variant with some? While I could see why some might be against them I think they're rather fun and can make code more readable.

[1] see for example https://github.com/tonsky/FiraCode

For displaying "inline glyphs" made of sequence of consecutive characters there is option to use font with corresponding ligatures baked in, such as Fira Code [0].

[0] https://github.com/tonsky/FiraCode

I like this source code pro fork with ligatures (at times more irritating than useful, but sexy):

https://github.com/i-tu/Hasklig

edit: switched to Fira Code Light (now that there is a light version)

https://github.com/tonsky/FiraCode

Some of these ideas are implemented in fonts like Fira Code https://github.com/tonsky/FiraCode/ and Hasklig https://github.com/i-tu/Hasklig e.g. typing => gives ⇒

Both should be well known to HN readers.

Have you see FiraCode? https://github.com/tonsky/FiraCode

I find the idea interesting and would love to see more in this direction. It especially makes sense for languages with more obscure operators that are mimicking traditionally handwritten mathematical symbols.

That being said, I tried using FiraCode for a week and switched back. Some of the conventional common operators have become so ubiquitous and second nature to me that its difficult to adjust (especially the comparison operators). I'm still looking forward to more extended ligature fonts though.

The use of ligatures in Hasklig is very intriguing. Would really like to see more work in this vein. Could see benefits to Clojure (arrows) and even => in JavaScript.

EDIT: Looks like FiraCode has ligatures too https://github.com/tonsky/FiraCode