【SVG & SVGZ】石碑に刻みたい感じ【仕様】
懐かしいアイデアの実現.
歴史ある構想,遂に具現!
この図形,実は俺が小学生の時からあったアイデア.長い時を経て,今また改めて出力される日を迎えました.何度も何度も紙に描いたことならあるけど,こうしてパソコンを使って綺麗に整えられて出力されたことは今までにはなかったから,凄く感慨深いものがあります!
もうちょっと詳しく言えば,中央の丸の箇所のアイデアはなかなかまとまらなくて,小学生以来色々なアイデアを試しては却下したりしてた.でも最近はアイデアの引き出しが多いから,すっと腑に落ちるアイデアが浮かんできてね.中央の ρ みたいな箇所は,小学生の時にはなかったアイデアです.今回これを制作するに当たって新しく取り入れたアイデア.でもこれで完成形かな!この図形のアイデアが完成するのに 10 年以上かかったということになる.すごい!だから俺としてはとても感慨深いものなのです.
毎度お馴染み,「最小限主義」です
これを作成するのに気をつけたのは,「最小限であること」.というかこの作品に限らず,ほとんど常に「最小限であるべし」ってことを考えてるだけどね.この図形,ぱっと見てすぐ分かるものじゃないけど,数えてみると頂点が 67 個あります.円は上下左右に制御点があるから,それも含めて 67 点ね.この図形は Inkscape で作成されたもので,保存形式は SVG.Inkscape で保存すると Inkscape 特有のマークアップが追加されててファイルサイズが若干膨らむ.素の SVG のファイルサイズを目指して,テキストエディタで余計なタグを外して,最少にしてみた.

67 頂点で,画像サイズも最少な状態にして,そしたら 2.5 KB になりました.より細かく言うと 2,465 bytes.Inkscape で保存したファイルを Method Draw というオンラインサービスに通すと余計なタグが外れてファイルサイズが小さくなるよ.これ豆知識(笑).この状態の(素の)SVG を Sublime Text で開いてみてみたら,2,465 バイトで 2,466 文字でした.うん,完全に 1 文字当たり 1 byte であることが明らか.
これを SVGZ に圧縮すると,より小さくなることが予想されるね.やってみたところ効果覿面!1 KB も圧縮できて,1.5 KB になりました!より細かく言うと 1,482 bytes.で,これをテキストエディタで開いてみてびっくり.文字数はさっきより多くて 2,965 文字!なるほどねぇ,1 文字当たり半バイト,つまり 4 bit なんだね.文字コードが変わったということなのかな?
ASCII と 16 進数表記.技術の仕様!
ASCII は 8 bit 文字だから,ZIP の中ではより少ない文字種しか使用してないんだねぇ.SVG は XML だからマークアップのための記号が欠かせない.だから複数種の文字/記号が必要なのは分かる.だから 8 bit の ASCII で書いてある.一方で,ZIP された SVGZ はより少ない文字で全てを記述できるので,使用される文字種はグッと減って 4 bit 分しか無くても問題がないんだね.4 bit って 16 種しかない,0 – 9 と a – f の 16 文字しかない.確かに該当の SVGZ を Sublime text で開いてみると 16 進数で書いてある.ふうん,面白いなぁ.
という訳で,予期せず SVG と SVGZ の仕様について知ってしまったのでした.テクノロジーがどのようにして動作しているのかを知ることは面白いね.と言っても,これくらいで SVG とS VGZ の1割もわかっていないと思うけど笑.でも「教わるんじゃなく,自力で探索して知った」という体験は面白い,刺激的なもの!よかった!
最後にさっきの絵のバリエーションを掲載して終わることにしましょう.この絵のモチーフが何なのか,それを明かすことはしません!想像してみてね!(もちろん正解を発表しませんけど)ヒントとすれば,「小学生が思い付くもの」ということかなぁ.笑

