Compartilhar via


Unidades mestre

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.

A maioria das impressoras suporta comandos com uma variedade de resoluções horizontais e verticais. Por exemplo, o comando Alimentação de linha imediata para uma impressora específica pode fornecer uma resolução de 1/288 de polegada, enquanto a mesma impressora pode suportar uma resolução gráfica vertical de 1/96 de polegada. Da mesma forma, esta impressora também pode fornecer resoluções horizontais de 1/80, 1/160 e 1/320 de polegada.

O Unidrv fornece um único sistema de coordenadas para lidar com essas várias resoluções. As unidades neste sistema de coordenadas são chamadas de unidades mestre. As unidades mestre de uma impressora são expressas como um par de valores (x, y), em que x é a unidade mestre para a direção horizontal e y é a unidade mestre para a direção vertical.

Para determinar as unidades mestre de um plano, calcule o mínimo múltiplo comum (MMC) dos denominadores para as resoluções reais. Usando a impressora de exemplo, você faria o seguinte:

  • Calcule o MMC de 80, 160 e 320, que é 320. Assim, a unidade mestre horizontal é de 1/320 de polegada.

  • Calcule o MMC de 288 e 96, que é 576. Assim, a unidade mestre vertical é 1/576 de polegada.

Importante

Os valores da unidade mestre e as resoluções vertical e horizontal devem ser um múltiplo do número de pinos na cabeça de impressão (ou seja, o valor PinsPerPhysPass. Se essa condição não for atendida, é possível que linhas em branco extras sejam produzidas para determinados tamanhos de papel.

Para especificar as unidades mestre de uma impressora, use o atributo *MasterUnits. O formato do atributo é o seguinte:

*MasterUnits: PAIR ( X_Denominator , Y_Denominator )

em que X_Denominator é o MMC dos denominadores para as resoluções horizontais e Y_Denominator é o MMC dos denominadores para as resoluções verticais. A entrada GPD a seguir especifica as unidades mestras para o exemplo:

*MasterUnits: PAIR(320, 576)

Geralmente, os valores de posição e tamanho usados nas entradas do arquivo GPD devem ser especificados em unidades mestre. Por exemplo, para especificar que o tamanho máximo de página personalizada para nossa impressora de exemplo é de 9 polegadas por 12 polegadas, a seguinte entrada seria usada, em que 9x320=2880 e 12x576=6912:

*MaxSize: PAIR(2880, 6912)

Ao calcular valores para unidades mestre, use apenas as resoluções de dispositivo que você deseja que o Unidrv suporte. Por exemplo, se uma impressora oferece suporte a resoluções horizontais de 1/80, 1/96, 1/160 e 1/320 de polegada, mas você não pretende especificar a resolução de 1/96 de polegada no arquivo GPD, não a inclua no cálculo do LCM.

Se a impressora oferecer suporte a cursor commands para mover a posição do cursor, os valores especificados para os atributos de cursor *XMoveUnit E *YMoveUnit= deverão ser incluídos nos cálculos de unidade mestre. Suponha, por exemplo, que um arquivo GPD contenha as seguintes entradas:

*XMoveUnit: 60
*YMoveUnit: 60

Ao calcular as unidades mestre desta impressora, 1/60 de polegada deve ser incluído nos cálculos da unidade mestre horizontal e vertical.