次の方法で共有


GPD で HP-GL/2 ベクトル グラフィックス サポート (PCL-5e) を有効にする

重要

Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。

Windows XP で HP-GL/2 ベクターのサポートを有効にするには、次の 2 つの操作を行う必要があります。

  1. *Personality 属性を PERSONALITY_HPGL2 に設定します。

  2. 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"
      }
   }
}