roo_e/thirdparty/grx249/addons/print/prndata.c
2022-05-16 17:59:47 -05:00

1655 lines
45 KiB
C

/*****************************************************************************/
/* */
/* PRNDATA.CPP */
/* */
/* (C) 1994 by Ullrich von Bassewitz */
/* Zwehrenbuehlstrasse 33 */
/* 72070 Tuebingen */
/* */
/* E-Mail: uz@ibb.schwaben.de */
/* */
/*****************************************************************************/
/* Revision 1.4 1998/02/05 Andris Pavenis */
/* Modified for use under DJGPP */
/* */
/* (C) 1994 Ullrich von Bassewitz */
/* */
/* $Id: prndata.cpp 1.3 1995/04/28 16:20:53 Uz Exp $ */
/* */
/* $Log: prndata.cpp $ */
/* Revision 1.3 1995/04/28 16:20:53 Uz */
/* Umstellung auf PCX-Treiber. */
/* */
/* Revision 1.2 95/04/22 17:31:52 Uz */
/* Neuer Modus 41 fuer DeskJet 1200 C. */
/* */
/* Revision 1.1 94/09/08 09:33:42 Uz */
/* Initial revision */
/* */
#include "grxprn00.h"
/*************** Original values from printer BGI driver */
/*#define NP_A4_SIZEX 11000*/
/*#define NP_A4_SIZEY 8000*/
/*#define LJ_A4_SIZEX 10334*/
/*#define LJ_A4_SIZEY 7800*/
/*#define NP_A3_SIZEX 15600*/
/*#define NP_A3_SIZEY 11400*/
/*********************************************************/
#define NP_A4_SIZEX 11000
#define NP_A4_SIZEY 8000
#define LJ_A4_SIZEX 10334
#define LJ_A4_SIZEY 7760
#define NP_A3_SIZEX 15600
#define NP_A3_SIZEY 11400
/*********************************************************/
/****************************************************************************/
/* 8-Nadel Modus 240 * 72 DPI */
/****************************************************************************/
static struct EpsonDST EPSON240x72 = {
/* DPI in X-und Y-Richtung*/
{ 72, 240,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x10""EPSON 240x72 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
1, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x03\x80\x07", /* ESC '*' 03 1920*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 8-Nadel Modus 240 * 216 DPI */
/****************************************************************************/
static struct EpsonDST EPSON240x216 = {
/* DPI in X-und Y-Richtung*/
{ 216, 240,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x11""EPSON 240x216 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
1, 3,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x16\r", /* ESC 'J' 22 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x04\x1B\x4A\x01\r", /* ESC 'J' 1 cr*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x03\x80\x07", /* ESC '*' 03 1920*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 180 * 180 DPI */
/****************************************************************************/
static struct EpsonDST EPSON180x180 = {
/* DPI in X-und Y-Richtung*/
{ 180, 180,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x11""EPSON 180x180 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x27\xA0\x05", /* ESC '*' 39 1440*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 180 DPI */
/****************************************************************************/
static struct EpsonDST EPSON360x180 = {
/* DPI in X-und Y-Richtung*/
{ 180, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x11""EPSON 360x180 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, EPSON */
/****************************************************************************/
static struct EpsonDST EPSON360x360 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x11""EPSON 360x360 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x2B\x2F\x0D\x0A", /* ESC '+' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1B\x2B\x01\x0D\x0A", /* ESC '+' 01 cr lf*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, NEC P6 */
/****************************************************************************/
static struct EpsonDST NEC360x360 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x12""NEC P6 360x360 DPI", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1C\x33\x2F\x0D\x0A", /* FS '3' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1C\x33\x01\x0D\x0A", /* FS '3' 01 cr lf*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* IBM Proprinter X24, 180 * 180 DPI */
/****************************************************************************/
static struct EpsonDST IBMPro180x180 = {
/* DPI in X-und Y-Richtung*/
{ 180, 180,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1A""IBM Proprinter 180x180 DPI",
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x33\x18\r\n", /* ESC '3' 24 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x0C\x1B\x4F\x1B\x5B\x5C\x04\x00\x00\x00\x00\xB4\r",
/* Ausschalten der Grafik*/
"\x0C\x1B\x32\x1B\x5B\x5C\x04\x00\x00\x00\x00\xD8\f",
/* Code vor den Grafik-Bytes*/
"\x06\x1B\x5B\x67\xE1\x10\x0B", /* ESC '[' 'g' 4321 11*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* IBM Proprinter X24, 360 * 180 DPI */
/****************************************************************************/
static struct EpsonDST IBMPro360x180 = {
/* DPI in X-und Y-Richtung*/
{ 180, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1A""IBM Proprinter 360x180 DPI",
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x33\x18\r\n", /* ESC '3' 24 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x0C\x1B\x4F\x1B\x5B\x5C\x04\x00\x00\x00\x00\xB4\r",
/* Ausschalten der Grafik*/
"\x0C\x1B\x32\x1B\x5B\x5C\x04\x00\x00\x00\x00\xD8\f",
/* Code vor den Grafik-Bytes*/
"\x06\x1B\x5B\x67\xC1\x21\x0C", /* ESC '[' 'g' 8641 12*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 180 * 180 DPI EPSON Farbe */
/****************************************************************************/
static struct EpsonDST EPSON180x180C = {
/* DPI in X-und Y-Richtung*/
{ 180, 180,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x18""EPSON 180x180 DPI Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x27\xA0\x05", /* ESC '*' 39 1440*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 180 DPI EPSON Farbe */
/****************************************************************************/
static struct EpsonDST EPSON360x180C = {
/* DPI in X-und Y-Richtung*/
{ 180, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x17""EPSON 360x180 DPI Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, EPSON Farbe */
/****************************************************************************/
static struct EpsonDST EPSON360x360C = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x17""EPSON 360x360 DPI Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x2B\x2F\x0D\x0A", /* ESC '+' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1B\x2B\x01\x0D\x0A", /* ESC '+' 01 cr lf*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, NEC P6 Farbe */
/****************************************************************************/
static struct EpsonDST NEC360x360C = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x18""NEC P6 360x360 DPI Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1C\x33\x2F\x0D\x0A", /* FS '3' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1C\x33\x01\x0D\x0A", /* FS '3' 01 cr lf*/
/* Einschalten der Grafik*/
"\x05\x1B\x40\x1B\x4F\r", /* ESC '@' ESC 'O' \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x40\x0B", /* ESC '*' 40 2880*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* HP-Laserdrucker 75*75 DPI */
/****************************************************************************/
static struct LJDST HPLJ75 = {
/* DPI in X-und Y-Richtung*/
{ 75, 75,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x0E""HPLJ 75x75 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t75R" /* ESC * t 75 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 100*100 DPI */
/****************************************************************************/
static struct LJDST HPLJ100 = {
/* DPI in X-und Y-Richtung*/
{ 100, 100,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPLJ 100x100 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t100R" /* ESC * t 100 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 150*150 DPI */
/****************************************************************************/
static struct LJDST HPLJ150 = {
/* DPI in X-und Y-Richtung*/
{ 150, 150,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPLJ 150x150 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t150R" /* ESC * t 150 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 300*300 DPI */
/****************************************************************************/
static struct LJDST HPLJ300 = {
/* DPI in X-und Y-Richtung*/
{ 300, 300,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPLJ 300x300 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t300R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 75*75 DPI ohne Kompression */
/****************************************************************************/
static struct LJDST HPLJ75O = {
/* DPI in X-und Y-Richtung*/
{ 75, 75,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
0,
/* Name des Modus*/
"\x0E""HPLJ 75x75 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t75R" /* ESC * t 75 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 100*100 DPI ohne Kompression */
/****************************************************************************/
static struct LJDST HPLJ100O = {
/* DPI in X-und Y-Richtung*/
{ 100, 100,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
0,
/* Name des Modus*/
"\x10""HPLJ 100x100 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t100R" /* ESC * t 100 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 150*150 DPI ohne Kompression */
/****************************************************************************/
static struct LJDST HPLJ150O = {
/* DPI in X-und Y-Richtung*/
{ 150, 150,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
0,
/* Name des Modus*/
"\x10""HPLJ 150x150 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t150R" /* ESC * t 150 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 300*300 DPI ohne Kompression */
/****************************************************************************/
static struct LJDST HPLJ300O = {
/* DPI in X-und Y-Richtung*/
{ 300, 300,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
0,
/* Name des Modus*/
"\x10""HPLJ 300x300 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t300R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 600*600 DPI */
/****************************************************************************/
static struct LJDST HPLJ600 = {
/* DPI in X-und Y-Richtung*/
{ 600, 600,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPLJ 600x600 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t600R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* 75*75 DPI HP-DJ, Farbe */
/****************************************************************************/
static struct LJDST HPDJ75 = {
/* DPI in X-und Y-Richtung*/
{ 75, 75,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x0F""HPDJ500C 75 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t75R" /* ESC * t 75 R*/
};
/****************************************************************************/
/* 100*100 DPI HP-DJ, Farbe */
/****************************************************************************/
static struct LJDST HPDJ100 = {
/* DPI in X-und Y-Richtung*/
{ 100, 100,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPDJ500C 100 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t100R" /* ESC * t 100 R*/
};
/****************************************************************************/
/* 150*150 DPI HP-DJ, Farbe */
/****************************************************************************/
static struct LJDST HPDJ150 = {
/* DPI in X-und Y-Richtung*/
{ 150, 150,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPDJ500C 150 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t150R" /* ESC * t 150 R*/
};
/****************************************************************************/
/* 300*300 DPI HP-DJ, Farbe */
/****************************************************************************/
static struct LJDST HPDJ300 = {
/* DPI in X-und Y-Richtung*/
{ 300, 300,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x10""HPDJ500C 300 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t300R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* 75*75 DPI HP-DJ, Farbe, Schwarzabtrennung */
/****************************************************************************/
static struct LJDST HPDJ75S = {
/* DPI in X-und Y-Richtung*/
{ 75, 75,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression | pfSeparateBlack,
/* Name des Modus*/
"\x0F""HPDJ500C 75 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t75R" /* ESC * t 75 R*/
};
/****************************************************************************/
/* 100*100 DPI HP-DJ, Farbe, Schwarzabtrennung */
/****************************************************************************/
static struct LJDST HPDJ100S = {
/* DPI in X-und Y-Richtung*/
{ 100, 100,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression | pfSeparateBlack,
/* Name des Modus*/
"\x10""HPDJ500C 100 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t100R" /* ESC * t 100 R*/
};
/****************************************************************************/
/* 150*150 DPI HP-DJ, Farbe, Schwarabtrennung */
/****************************************************************************/
static struct LJDST HPDJ150S = {
/* DPI in X-und Y-Richtung*/
{ 150, 150,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression | pfSeparateBlack,
/* Name des Modus*/
"\x10""HPDJ500C 150 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t150R" /* ESC * t 150 R*/
};
/****************************************************************************/
/* 300*300 DPI HP-DJ, Farbe, Schwarzabtrennung */
/****************************************************************************/
static struct LJDST HPDJ300S = {
/* DPI in X-und Y-Richtung*/
{ 300, 300,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
8, 3,
/* Flags*/
pfDoCompression | pfSeparateBlack,
/* Name des Modus*/
"\x10""HPDJ500C 300 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t300R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* 24-Nadel Modus 180 * 180 DPI, DIN A3 */
/****************************************************************************/
/* Achtung: Die Anzahl der Pixel in X- sowie Y-Richtung muss durch 8 teilbar*/
/* sein. Aus diesem Grund sind beim Druckerstring vor den Grafikbytes 2048*/
/* Bytes anstelle (der sich aus Aufloesung/Blattgroesse ergebenden) 2052*/
/* eingetragen.*/
static struct EpsonDST EPSON180x180_A3 = {
/* DPI in X-und Y-Richtung*/
{ 180, 180,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x14""EPSON 180x180 DPI A3", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x27\x00\x08", /* ESC '*' 39 2048*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 180 DPI, DIN A3 */
/****************************************************************************/
static struct EpsonDST EPSON360x180_A3 = {
/* DPI in X-und Y-Richtung*/
{ 180, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x14""EPSON 360x180 DPI A3", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, EPSON, DIN A3 */
/****************************************************************************/
static struct EpsonDST EPSON360x360_A3 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x14""EPSON 360x360 DPI A3", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x2B\x2F\x0D\x0A", /* ESC '+' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1B\x2B\x01\x0D\x0A", /* ESC '+' 01 cr lf*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, NEC P7, DIN A3 */
/****************************************************************************/
static struct EpsonDST NEC360x360_A3 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x15""NEC P7 360x360 DPI A3", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1C\x33\x2F\x0D\x0A", /* FS '3' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1C\x33\x01\x0D\x0A", /* FS '3' 01 cr lf*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 180 * 180 DPI, DIN A3, Farbe */
/****************************************************************************/
/* Achtung: Die Anzahl der Pixel in X- sowie Y-Richtung muss durch 8 teilbar */
/* sein. Aus diesem Grund sind beim Druckerstring vor den Grafikbytes 2048 */
/* Bytes anstelle (der sich aus Aufloesung/Blattgroesse ergebenden) 2052 */
/* eingetragen. */
static struct EpsonDST EPSON180x180C_A3 = {
/* DPI in X-und Y-Richtung*/
{ 180, 180,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1A""EPSON 180x180 DPI A3 Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x27\x00\x08", /* ESC '*' 39 2048*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 180 DPI, DIN A3, Farbe */
/****************************************************************************/
static struct EpsonDST EPSON360x180C_A3 = {
/* DPI in X-und Y-Richtung*/
{ 180, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1A""EPSON 360x180 DPI A3 Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 1,
/* Linefeed1, d.h. normaler Linefeed*/
"\x04\x1B\x4A\x18\r", /* ESC 'J' 24 cr*/
/* LineFeed2, d.h. kleinster Linefeed*/
NULL, /* Nicht vorhanden*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, EPSON, DIN A3, Farbe */
/****************************************************************************/
static struct EpsonDST EPSON360x360C_A3 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1A""EPSON 360x360 DPI A3 Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1B\x2B\x2F\x0D\x0A", /* ESC '+' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1B\x2B\x01\x0D\x0A", /* ESC '+' 01 cr lf*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 24-Nadel Modus 360 * 360 DPI, NEC P7, DIN A3, Farbe */
/****************************************************************************/
static struct EpsonDST NEC360x360C_A3 = {
/* DPI in X-und Y-Richtung*/
{ 360, 360,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
NP_A4_SIZEX, NP_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
9, 4,
/* Flags*/
pfIsEpson,
/* Name des Modus*/
"\x1B""NEC P7 360x360 DPI A3 Color", /* Name des Modus*/
/* Druckeroutine*/
EpsonPrint },
/* Bytes pro Druckerspalte und Durchgaenge*/
3, 2,
/* Linefeed1, d.h. normaler Linefeed*/
"\x05\x1C\x33\x2F\x0D\x0A", /* FS '3' 47 cr lf*/
/* LineFeed2, d.h. kleinster Linefeed*/
"\x05\x1C\x33\x01\x0D\x0A", /* FS '3' 01 cr lf*/
/* Einschalten der Grafik*/
"\x09\x1B\x40\x1B\x4F\x1B\x43\x00\x10\r", /* ESC '@' ESC 'O' ESC 'C' 0 16 \r*/
/* Ausschalten der Grafik*/
"\x03\f\x1B\x40", /* \f ESC '@'*/
/* Code vor den Grafik-Bytes*/
"\x05\x1B\x2A\x28\x08\x10", /* ESC '*' 40 4104*/
/* Code nach den Grafik-Bytes*/
NULL /* Nicht vorhanden*/
};
/****************************************************************************/
/* 150*150 DPI HP-DJ 1200C, 256 Farben, A4 */
/****************************************************************************/
static struct LJDST HPDJ1200C150 = {
/* DPI in X-und Y-Richtung*/
{ 150, 150,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
256, 8,
/* Flags*/
pfDoCompression | pfHasPalette,
/* Name des Modus*/
"\x11""HPDJ1200C 150 DPI", /* Name des Modus*/
/* Druckeroutine */
LaserPrint },
/* Einschalten der Grafik*/
"\x1B*t150R" /* ESC * t 150 R*/
};
/****************************************************************************/
/* HP-Laserdrucker 1200*1200 DPI */
/****************************************************************************/
static struct LJDST HPLJ1200 = {
/* DPI in X-und Y-Richtung*/
{ 1200, 1200,
/* Blattgroesse in X- und Y-Richtung in 1/1000 Inch*/
LJ_A4_SIZEX, LJ_A4_SIZEY,
/* Anzahl Farben und Bits pro Pixel*/
2, 1,
/* Flags*/
pfDoCompression,
/* Name des Modus*/
"\x12""HPLJ 1200x1200 DPI", /* Name des Modus*/
/* Druckeroutine*/
LaserPrint },
/* Festlegen der Grafik*/
"\x1B*t1200R" /* ESC * t 300 R*/
};
/****************************************************************************/
/* Das Array Zeigern auf die DST's */
/****************************************************************************/
struct _DST * DSTTable [MaxModes] = {
(struct _DST*) &EPSON240x72, /* 0*/
(struct _DST*) &EPSON240x216, /* 1*/
(struct _DST*) &EPSON180x180, /* 2*/
(struct _DST*) &EPSON360x180, /* 3*/
(struct _DST*) &EPSON360x360, /* 4*/
(struct _DST*) &NEC360x360, /* 5*/
(struct _DST*) &IBMPro180x180, /* 6*/
(struct _DST*) &IBMPro360x180, /* 7*/
(struct _DST*) &EPSON180x180C, /* 8*/
(struct _DST*) &EPSON360x180C, /* 9*/
(struct _DST*) &EPSON360x360C, /* 11*/
(struct _DST*) &NEC360x360C, /* 10*/
(struct _DST*) NULL, /* 12*/
(struct _DST*) NULL, /* 13 Benutzerdefinierter Modus 1*/
(struct _DST*) NULL, /* 14 Benutzerdefinierter Modus 2*/
(struct _DST*) NULL, /* 15 Benutzerdefinierter Modus 3*/
(struct _DST*) &HPLJ75, /* 16 LaserJet-Modi*/
(struct _DST*) &HPLJ100, /* 17*/
(struct _DST*) &HPLJ150, /* 18*/
(struct _DST*) &HPLJ300, /* 19*/
(struct _DST*) &HPLJ75O, /* 20 Nochmals LJ, ohne Kompression*/
(struct _DST*) &HPLJ100O, /* 21*/
(struct _DST*) &HPLJ150O, /* 22*/
(struct _DST*) &HPLJ300O, /* 23*/
(struct _DST*) &HPDJ75, /* 24 Farbmodi des DeskJet*/
(struct _DST*) &HPDJ100, /* 25*/
(struct _DST*) &HPDJ150, /* 26*/
(struct _DST*) &HPDJ300, /* 27*/
(struct _DST*) &HPDJ75S, /* 28 Farbmodi, Deskjet mit Schwarzabtrennung*/
(struct _DST*) &HPDJ100S, /* 29*/
(struct _DST*) &HPDJ150S, /* 30*/
(struct _DST*) &HPDJ300S, /* 31*/
(struct _DST*) &HPLJ600, /* 32*/
(struct _DST*) &EPSON180x180_A3, /* 33 A3 Modi*/
(struct _DST*) &EPSON360x180_A3, /* 34*/
(struct _DST*) &EPSON360x360_A3, /* 35*/
(struct _DST*) &NEC360x360_A3, /* 36*/
(struct _DST*) &EPSON180x180C_A3, /* 37 A3 Modi, Farbe*/
(struct _DST*) &EPSON360x180C_A3, /* 38*/
(struct _DST*) &EPSON360x360C_A3, /* 39*/
(struct _DST*) &NEC360x360C_A3, /* 40*/
(struct _DST*) &HPDJ1200C150, /* 41 Deskjet 1200C, 256 Farben*/
(struct _DST*) &HPLJ1200, /* 42 HP LJ4000, 1200 * 1200 DPI*/
};