Fonts comparison (for developpers)
You MUST have these fonts installed on YOUR machine to see what they look like.
If the last columns of the three lines 'italic' 'normal' 'bold' are not the same length,
it is likely that the font is not installed.
On Windows check: β Settings > π Personalisation > π Fonts or go to the 'C:\windows\Fonts' directory.
If you do not want, or cannot, install fonts get these screenshots with all fonts at
80% or
100% or
120% or
200%
Click on a font name to get more info.
If I had to choose a podium, I would say:
- joint first: IBM Plex Mono and JetBrains Mono NL
- second: Source Code Pro
- third: Google Sans Code
As a developper, take care to fonts using ligatures
- Yes, fancy (the first days ...)
- The ligatures are not the same in all fonts supporting ligatures
- You might be surprised by some pieces of code, regular expression, ascii art in comments...
- Do the coder, peer-rewiever and readers see the same thing?
References
- List of
monospaced
fonts on Wikipedia
- List of monospaced fonts maintained by Google:
front-end
(back-end sorted by license: "apache" "ofl" "ufl")
- List of all fonts shipped with
Windows
since Windows 7
How to install a font on Windows
- Unzip all the .ttf files in a temporary directory.
- Select all these .ttf files (Ctrl + A)
- Right click and select option "Install" -- This will install the font only for the current user.
OR
Right click, select 'Show more options' and select "Install for all users" -- In this case Administrator privileges are required.
- After installation you can delete the temporary directory
Notes
- Fonts, like softwares, have versions and receive updates.
- The 'IBM Plex mono' is a subset of the 'IBM Plex Sans' font familly. You can find all the fonts
here
- 'JuliaMono' provides some ligatures
- 'Cascadia Code' provides 114 ligatures
- 'JetBrains Mono' include 142 ligatures (This is far too much)
- 'JetBrains Mono NL' NL means No Ligature.
- Usually, the 0 (zero) is with a dot, not a slash, to avoid confusion with ΓΈ and Γ used in Scandinavian languages.