PCL XL GPD ファイルを記述する
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。
このセクションでは、GPD ファイルに含めるファイル、GPD ファイルで PCL XL を有効にする方法、PCL XL ストリームで PCL XL コマンドを並べ替える方法など、PCL XL GPD ファイルの書き込みに関する一般的な情報を提供します。
Windows Driver Kit (WDK) の srcprintminimdwvectorpcl6 ディレクトリには、サンプルの PCL XL GPD ファイル (p6sample.gpd) が含まれています。 (このリソースは、一部の言語や国では利用できない場合があります。)
含めるファイル
GPD ベースのミニドライバーを記述するには、プリプロセッサ ディレクティブ *Include を使用して、次の GPD ファイルを指定します。
pclxl.gpd -- 読みやすく理解しやすい GPD コードを記述できるように、PCL XL 演算子用のマクロが含まれています。 たとえば、<43> ではなく =BeginPage を記述できます。
p6disp.gpd -- pcl5eres.dll および pclxl.dll に含まれるリソース文字列のマクロが含まれています。
p6font.gpd -- pclxl.dllに含まれるフォントのマクロが含まれています。
pjl.gpd -- PJL コマンドのマクロが含まれています。
上記のファイルに加えて、標準の GPD ファイル、stdnames.gpd、ttfsub.gpd も含めます。
次の例は、これらのファイルが GPD ファイルにどのように含まれるかを示しています。
*Include: stdnames.gpd
*Include: ttfsub.gpd
*Include: pclxl.gpd
*Include: p6disp.gpd
*Include: p6font.gpd
*Include: pjl.gpd
GPD ファイルでの PCL XL サポートの有効化
PCL XL ベクトルのサポートを有効にするには、*Personality 属性を設定するだけで済みます。 これは、次の方法で行われます。
*Personality: = PERSONALITY_PCLXL
PERSONALITY_PCLXL定数は stdnames.gpd で定義されています。
サンプル GPD ファイル p6sample.gpd は、開発者が新しい PCL XL ミニドライバーを作成するのに役立つ WDK に含まれています。
PCL XL コマンドの順序付け
コマンドの順序は、PCL-5 よりも PCL XL の方が重要です。 PCL ストリーム内の小さなエラーがジョブに影響を与える可能性は低いですが、PCL XL コマンドはストリーム内の特定のポイントでのみ有効であるため、PCL XL (PCL-6) にエラーがあると、XL エラー・ページが発行されます。 たとえば、BeginSession演算子を送信する前にBeginPage演算子を送信することはできません。
PCL XL ストリームの形式は、次のようになります。 (示されているインデントは、これらの演算子がペアで来る点を強調するためにのみ使用されます。
PJL commands
BeginSession
OpenDataSource
BeginPage
<page data>
EndPage
CloseDataSource
EndSession
PJL commands
PCL XL ストリームの前には PJL コマンドが続きます。 PCL XL ストリーム自体は BeginSession 演算子で始まり、EndSession 演算子で終わります。 その演算子のペア内には、OpenDataSource と CloseDataSource という別の演算子のペアがあります。 その演算子のペア内には、1 つ以上の BeginPage/EndPage 演算子のペアがあり、プリンターに送信されるページごとに 1 つのペアがあります。 個々のページがどのようにレンダリングされるかを記述するページ データは、BeginPage/EndPage 演算子のペアで囲まれます。
すべての PCL XL 演算子の詳細については、PCL XL Feature Reference Protocol Class 2.0 のドキュメントを参照してください。
PCL XL GPDファイルに関する追加情報
PCL XL GPD ファイルでは、フォントのダウンロード方法を指定する *FontFormat 属性名は、HPPCL_OUTLINEとHPPCL_RESの 2 つの値に制限されます。 最初の値は、Unidrv が TrueType アウトライン データをダウンロードすることを示します。 2 番目の値は、Unidrv がビットマップ ソフト フォント データをダウンロードすることを示します。
IHV は、ダウンロードするフォントの数を制限したり、特定のフォントでダウンロードする文字数を制限したりすることで、プリンターのメモリ使用量を減らすことができます。 *MinFontID 属性名と *MaxFontID 属性名は、ID がこれらの値で指定された範囲内にあるソフト フォントをダウンロードするように Unidrv に通知するために使用されます。 同様に、*MinGlyphID 属性名と *MaxGlyphID 属性名は、特定のフォント内でダウンロードするグリフの数を特定の範囲内のグリフに制限するために使用されます。
Unidrv は、各 GPD ファイルに独自のディザ マトリックスが含まれているという前提で動作します。 また、各デバイスに独自のディザ マトリックスを用意することもお勧めします。 ディザ マトリックスは、*Feature: Dither のカスタマイズされたフィーチャーで指定されます。