Most elementary use of C - Silver award

Cのもっとも初歩的な使い方 - 銀賞

受賞者:Tsukasa Hamano

引用元:https://www.ioccc.org/2012/hamano/hamano.c

審査員・作者による説明:https://www.ioccc.org/2012/hamano/hint.html

動作

シャーロック・ホームズの作品の1つ『踊る人形』に出てくる暗号化を入力テキストに対して行い、PDFとして出力する。

$ gcc -o hamano hamano.c

$ ( echo "Hello, world!"; echo; echo; cat hamano.c ) | ./hamano > tmp.pdf

左上に”Hello, world!”を暗号化した人形たちがあり、その下にhamano.cの中身をまるごと暗号化したものが表示されている。 対応する人形が定義されていない文字はそのまま表示されている。

生成されたPDF(tmp.pdf)
図:生成されたPDF(tmp.pdf)

このPDFはC言語プログラムとして解釈できるようになっており、コンパイル・実行すると元のテキストが出てくる。

$ gcc -o tmp -xc tmp.pdf

$ ./tmp
Hello, world!

解説

独自フォント情報を持つPDFを生成するプログラム。 フォント情報もコード中に埋め込まれている。 作者自身が日本語で実装を解説しているので、参照されたい。

コード形状も踊る人形。ちなみに’A’に対応する文字。

賞名の”elementary”は、シャーロック・ホームズを象徴するフレーズ、”It’s elementary, my dear Watson.”(初歩的なことだよ、ワトソンくん)から。