高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先



QD 46: このプリンタは PostScript をサポートしているのか

(97 年 1 月 9 日)

Q: 使用中のプリンタが PostScript プリンタであるかどうかをアプリケーションが判断する方法を見つけようとしています。パフォーマンスの問題から、できれば、PICT の代わりにカスタム PostScript をプリンタに送信しようと思います。現在選択されているプリンタが PostScript を使用するかどうかを検出するための API は用意されているのでしょうか。

A: この処理を確実に実行する方法はありません。Apple の LaserWriter の場合、現在選択されているプリンタの print レコードにある wDev フィールドの値を見えれば、PostScript プリンタであるかどうかを特定できます。現在のプリンタが PostScript 対応であるかどうかを判断するためには、次に示す「Technote QD10: Picture Comments--The Real Deal」からの引用が参考になります。

"print レコードにある prStl.wDev フィールドの上位バイトはプリンタドライバの種類を特定します。つまり、この値が $03 であれば、そのプリンタドライバは PostScript LaserWriter ドライバの一族に属するということです。..."
この TECHNOTE は非常に参考になりますのでぜひお読みください。また、print レコードの一般的な情報については、『Inside Macintosh: Imaging With QuickDraw』も参考になります。

ところで、Apple LaserWriter ドライバの wDev の値はたしかに 3 ですが、PostScript デバイスに対応したサードパーティ製プリンタドライバではそうではありません。このため、アプリケーションが wDev の値に基づいて PostScript を送信するかどうかを決定してしまうと、サードパーティ製の PostScript デバイスで、QuickDraw を使った印刷を正常に実行できなくなる場合があります。

--Ingrid Kelly
devsupport@apple.com


[ Technical Q&A's : Graphics & Media : QuickDraw : QD 46 ]