|
Technote 1068
Writing PPD Files for use with LaserWriter 8 version 8.4 and above
目次
リソース ID
アイコン
プリントダイアログ内のパネルのカスタマイズ
'ppdT' リソースへのアイテムの追加
バルーンヘルプの追加
要約 |
LaserWriter 8.4 には、PPD (PostScript Printer Description) ファイルで定義されているプリンタ固有のオプションを選択するユーザインタフェースをカスタマイズするために新しいグラフィカルな方法が用意されています。この TECHNOTE では、これらの機能を利用する方法について説明します。この TECHNOTE では、読者がすでに PPD 仕様に習熟していることを前提にしています。PPD ファイルを作成する方法がよくわからない場合は、まず Adobe Systems, Inc. から入手できる「PostScript Printer Description File Format Specification Version 4.3」をお読みください。また、この仕様書の Version 4.2 は、次のサイトからもダウンロードできます。
http://www.adobe.com/PDFs/TN/5003.PPD_Spec_v4.2.pdf |
リソース ID
リソース IDには、ドライバ独自のリソース範囲 (-8160 から -4090 まで) を使用する必要があります。ただし、LaserWriter ドライバの将来のバージョンとの互換性を維持するため、PPD ファイルで使用するリソースは、-7500 から -7000 までの ID 範囲に収めてください。
アイコン
PPD ファイルに含まれる 4 つのアイコンファミリの使用はオプションですが、これらが存在すると、LaserWriter ドライバとデスクトッププリンティングソフトウェアでは、これらのアイコンを使って、その PPD ファイルによるプリンタセットアップを表示します。さらに 3 つのアイコンファミリが PPD ファイルの BNDL リソースによってポイントされます。これらのアイコンのタイプは、デフォルトアイコン (おそらくはカスタムファインダアイコンと同じです) に使用する 'dpnn'、選択されているアイコンのバージョン (太線で囲まれます) に使用する 'dpcn'、および使用できないアイコンのバージョン (×印の付いたアイコン) に使用する 'dpna' です。Apple では、これらのアイコンファミリのために ID -7189、-7188、および -7187 を使用し、'BNDL' リソースのためにはリソース ID -7192 を使用しています。ただし、これらの ID 番号は予約されているわけではありません。このため、デベロッパがこれらを使用しても差し支えありません。
プリントダイアログ内のパネルのカスタマイズ
プリントダイアログのプリンタ固有パネルに表示されるアイテムは、PPD ファイル内のリソースによって制御されます。この場合、'ppdT' およびそれに関連する 'DITL' リソースという、2 つのメインリソースを定義する必要があります。'ppdT' リソースのためのテンプレートは、LaserWriter 8.4 ドライバに含まれています。作成する 'ppdT' リソースでは、シグネチャが 'rbi1' に設定されていて、バージョンが 1 に設定されている必要があります。'DITL' リソースは 'ppdT' リソースと同じ ID を持っていなければなりません。また、'DITL' リソース内の座標はプリンタダイアログにローカルなものです。さらに、ドライバによって使用される領域全体にアイテムを描画するような 'DITL' を構成することも可能ですが、このようなことは行わないでください。将来、互換性の問題が発生する可能性があります。
'ppdT' リソースへのアイテムの追加
ベースリソースを作成したら、それに対してアイテムを追加することができます。アイテムの追加は次のように行います。
- チェックボックスはアイテム番号、および制御の対象となるオプションを指定するキーワードによって定義されます。このアイテム番号は、DITL 内のアイテム番号に対応します。また、キーワードは、PPD ファイル内の
*OpenUI キーワードで定義されているオプションの名前と一致します。
- ラジオボタンは、連続するアイテム番号の範囲とキーワードによって定義されます。
- メニューは、アイテム番号とキーワードによって定義されます。このアイテム番号は、
'DITL' 内のコントロールアイテムをポイントしている必要があります。このコントロールアイテムは、組み込みのポップアップメニュー CDEF を参照する 'CNTL' リソースに対応します。
- PICT コントロールの定義が最も複雑です。アイテム番号は、適切な位置とサイズを持つ、DITL 内のユーザアイテムに対応します。オプションが選択されていなくて、しかもモニタの色数が 8 ビットまたはそれ以上のとき、表示される PICT リソースの ID は
color-offID になります。モニタの色数が 8 ビット未満のときは、1bit-offID が使用されます。onID エントリの使い方も同様ですが、オプションが選択されているときに使用する点のみが異なります。forbiddenID エントリは、PPD ファイル内の UIConstraint によりオプションが選択できないときに使用します (通常は、off choice と同じですが、ピクチャを介して added red X を使用する点が異なります)。メインエントリは、やはり PPD 内のキーワードに対応し、オプションエントリは、そのキーワードに対して "ON" ステータスであるオプションに対応します。
バルーンヘルプの追加
アプリケーションのダイアログアイテムと同様の方法で、DITL に記述されているアイテムにバルーンヘルプを追加することができます。ヘルプアイテムは DITL に追加します。これは 'hdlg' をポイントし、既存のバルーンヘルプに追加されます。ただし、LaserWriter 8 によって使用される PICT コントロールは、実際には複数のステータスを持っているわけではないという点に注意してください。このため、可能なすべてのケースをカバーするように、これらのアイテムに対するヘルプ文字列を書く必要があります。バルーンヘルプと 'hdlg' リソースの詳細については、『Inside Macintosh: More Macintosh Toolbox』の「第 3 章」を参照してください。なお、追加するヘルプリソースも前述のリソース範囲に入っていることを確認してください。
要約
説明すべき点はこれだけです。参考になる最もすぐれたサンプルは、Apple プリンタで使用するために LaserWriter 8.4 とともに提供されている PPD です。
参考文献
- Adobe PostScript Printer Description Specification (1ページ)
- PostScript Language Reference Manual, 2nd Edition
|
|