Unicodeのすべての文字を1回ずつ使って絵を描く

文字の並びで表現された絵は一般にアスキーアートと呼ばれます。その名前からは、使える文字がASCII文字に制限されているように思えますが、実際はそうではなく、なんでもありです。「MS Pゴシック」に含まれる文字を使うのが伝統でしょうか。

先日数えてみたように、Unicode 6.0にはGraphic Characterが109242個あります(参照:Unicodeのすべての文字を1ページで)。使える文字をここまで広げると、いわゆるアスキーアートのように文字の形を利用するのではなく、文字の濃さを利用して絵を描けます。(Graphic Charactersに印刷できない文字も含まれていることは、ここでは無視します。)

せっかくこれだけの文字があるので、それぞれの文字は1回しか使えないという制約を入れましょう。正方形のキャンバスなら、331 × 331のグリッド上に文字を並べることになります(331 x 331 = 109561は109242以上の最小の平方数)。ちょっと文字が足りないので、その分は半角スペースで補うことにします(109561 – 109242 = 319個)。

こんな絵が描けます(クリックで拡大、PDF 23MB)。