Solaris 8 のソフトウェア開発 (追補)

印刷レイアウトプロローグファイル

印刷レイアウトプロローグファイルである mp.*.ps ファイルには、印刷時にページレイアウトを制御するルーチンが入っています。これらのプロローグファイルは印刷ページのヘッダーとフッターで使用するユーザー名、印刷日、ページ番号に加えて、他の情報も設定できます。たとえば、有効な印刷領域のサイズや、使用する用紙の縦横の向きが指定できます。

一連の標準的な関数については、プロローグファイルごとに定義する必要があります。これらの関数は、新しい印刷ページの開始、印刷ページの終了、あるいは新しいカラムの終了時に呼び出されます。これらの関数の実装内容によって、印刷出力の印刷属性が定義されます。

次の PostScript 変数は mp(1) バイナリによって実行時に定義されます。すべての印刷レイアウトファイルはこれらの変数を使用して、user namesubjectprint time などの動的な情報を印刷できます。変数から取得したこの情報は、通常印刷ページのヘッダーやフッターに記載されます。

User

システムの passwd ファイルから取得される、mp を実行しているユーザーの名前

MailFor

印刷する記事の種類の名前を保持するため使用される変数。この変数の値には、次のものがあります。

  • 「Listing for」―入力がテキストファイルである時

  • 「Mail for」―入力がメールファイルである時

  • 「Article from」―入力がニュースグループの記事である時

Subject

メールやニュースのヘッダーから引用された主題。「-s」オプションを使用すると、メールやニュースのファイルや標準テキストファイルにも主題が強制できます。 

Timenow

ヘッダーやフッターに記載される印刷時刻。この情報は localtime() 関数から取得されます。

次は、印刷レイアウトプロローグファイルに実装されている関数です。これらの関数にはすべて副関数が使用できます。

endpage

使用法 : page_number endpage

印刷ページの下端に達した時に呼び出されます。この関数はページのグラフィックのコンテキストを復元し、showpage を発行します。プロローグファイルによっては、ヘッダーとフッターの情報はカラムごとではなくページごとでしか表示されません。ヘッダーとフッターでグレースケールの模様を表示する副関数を呼び出すように、この関数を実装することも可能です。

newpage

使用法 : page_number newpage

新しいページの開始時に実行されるルーチンやコマンド。ルーチンの機能には、ランドスケープモードの設定、印刷グラフィックコンテキストの保存、ページ座標の変換などがあります。

endcol

使用法 : page_number col_number endcol

ヘッダーやフッター情報の表示。新しい印刷位置への移動など。

新規に印刷レイアウトプロローグファイルを追加するときは、印刷レイアウトプロローグファイル内で次の変数を明示的に定義する必要があります。

NumCols 

<1 印刷ページのカラムの数> 

PrintWidth 

<印刷領域のインチでの幅> 

PrintHeight 

<印刷領域のインチでの高さ>