GPD で HP-GL/2 ベクトル グラフィックス サポート (PCL-5e) を有効にする
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
Windows XP で HP-GL/2 ベクターのサポートを有効にするには、次の 2 つの操作を行う必要があります。
*Personality 属性を PERSONALITY_HPGL2 に設定します。
HPGL2MODE オプションを持つ GraphicsMode カスタマイズされた機能を定義します。 ラスター グラフィックスのサポートも提供するには、RASTERMODE オプションを含めます。
パーソナリティ属性は、次の方法で設定できます。
*Personality: =PERSONALITY_HPGL2
PERSONALITY_HPGL2定数は stdnames.gpd で定義されています。
次の GPD の例では、*Personality 属性を設定し、ベクター グラフィックス モードとラスター グラフィックス モードの両方を使用して GraphicsMode のカスタマイズされた機能を定義する方法を示します。 ブロック全体が *Ifdef GPD コンパイラ ディレクティブによって保護されることに注意してください。
*Ifdef: WINNT_51
*Personality: =PERSONALITY_HPGL2
*Feature: GraphicsMode
{
*rcNameID: =GRAPHICSMODE_DISPLAY
*FeatureType: DOC_PROPERTY
*HelpIndex: 12000
*DefaultOption: HPGL2MODE
*Option: HPGL2MODE
{
*rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
}
*Option: RASTERMODE
{
*rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
}
}
*Endif:
上記のディレクティブで使用される WINNT_51 パラメーターは、オペレーティング システムのバージョンではなく、Unidrv のバージョンに適用されます。 Windows 2000 で実行されている Windows XP Unidrv プリンター ドライバーの場合、WINNT_51 パラメーターが定義され、ブロックがコンパイルされます。 以前のバージョンの Unidrv では、オペレーティング システムのバージョンに関係なく、このパラメーターは未定義であり、ブロックはコンパイルされません。
カラー プリンターの GPD ファイルでは、次の一般的なサンプルに示すように、ColorMode 機能も定義する必要があります。 プリンターの特定の詳細では、特定の値の変更が必要になる場合があることに注意してください。
*Feature: ColorMode
{
*rcNameID: =COLOR_PRINTING_MODE_DISPLAY
*HelpIndex: 12004
*DefaultOption: 24bpp
*Option: Mono
{
*rcNameID: =MONO_DISPLAY
*DevNumOfPlanes: 1
*DevBPP: 1
*Color?: FALSE
*Command: CmdSelect
{
*Order: PAGE_SETUP.16
*Cmd: "<1B>&b1M"
}
}
*Option: 24bpp
{
*rcNameID: =24BPP_DISPLAY
*DevNumOfPlanes: 1
*DevBPP: 24
*DrvBPP: 24
*PaletteSize: 256
*PaletteProgrammable?: TRUE
*Command: CmdDefinePaletteEntry
{
*Cmd : "<1B>*v" %d{RedValue}"a"
+ %d{GreenValue}"b"
+ %d{BlueValue}"c"
+ %d{PaletteIndexToProgram}"I"
}
*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v"
+ %d{CurrentPaletteIndex}"S" }
*Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r"
+ %d{RasterDataWidthInBytes / 3}"S" }
*Command: CmdSelect
{
*Order: PAGE_SETUP.16
*Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<000308080808>
+ <1B>*v0a0b0c7i255a255b255c"
}
}
}