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.