Partager via


Unités principales

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.

La plupart des imprimantes prennent en charge des commandes avec une variété de résolutions horizontales et verticales. Par exemple, la commande Immediate Line Feed pour une imprimante particulière peut offrir une résolution de 1/288e de pouce, tandis que la même imprimante peut prendre en charge une résolution graphique verticale de 1/96e de pouce. De même, cette imprimante peut également offrir des résolutions horizontales de 1/80e, 1/160e et 1/320e de pouce.

Unidrv fournit un système de coordonnées unique pour gérer ces différentes résolutions. Les unités dans ce système de coordonnées sont appelées unités principales. Les unités principales d’une imprimante sont exprimées sous la forme d’une paire de valeurs (x, y), où x est l’unité principale pour la direction horizontale et y est l’unité principale pour la direction verticale.

Pour déterminer les unités principales d’un plan, calculez le plus petit commun multiple (LCM) des dénominateurs des résolutions réelles. En utilisant l’imprimante de l’exemple, vous feriez ce qui suit :

  • Calculez le LCM de 80, 160 et 320, qui est 320. Ainsi, l’unité principale horizontale est de 1/320e de pouce.

  • Calculez le LCM de 288 et 96, qui est 576. Ainsi, l’unité principale verticale est de 1/576e de pouce.

Important

Les valeurs des unités principales ainsi que les résolutions verticales et horizontales doivent être un multiple du nombre de broches dans la tête d’impression (c’est-à-dire la valeur PinsPerPhysPass). Si cette condition n’est pas remplie, il est possible que des lignes blanches supplémentaires soient produites pour certaines tailles de papier.

Pour spécifier les unités principales d’une imprimante, utilisez l’attribut *MasterUnits. Le format de l’attribut est le suivant :

*MasterUnits : PAIR ( X_Denominator , Y_Denominator )

X_Denominator est le LCM des dénominateurs pour les résolutions horizontales, et Y_Denominator est le LCM des dénominateurs pour les résolutions verticales. L’entrée GPD suivante spécifie les unités principales pour l’exemple :

*MasterUnits: PAIR(320, 576)

En général, les valeurs de position et de taille utilisées dans les entrées de fichiers GPD doivent être spécifiées en unités principales. Par exemple, pour spécifier que la taille maximale de page personnalisée pour notre imprimante d’exemple est de 9 pouces par 12 pouces, l’entrée suivante serait utilisée, où 9x320=2880 et 12x576=6912 :

*MaxSize: PAIR(2880, 6912)

Lors du calcul des valeurs pour les unités principales, utilisez uniquement les résolutions de périphérique que vous souhaitez que Unidrv prenne en charge. Par exemple, si une imprimante prend en charge des résolutions horizontales de 1/80e, 1/96e, 1/160e et 1/320e de pouce, mais que vous ne souhaitez pas spécifier la résolution de 1/96e de pouce dans votre fichier GPD, ne l’incluez pas dans votre calcul du LCM.

Si votre imprimante prend en charge les commandes de curseur pour déplacer la position du curseur, alors les valeurs spécifiées pour les attributs de curseur *XMoveUnit et *YMoveUnit doivent être incluses dans les calculs des unités principales. Supposons, par exemple, qu’un fichier GPD contienne les entrées suivantes :

*XMoveUnit: 60
*YMoveUnit: 60

Lors du calcul des unités principales de cette imprimante, 1/60e de pouce doit être inclus dans les calculs des unités principales horizontales et verticales.