Programmers use a lot of symbols, often encoded with several characters. For human brain sequences like ->
, <=
or :=
are single logical token, even if they take two or three places on the screen. Your eye spends non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.
Fira Code is a Fira Mono font extended with a set of ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like ..
or //
ligatures allow us to correct spacing.
Compare to Fira Mono (without ligatures):
Please refer to Hasklig Readme for editor support
Note: I’m not a font designer, and Fira Code is built in sort of a hacky way from OTF version of Fira Mono. Please forgive me if it doesn’t work for you. Help will be greatly appreciated.
Erlang:
Go:
Haskell:
JavaScript:
Ruby:
This work is based on OFL-licensed Fira Mono font. Original Fira Mono font was not changed, only extended.
Fira Code was inspired by Hasklig font: Ligatures for Haskell code
0.3: ~@
#?
=:=
=<
0.2.1: Fixed width of &&
and ||
0.2: -->
<--
&&
||
=>>
=/=
0.1
>>=
=<<
<<=
->>
->
=>
<<-
<-
===
==
<=>
>=
<=
>>
<<
!==
!=
<>
:=
++
#(
#_
::
...
..
!!
//
/*
*/
/>