Displaying every possible Unicode character
October 16, 2015 6:18 PM   Subscribe

Let's say I wanted my Mac to be able to display every Unicode character. I mean EVERY character. Not just the useful ones. I want Ancient Greek Musical Notation (U+1D200..U+1D24F). Or Pau Cin Hau (U+11AC0–U+11AFF), a script created by and named after the 19th-century founder of a religion in Northwest Myanmar. Or the undeciphered glyphs engraved on the Phaistos Disc (U+101D0..U+101FF). How can I accomplish my goal while doing the least work sourcing and installing fonts?

If this is impossible (because not every code point is even covered by a font) then I can accept that. Bonus points for using as few fonts as possible, and even more bonus points if they actually look good.

Note that, say, GNU Unifont is not sufficient here. A lot of the things I'm interested in aren't covered.
posted by vogon_poet to Computers & Internet (9 answers total) 12 users marked this as a favorite
Well, there seems to be this pdf. You can then convert the pdf to png or something.

If you want to generate it from outlines, I think its going to be quite a bit more difficult. According to wikipedia, no such single font exists. However, this page will give you a list of fonts, how many glyphs they contain, codepoint ranges, etc.

Once you have assembled all of the fonts on your computer, you will have to write some code. I know for a fact that Skia will let you draw text using glyph ids, so you could write a simple C++ script to basically layout each glyph in whatever format you desired. Skia has a canvas style api, and would also let you could save the resulting pixels as something lossless like png.
posted by jalitt at 7:27 PM on October 16, 2015

Response by poster: That is helpful, but to be clear I just want them to display properly when part of text on screen. So it's just finding the fonts that is the problem.
posted by vogon_poet at 8:07 PM on October 16, 2015

I believe between Code 2000, 2001 and 2002 you should be pretty much covered? https://en.wikipedia.org/wiki/Code2000
posted by karbonokapi at 10:56 PM on October 16, 2015

Maybe the Wikipedia multilingual support help pages would be useful.
posted by XMLicious at 11:52 PM on October 16, 2015

Depending upon what OS you're on, in Debian Linux I simply installed the "Ancient Fonts" package as instructed in those pages and that got cuneiform and the Phaistos disk hieroglyphs showing up.
posted by XMLicious at 11:55 PM on October 16, 2015

The font files included in Debian's ttf-ancient-fonts package are:


If you can't find those pre-packaged nicely for your Mac, but you know how to install individual fonts, you could probably just download ttf-ancient-fonts_2.57-1_all.deb and extract the fonts with whatever fancy tool Macs use for archive management these days (a deb package is two tar archives packed in an ar archive).
posted by flabdablet at 5:39 AM on October 17, 2015 [1 favorite]

I think the answer is there's no such thing as a single "all Unicode" font in the way you mean. I've never found one in the 10+ years I've been curious about Unicode, and some quick research again today found nothing better. There are a few practical limitations. TrueType fonts are limited to 65,536 glyphs and there's 100,000+ code points in Unicode, so you need multiple fonts to get full coverage. Also Unicode is constantly changing, so any complete font has to be updated too. Finally good font design is hard.

There's definitely good solutions for almost any useful subset you want. If you leave out CJK the whole size becomes much more manageable. Microsoft's stock system fonts have excellent coverage and are where I'd start for a basic useful / readable font.

Another solution of a sort is last resort fonts, a sort of geeky fallback image that at least tells you what character it is that's missing. Apple is the source of the best-known last resort font, but I can't find any current info on it. I wonder if it's no longer updated?
posted by Nelson at 5:43 AM on October 17, 2015 [1 favorite]

Response by poster: None of this is for any practical reason. It just would bring me great joy to be able to type in basically any writing system in the history of the human race, and possibly throw in some emoji.

OS X has shockingly good Unicode support out of the box. If I click around the wikipedia pages for different little-used/extinct scripts, I seem to be able to display around half of them. The gaps seem totally arbitrary though. Like, I have a font installed (Noto) for Old South Arabian, but Old North Arabian is missing.

It looks like the Noto family of fonts made by google has ambitions of covering all of Unicode, but is nowhere near there yet. It's actually reasonably well-designed too.

The Ancient Scripts package is a great place to start. I guess I'll just have to search for a font every time I notice a missing block.
posted by vogon_poet at 7:04 AM on October 17, 2015

Best answer:   It just would bring me great joy to be able to type in basically any writing system in the history of the human race

Balance that against the pain of trying to maintain all the necessary fonts. Even the Unicode Consortium folks don't have a magic font solution to display $ALL_THE_GLYPHS at once. Can Mac OS even manage all the data you'd need? This might quickly move out of the realms of pleasantly futile to being a horrid chore.

Still, if you insist on trying to learn to play that particular octaventral heebiephone, good luck!
posted by scruss at 8:26 AM on October 17, 2015

« Older Website scraping vs TOS   |   Am I crazy or are they purposely ignoring me? Newer »
This thread is closed to new comments.