Udostępnij przez


Jednostki główne

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zobacz Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).

Większość drukarek obsługuje polecenia z różnymi rozdzielczościami poziomymi i pionowymi. Na przykład polecenie natychmiastowego przesuwu papieru dla określonej drukarki może zapewniać rozdzielczość 1/288 cala, podczas gdy ta sama drukarka może obsługiwać pionową rozdzielczość grafiki na poziomie 1/96 cala. Podobnie, ta drukarka może również zapewnić poziome rozdzielczości 1/80, 1/160 i 1/320 cala.

Unidrv zapewnia jeden układ współrzędnych do obsługi tych różnych rozdzielczości. Jednostki w tym układzie współrzędnych są nazywane jednostkami głównymi. Jednostki główne drukarki są wyrażone jako (x, y) pary wartości, gdzie x jest jednostką główną kierunku poziomego i y jest jednostką główną kierunku pionowego.

Aby określić jednostki główne płaszczyzny, należy obliczyć najmniejszą wspólną wielokrotność (LCM) mianowników dla rzeczywistych rozdzielczości. Korzystając z przykładowej drukarki, należy wykonać następujące czynności:

  • Oblicz LCM z 80, 160 i 320, czyli 320. W związku z tym pozioma jednostka główna wynosi 1/320 cala.

  • Oblicz LCM z 288 i 96, czyli 576. W związku z tym pionowa jednostka główna wynosi 1/576 cala.

Ważny

Zarówno wartości jednostki głównej, jak i rozdzielczości pionowe i poziome powinny być wielokrotnością liczby końcówek w głowicy drukującej (czyli wartością PinsPerPhysPass). Jeśli ten warunek nie zostanie spełniony, możliwe, że dodatkowe puste linie zostaną wygenerowane dla niektórych rozmiarów papieru.

Aby określić jednostki główne drukarki, użyj atrybutu *MasterUnits. Format atrybutu jest następujący:

* MasterUnits: PAIR ( X_Denominator , Y_Denominator )

gdzie X_Denominator jest LCM mianowników dla rozdzielczości poziomych, a Y_Denominator jest LCM mianowników dla rozdzielczości pionowych. Następujący wpis GPD określa jednostki główne dla przykładu:

*MasterUnits: PAIR(320, 576)

Ogólnie rzecz biorąc, wartości pozycji i rozmiaru używane w wpisach pliku GPD muszą być określone w jednostkach głównych. Aby na przykład określić, że maksymalny rozmiar strony niestandardowej dla naszej przykładowej drukarki wynosi 9 cali o 12 cali, zostanie użyty następujący wpis, gdzie 9x320=2880 i 12x576=6912:

*MaxSize: PAIR(2880, 6912)

Podczas obliczania wartości jednostek głównych należy użyć tylko rozdzielczości urządzeń, które mają być obsługiwane przez unidrv. Jeśli na przykład drukarka obsługuje rozdzielczości poziome 1/80, 1/96, 1/160 i 1/320 cala, ale nie zamierzasz określać 1/96 rozdzielczości cala w pliku GPD, nie uwzględniaj go w obliczeniach LCM.

Jeśli drukarka obsługuje polecenia kursora do przenoszenia położenia kursora, wartości określone dla *XMoveUnit i *YMoveUnitatrybutów kursora muszą być uwzględnione w obliczeniach jednostki głównej. Załóżmy na przykład, że plik GPD zawiera następujące wpisy:

*XMoveUnit: 60
*YMoveUnit: 60

Przy obliczaniu jednostek głównych tej drukarki uwzględniane jest 1/60 cala w jednostkach głównych w poziomie i w pionie.