/* $Log:	pcl.h,v $
 * Revision 0.8  92/11/23  19:47:04  19:47:04  bt (Bo Thide')
 * Fixed resolution bug. Portable downloading. Added/changed options. PJXL color support
 * 
 * Revision 0.7  92/11/13  02:41:19  02:41:19  bt (Bo Thide')
 * More bug fixes and improvements. Support for PaintJet XL
 * 
 * Revision 0.6  92/11/10  21:48:45  21:48:45  bt (Bo Thide')
 * Bug fixes. Added -R option. Better font handling.
 * 
 * Revision 0.5  92/11/09  16:25:52  16:25:52  bt (Bo Thide')
 * Rewrite of dospecial.c. Extended \special support
 * 
 * Revision 0.4  92/11/08  02:46:08  02:46:08  bt (Bo Thide')
 * Changed to portable bit manipulations. Replaced strrstr for non-POSIX compliant C. Fixed numerous bugs. Added support for more \special's.
 * 
 * Revision 0.3  92/08/24  12:45:30  12:45:30  bt (Bo Thide')
 * Fixed 8 bit (dc font) support.
 * 
 * Revision 0.2  92/08/23  17:28:54  17:28:54  bt (Bo Thide')
 * Source cleaned up.  Changed certain function calls.  Removed globals.
 * 
 * Revision 0.1  92/08/22  23:58:47  23:58:47  bt (Bo Thide')
 * First Release.
 *  */

#ifndef _DVI2PCL_PCL_INCLUDED
#define _DVI2PCL_PCL_INCLUDED

/*
 * HP LaserJet+/II printer commands (PCL4)
 */

/* Specify char and download it */
#define PCL4_CHAR_ID		"\033*c%dE\033(s%dW"

/* Reset the printer and define line termination */
#define PCL4_CLEAN_PRINTER	"\033E\033&k2G"

/* Set the number of copies of the page(s) printed */
#define PCL4_COPIES		"\033&l%dX"

/* Set rule a*b and draw it in solid black */
#define PCL4_DRAWRULE		"\033*c%db%da0P"

/* Draw one row of pixels */
#define PCL4_DRAWROW		"\033*b%dW"

/* Eject one page */
#define PCL4_EJECT_PAGE		" \f"

/* End raster graphic mode */
#define PCL4_END_RASTER		"\033*rB"

/* Download font descriptor (fd) */
#define PCL4_FONT_DESCR		"\033)s%dW"

/* Specify font ID */
#define PCL4_FONT_ID		"\033*c%dD"

/* Set graphic resolution */
#define PCL4_GRAPHRES		"\033*t%sR"

/* Printer initialization (reset, presentation mode) */
#define PCL4_INIT_PRINTER	"\033E\033*o1Q"

/* Select landscape mode */
#define PCL4_LANDSCAPE		"\033&l1O"

/* Make font temporary (last ID) */
#define PCL4_MAKE_FONT_TEMP	"\033*c4F"

/* Feed from manual feed slot */
#define PCL4_MANUAL_FEED	"\033&l2H"

/* Move cursor h and v dots */
#define PCL4_MOVE_POSITION	"\033*p%ldx%ldY"

/* Move cursor h dots */
#define PCL4_MOVE_H_POSITION	"\033*p%ldX"

/* Move cursor v dots */
#define PCL4_MOVE_V_POSITION	"\033*p%ldY"

/* Move cursor h and v dots relative */
#define PCL4_MOVE_REL		"\033*p%+ldx%+ldY"

/* Move cursor h dots horzontally relative */
#define PCL4_MOVE_HREL		"\033*p%+ldX"

/* Move cursor v dots vertically relative */
#define PCL4_MOVE_VREL		"\033*p%+ldY"

/* Select portrait mode */
#define PCL4_PORTRAIT		"\033&l0O"

/* Push cursor position onto stack */
#define PCL4_PUSH		"\033&f0S"

/* Pop cursor position from stack */
#define PCL4_POP		"\033&f1S"

/* Printer resolution in dpi */
#define PCL4_RESOLUTION		"\033*t%dR"

/* Select font identifier */
#define PCL4_SELECT_FONT	"\033(%dX"

/* Start raster graphics mode */
#define PCL4_START_RASTER	"\033*r1A"

/* Switch to transparent mode */
#define PCL4_TRANSP_MODE	"\033&p1X%c"


/*
 * Generic PCL5 commands
 */

/* Set compresson mode: 0=Unencoded, 1=Run-length, 2=TIFF, 3=Delta Row */
#define PCL5_COMPRESSION_MODE	"\033*b%dM"

/* HP-GL/2 horizontal plot size (inches) */
#define PCL5_HPGL_HOR_PLOTSIZE	"\033*c%dK"

/* HP-GL/2 vertical plot size (inches) */
#define PCL5_HPGL_VERT_PLOTSIZE	"\033*c%dL"

/* Enter HP-GL/2 mode. Pen to previous HP-GL/2 pen position */
#define PCL5_HPGLMODE_HPGLPEN	"\033%%0B"

/* Enter HP-GL/2 mode. Pen to previous PCL pen position */
#define PCL5_HPGLMODE_PCLPEN	"\033%%1B"

/* Enter PCL mode. Pen to previous PCL pen position */
#define PCL5_PCLMODE_PCLPEN	"\033%%0A"

/* Enter PCL mode. Pen to previous HP-GL/2 pen position */
#define PCL5_PCLMODE_HPGLPEN	"\033%%1A"

/* Set picture frame anchor point (PCL cursor position) */
#define PCL5_PICTURE_ANCHOR	"\033*c0T"

/* Picture frame, horizontal size */
#define PCL5_PICTURE_FRAME_HOR	"\033*c%dX"

/* Picture frame, vertical size */
#define PCL5_PICTURE_FRAME_VERT	"\033*c%dY"

/* Select 0, 90, 180, or 270 degrees print direction */
#define PCL5_PRINT_DIRECTION	"\033&a%dP"

/* Select reverse landscape mode */
#define PCL5_REV_LANDSCAPE	"\033&l3O"

/* Select reverse portrait mode */
#define PCL5_REV_PORTRAIT	"\033&l2O"


/*
 * HP PaintJet XL specific commands (PCL4)
 */

/* Define the number of color planes to be used */
#define PJXL_COLOR_PLANES	"\033*r%dU"

/* Draw one row of pixels in one of the color planes */
#define PJXL_DRAWROW_PLANE	"\033*b%dV"

/* Assign red color */
#define PJXL_SET_RED		"\033*v%dA"

/* Assign green color */
#define PJXL_SET_GREEN		"\033*v%dB"

/* Assign blue color */
#define PJXL_SET_BLUE		"\033*v%dC"

/* Set the text color */
#define PJXL_TEXT_COLOR		"\033&v%dS"

#endif /* _DVI2PCL_MACROS_INCLUDED */