summaryrefslogtreecommitdiff
path: root/dviware/dvi2pcl/pcl.h
blob: b21a1677d625b3f5981ab681c091c43a3342a0bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
/* $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 */