世のプログラミングの入門書の多くは,なぜか"Hello world!"という文字列 (多少は異なりますが・・・)を出力するというサンプルプログラムから 始まります.このページでも古式ゆかしく,まずは"Hello world!"という文字列を 作画するコードから始めます.
Postscriptは基本的にascii文字列からなるテキストファイルです. これは他のプログラミング言語と同じですね.では次に"helloworld.ps" を示します.なお,左端の数字は行数を表しています.決してコードの 中に含めないで下さい.
helloworld.ps |
001 %!PS-Adobe-3.0 002 %%Title: Helloworld 003 %%Creator: Msaka 004 %%CreationDate: Thu Feb 4 04:51:03 1999 005 %%Orientation: Portrait 006 %%Pages: 1 007 %%EndComments 008 009 /Helvetica findfont 60 scalefont setfont 010 100 100 moveto 011 (Hello World!) show 012 013 showpage 014 |
これをプリンタやghostscriptに入力すると,次のような絵が得られます.
30dpiでA4用紙に出力 |
"helloworld.ps"の1行目から6行目まではヘッダになっています. 1行目の"%!PS"がPostscriptファイルの識別子であるほか,ヘッダには色々な情報が 書かれます.ところで,Postscriptでは"%"から行末まではコメントであり, インタプリタは"%"から行末までを無視します.ではこれらの識別子やヘッダは コメント行として無視されないのでしょうか.おそらくインタプリタは無視 していると思われます.(勝手な憶測ですが)
では,なぜ識別子やヘッダをつけるのでしょうか?それは,そのファイルが Postscriptファイルであることや付加的な情報を知らせる必要がある場合からです. (だと思います)たとえばCorel DrawでPostscriptファイルをインポート(取り込み) しようとするとき識別子がないとPostscriptと認識してくれません.
9行目から13行目が本体です.9行目は後に紹介しますが,フォントを"Helvetica"で 大きさを"60"にセットする事を意味します.10行目はx方向に100,y方向に100移動する ことを意味します.11行目は"Hello World!"と文字列を描くことを意味します. 13行目は実際にページに出力する事を意味します.Postscriptはもともとページプリンタ へ出力する事を念頭において設計されており,"showpage"を読み取って始めて紙へ出力 します.ですから,この"showpage"を忘れるといつまでたってもプリンタから出力されません. (私もよくやります)