Habilitando a compatibilidade com elementos gráficos vetoriais HP-GL/2 (PCL-5e) no GPD
Importante
A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Para ativar o suporte a vetores HP-GL/2 no Windows XP, é necessário fazer duas coisas:
Defina o atributo *Personality como PERSONALITY_HPGL2.
Defina um recurso personalizado GraphicsMode que tenha uma opção HPGL2MODE. Para também fornecer suporte ao elemento gráfico de varredura, inclua uma opção RASTERMODE.
É possível definir o atributo de personalidade desta maneira:
*Personality: =PERSONALITY_HPGL2
A constante PERSONALITY_HPGL2 é definida em stdnames.gpd.
O exemplo de GPD a seguir demonstra a configuração do atributo *Personality e a definição de um recurso personalizado GraphicsMode com um modo de gráficos vetoriais e um modo de elemento gráfico de varredura. Observe que todo o bloco é protegido por uma diretiva do compilador GPD *Ifdef.
*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:
O parâmetro WINNT_51 usado na diretiva acima se aplica a versões do Unidrv, em vez de versões do sistema operacional. Para um driver de impressora Unidrv do Windows XP em execução no Windows 2000, o parâmetro WINNT_51 é definido e o bloco é compilado. Para versões anteriores do Unidrv, independentemente da versão do sistema operacional, esse parâmetro é indefinido e o bloco não é compilado.
Um arquivo GPD para uma impressora colorida também deve definir um recurso ColorMode, como mostrado no exemplo genérico a seguir. Observe que detalhes específicos da impressora podem exigir alterações em determinados valores.
*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"
}
}
}