次のページ 前のページ 目次へ

4. 出力デバイス依存の問題

4.1 ハードフィルを使った PostScript ファイルが PostScript Level 2 のプリンタで出力できません

ハードフィルを使ったべた塗りでは, PostScript の currentscreen オ ペレータの返り値を setscreen オペレータに渡すことにより, べた塗 りのパターンの設定を行っています. currentscreen オペレータの返り 値及び, setscreen オペレータのオペランドは言語レベル1では,

frequency angle proc
だけだったのに対し, PostScript の言語レベル2 より
frequency angle halftone
が追加されました. ここで frequency はカレント・ユーザ空間の単位 で表されたハーフトーン・スクリーンのセルの1インチあたりの数, angle はデバイス座標系に対するハーフトーン・スクリーンの回転角 (順方向は反時計回り), proc はスポット関数を記述した手続き, halftone はハーフトーン辞書を表します. currentscreen の返り値が どちらになるかは, デバイスがサポートしている PostScript 言語レベ ルとハーフトーンの定義の有無に依存します. dcl-5.1 以降のバージョ ンでは修正されているはずですが, 以前ではスタック最上部にある currentscreen の返り値が実行可能な手続きであると仮定して
frequency angle {proc} setscreen
とハーフトーンの設定をしていましたが, プリンタによっては上記2番 目のようにハーフトーン辞書がスタック最上部に置かれ, これが実行可 能でないが故にエラーが出ておりました. dcl-5.1 以降では proc に相 当する部分を即時評価される名前 (//proc) に変更しておりますので, currentscreen によってハーフトーン辞書が返るプリンタでもエラーな く出力されることと思います.

プリンタによっては中間調を自身で表現できるものもあり, そのような プリンタでは意図した通りのトーンパターンが出力されない可能性があ ります. そのため setscreen に変わる方法を考えなければなりません が, まだ実装はされていません.


次のページ 前のページ 目次へ