Posts Tagged postscript

PostScriptでコッホ島を描いてみた

2007.03.08

DTP業界に身を置いている人ほど知らなかったりするのが、バージョン8までのAdobe IllustratorファイルがPostScript形式、つまりただのテキストファイルだってこと。
例えば、

%!PS-Adobe-3.0
%%BoundingBox: 0 0 0 0
%AI5_FileFormat 1.1
%AI3_TemplateBox: 306 396 306 396
%AI5_ArtSize: 594 841
%AI5_OpenToView: -150 996 1 1009 717 18 0 0 7 43 0 0
%%EndProlog
1 To
1 0 0 1 110.0601 751.2991 0 Tp
0 Tv
1 Ap
577.9741 12.709 m
577.9741 751.2991 L
110.0601 751.2991 L
110.0601 12.709 L
577.9741 12.709 L
n
TP
0 -11.25 Td
0 Tr
0 O
0 g
/_MS-Mincho 10 8.5938 -1.3672 Tf
%_0 1 100 100 Xu
15 0 Tl
(\203\145\203\114\203\130\203\147\203\160\203\130) Tx 1 0 Tk
(¥r) Tx 1 0 Tk
TO
%%Trailer
%%EOF

とかいう内容でテキストファイル作って、拡張子「.ai」として保存したものをIllustratorで開くと「テキストパス」と書かれたテキストボックスが配置されたA4サイズの書類として表示される。(Illustrator CSまで確認、CS2では未確認)

実際には、もっとややこしいヘッダ情報等が含まれるので、上みたいな記述で作った.aiファイルは一度Illustratorで開いて保存し直したほうがいいと思うけど、これを応用して、ルビが振られたWord書類をWeb書き出ししたものを、ルビと本文に分割した状態で.aiファイルとして吐き出す社内ツールを書いたりした。

そんなことをしてる中でふとスクリプトで図形描かせたら面白いかもと思って、試しに「コッホ島」を描画するスクリプトを描いてみた。猛烈になんの役にも立たないけど(笑)作るのは面白かった。まぁでも、アルゴリズムでIllustratorのパスを描くってのは使い道がありそうかな。

※.aiデータの仕様についてはこのページがとても参考になった。感謝感謝。