Mises en garde concernant HP-GL/2
Important
La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.
Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.
HP-GL/2 fonctionne uniquement pour la version de Unidrv livrée avec Windows XP et les versions ultérieures du système d’exploitation (Unidrv Windows XP fait référence à l’ensemble des fichiers de pilote livrés avec Windows XP : unidrv.dll, unidrvui.dll, unires.dll et stdnames.gpd). Il ne fonctionne pas sur Unidrv Windows 2000. Si une version Windows XP de Unidrv est présente sur une machine exécutant Windows 2000 (par exemple, lorsqu’une machine Windows 2000 établit une connexion point and print à une machine exécutant Windows Server 2003 ou une version ultérieure), alors le pilote utilise HP-GL/2.
Certaines commandes de rendu dans le GPD sont ignorées lorsque le mode HP-GL/2 est activé. À la place, des commandes codées en dur dans le pilote sont utilisées. Cependant, ces commandes doivent être présentes dans le GPD pour les raisons suivantes :
Dans les versions ultérieures du système d’exploitation, le codage en dur des commandes de rendu pourrait être supprimé.
Un pilote HP-GL/2 offre une option pour passer en mode raster (c’est-à-dire pour ne pas utiliser le pilote HP-GL/2). Pour le mode raster, toutes les commandes doivent être présentes dans le GPD.
Une bonne règle empirique est que toute commande PCL-XL/HP-GL/2 utilisée pour réellement dessiner quelque chose (par exemple, CmdDownloadPattern ou CmdSelectBlackBrush) est ignorée. Les commandes telles que la configuration de la page, la configuration du document et d’autres qui ne sont pas des commandes de dessin ne sont pas ignorées. Pour plus d’informations sur ces commandes, veuillez consulter la section Commandes de couleur.
De plus, toutes les commandes HP-GL/2 sont codées en dur dans le pilote.
Les masques reçus dans les appels à DrvBitBlt et d’autres fonctions de transfert de blocs de bits peuvent ne pas fonctionner correctement.
Lorsque Unidrv Windows XP est utilisé sur Windows 2000 et que HP-GL/2 est activé, certaines fonctions de rendu graphique peuvent ne pas fonctionner correctement. Par exemple, la sortie des appels à DrvGradientFill présente une inversion des couleurs rouge et bleu.
Unidrv suppose que le matériel de l’imprimante prend en charge les commandes ROP. Si une imprimante ne prend pas en charge les ROP, certains documents peuvent ne pas s’imprimer correctement.
La prise en charge des hatch brushes est requise. Si l’imprimante ne prend pas en charge les hatch brushes, la sortie dépend de la manière dont le matériel de l’imprimante gère la commande de sélection des hatch brushes (FT21,x SV21,x).
La couleur d’un hatch brush est ignorée pour les imprimantes monochromes. Elle est toujours imprimée en noir.
Pour les imprimantes couleur, HP-GL/2 prend en charge uniquement 24 bpp/600 dpi. Pour les imprimantes monochromes, HP-GL/2 prend en charge uniquement 600 dpi. Si votre imprimante prend en charge d’autres valeurs, restreignez le mode HP-GL/2 à être choisi uniquement lorsque la profondeur de couleur est de 24 bpp et la résolution de 600 dpi. L’exemple suivant montre comment la fonctionnalité GraphicsMode peut être modifiée pour atteindre cet objectif. Dans cet exemple, la première entrée *Constraints amène Unidrv à rejeter un changement de mode vers HPGL2MODE si la valeur Option2 de la fonctionnalité Resolution n’est pas de 600x600 dpi. (Dans l’exemple, on suppose que la valeur Option2 est une résolution inférieure, comme 300x300 dpi.) La seconde entrée *Constraints amène Unidrv à rejeter le changement de mode si les options de la fonctionnalité ColorMode sont 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 } }
Les imprimantes couleur doivent pouvoir mettre à l’échelle les images sur le matériel. Cette exigence n’existe pas pour les imprimantes monochromes.
Pour les imprimantes monochromes, il est supposé que :
- L’imprimante accepte uniquement les informations 1 bpp.
- Un bit réglé sur 1 indique un pixel noir, et un bit réglé sur 0 indique un pixel blanc.
- L’imprimante ne peut pas mettre à l’échelle les gris. (Ceci découle naturellement de la limitation à 1 bpp).
Les méthodes de compression suivantes doivent être prises en charge :
- Pas de compression
- TIFF
- Delta Row
HP-GL/2 ne réalise pas de rotation en mode paysage du système. Lorsque HP-GL/2 est activé, il est supposé que l’imprimante gère la rotation des rasters, des polices et des coordonnées pour les pages imprimées en mode paysage. Pour pallier ce problème, assurez-vous que tous les paramètres de rotation du GPD (*RotateCoordinate?, *RotateFont?, et *RotateRaster?) sont définis sur TRUE. Si votre imprimante rencontre des problèmes de dépassement de mémoire avec la rotation, vous devriez envisager de ne pas activer HP-GL/2, ou de placer des contraintes sur la mémoire (c’est-à-dire que HP-GL/2 ne devrait être activé que si la mémoire est de 4 Mo ou plus).
Sur les appareils à faible mémoire (par exemple, une imprimante laser monochrome 600 dpi avec 2 Mo de RAM), certaines pages qui génèrent des erreurs de manque de mémoire lorsque l’appareil est en mode HP-GL/2 pourraient s’imprimer correctement en mode raster. Une solution pour les appareils disposant de moins d’une pleine mémoire bitmap est de programmer le GPD de sorte que le mode raster soit le mode par défaut et de laisser le système gérer la rotation en mode paysage, plutôt que HP-GL/2. De plus, certains travaux d’impression en portrait complexes pourraient s’imprimer correctement en mode raster, mais pas en mode HP-GL/2. Dans ce cas, vous devriez envisager de rendre le mode raster le mode par défaut.
La fonctionnalité d’optimisation d’impression sur l’onglet Avancé des pages de propriétés de l’imprimante est actuellement ignorée en mode HP-GL/2.
*MirrorRasterPage? n’est pas pris en charge en mode HP-GL/2.
Il est possible que les polices TrueType en contours soient téléchargées en tant que polices raster même si le fichier GPD spécifie que le périphérique prend en charge les polices en contours. Cela peut se produire pour diverses raisons (par exemple, mémoire insuffisante sur l’imprimante).