印刷レイアウトプロローグファイルである mp.*.ps ファイルには、印刷時にページレイアウトを制御するルーチンが入っています。これらのプロローグファイルは印刷ページのヘッダーとフッターで使用するユーザー名、印刷日、ページ番号に加えて、他の情報も設定できます。たとえば、有効な印刷領域のサイズや、使用する用紙の縦横の向きが指定できます。
一連の標準的な関数については、プロローグファイルごとに定義する必要があります。これらの関数は、新しい印刷ページの開始、印刷ページの終了、あるいは新しいカラムの終了時に呼び出されます。これらの関数の実装内容によって、印刷出力の印刷属性が定義されます。
次の PostScript 変数は mp(1) バイナリによって実行時に定義されます。すべての印刷レイアウトファイルはこれらの変数を使用して、user name、subject、print time などの動的な情報を印刷できます。変数から取得したこの情報は、通常印刷ページのヘッダーやフッターに記載されます。
システムの passwd ファイルから取得される、mp を実行しているユーザーの名前
印刷する記事の種類の名前を保持するため使用される変数。この変数の値には、次のものがあります。
「Listing for」―入力がテキストファイルである時
「Mail for」―入力がメールファイルである時
「Article from」―入力がニュースグループの記事である時
メールやニュースのヘッダーから引用された主題。「-s」オプションを使用すると、メールやニュースのファイルや標準テキストファイルにも主題が強制できます。
ヘッダーやフッターに記載される印刷時刻。この情報は localtime() 関数から取得されます。
次は、印刷レイアウトプロローグファイルに実装されている関数です。これらの関数にはすべて副関数が使用できます。
使用法 : page_number endpage
印刷ページの下端に達した時に呼び出されます。この関数はページのグラフィックのコンテキストを復元し、showpage を発行します。プロローグファイルによっては、ヘッダーとフッターの情報はカラムごとではなくページごとでしか表示されません。ヘッダーとフッターでグレースケールの模様を表示する副関数を呼び出すように、この関数を実装することも可能です。
使用法 : page_number newpage
新しいページの開始時に実行されるルーチンやコマンド。ルーチンの機能には、ランドスケープモードの設定、印刷グラフィックコンテキストの保存、ページ座標の変換などがあります。
使用法 : page_number col_number endcol
ヘッダーやフッター情報の表示。新しい印刷位置への移動など。
新規に印刷レイアウトプロローグファイルを追加するときは、印刷レイアウトプロローグファイル内で次の変数を明示的に定義する必要があります。
NumCols |
<1 印刷ページのカラムの数> |
PrintWidth |
<印刷領域のインチでの幅> |
PrintHeight |
<印刷領域のインチでの高さ> |
/NumCols 2 def
/PrintWidth 6 def
/PrintHeight 9 def