How to make sure enough fonts are installed to display all Unicode characters?

2 points by MichaelZuo ↗ HN
There seem to be almost 150000 characters encoded in the latest version.

No font that I know of covers even 10% of that range. Obviously a huge amount of partial overlap between fonts exist, but likely some of the rarest characters have only a few, or perhaps one, font set that includes it.

How does anyone make sure they have enough font sets installed on their computer to cover all ~150000?

Surely it's not through manual checking of all the code points?

(I couldn't find a clear answer via searching so I hope someone has done this before!)

3 comments

[ 3.4 ms ] story [ 20.1 ms ] thread
You can display the hello page on Emacs and install the emacs fonts package to reduce the TOFU. Google has NOTO (no tofu) font sets but the quality is suspect at points.
Here's a stackoverflow link with a similar question: https://stackoverflow.com/questions/34732718/why-isnt-there-...

I actually don't know if there are fonts to cover every single unicode character (as in there may be characters that literally don't have a font that supports it), but I could be wrong.

I'll suggest a ridiculous hack, but it could end up being a cool little project.

You can download all of the unicode characters from the unicode website, and then write a script to iterate through them all.

This site is a pretty good resource for finding fonts that support a character: https://www.fileformat.info/info/unicode/char/0041/fontsuppo...

Just switch out the second to last param (0041) in that URL with the character code, make a GET request to the page, and then scrape the html for a font. Then do some kind of a distinct() on those fonts and you might have a pretty good list (you might DOS the site though).