My fascination with writing sys­tems gave me the idea to cre­ate a po­ster con­tain­ing every Uni­code char­acter. Uni­code is a me­thod for en­cod­ing char­act­ers, like ASCII, but it can rep­re­sent virt­u­al­ly ev­ery writ­ing sys­tem in the world, not just English. I estimated I could print the whole thing on about a 36″×36″ po­ster. Well, my es­tim­ates were off. It turned out to be about 6 feet by 12 feet. Like­wise, the pro­cess of cre­a­ting the po­ster turned out to be much more in­volved than I imagined.

Process

To make a long story short, I down­loaded all the char­act­er chart PDFs from the Uni­code web site. I then made screen cap­tures of every sing­le page, as­semb­ling them into code charts in Photo­shop, and sav­ing them as PNG images. All to­geth­er, there were 93 PDFs re­sult­ing in 468 gray­scale PNGs (102 MBs).

I then wrote soft­ware in Java to load in these PNG images, dice them up, and as­sem­ble them into the final po­ster image. The math worked out nice­ly so that 256 char­act­ers would be al­most ex­act­ly 6 feet wide if print­ed at 300 dpi. A width of 256 was chos­en be­cause most char­act­er sub­sets be­gin and end at mult­i­ples of that value. The soft­ware would el­im­in­ate un­al­lo­ca­ted rows to keep things rel­a­tive­ly compact.

The image only took about 10 min­utes to gen­er­ate, and its final size was 22,017×42,807 pixels. I act­u­al­ly had this po­ster print­ed and hung it on my wall for a while. I had to have it print­ed in 3-foot-wide strips since that was the max­i­mum size of Kinko’s large-format print­er. Also, since I didn’t have 12-foot ceil­ings in my apart­ment I de­cided to do it in two side-by-side 6′×6′ parts. It only cost a lit­tle over $20 to get it print­ed, which was sur­pris­ing. Truth­ful­ly, I think they may have rung it up wrong, but I didn’t complain.

Samples

Successively closer zooms of the source image.

As you might expect, Chinese, Jap­an­ese and Ko­re­an char­act­ers take up most of the chart.

One complete, full-res row of the chart (422KB). (May be too large to view in some browsers)

Full Image