--- rastertolabel.org 2009-02-15 23:40:10.000000000 +0100 +++ rastertolabel.c 2009-10-03 14:30:58.592130429 +0200 @@ -42,8 +42,8 @@ /* - * This driver filter currently supports Dymo, Intellitech, and Zebra - * label printers. + * This driver filter currently supports Dymo, Intellitech, Tyco and + * Zebra label printers. * * The Dymo portion of the driver has been tested with the 300, 330, * and 330 Turbo label printers; it may also work with other models. @@ -56,6 +56,11 @@ * LP-2844Z, QL-320, and QL-420 label printers; it may also work with * other models. The driver supports EPL line mode, EPL page mode, * ZPL, and CPCL as defined in Zebra's online developer documentation. + * + * The Tyco Electronics portion of the driver has been tested with + * the T212M. It is simular to Zebra EPL2, witch is here called + * Zebra EPL page mode, but the GW-command. Here Tyco uses a "," + * instead of the newline-character. */ /* @@ -68,6 +73,8 @@ #define ZEBRA_EPL_PAGE 0x11 /* Zebra EPL page mode printers */ #define ZEBRA_ZPL 0x12 /* Zebra ZPL-based printers */ #define ZEBRA_CPCL 0x13 /* Zebra CPCL-based printers */ +#define TYCO_EPL2_MODI 0x15 /* Tyco modified EPL2 page mode + based printers */ #define INTELLITECH_PCL 0x20 /* Intellitech PCL-based printers */ @@ -149,6 +156,9 @@ case ZEBRA_CPCL : break; + case TYCO_EPL2_MODI : + break; + case INTELLITECH_PCL : /* * Send a PCL reset sequence. @@ -269,6 +279,7 @@ break; case ZEBRA_EPL_PAGE : + case TYCO_EPL2_MODI : /* * Start a new label... */ @@ -504,6 +515,7 @@ break; case ZEBRA_EPL_PAGE : + case TYCO_EPL2_MODI : /* * Print the label... */ @@ -801,9 +813,13 @@ break; case ZEBRA_EPL_PAGE : + case TYCO_EPL2_MODI : if (Buffer[0] || memcmp(Buffer, Buffer + 1, header->cupsBytesPerLine)) { - printf("GW0,%d,%d,1\n", y, header->cupsBytesPerLine); + if (ModelNumber == ZEBRA_EPL_PAGE) + printf("GW0,%d,%d,1\n", y, header->cupsBytesPerLine); + else + printf("GW0,%d,%d,1,", y, header->cupsBytesPerLine); for (i = header->cupsBytesPerLine, ptr = Buffer; i > 0; i --, ptr ++) putchar(~*ptr); putchar('\n');