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 | |||
| Cascadia Code | 2005.150 | |||
| Consolas | 1.000 | |||
| Cousine | 1.220 | |||
| DejaVu Sans Mono | 2.370 | |||
| Fira Code | 4.000 | |||
| Go Mono | 2.008 | |||
| Hack | 3.003 | |||
| Inconsolata | 3.001 | |||
| Iosevka | 1.000/3.0.1 | |||
| JetBrains Mono | 1.000/1.0.3 | |||
| Latin Modern Mono | 2.004 | N/A | ||
| Liberation Mono | 2.100/2.1.0 | |||
| Linux Libertine Mono O | 5.100/5.1.7 | N/A | ||
| Menlo | 6.100/6.1d5e14 | |||
| Monaco | 2.000/5.1d1e1 | |||
| Nimbus Mono PS | 1.000 | |||
| Noto Mono | 1.000 | |||
| Noto Sans Mono | 2.002 | N/A | ||
| SF Mono | 0.000/15.0d5e1 | |||
| TeX Gyre Cursor | 2.004 | N/A | ||
| Ubuntu Mono | 0.800 |
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

![]()
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.