Fira Code Nerd Font
The font that popularised programming ligatures, and still the most configurable of them.
What it does
Fira Code is Mozilla’s Fira Mono with a large ligature set added: arrows, comparison operators, arithmetic, comment markers and the multi-character sequences that read badly as separate glyphs (=>, <=, !==, |>, ::).
Where it goes further than most is control. Nearly every opinionated glyph has an alternate behind an OpenType tag, so the font can be tuned rather than accepted or rejected wholesale.
Ligatures and OpenType features
| Feature | Effect |
|---|---|
calt | Every ligature. On by default; 'calt' 0 removes all of them |
ss01–ss10 | Stylistic sets. ss01 sans-serif r, ss02 <=/>= with a horizontal bar, ss03 traditional ampersand |
cv01–cv32 | Character variants. cv01 single-storey a |
zero | Slashed zero |
onum | Oldstyle (lowercase) numerals |
Several tags at once, in the form VS Code’s own documentation uses:
"editor.fontLigatures": "'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'zero', 'onum'"The syntax for switching any of these on or off, per editor and per terminal, is on the Fonts page.
Notes
- Individual ligatures have no tag of their own. Reach for the
ssXXandcvXXtoggles that affect the glyphs involved, or turncaltoff entirely. - The upstream project also publishes a no-ligature build for editors that cannot express any of this.
Alternative to
| Alternative | Type | Trade-off |
|---|---|---|
| JetBrains Mono | Open source | A taller x-height and a plainer design; the other default people land on |
| Cascadia Code | Open source | Microsoft’s, a similar ligature set plus a cursive italic |
| Iosevka | Open source | Narrower, and configurable at the source level rather than by feature tags |
| Victor Mono | Open source | Ligatures with an italic that goes fully cursive |
| Monaspace | Open source | GitHub’s superfamily, with ligature-like texture healing instead |
Install
brew install --cask font-fira-code-nerd-font