PostScriptの基礎

スピログラフ

PostScriptコードを書く上での基礎知識です。

書式

PostScriptでは逆ポーランド記法を使用します。
一般的な数式は 1 + 2 のように演算する記号が演算されるものの中にあります。(中置記法)
逆ポーランド記法または後置記法では 1 2 + のように書きます。
これは日本語の語順に似ており、「1と2を足す」と読めます。
1 + 2 * 3 ではどうでしょう。後置記法では
1  2  3  *  + こうなります。PostScriptで書くと
1 2 3 mul add になります。mulはmultiply(掛ける)、addは足すことです。
2と3を掛けてその答えに1を足す。と読みます。

なぜ後置記法を採用しているかというとPostScriptがスタックというデータ構造を使っているためです。スタックはデータを積み重ねていって、後に入れたデータから取り出していく仕組みになっています。
このようなことからPostScriptは相性のいいスタックと後置記法を使用しています。

本講座ではスタックを積極的に使ったプログラムではなく、変数を使ったプログラムで行います。
スタックを使うとプログラムがシンプルになりますが、データの流れがつかめないし、分かりにくいのです。
かといって絶対使わないという訳ではありません。使わざるを得ない場合もありますので、必要に応じて使用します。

コード

コードは半角英数字・記号を使います。コード内に全角文字を含めないようにしてください。エラーになります。コメント内では使うことは可能です。
空白は半角、タブ、改行いずれも同じ動作になります。
1 2 add

1
2
add

1    2
add

これらは全て同じです。自分が見やすいように書くことができます。

ファイルはテキストファイルです。拡張子をepsとして保存します。
epsとすることでグラフィックスを確認することが可能となります。

オペレータ・オペランド

オペレータとは演算子のことです。演算の対象となる値や変数を、オペランドといいます。
PostScriptのオペレータには、様々な種類があります。オペランドスタック、算術または数学、配列、文字列、比較演算、論理演算、制御、グラフィックス状態、座標系または行列、パス構築、描画、型変換などのオペレータがあります。

算術演算子では一般的な数学記号がほとんど使えません。+(加算)はadd、-(負号)はマイナスとして使います。減算はsubです。*(乗算)はmul、/(除算)は他で使用するので使えません。divが除算となります。

ただしPostScriptは柔軟な言語なので、定義仕直しすることも可能です。
例えば /+ add def としてadd を+として定義することができます。
/tasu add defでもOKです。

オペレータ名は英単語かその略がほとんどですので、覚えやすいと思います。

(例)add(add/加算する)、sub(subtract/減算する)、mul(multiply/乗算する)、div(divide/除算する)、cvi(convert to integer/整数型に変換)など

コメント

%から始まり改行までがコメントになります。日本語、全角/半角英数字・記号が使えます。他の言語のように文章のブロックを一括でコメントとするような便利なものはありません。
(例)
% 他の言語のように文章の
% ブロックを一括でコメントとする
% ような便利なものはありません。

座標系

座標は左下を原点とし、Y軸上方向、X軸右方向が正です。
座標は移動・変形が可能です。

単位

単位はポイントが基本ですが、他の単位に変換することも可能です。

ポイントには標準の定義はなく、PostScript のデフォルトの座標単位は1/72 インチで、1ポイントは約0.353mmとなります。mmにする場合は2.8346464566921337をポイントに掛けることで変換できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次