Recommendation for a font with good Unicode support?

I did some tests on Ubuntu 20.04, in the Gnome terminal and in the browser (e.g. Jupyter in Chrome or Firefox) and Juno. It appears that

  • some fonts work well in the terminal but not in the browser
  • some work well in the browser but cannot be selected in the Gnome terminal

Here’s a summary, testing for support of combining hat character on greek letters, such as "θ̂ " (obtained with \theta\hat).

Font Version (head/name) Gnome Terminal Browser/Juno Open license
Bitstream Vera Sans Mono 2.000/1.10 :x: :x: :heavy_check_mark:
Cascadia Code 2005.150 :x: :x: :heavy_check_mark:
Consolas 1.000 :x: :x: :x:
Cousine 1.220 :x: :x: :heavy_check_mark:
DejaVu Sans Mono 2.370 :x: :x: :heavy_check_mark:
Fira Code 4.000 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Go Mono 2.008 :x: :x: :heavy_check_mark:
Hack 3.003 :x: :x: :heavy_check_mark:
Inconsolata 3.001 :x: :x: :heavy_check_mark:
Iosevka 1.000/3.0.1 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
JetBrains Mono 1.000/1.0.3 :heavy_check_mark: :x: :heavy_check_mark:
Latin Modern Mono 2.004 N/A :x: :heavy_check_mark:
Liberation Mono 2.100/2.1.0 :x: :x: :heavy_check_mark:
Linux Libertine Mono O 5.100/5.1.7 N/A :x: :heavy_check_mark:
Menlo 6.100/6.1d5e14 :x: :x: :x:
Monaco 2.000/5.1d1e1 :x: :x: :x:
Nimbus Mono PS 1.000 :x: :x: :heavy_check_mark:
Noto Mono 1.000 :x: :x: :heavy_check_mark:
Noto Sans Mono 2.002 N/A :heavy_check_mark: :heavy_check_mark:
SF Mono 0.000/15.0d5e1 :heavy_check_mark: :heavy_check_mark: :x:
TeX Gyre Cursor 2.004 N/A :x: :heavy_check_mark:
Ubuntu Mono 0.800 :x: :x: :heavy_check_mark:

So on my system at least, the winners are Fira Code and SF Mono (edit: and Iosevka). They’re the only fonts that work both in the terminal and in Jupyter and Juno. I find SF Mono a bit nicer but the license seems to be very restrictive (though I couldn’t find any licensing information in the dmg file downloaded from Apple’s website).

Now I can write

image

:smiley:

Edit: It looks like some font files have conflicting metadata between the “head” and “name” tables (fontRevision and Version fields respectively). I’ve put both versions when they don’t agree.

8 Likes