Ressalvas HP-GL/2
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.
O HP-GL/2 funciona apenas com a versão do Unidrv que acompanha o Windows XP e versões posteriores do sistema operacional (Unidrv do Windows XP refere-se ao conjunto de arquivos de driver que acompanha o Windows XP: unidrv.dll, unidrvui.dll, unires.dll e stdnames.gpd). Não funciona no Unidrv do Windows 2000. Se uma versão do Unidrv do Windows XP estiver presente em um computador que executa o Windows 2000 (por exemplo, quando um computador Windows 2000 faz uma conexão de ponto e impressão com um computador que executa o Windows Server 2003 ou posterior), o driver usará HP-GL/2.
Alguns dos comandos de renderização no GPD são ignorados quando o modo HP-GL/2 é ativado. Em vez disso, comandos codificados no driver são utilizados. No entanto, esses comandos devem estar presentes no GPD pelos seguintes motivos:
Em versões posteriores do sistema operacional, a codificação fixa dos comandos de renderização pode ser removida.
Um driver HP-GL/2 oferece a opção de alternar para o modo de rasterização (ou seja, não usar o driver HP-GL/2). Para o modo de rasterização, é necessário que todos os comandos estejam presentes no GPD.
Uma regra prática é que qualquer comando PCL-XL/HP-GL/2 usado para desenhar algo (por exemplo, CmdDownloadPattern ou CmdSelectBlackBrush) é ignorado. Comandos como Configuração de página, Configuração de documento e outros que não são comandos de desenho não são ignorados. Para mais informações sobre esses comandos, consulte Comandos de cor.
Além disso, todos os comandos HP-GL/2 são codificados no driver.
As máscaras recebidas em chamadas para DrvBitBlt e outras funções de transferência de bloco de bits podem não funcionar corretamente.
Quando o Unidrv do Windows XP é usado no Windows 2000 e o HP-GL/2 é ativado, algumas funções de renderização gráfica podem não funcionar corretamente. Por exemplo, a saída de chamadas DrvGradientFill pode ter as cores vermelho e azul invertidas.
O Unidrv presume que o hardware da impressora é compatível com comandos ROP. Se a impressora não for compatível com ROP, é possível que alguns documentos não sejam impressos corretamente.
É necessário suporte para pincéis de hachura. Se a impressora não for compatível com pincéis de hachura, a saída dependerá de como o hardware da impressora lida com o comando de seleção de pincel de hachura (FT21,x SV21,x).
A cor de um pincel de hachura é ignorada para impressoras monocromáticas. É sempre impresso em preto.
Para impressoras coloridas, o HP-GL/2 é compatível somente com 24 bpp/600 dpi. Para impressoras monocromáticas, o HP-GL/2 é compatível somente com 600 dpi. Se a impressora for compatível com outros valores, limite o modo HP-GL/2 para ser escolhido apenas quando a profundidade de cor for de 24 bpp e a resolução for de 600 dpi. O exemplo a seguir mostra como a funcionalidade GraphicsMode pode ser alterada para fazer isso. Neste exemplo, a primeira entrada *Constraints faz com que o Unidrv rejeite uma mudança de modo para HPGL2MODE se o valor Option2 do recurso de resolução não for 600x600 dpi. (No exemplo, assume-se que o valor Option2 é uma resolução mais baixa, como 300x300 dpi.) A segunda entrada *Constraints faz com que o Unidrv rejeite a mudança de modo se as opções do recurso ColorMode forem Color ou 8bpp.
*Feature: GraphicsMode { *rcNameID: =GRAPHICSMODE_DISPLAY *FeatureType: DOC_PROPERTY *HelpIndex: 12000 *DefaultOption: HPGL2MODE *Option: HPGL2MODE { *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY *Constraints: Resolution.Option2 *Constraints: LIST(ColorMode.Color, ColorMode.8bpp) } *Option: RASTERMODE { *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY } }
É necessário que as impressoras coloridas sejam capazes de escalar imagens no hardware. Essa exigência não existe para impressoras monocromáticas.
Para impressoras monocromáticas, assume-se que:
- A impressora aceita somente informações de 1 bpp.
- Um bit configurado como 1 indica um pixel preto e um bit configurado como 0 indica um pixel branco.
- A impressora não pode aplicar escala de cinza a nenhuma cor. (Isso ocorre naturalmente devido à limitação de 1 bpp.)
Os seguintes métodos de compactação devem ser compatíveis:
- Nenhuma compactação
- TIFF
- Linha Delta
O HP-GL/2 não executa rotação de paisagem no sistema. Quando HP-GL/2 está habilitado, supõe-se que a impressora lida com a rotação de rasterizações, fontes e coordenadas para páginas impressas em modo paisagem. Para evitar esse problema, verifique se todos os parâmetros de rotação GPD (os atributos *RotateCoordinate?, *RotateFont? e *RotateRaster?) estão configurados como TRUE. Se a impressora tiver problemas de estouro de memória com a rotação, considere não ativar o HP-GL/2 ou colocar restrições na memória (ou seja, o HP-GL/2 deve ser ativado apenas se a memória for de 4 MB ou mais).
Em dispositivos de baixa memória (por exemplo, uma impressora a laser monocromática de 600 dpi com 2 MB de RAM), certas páginas que geram erros de falta de memória quando o dispositivo está no modo HP-GL/2 podem ser impressas de forma correta no modo de rasterização. Uma solução para dispositivos com menos de um bitmap completo de memória é escrever o GPD de forma que o modo de rasterização seja o padrão e permitir que o sistema lide com a rotação da paisagem, em vez do HP-GL/2. Além disso, determinados trabalhos de impressão complexos no modo retrato podem ser impressos corretamente no modo de rasterização, mas não no modo HP-GL/2. Se esse for o caso, considere tornar o modo de rasterização o padrão.
A funcionalidade de otimização de impressão na guia Avançado das páginas de propriedades da impressora é atualmente ignorada no modo HP-GL/2.
*MirrorRasterPage? não é compatível no modo HP-GL/2.
É possível que as fontes de contorno TrueType sejam baixadas como fontes de rasterização, mesmo quando o arquivo GPD especifica que o dispositivo é compatível com fontes de contorno. Isso pode acontecer por vários motivos (como memória insuficiente na impressora).