]> git.ipfire.org Git - thirdparty/cups.git/blob - doc/help/ref-ppdcfile.html
Merge changes from CUPS 1.4svn-r8628.
[thirdparty/cups.git] / doc / help / ref-ppdcfile.html
1 <HTML>
2 <!-- SECTION: References -->
3 <HEAD>
4 <TITLE>PPD Compiler Driver Information File Reference</TITLE>
5 <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
6 </HEAD>
7 <BODY>
8
9 <H1 CLASS="title">PPD Compiler Driver Information File Reference</H1>
10
11 <p>The CUPS PPD compiler reads meta files that contain descriptions
12 of one or more PPD files to be generated by
13 <a href="man-ppdc.html">ppdc(1)</a> or the corresponding driver interface
14 program <a href="man-drv.html">drv(1)</a>. The source file format is plain
15 ASCII text that can be edited using your favorite text editor.</p>
16
17 <p>Directives may be placed anywhere on a line and are followed by
18 zero or more values.</p>
19
20 <p>Comments are supported using the C (/* ... */) and C++ (// ...) comment
21 mechanisms.</p>
22
23 <p>Directives that accept expressions look for sequences of the form:</p>
24
25 <dl>
26
27 <dt>NAME</dt>
28 <dd>Evaluates to 1 if NAME is defined, otherwise 0.</dd>
29
30 <dt>number</dt>
31
32 <dd>Evaluates to the specified integer; the number can be preceded by
33 a leading sign (+/-) followed by a decimal number (1234), octal number
34 (01234), or hexidecimal number (0x1234) using the same rules as C and
35 C++.</dd>
36
37 <dt>(NAME NAME ... number number ...)</dt>
38 <dd>Evaluates to the bitwise OR of each named #define constant or
39 number.</dd>
40
41 <dt>(NAME == OTHERNAME)</dt>
42 <dt>(NAME == number)</dt>
43 <dd>Evaluates to 1 if NAME is equal to the other named constant or
44 number, otherwise 0.</dd>
45
46 <dt>(NAME != OTHERNAME)</dt>
47 <dt>(NAME != number)</dt>
48 <dd>Evaluates to 1 if NAME is not equal to the other named constant or
49 number, otherwise 0.</dd>
50
51 <dt>(NAME &lt; OTHERNAME)</dt>
52 <dt>(NAME &lt; number)</dt>
53 <dd>Evaluates to 1 if NAME is less than to the other named constant or
54 number, otherwise 0.</dd>
55
56 <dt>(NAME &lt;= OTHERNAME)</dt>
57 <dt>(NAME &lt;= number)</dt>
58 <dd>Evaluates to 1 if NAME is less than or equal to the other named
59 constant or number, otherwise 0.</dd>
60
61 <dt>(NAME &gt; OTHERNAME)</dt>
62 <dt>(NAME &gt; number)</dt>
63 <dd>Evaluates to 1 if NAME is greater than to the other named constant
64 or number, otherwise 0.</dd>
65
66 <dt>(NAME &gt;= OTHERNAME)</dt>
67 <dt>(NAME &gt;= number)</dt>
68 <dd>Evaluates to 1 if NAME is greater than or equal to the other named
69 constant or number, otherwise 0.</dd>
70
71 </dl>
72
73 <p>Printer driver information can be grouped and shared using
74 curley braces ({ ... }); PPD files are written when a close
75 brace or end-of-file is seen and a <a href="#PCFileName">PCFileName</a>
76 directive has been defined.</p>
77
78
79 <h2 class="title"><a name='_define'>#define</a></h2>
80
81 <h3>Syntax</h3>
82
83 <pre>
84 #define <i>name expression</i>
85 </pre>
86
87 <h3>Examples</h3>
88
89 <pre>
90 #define FOO 100
91 #define BAR "Bar, Inc."
92 </pre>
93
94 <h3>Description</h3>
95
96 <p>The <code>#define</code> directive assigns a value to a name
97 which can be later referenced using <code>$name</code>. The name is
98 case-insensitive and can be any sequence of letters, numbers,
99 and the underscore. The value can be any valid expression.</p>
100
101 <h3>See Also</h3>
102
103 <p><a href='#_include'><code>#include</code></a></p>
104
105
106 <h2 class="title"><a name='_elif'>#elif</a></h2>
107
108 <h3>Syntax</h3>
109
110 <pre>
111 #elif <i>expression</i>
112 </pre>
113
114 <h3>Examples</h3>
115
116 <pre>
117 #if HAVE_FOO
118 ...
119 #elif (HAVE_BAR &gt;= 999)
120 ...
121 #else
122 ...
123 #endif
124 </pre>
125
126 <h3>Description</h3>
127
128 <p>The <code>#elif</code> directive allows portions of a driver information file
129 to be used conditionally. <code>#elif</code> directives must appear after a
130 corresponding <a href="#_if"><code>#if</code></a> directive.</p>
131
132 <h3>See Also</h3>
133
134 <p><a href='#_else'><code>#else</code></a>,
135 <a href='#_endif'><code>#endif</code></a>,
136 <a href='#_if'><code>#if</code></a></p>
137
138
139 <h2 class="title"><a name='_else'>#else</a></h2>
140
141 <h3>Syntax</h3>
142
143 <pre>
144 #else
145 </pre>
146
147 <h3>Examples</h3>
148
149 <pre>
150 #if HAVE_FOO
151 ...
152 #elif (HAVE_BAR &gt;= 999)
153 ...
154 #else
155 ...
156 #endif
157 </pre>
158
159 <h3>Description</h3>
160
161 <p>The <code>#else</code> directive allows portions of a driver information file
162 to be used conditionally when the corresponding
163 <a href="#_if"><code>#if</code></a> and <a href="#_elif"><code>#elif</code></a>
164 expressions are non-zero.</p>
165
166 <h3>See Also</h3>
167
168 <p><a href='#_elif'><code>#elif</code></a>,
169 <a href='#_endif'><code>#endif</code></a>,
170 <a href='#_if'><code>#if</code></a></p>
171
172
173 <h2 class="title"><a name='_endif'>#endif</a></h2>
174
175 <h3>Syntax</h3>
176
177 <pre>
178 #endif
179 </pre>
180
181 <h3>Examples</h3>
182
183 <pre>
184 #if HAVE_FOO
185 ...
186 #elif (HAVE_BAR &gt;= 999)
187 ...
188 #else
189 ...
190 #endif
191 </pre>
192
193 <h3>Description</h3>
194
195 <p>The <code>#endif</code> directive ends a conditional block of a driver
196 information file. It must appear after all of the
197 <a href="#_if"><code>#if</code></a>, <a href="#_elif"><code>#elif</code></a>,
198 and <a href="#_else"><code>#else</code></a> directives for the current
199 conditional block.</p>
200
201 <h3>See Also</h3>
202
203 <p><a href='#_elif'><code>#elif</code></a>,
204 <a href='#_else'><code>#else</code></a>,
205 <a href='#_if'><code>#if</code></a></p>
206
207
208 <h2 class="title"><a name='_font'>#font</a></h2>
209
210 <h3>Syntax</h3>
211
212 <pre>
213 #font <i>name encoding "version" charset status</i>
214 </pre>
215
216 <h3>Examples</h3>
217
218 <pre>
219 #font Courier Standard "(1.05)" Standard ROM
220 #font Symbol Special "(001.005)" Special ROM
221 #font Barcode-Foo Special "(1.0)" Special Disk
222 #font Unicode-Foo Expert "(2.0)" Adobe-Identity ROM
223 </pre>
224
225 <h3>Description</h3>
226
227 <p>The <code>#font</code> directive defines a "base font" for all
228 printer drivers. The name is the PostScript font name.</p>
229
230 <p>The encoding is the default encoding of the font, usually
231 <code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as
232 defined in the Adobe PPD file specification.</p>
233
234 <p>The version is the PostScript string definition that
235 corresponds to the font version number.</p>
236
237 <p>The charset defines the available characters in the font,
238 usually <code>Standard</code> or <code>Special</code>, as defined in the
239 Adobe PPD file specification.</p>
240
241 <p>The status is the installation status of the font and must be
242 either the word <code>ROM</code> or <code>Disk</code>.
243
244 <p>Base fonts differ from fonts defined using the <a
245 href='#Font'><code>Font</code></a> directive in that they are not
246 automatically associated with all drivers - you must use the
247 special <code>Font *</code> directive to include them in a
248 driver.</p>
249
250 <p>Currently the <code>#font</code> directive is used mainly for
251 defining the standard raster fonts in the
252 <code>&lt;font.defs&gt;</code> include file.</p>
253
254 <h3>See Also</h3>
255
256 <p><a href='#_include'><code>#include</code></a>,
257 <a href='#Font'><code>Font</code></a></p>
258
259
260 <h2 class="title"><a name='_if'>#if</a></h2>
261
262 <h3>Syntax</h3>
263
264 <pre>
265 #if <i>name or expression</i>
266 </pre>
267
268 <h3>Examples</h3>
269
270 <pre>
271 #if HAVE_FOO
272 ...
273 #elif (HAVE_BAR &gt;= 999)
274 ...
275 #else
276 ...
277 #endif
278 </pre>
279
280 <h3>Description</h3>
281
282 <p>The <code>#if</code> directive allows portions of a driver information file
283 to be used conditionally. When followed by a name, the data that follows is
284 used only when the name is defined, otherwise the data is ignored.
285 <code>#if</code> directives can be nested up to 100 times.</p>
286
287 <h3>See Also</h3>
288
289 <p><a href='#_elif'><code>#elif</code></a>,
290 <a href='#_else'><code>#else</code></a>,
291 <a href='#_endif'><code>#endif</code></a></p>
292
293
294 <h2 class="title"><a name='_include'>#include</a></h2>
295
296 <h3>Syntax</h3>
297
298 <pre>
299 #include &lt;<i>filename</i>&gt;
300 #include "<i>filename</i>"
301 </pre>
302
303 <h3>Examples</h3>
304
305 <pre>
306 #include &lt;font.defs&gt;
307 #include "myfile.h"
308 </pre>
309
310 <h3>Description</h3>
311
312 <p>The <code>#include</code> directive reads the named driver
313 information file. If the filename is included inside angle
314 brackets (<code>&lt;filename&gt;</code>), then the PPD compiler will
315 look for the file in all of the include directories it knows
316 about. Otherwise, the file is opened in the current directory
317 relative to the current driver information file, and if that
318 fails then it looks in the include directories for the file.</p>
319
320 <p>The <code>#include</code> directive can be nested to as many
321 files as are allowed by the host operating system, typically at
322 least 100 files.</p>
323
324 <h3>See Also</h3>
325
326 <p><a href='#_define'><code>#define</code></a>,
327 <a href='#_font'><code>#font</code></a>,
328 <a href='#_media'><code>#media</code></a></p>
329
330
331 <h2 class="title"><a name='_media'>#media</a></h2>
332
333 <h3>Syntax</h3>
334
335 <pre>
336 #media <i>name width length</i>
337 #media <i>"name/text" width length</i>
338 </pre>
339
340 <h3>Examples</h3>
341
342 <pre>
343 #media "Letter/Letter - 8.5x11in" 8.5in 11in
344 #media "A4/A4 - 210x297mm" 210mm 297mm
345 #media "w936h1368/Super B/A3 - 13x19in" 936 1368
346 #media Photo 4in 6in
347 </pre>
348
349 <h3>Description</h3>
350
351 <p>The <code>#media</code> directive defines a named media size for
352 inclusion in a driver. The name with optional user text defines
353 the name for the media size and is used with the <a
354 href='#MediaSize'><code>MediaSize</code></a> directive to associate
355 the media size with the driver. The name may only contain
356 letters, numbers, and the underscore and may not exceed 40
357 characters in length. The user text, if supplied, may not exceed
358 80 characters in length.</p>
359
360 <p>The width and length define the dimensions of the media. Each
361 number is optionally followed by one of the following unit
362 suffixes:</p>
363
364 <ul>
365
366 <li><code>cm</code> - centimeters</li>
367
368 <li><code>ft</code> - feet</li>
369
370 <li><code>in</code> - inches</li>
371
372 <li><code>m</code> - meters</li>
373
374 <li><code>mm</code> - millimeters</li>
375
376 <li><code>pt</code> - points (72 points = 1 inch)</li>
377
378 </ul>
379
380 <p>Points are assumed if no units are specified.
381
382 <h3>See Also</h3>
383
384 <p><a href='#_include'><code>#include</code></a>,
385 <a href='#CustomMedia'><code>CustomMedia</code></a>,
386 <a href='#MediaSize'><code>MediaSize</code></a></p>
387
388
389 <h2 class="title"><a name='_po'>#po</a></h2>
390
391 <h3>Syntax</h3>
392
393 <pre>
394 #po <i>locale filename</i>
395 </pre>
396
397 <h3>Examples</h3>
398
399 <pre>
400 #po es "es.po"
401 #po fr_CA "mydriver-fr_CA.po"
402 </pre>
403
404 <h3>Description</h3>
405
406 <p>The <code>#po</code> directive defines a message catalog to use for the
407 given POSIX language abbreviation. Multiple <code>#po</code> directives can be
408 specified to list multiple catalogs. The filename can be an absolute path or
409 relative to the driver information file. GNU gettext and Mac OS X .strings
410 files are supported.</p>
411
412
413 <h2 class="title"><a name='Attribute'>Attribute</a></h2>
414
415 <h3>Syntax</h3>
416
417 <pre>
418 Attribute <i>name "" value</i>
419 Attribute <i>name keyword value</i>
420 Attribute <i>name "keyword/text" value</i>
421 </pre>
422
423 <h3>Examples</h3>
424
425 <pre>
426 Attribute cupsInkChannels "" 1
427 Attribute cupsAllDither 600dpi "1.0"
428 Attribute fooProfile "Photo/Photographic Profile" "photopro.icc"
429 </pre>
430
431 <h3>Description</h3>
432
433 <p>The <code>Attribute</code> directive creates a PPD attribute. The
434 name is any combination of letters, numbers, and the underscore
435 and can be up to 40 characters in length.</p>
436
437 <p>The selector can be the empty string (<code>""</code>), a keyword
438 consisting of up to 40 letters, numbers, and the underscore, or
439 a string composed of a keyword and user text of up to 80
440 characters.</p>
441
442 <p>The value is any string or number; the string may contain
443 multiple lines, however no one line may exceed 255
444 characters.</p>
445
446 <h3>See Also</h3>
447
448 <p><a href="#LocAttribute"><code>LocAttribute</code></a></p>
449
450
451 <h2 class="title"><a name='Choice'>Choice</a></h2>
452
453 <h3>Syntax</h3>
454
455 <pre>
456 Choice <i>name "code"</i>
457 Choice <i>"name/text" "code"</i>
458 </pre>
459
460 <h3>Examples</h3>
461
462 <pre>
463 Choice None "&lt;&lt;/MediaType (None)&gt;&gt;setpagedevice"
464 Choice "False/No" "&lt;&lt;/cupsCompression 0&gt;&gt;setpagedevice"
465 </pre>
466
467 <h3>Description</h3>
468
469 <p>The <code>Choice</code> directive adds a single choice to the
470 current option. The name is any combination of letters, numbers,
471 and the underscore and can be up to 40 characters in length.</p>
472
473 <p>If provided, the text can be any string up to 80 characters
474 in length. If no text is provided, the name is used.</p>
475
476 <p>The code is any string and may contain multiple lines,
477 however no one line may exceed 255 characters.</p>
478
479 <h3>See Also</h3>
480
481 <p><a href='#ColorModel'><code>ColorModel</code></a>,
482 <a href='#Cutter'><code>Cutter</code></a>,
483 <a href='#Darkness'><code>Darkness</code></a>,
484 <a href='#Duplex'><code>Duplex</code></a>,
485 <a href='#Finishing'><code>Finishing</code></a>,
486 <a href='#Group'><code>Group</code></a>,
487 <a href='#InputSlot'><code>InputSlot</code></a>,
488 <a href='#Installable'><code>Installable</code></a>,
489 <a href='#MediaType'><code>MediaType</code></a>,
490 <a href='#Option'><code>Option</code></a>,
491 <a href='#Resolution'><code>Resolution</code></a>,
492 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
493
494
495 <h2 class="title"><a name='ColorDevice'>ColorDevice</a></h2>
496
497 <h3>Syntax</h3>
498
499 <pre>
500 ColorDevice <i>boolean-value</i>
501 </pre>
502
503 <h3>Examples</h3>
504
505 <pre>
506 ColorDevice no
507 ColorDevice yes
508 </pre>
509
510 <h3>Description</h3>
511
512 <p>The <code>ColorDevice</code> directive tells the application if
513 the printer supports color. It is typically used in conjunction
514 with the <a href='#ColorModel'><code>ColorModel</code></a> directive
515 to provide color printing support.</p>
516
517 <h3>See Also</h3>
518
519 <p><a href='#ColorModel'><code>ColorModel</code></a></p>
520
521
522 <h2 class="title"><span class="info">Deprecated</span><a name='ColorModel'>ColorModel</a></h2>
523
524 <h3>Syntax</h3>
525
526 <pre>
527 ColorModel <i>name colorspace colororder compression</i>
528 ColorModel <i>"name/text" colorspace colororder compression</i>
529 </pre>
530
531 <h3>Examples</h3>
532
533 <pre>
534 ColorModel Gray/Grayscale w chunky 0
535 ColorModel RGB/Color rgb chunky 0
536 ColorModel CMYK cmyk chunky 0
537 </pre>
538
539 <h3>Description</h3>
540
541 <p>The <code>ColorModel</code> directive is a convenience directive
542 which creates a ColorModel option and choice for the current
543 printer driver. The name is any combination of letters, numbers,
544 and the underscore and can be up to 40 characters in length.</p>
545
546 <p>If provided, the text can be any string up to 80 characters
547 in length. If no text is provided, the name is used.</p>
548
549 <p>The colorspace argument is one of the standard colorspace
550 keywords defined later in this appendix in the section titled,
551 "<a href='#REF_COLOR_SPACE'>Colorspace Keywords</a>".</p>
552
553 <P>The colororder argument is one of the standard color order
554 keywords defined later in this appendix in the section titled,
555 "<a href='#REF_COLOR_ORDER'>Color Order Keywords</a>".</p>
556
557 <p>The compression argument is any number and is assigned to the
558 <code>cupsCompression</code> attribute in the PostScript page device
559 dictionary.</p>
560
561 <h3>See Also</h3>
562
563 <p><a href='#Choice'><code>Choice</code></a>,
564 <a href='#ColorDevice'><code>ColorDevice</code></a>,
565 <a href='#Cutter'><code>Cutter</code></a>,
566 <a href='#Darkness'><code>Darkness</code></a>,
567 <a href='#Duplex'><code>Duplex</code></a>,
568 <a href='#Finishing'><code>Finishing</code></a>,
569 <a href='#Group'><code>Group</code></a>,
570 <a href='#InputSlot'><code>InputSlot</code></a>,
571 <a href='#Installable'><code>Installable</code></a>,
572 <a href='#MediaType'><code>MediaType</code></a>,
573 <a href='#Option'><code>Option</code></a>,
574 <a href='#Resolution'><code>Resolution</code></a>,
575 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
576
577
578 <h2 class="title"><span class="info">Deprecated</span><a name='ColorProfile'>ColorProfile</a></h2>
579
580 <h3>Syntax</h3>
581
582 <pre>
583 ColorProfile <i>resolution/mediatype gamma density matrix</i>
584 </pre>
585
586 <h3>Examples</h3>
587
588 <pre>
589 ColorProfile -/- 1.7 1.0
590 1.0 0.0 0.0
591 0.0 1.0 0.0
592 0.0 0.0 1.0
593
594 ColorProfile 360dpi/- 1.6 1.0
595 1.0 -0.05 -0.3
596 -0.35 1.0 -0.15
597 -0.095 -0.238 0.95
598
599 ColorProfile 720dpi/Special 1.5 1.0
600 1.0 0.0 -0.38
601 -0.4 1.0 0.0
602 0.0 -0.38 0.9
603 </pre>
604
605 <h3>Description</h3>
606
607 <p>The <code>ColorProfile</code> directive defines a CMY
608 transform-based color profile. The resolution and mediatype
609 arguments specify the <code>Resolution</code> and <code>MediaType</code>
610 choices which use the profile; the hyphen (<code>-</code>) is used to
611 specify that any resolution or mediatype can be used with the
612 profile.</p>
613
614 <p>The gamma argument specifies the gamma correction to apply to
615 the color values (P = p<sup>g</sup>) and is a real number
616 greater than 0. Values larger than 1 cause a general lightening
617 of the print while values smaller than 1 cause a general
618 darkening of the print. A value of 1 disables gamma
619 correction.</p>
620
621 <p>The density argument specifies the linear density correction
622 to apply to the color values (P = d * p<sup>g</sup>) and is a
623 real number greater than 0 and less than or equal to 1. A value
624 1 of disables density correction while lower values produce
625 proportionately lighter output.</p>
626
627 <p>The matrix argument specifies a 3x3 linear transformation
628 matrix in row-major order. The matrix is applied only to the CMY
629 component of a RGB to CMYK transformation and is not used when
630 printing in grayscale or CMYK mode unless the printer only
631 supports printing with 3 colors.</p>
632
633 <h3>See Also</h3>
634
635 <p><a href='#SimpleColorProfile'><code>SimpleColorProfile</code></a></p>
636
637
638 <h2 class="title"><a name='Copyright'>Copyright</a></h2>
639
640 <h3>Syntax</h3>
641
642 <pre>
643 Copyright <i>"text"</i>
644 </pre>
645
646 <h3>Examples</h3>
647
648 <pre>
649 Copyright "Copyright 2008 by Foo Enterprises"
650
651 Copyright
652 "This software is free software; you can redistribute it and/or
653 modify it under the terms of the GNU General Public License as
654 published by the Free Software Foundation; either version 2 of
655 the License, or (at your option) any later version.
656
657 This software is distributed in the hope that it will be useful,
658 but WITHOUT ANY WARRANTY; without even the implied warranty of
659 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
660 GNU General Public License for more details.
661
662 You should have received a copy of the GNU General Public
663 License along with this software; if not, write to the Free
664 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
665 MA 02111 USA"
666 </pre>
667
668 <h3>Description</h3>
669
670 <p>The <code>Copyright</code> directive adds text comments to the
671 top of a PPD file, typically for use in copyright notices. The
672 text argument can contain multiple lines of text, but no line
673 may exceed 255 characters.</p>
674
675
676 <h2 class="title"><a name='CustomMedia'>CustomMedia</a></h2>
677
678 <h3>Syntax</h3>
679
680 <pre>
681 CustomMedia <i>name width length left bottom right top
682 "size-code" "region-code"</i>
683
684 CustomMedia <i>"name/text" width length left bottom right top
685 "size-code" "region-code"</i>
686 </pre>
687
688 <h3>Examples</h3>
689
690 <pre>
691 CustomMedia Letter 8.5in 11in 0.25in 0.46in 0.25in 0.04in
692 "&lt;&lt;/PageSize[612 792]/ImagingBBox null/ManualFeed false&gt;&gt;
693 setpagedevice"
694 "&lt;&lt;/PageSize[612 792]/ImagingBBox null/ManualFeed true&gt;&gt;
695 setpagedevice"
696
697 CustomMedia "A4/A4 - 210x297mm" 210mm 297mm 12 12 12 12
698 "&lt;&lt;/PageSize[595 842]/ImagingBBox null&gt;&gt;setpagedevice"
699 "&lt;&lt;/PageSize[595 842]/ImagingBBox null&gt;&gt;setpagedevice"
700 </pre>
701
702 <h3>Description</h3>
703
704 <p>The <code>CustomMedia</code> directive adds a custom media size to
705 the driver. The name is any combination of letters, numbers,
706 and the underscore and can be up to 40 characters in length.</p>
707
708 <p>If provided, the text can be any string up to 80 characters
709 in length. If no text is provided, the name is used.</p>
710
711 <p>The width and length arguments specify the dimensions of the
712 media as defined for the <a href="#_media"><code>#media</code></a>
713 directive.</p>
714
715 <p>The left, bottom, right, and top arguments specify the
716 printable margins of the media.</p>
717
718 <p>The size-code and region-code arguments specify the
719 PostScript commands to run for the <code>PageSize</code> and
720 <code>PageRegion</code> options, respectively. The commands can
721 contain multiple lines, however no line may be more than 255
722 characters in length.</p>
723
724 <h3>See Also</h3>
725
726 <p><a href='#_media'><code>#media</code></a>,
727 <a href='#MediaSize'><code>MediaSize</code></a></p>
728
729
730 <h2 class="title"><a name='Cutter'>Cutter</a></h2>
731
732 <h3>Syntax</h3>
733
734 <pre>
735 Cutter <i>boolean-value</i>
736 </pre>
737
738 <h3>Examples</h3>
739
740 <pre>
741 Cutter yes
742 Cutter no
743 </pre>
744
745 <h3>Description</h3>
746
747 <p>The <code>Cutter</code> directive specifies whether the printer
748 has a built-in media cutter. When a cutter is present, the
749 printer's PPD file will contain a <code>CutMedia</code> option that
750 allows the user to control whether the media is cut at the end
751 of the job.</p>
752
753 <h3>See Also</h3>
754
755 <p><a href='#Choice'><code>Choice</code></a>,
756 <a href='#ColorModel'><code>ColorModel</code></a>,
757 <a href='#Darkness'><code>Darkness</code></a>,
758 <a href='#Duplex'><code>Duplex</code></a>,
759 <a href='#Finishing'><code>Finishing</code></a>,
760 <a href='#Group'><code>Group</code></a>,
761 <a href='#InputSlot'><code>InputSlot</code></a>,
762 <a href='#Installable'><code>Installable</code></a>,
763 <a href='#MediaType'><code>MediaType</code></a>,
764 <a href='#Option'><code>Option</code></a>,
765 <a href='#Resolution'><code>Resolution</code></a>,
766 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
767
768
769 <h2 class="title"><span class="info">Deprecated</span><a name='Darkness'>Darkness</a></h2>
770
771 <h3>Syntax</h3>
772
773 <pre>
774 Darkness <i>temperature name</i>
775 Darkness <i>temperature "name/text"</i>
776 </pre>
777
778 <h3>Examples</h3>
779
780 <pre>
781 Darkness 0 Light
782 Darkness 2 "Normal/Standard"
783 </pre>
784
785 <h3>Description</h3>
786
787 <p>The <code>Darkness</code> directive defines a choice for the
788 <code>cupsDarkness</code> option which sets the
789 <code>cupsCompression</code> attribute in the PostScript page device
790 dictionary. It is used with the CUPS <VAR>rastertolabel</VAR>
791 sample driver to control the print head temperature and
792 therefore the darkness of the print.</p>
793
794 <p>The temperature argument specifies a temperature value for
795 the Dymo driver from 0 (lowest) to 3 (highest), with 2
796 representing the normal setting.</p>
797
798 <p>The name is any combination of letters, numbers, and the
799 underscore and can be up to 40 characters in length.</p>
800
801 <p>If provided, the text can be any string up to 80 characters
802 in length. If no text is provided, the name is used.</p>
803
804 <h3>See Also</h3>
805
806 <p><a href='#Choice'><code>Choice</code></a>,
807 <a href='#ColorModel'><code>ColorModel</code></a>,
808 <a href='#Cutter'><code>Cutter</code></a>,
809 <a href='#Duplex'><code>Duplex</code></a>,
810 <a href='#Finishing'><code>Finishing</code></a>,
811 <a href='#Group'><code>Group</code></a>,
812 <a href='#InputSlot'><code>InputSlot</code></a>,
813 <a href='#Installable'><code>Installable</code></a>,
814 <a href='#MediaType'><code>MediaType</code></a>,
815 <a href='#Option'><code>Option</code></a>,
816 <a href='#Resolution'><code>Resolution</code></a>,
817 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
818
819
820 <h2 class="title"><a name='DriverType'>DriverType</a></h2>
821
822 <h3>Syntax</h3>
823
824 <pre>
825 DriverType <i>type</i>
826 </pre>
827
828 <h3>Examples</h3>
829
830 <pre>
831 DriverType custom
832 DriverType escp
833 DriverType pcl
834 DriverType ps
835 </pre>
836
837 <h3>Description</h3>
838
839 <p>The <code>DriverType</code> directive tells the PPD compiler
840 which DDK filters to include in the PPD file. The following
841 types are supported:</p>
842
843 <ul>
844
845 <li><code>custom</code> - Use only those filters that are
846 defined in the driver information file</li>
847
848 <li><code>epson</code> - Use the CUPS sample Epson driver filter
849 <var>rastertoepson</var></li>
850
851 <li><code>escp</code> - Use the ESC/P DDK driver filters
852 <var>commandtoescpx</var> and
853 <var>rastertoescpx</var></li>
854
855 <li><code>hp</code> - Use the CUPS sample HP driver filter
856 <var>rastertohp</var></li>
857
858 <li><code>label</code> - Use the CUPS sample label driver filter <var>rastertolabel</var></li>
859
860 <li><code>pcl</code> - Use the HP-PCL DDK driver filters
861 <var>commandtopclx</var> and
862 <var>rastertopclx</var></li>
863
864 <li><code>ps</code> - Use no filters; this driver is for a
865 standard PostScript device</li>
866
867 </ul>
868
869 <h3>See Also</h3>
870
871 <p><a href='#Filter'><code>Filter</code></a>,
872 <a href='#ModelNumber'><code>ModelNumber</code></a></p>
873
874
875 <h2 class="title"><a name='Duplex'>Duplex</a></h2>
876
877 <h3>Syntax</h3>
878
879 <pre>
880 Duplex <i>type</i>
881 </pre>
882
883 <h3>Examples</h3>
884
885 <pre>
886 Duplex none
887 Duplex normal
888 Duplex flip
889 Duplex rotated
890 Duplex manualtumble
891 </pre>
892
893 <h3>Description</h3>
894
895 <p>The <code>Duplex</code> directive determines whether double-sided printing
896 is supported in the current driver. The type argument specifies the type
897 of duplexing that is supported:</p>
898
899 <ul>
900
901 <li><code>none</code> - double-sided printing is not
902 supported</li>
903
904 <li><code>normal</code> - double-sided printing is
905 supported</li>
906
907 <li><code>flip</code> - double-sided printing is supported,
908 but the back side image needs to be flipped vertically
909 (used primarily with inkjet printers)</li>
910
911 <li><code>rotated</code> - double-sided printing is supported,
912 but the back side image needs to be rotated 180 degrees for
913 DuplexNoTumble</li>
914
915 <li><code>manualtumble</code> - double-sided printing is supported,
916 but the back side image needs to be rotated 180 degrees for
917 DuplexTumble</li>
918
919 </ul>
920
921 <h3>See Also</h3>
922
923 <p><a href='#Choice'><code>Choice</code></a>,
924 <a href='#ColorModel'><code>ColorModel</code></a>,
925 <a href='#Cutter'><code>Cutter</code></a>,
926 <a href='#Darkness'><code>Darkness</code></a>,
927 <a href='#Finishing'><code>Finishing</code></a>,
928 <a href='#Group'><code>Group</code></a>,
929 <a href='#InputSlot'><code>InputSlot</code></a>,
930 <a href='#Installable'><code>Installable</code></a>,
931 <a href='#MediaType'><code>MediaType</code></a>,
932 <a href='#Option'><code>Option</code></a>,
933 <a href='#Resolution'><code>Resolution</code></a>,
934 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
935
936
937 <h2 class="title"><a name='FileName'>FileName</a></h2>
938
939 <h3>Syntax</h3>
940
941 <pre>
942 FileName <i>"filename"</i>
943 </pre>
944
945 <h3>Examples</h3>
946
947 <pre>
948 FileName "Acme Laser Printer 2000"
949 FileName "Acme Ink Waster 1000"
950 </pre>
951
952 <h3>Description</h3>
953
954 <p>The <code>FileName</code> attribute specifies the "long" name of the
955 PPD file for the current driver.</p>
956
957 <h3>See Also</h3>
958
959 <p><a href='#Manufacturer'><code>Manufacturer</code></a>,
960 <a href='#ModelName'><code>ModelName</code></a>,
961 <a href="#PCFileName"><code>PCFileName</code></a>,
962 <a href='#Version'><code>Version</code></a></p>
963
964
965 <h2 class="title"><a name='Filter'>Filter</a></h2>
966
967 <h3>Syntax</h3>
968
969 <pre>
970 Filter <i>mime-type cost program</i>
971 </pre>
972
973 <h3>Examples</h3>
974
975 <pre>
976 Filter application/vnd.cups-raster 50 rastertofoo
977 Filter application/vnd.hp-HPGL 25 /usr/foo/filter/hpgltofoo
978 </pre>
979
980 <h3>Description</h3>
981
982 <p>The <code>Filter</code> directive adds a filter for the current
983 driver. The mime-type argument is a valid MIME media type name
984 as defined in a CUPS <var>mime.types</var> file.</p>
985
986 <p>The cost argument specifies the relative cost of the filter.
987 In general, use a number representing the average percentage of
988 CPU time that is used when printing the specified MIME media
989 type.</p>
990
991 <p>The program argument specifies the program to run; if the
992 program is not an absolute filename, then CUPS will look for the
993 program in the CUPS filter directory.</p>
994
995 <h3>See Also</h3>
996
997 <p><a href='#DriverType'><code>DriverType</code></a></p>
998
999
1000 <h2 class="title"><span class="info">Deprecated</span><a name='Finishing'>Finishing</a></h2>
1001
1002 <h3>Syntax</h3>
1003
1004 <pre>
1005 Finishing <i>name</i>
1006 Finishing <i>"name/text"</i>
1007 </pre>
1008
1009 <h3>Examples</h3>
1010
1011 <pre>
1012 Finishing None
1013 Finishing "Glossy/Photo Overcoat"
1014 </pre>
1015
1016 <h3>Description</h3>
1017
1018 <p>The <code>Finishing</code> directive adds a choice to the
1019 <code>cupsFinishing</code> option. The name is any combination of
1020 letters, numbers, and the underscore and can be up to 40
1021 characters in length. The name is stored in the
1022 <code>OutputType</code> attribute in the PostScript page device
1023 dictionary.</p>
1024
1025 <p>If provided, the text can be any string up to 80 characters
1026 in length. If no text is provided, the name is used.</p>
1027
1028 <h3>See Also</h3>
1029
1030 <p><a href='#Choice'><code>Choice</code></a>,
1031 <a href='#ColorModel'><code>ColorModel</code></a>,
1032 <a href='#Cutter'><code>Cutter</code></a>,
1033 <a href='#Darkness'><code>Darkness</code></a>,
1034 <a href='#Duplex'><code>Duplex</code></a>,
1035 <a href='#Group'><code>Group</code></a>,
1036 <a href='#InputSlot'><code>InputSlot</code></a>,
1037 <a href='#Installable'><code>Installable</code></a>,
1038 <a href='#MediaType'><code>MediaType</code></a>,
1039 <a href='#Option'><code>Option</code></a>,
1040 <a href='#Resolution'><code>Resolution</code></a>,
1041 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1042
1043
1044 <h2 class="title"><a name='Font'>Font</a></h2>
1045
1046 <h3>Syntax</h3>
1047
1048 <pre>
1049 Font <i>name encoding "version" charset status</i>
1050 Font *
1051 </pre>
1052
1053 <h3>Examples</h3>
1054
1055 <pre>
1056 Font *
1057 Font Courier Standard "(1.05)" Standard ROM
1058 Font Symbol Special "(001.005)" Special ROM
1059 Font Barcode-Foo Special "(1.0)" Special Disk
1060 Font Unicode-Foo Expert "(2.0)" Adobe-Identity ROM
1061 </pre>
1062
1063 <h3>Description</h3>
1064
1065 <p>The <code>Font</code> directive defines a "device font" for the
1066 current printer driver. The name is the PostScript font
1067 name.</p>
1068
1069 <p>The encoding is the default encoding of the font, usually
1070 <code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as
1071 defined in the Adobe PPD file specification.</p>
1072
1073 <p>The version is the PostScript string definition that
1074 corresponds to the font version number.</p>
1075
1076 <p>The charset defines the available characters in the font,
1077 usually <code>Standard</code> or <code>Special</code>, as defined in the
1078 Adobe PPD file specification.</p>
1079
1080 <p>The status is the installation status of the font and must be
1081 either the word <code>ROM</code> or <code>Disk</code>.</p>
1082
1083 <p>Device fonts differ from fonts defined using the <a
1084 href='#_font'><code>#font</code></a> directive in that they are
1085 automatically associated with the current driver. Fonts defined
1086 using <code>#font</code> may be imported into the current driver
1087 using the <code>Font *</code> form of this directive.</p>
1088
1089 <h3>See Also</h3>
1090
1091 <p><a href='#_font'><code>#font</code></a></p>
1092
1093
1094 <h2 class="title"><a name='Group'>Group</a></h2>
1095
1096 <h3>Syntax</h3>
1097
1098 <pre>
1099 Group <i>name</i>
1100 Group <i>"name/text"</i>
1101 </pre>
1102
1103 <h3>Examples</h3>
1104
1105 <pre>
1106 Group General
1107 Group "InstallableOptions/Options Installed"
1108 Group "Special/Vendor Options"
1109 </pre>
1110
1111 <h3>Description</h3>
1112
1113 <p>The <code>Group</code> directive specifies the group for new
1114 <code>Option</code> directives. The name is any combination of
1115 letters, numbers, and the underscore and can be up to 40
1116 characters in length. The names <code>General</code> and
1117 <code>InstallableOptions</code> are predefined for the standard
1118 Adobe UI keywords and for installable options, respectively.</p>
1119
1120 <p>If provided, the text can be any string up to 40 characters
1121 in length. If no text is provided, the name is used.</p>
1122
1123 <center><table width='80%' border='1' bgcolor='#cccccc' cellpadding='5' cellspacing='0'>
1124 <tr>
1125 <td align='justify'><b>Note:</b>
1126
1127 <p>Because of certain API binary compatibility issues,
1128 CUPS limits the length of PPD group translation strings
1129 (text) to 40 characters, while the PPD specification
1130 allows for up to 80 characters.</p>
1131
1132 </td>
1133 </tr>
1134 </table></center>
1135
1136 <h3>See Also</h3>
1137
1138 <p><a href='#Choice'><code>Choice</code></a>,
1139 <a href='#ColorModel'><code>ColorModel</code></a>,
1140 <a href='#Cutter'><code>Cutter</code></a>,
1141 <a href='#Darkness'><code>Darkness</code></a>,
1142 <a href='#Duplex'><code>Duplex</code></a>,
1143 <a href='#Finishing'><code>Finishing</code></a>,
1144 <a href='#InputSlot'><code>InputSlot</code></a>,
1145 <a href='#Installable'><code>Installable</code></a>,
1146 <a href='#MediaType'><code>MediaType</code></a>,
1147 <a href='#Option'><code>Option</code></a>,
1148 <a href='#Resolution'><code>Resolution</code></a>,
1149 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1150
1151
1152 <h2 class="title"><a name='HWMargins'>HWMargins</a></h2>
1153
1154 <h3>Syntax</h3>
1155
1156 <pre>
1157 HWMargins <i>left bottom right top</i>
1158 </pre>
1159
1160 <h3>Examples</h3>
1161
1162 <pre>
1163 HWMargins 18 36 18 36
1164 HWMargins 0.25in 0.5in 0.25in 0.5in
1165 HWMargins 0.6cm 1.2cm 0.6cm 1.2cm
1166 </pre>
1167
1168 <h3>Description</h3>
1169
1170 <p>The <code>HWMargins</code> directive specifies the current
1171 margins for <a href='#MediaSize'><code>MediaSize</code></a> that
1172 follow. The left, bottom, right, and top margin values specify
1173 the printable margins.</p>
1174
1175 <h3>See Also</h3>
1176
1177 <p><a href='#MediaSize'><code>MediaSize</code></a></p>
1178
1179
1180 <h2 class="title"><a name='InputSlot'>InputSlot</a></h2>
1181
1182 <h3>Syntax</h3>
1183
1184 <pre>
1185 InputSlot <i>position name</i>
1186 InputSlot <i>position "name/text"</i>
1187 </pre>
1188
1189 <h3>Examples</h3>
1190
1191 <pre>
1192 InputSlot 0 Auto
1193 InputSlot 1 "Upper/Tray 1"
1194 </pre>
1195
1196 <h3>Description</h3>
1197
1198 <p>The <code>InputSlot</code> directive adds a new choice to the
1199 <code>InputSlot</code> option. The position argument is a number
1200 from 0 to 2<sup>32</sup>-1 specifying the value that is placed
1201 in the <code>MediaPosition</code> attribute in the PostScript page
1202 device dictionary.</p>
1203
1204 <p>The name is any combination of letters, numbers, and the
1205 underscore and can be up to 40 characters in length.</p>
1206
1207 <p>If provided, the text can be any string up to 80 characters
1208 in length. If no text is provided, the name is used.</p>
1209
1210 <h3>See Also</h3>
1211
1212 <p><a href='#Choice'><code>Choice</code></a>,
1213 <a href='#ColorModel'><code>ColorModel</code></a>,
1214 <a href='#Cutter'><code>Cutter</code></a>,
1215 <a href='#Darkness'><code>Darkness</code></a>,
1216 <a href='#Duplex'><code>Duplex</code></a>,
1217 <a href='#Finishing'><code>Finishing</code></a>,
1218 <a href='#Group'><code>Group</code></a>,
1219 <a href='#Installable'><code>Installable</code></a>,
1220 <a href='#MediaType'><code>MediaType</code></a>,
1221 <a href='#Option'><code>Option</code></a>,
1222 <a href='#Resolution'><code>Resolution</code></a>,
1223 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1224
1225
1226 <h2 class="title"><a name='Installable'>Installable</a></h2>
1227
1228 <h3>Syntax</h3>
1229
1230 <pre>
1231 Installable <i>name</i>
1232 Installable <i>"name/text"</i>
1233 </pre>
1234
1235 <h3>Examples</h3>
1236
1237 <pre>
1238 Installable EnvTray
1239 Installable "Option1/Duplexer Installed"
1240 </pre>
1241
1242 <h3>Description</h3>
1243
1244 <p>The <code>Installable</code> directive adds a new boolean option
1245 to the <code>InstallableOptions</code> group with a default value of
1246 <code>False</code>. The name is any combination of letters, numbers,
1247 and the underscore and can be up to 40 characters in length.</p>
1248
1249 <p>If provided, the text can be any string up to 80 characters
1250 in length. If no text is provided, the name is used.</p>
1251
1252
1253 <h2 class="title"><a name='LocAttribute'>LocAttribute</a></h2>
1254
1255 <h3>Syntax</h3>
1256
1257 <pre>
1258 LocAttribute <i>name "keyword/text" value</i>
1259 </pre>
1260
1261 <h3>Examples</h3>
1262
1263 <pre>
1264 LocAttribute fooProfile "Photo/Photographic Profile" "photopro.icc"
1265 </pre>
1266
1267 <h3>Description</h3>
1268
1269 <p>The <code>LocAttribute</code> directive creates a localized PPD
1270 attribute. The name is any combination of letters, numbers, and the
1271 underscore and can be up to 40 characters in length.</p>
1272
1273 <p>The selector can be the empty string (<code>""</code>), a keyword
1274 consisting of up to 40 letters, numbers, and the underscore, or
1275 a string composed of a keyword and user text of up to 80
1276 characters.</p>
1277
1278 <p>The value is any string or number; the string may contain
1279 multiple lines, however no one line may exceed 255
1280 characters.</p>
1281
1282 <h3>See Also</h3>
1283
1284 <p><a href="#Attribute"><code>Attribute</code></a></p>
1285
1286
1287 <h2 class="title"><a name='ManualCopies'>ManualCopies</a></h2>
1288
1289 <h3>Syntax</h3>
1290
1291 <pre>
1292 ManualCopies <i>boolean-value</i>
1293 </pre>
1294
1295 <h3>Examples</h3>
1296
1297 <pre>
1298 ManualCopies no
1299 ManualCopies yes
1300 </pre>
1301
1302 <h3>Description</h3>
1303
1304 <p>The <code>ManualCopies</code> directive specifies whether copies
1305 need to be produced by the RIP filters. The default is
1306 <code>no</code>.</p>
1307
1308 <h3>See Also</h3>
1309
1310 <p><a href='#Choice'><code>Choice</code></a>,
1311 <a href='#ColorModel'><code>ColorModel</code></a>,
1312 <a href='#Cutter'><code>Cutter</code></a>,
1313 <a href='#Darkness'><code>Darkness</code></a>,
1314 <a href='#Duplex'><code>Duplex</code></a>,
1315 <a href='#Finishing'><code>Finishing</code></a>,
1316 <a href='#Group'><code>Group</code></a>,
1317 <a href='#InputSlot'><code>InputSlot</code></a>,
1318 <a href='#MediaType'><code>MediaType</code></a>,
1319 <a href='#Option'><code>Option</code></a>,
1320 <a href='#Resolution'><code>Resolution</code></a>,
1321 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1322
1323
1324 <h2 class="title"><a name='Manufacturer'>Manufacturer</a></h2>
1325
1326 <h3>Syntax</h3>
1327
1328 <pre>
1329 Manufacturer <i>"name"</i>
1330 </pre>
1331
1332 <h3>Examples</h3>
1333
1334 <pre>
1335 Manufacturer "Foo"
1336 Manufacturer "HP"
1337 </pre>
1338
1339 <h3>Description</h3>
1340
1341 <p>The <code>Manufacturer</code> directive specifies the
1342 manufacturer name for the current driver. The name argument must
1343 conform to the manufacturer name requirements in the Adobe PPD
1344 file specification.</p>
1345
1346 <h3>See Also</h3>
1347
1348 <p><a href="#FileName"><code>FileName</code></a>,
1349 <a href='#ModelName'><code>ModelName</code></a>,
1350 <a href='#PCFileName'><code>PCFileName</code></a>,
1351 <a href='#Version'><code>Version</code></a></p>
1352
1353
1354 <h2 class="title"><a name='MaxSize'>MaxSize</a></h2>
1355
1356 <h3>Syntax</h3>
1357
1358 <pre>
1359 MaxSize <i>width length</i>
1360 </pre>
1361
1362 <h3>Examples</h3>
1363
1364 <pre>
1365 MaxSize 36in 100ft
1366 MaxSize 300cm 30m
1367 </pre>
1368
1369 <h3>Description</h3>
1370
1371 <p>The <code>MaxSize</code> directive specifies the maximum width
1372 and length that is supported for custom page sizes.</p>
1373
1374 <h3>See Also</h3>
1375
1376 <p><a href='#MinSize'><code>MinSize</code></a>,
1377 <a href='#VariablePaperSize'><code>VariablePaperSize</code></a></p>
1378
1379
1380 <h2 class="title"><a name='MediaSize'>MediaSize</a></h2>
1381
1382 <h3>Syntax</h3>
1383
1384 <pre>
1385 MediaSize <i>name</i>
1386 </pre>
1387
1388 <h3>Examples</h3>
1389
1390 <pre>
1391 MediaSize Letter
1392 MediaSize A4
1393 </pre>
1394
1395 <h3>Description</h3>
1396
1397 <p>The <code>MediaSize</code> directive adds the named size to the
1398 current printer driver using the current margins defined with
1399 the <a href="#HWMargins"><code>HWMargins</code></a> directive. The
1400 name argument must match a media size defined using the <a
1401 href="#_media"><code>#media</code></a> directive.</p>
1402
1403 <h3>See Also</h3>
1404
1405 <p><a href='#_media'><code>#media</code></a>,
1406 <a href='#HWMargins'><code>HWMargins</code></a></p>
1407
1408
1409 <h2 class="title"><a name='MediaType'>MediaType</a></h2>
1410
1411 <h3>Syntax</h3>
1412
1413 <pre>
1414 MediaType <i>type name</i>
1415 MediaType <i>type "name/text"</i>
1416 </pre>
1417
1418 <h3>Examples</h3>
1419
1420 <pre>
1421 MediaType 0 Auto
1422 MediaType 1 "Plain/Plain Paper"
1423 </pre>
1424
1425 <h3>Description</h3>
1426
1427 <p>The <code>MediaType</code> directive adds a new choice to the
1428 <code>MediaType</code> option. The type argument is a number
1429 from 0 to 2<sup>32</sup>-1 specifying the value that is placed
1430 in the <code>cupsMediaType</code> attribute in the PostScript page
1431 device dictionary.</p>
1432
1433 <p>The name is any combination of letters, numbers, and the
1434 underscore and can be up to 40 characters in length. The name is
1435 placed in the <code>MediaType</code> attribute in the PostScript
1436 page device dictionary.</p>
1437
1438 <p>If provided, the text can be any string up to 80 characters
1439 in length. If no text is provided, the name is used.</p>
1440
1441 <h3>See Also</h3>
1442
1443 <p><a href='#Choice'><code>Choice</code></a>,
1444 <a href='#ColorModel'><code>ColorModel</code></a>,
1445 <a href='#Cutter'><code>Cutter</code></a>,
1446 <a href='#Darkness'><code>Darkness</code></a>,
1447 <a href='#Duplex'><code>Duplex</code></a>,
1448 <a href='#Finishing'><code>Finishing</code></a>,
1449 <a href='#Group'><code>Group</code></a>,
1450 <a href='#InputSlot'><code>InputSlot</code></a>,
1451 <a href='#Installable'><code>Installable</code></a>,
1452 <a href='#Option'><code>Option</code></a>,
1453 <a href='#Resolution'><code>Resolution</code></a>,
1454 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1455
1456
1457 <h2 class="title"><a name='MinSize'>MinSize</a></h2>
1458
1459 <h3>Syntax</h3>
1460
1461 <pre>
1462 MinSize <i>width length</i>
1463 </pre>
1464
1465 <h3>Examples</h3>
1466
1467 <pre>
1468 MinSize 4in 8in
1469 MinSize 10cm 20cm
1470 </pre>
1471
1472 <h3>Description</h3>
1473
1474 <p>The <code>MinSize</code> directive specifies the minimum width
1475 and length that is supported for custom page sizes.</p>
1476
1477 <h3>See Also</h3>
1478
1479 <p><a href='#MaxSize'><code>MaxSize</code></a>,
1480 <a href='#VariablePaperSize'><code>VariablePaperSize</code></a></p>
1481
1482
1483 <h2 class="title"><a name='ModelName'>ModelName</a></h2>
1484
1485 <h3>Syntax</h3>
1486
1487 <pre>
1488 ModelName <i>"name"</i>
1489 </pre>
1490
1491 <h3>Examples</h3>
1492
1493 <pre>
1494 ModelName "Foo Laser Printer 2000"
1495 ModelName "Colorific 123"
1496 </pre>
1497
1498 <h3>Description</h3>
1499
1500 <p>The <code>ModelName</code> directive sets the printer name for
1501 the <code>ModelName</code>, <code>NickName</code>, and
1502 <code>ShortNickName</code> attributes for the printer driver. The
1503 name is any string of letters, numbers, spaces, and the
1504 characters ".", "/", "-", and "+" and should not begin with the
1505 manufacturer name since the PPD compiler will add this
1506 automatically for you. The maximum length of the name string is
1507 31 characters to conform to the Adobe limits on the length of
1508 <code>ShortNickName</code>.</p>
1509
1510 <h3>See Also</h3>
1511
1512 <p><a href="#FileName"><code>FileName</code></a>,
1513 <a href='#Manufacturer'><code>Manufacturer</code></a>,
1514 <a href='#PCFileName'><code>PCFileName</code></a>,
1515 <a href='#Version'><code>Version</code></a></p>
1516
1517
1518 <h2 class="title"><a name='ModelNumber'>ModelNumber</a></h2>
1519
1520 <h3>Syntax</h3>
1521
1522 <pre>
1523 ModelNumber <i>expression</i>
1524 </pre>
1525
1526 <h3>Examples</h3>
1527
1528 <pre>
1529 ModelNumber 123
1530 ModelNumber ($PCL_PAPER_SIZE $PCL_PJL)
1531 </pre>
1532
1533 <h3>Description</h3>
1534
1535 <p>The <code>ModelNumber</code> directive sets the
1536 <code>cupsModelNumber</code> attribute for the printer driver, which
1537 is often used by the printer driver filter to tailor its output
1538 for the current device. The number is any integer or bitwise OR
1539 of integers and constants that is appropriate for the printer
1540 driver filters.<p>
1541
1542 <p>A complete list of printer driver model number constants is
1543 available later in this appendix in the section titled, "<a
1544 href='#REF_MODEL_NUMBER'>Printer Driver ModelNumber
1545 Constants</a>".</p>
1546
1547 <h3>See Also</h3>
1548
1549 <p><a href='#DriverType'><code>DriverType</code></a>,
1550 <a href='#Filter'><code>Filter</code></a></p>
1551
1552
1553 <h2 class="title"><a name='Option'>Option</a></h2>
1554
1555 <h3>Syntax</h3>
1556
1557 <pre>
1558 Option <i>name type section order</i>
1559 Option <i>"name/text" type section order</i>
1560 </pre>
1561
1562 <h3>Examples</h3>
1563
1564 <pre>
1565 Option Punch Boolean AnySetup 10
1566 Option "fooFinish/Finishing Option" PickOne DocumentSetup 10
1567 </pre>
1568
1569 <h3>Description</h3>
1570
1571 <p>The <code>Option</code> directive creates a new option in the
1572 current group, by default the <code>General</code> group. The name
1573 is any combination of letters, numbers, and the underscore and
1574 can be up to 40 characters in length.</p>
1575
1576 <p>If provided, the text can be any string up to 80 characters
1577 in length. If no text is provided, the name is used.</p>
1578
1579 <p>The type argument is one of the following keywords:</p>
1580
1581 <ul>
1582
1583 <li><code>Boolean</code> - a true/false option</li>
1584
1585 <li><code>PickOne</code> - allows the user to pick one
1586 choice from a list</li>
1587
1588 <li><code>PickMany</code> - allows the user to pick zero or
1589 more choices from a list</li>
1590
1591 </ul>
1592
1593 <p>The section argument is one of the following keywords:</p>
1594
1595 <ul>
1596
1597 <li><code>AnySetup</code> - The option can be placed in
1598 either the DocumentSetup or PageSetup sections of the
1599 PostScript document</li>
1600
1601 <li><code>DocumentSetup</code> - The option must be placed
1602 in the DocumentSetup section of the PostScript document;
1603 this does not allow the option to be overridden on
1604 individual pages</li>
1605
1606 <li><code>ExitServer</code> - The option must be placed in a
1607 separate initialization job prior to the document (not
1608 used for raster printer drivers)</li>
1609
1610 <li><code>JCLSetup</code> - The option contains job control
1611 language commands and must be sent prior to the document
1612 using the <code>JCLBegin</code> and
1613 <code>JCLToPSInterpreter</code> attributes (not used for
1614 raster printer drivers)</li>
1615
1616 <li><code>PageSetup</code> - The option must be placed at the
1617 beginning of each page in the PostScript document</li>
1618
1619 <li><code>Prolog</code> - The option must be placed in the
1620 prolog section of the PostScript document; this is
1621 typically used to add special comments for high-end
1622 typesetters, but can also be used to add CUPS PostScript
1623 job ticket comments.</li>
1624
1625 </ul>
1626
1627 <p>The order argument is a real number greater than or equal to
1628 0.0 and is used to sort the printer commands from many options
1629 before sending them to the printer or RIP filter.</p>
1630
1631 <h3>See Also</h3>
1632
1633 <p><a href='#Choice'><code>Choice</code></a>,
1634 <a href='#ColorModel'><code>ColorModel</code></a>,
1635 <a href='#Cutter'><code>Cutter</code></a>,
1636 <a href='#Darkness'><code>Darkness</code></a>,
1637 <a href='#Duplex'><code>Duplex</code></a>,
1638 <a href='#Finishing'><code>Finishing</code></a>,
1639 <a href='#Group'><code>Group</code></a>,
1640 <a href='#InputSlot'><code>InputSlot</code></a>,
1641 <a href='#Installable'><code>Installable</code></a>,
1642 <a href='#MediaType'><code>MediaType</code></a>,
1643 <a href='#Resolution'><code>Resolution</code></a>,
1644 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1645
1646
1647 <h2 class="title"><a name='PCFileName'>PCFileName</a></h2>
1648
1649 <h3>Syntax</h3>
1650
1651 <pre>
1652 PCFileName <i>"filename.ppd"</i>
1653 </pre>
1654
1655 <h3>Examples</h3>
1656
1657 <pre>
1658 PCFileName "foljt2k1.ppd"
1659 PCFileName "deskjet.ppd"
1660 </pre>
1661
1662 <h3>Description</h3>
1663
1664 <p>The <code>PCFileName</code> attribute specifies the name of the
1665 PPD file for the current driver. The filename argument must
1666 conform to the Adobe PPD file specification and can be no more
1667 than 8 filename characters plus the extension ".ppd".</p>
1668
1669 <h3>See Also</h3>
1670
1671 <p><a href="#FileName"><code>FileName</code></a>,
1672 <a href='#Manufacturer'><code>Manufacturer</code></a>,
1673 <a href='#ModelName'><code>ModelName</code></a>,
1674 <a href='#Version'><code>Version</code></a></p>
1675
1676
1677 <h2 class="title"><span class="info">Deprecated</span><a name='Resolution'>Resolution</a></h2>
1678
1679 <h3>Syntax</h3>
1680
1681 <pre>
1682 Resolution <i>colorspace bits-per-color row-count row-feed row-step name</i>
1683 Resolution <i>colorspace bits-per-color row-count row-feed row-step "name/text"</i>
1684 </pre>
1685
1686 <h3>Examples</h3>
1687
1688 <pre>
1689 Resolution - 8 0 0 0 300dpi
1690 Resolution k 8 0 0 0 "600x300dpi/600 DPI Grayscale"
1691 </pre>
1692
1693 <h3>Description</h3>
1694
1695 <p>The <code>Resolution</code> directive creates a new
1696 <code>Resolution</code> option choice which sets the
1697 <code>HWResolution</code>, <code>cupsBitsPerColor</code>,
1698 <code>cupsRowCount</code>, <code>cupsRowFeed</code>,
1699 <code>cupsRowStep</code>, and optionally the <code>cupsColorSpace</code>
1700 page device dictionary attributes. The colorspace argument
1701 specifies a colorspace to use for the specified resolution and
1702 can be the hyphen (<code>-</code>) character to make no change to
1703 the selected color model or any keyword listed in the section
1704 titled, "<a href='#REF_COLOR_SPACE'>Colorspace Keywords</a>", to
1705 force the named colorspace.</p>
1706
1707 <p>The bits-per-color argument specifies the number of bits per
1708 color to generate when RIP'ing a job. The values 1, 2, 4, and 8
1709 are currently supported by CUPS.</p>
1710
1711 <p>The row-count, row-feed, and row-step argument specify the
1712 driver-dependent values for the <code>cupsRowCount</code>,
1713 <code>cupsRowFeed</code>, and <code>cupsRowStep</code> attributes,
1714 respectively. Most drivers leave these attributes set to 0, but
1715 any number from 0 to 2<sup>32</sup>-1 is allowed.</p>
1716
1717 <p>The name argument must conform to the resolution naming
1718 conventions in the Adobe PPD file specification, either
1719 <code>HHHdpi</code> for symmetric resolutions or <code>HHHxVVVdpi</code>
1720 for asymmetric resolutions. The <code>HHH</code> and <code>VVV</code> in
1721 the examples represent the horizontal and vertical resolutions
1722 which must be positive integer values.</p>
1723
1724 <p>If provided, the text can be any string up to 80 characters
1725 in length. If no text is provided, the name is used.</p>
1726
1727 <h3>See Also</h3>
1728
1729 <p><a href='#Choice'><code>Choice</code></a>,
1730 <a href='#ColorModel'><code>ColorModel</code></a>,
1731 <a href='#Cutter'><code>Cutter</code></a>,
1732 <a href='#Darkness'><code>Darkness</code></a>,
1733 <a href='#Duplex'><code>Duplex</code></a>,
1734 <a href='#Finishing'><code>Finishing</code></a>,
1735 <a href='#Group'><code>Group</code></a>,
1736 <a href='#InputSlot'><code>InputSlot</code></a>,
1737 <a href='#Installable'><code>Installable</code></a>,
1738 <a href='#MediaType'><code>MediaType</code></a>,
1739 <a href='#Option'><code>Option</code></a>,
1740 <a href='#UIConstraints'><code>UIConstraints</code></a></p>
1741
1742
1743 <h2 class="title"><span class="info">Deprecated</span><a name='SimpleColorProfile'>SimpleColorProfile</a></h2>
1744
1745 <h3>Syntax</h3>
1746
1747 <pre>
1748 SimpleColorProfile <i>resolution/mediatype density
1749 yellow-density red-density gamma
1750 red-adjust green-adjust blue-adjust</i>
1751 </pre>
1752
1753 <h3>Examples</h3>
1754
1755 <pre>
1756 SimpleColorProfile -/- 100 100 200 1.0 0 0 0
1757
1758 SimpleColorProfile 360dpi/- 100 95 150 1.2 5 10 15
1759
1760 SimpleColorProfile 720dpi/Glossy 100 90 120 1.5 -5 5 10
1761 </pre>
1762
1763 <h3>Description</h3>
1764
1765 <p>The <code>SimpleColorProfile</code> directive creates a
1766 matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>
1767 using values chosen with the <code>cupsprofile(1)</code> utility.
1768 The resolution and mediatype arguments specify the
1769 <code>Resolution</code> and <code>MediaType</code> choices which use the
1770 profile; the hyphen (<code>-</code>) is used to specify that any
1771 resolution or mediatype can be used with the profile.</p>
1772
1773 <p>The density argument specifies the linear density correction
1774 to apply to the color values (P = d * 0.01 * p<sup>g</sup>) and
1775 is an integer greater than 0 and less than or equal to 100. A
1776 value 100 of disables density correction while lower values
1777 produce proportionately lighter output. The density value
1778 adjusts all color channels equally in all color modes.</p>
1779
1780 <p>The yellow-density argument specifies the density of the
1781 yellow channel when printing in grayscale or RGB mode and is an
1782 integer greater than 0 and less then or equal to 100. A value of
1783 100 disables yellow density correction while lower values
1784 produce proportionately lighter output.</p>
1785
1786 <P>The red-density argument specifies the two-color density
1787 limit (e.g. C + M, C + Y, M + Y) when printing in grayscale or
1788 RGB mode and is an integer greater than 0 and less then or equal
1789 to 200. A value of 200 disables two-color density correction
1790 while lower values produce proportionately lighter output.</p>
1791
1792 <p>The gamma argument specifies the gamma correction to apply to
1793 the color values (P = p<sup>g</sup>) and is a real number
1794 greater than 0. Values larger than 1 cause a general lightening
1795 of the print while values smaller than 1 cause a general
1796 darkening of the print. A value of 1 disables gamma
1797 correction.</p>
1798
1799 <p>The red-adjust, green-adjust, blue-adjust arguments specify
1800 the percentage of color to add or remove. Positive red-adjust
1801 values add magenta and negative values add yellow. Positive
1802 green-adjust values add cyan and negative values add yellow.
1803 Positive blue-adjust values add cyan and negative values add
1804 magenta. Values of 0 disable color adjustments.</p>
1805
1806 <h3>See Also</h3>
1807
1808 <p><a href='#ColorProfile'><code>ColorProfile</code></a></p>
1809
1810
1811 <h2 class="title"><a name='Throughput'>Throughput</a></h2>
1812
1813 <h3>Syntax</h3>
1814
1815 <pre>
1816 Throughput <i>pages-per-minute</i>
1817 </pre>
1818
1819 <h3>Examples</h3>
1820
1821 <pre>
1822 Throughput 1
1823 Throughput 10
1824 </pre>
1825
1826 <h3>Description</h3>
1827
1828 <p>The <code>Througput</code> directive sets the <code>Troughput</code>
1829 attribute for the current printer driver. The pages-per-minute
1830 argument is a positive integer representing the peak number of
1831 pages per minute that the printer is capable of producing. Use a
1832 value of 1 for printers that produce less than 1 page per
1833 minute.</p>
1834
1835
1836 <h2 class="title"><a name='UIConstraints'>UIConstraints</a></h2>
1837
1838 <h3>Syntax</h3>
1839
1840 <pre>
1841 UIConstraints <i>"*Option1 *Option2"</i>
1842 UIConstraints <i>"*Option1 Choice1 *Option2"</i>
1843 UIConstraints <i>"*Option1 *Option2 Choice2"</i>
1844 UIConstraints <i>"*Option1 Choice1 *Option2 Choice2"</i>
1845 </pre>
1846
1847 <h3>Examples</h3>
1848
1849 <pre>
1850 UIConstraints "*Finishing *MediaType"
1851 UIConstraints "*Option1 False *Duplex"
1852 UIConstraints "*Duplex *MediaType Transparency"
1853 UIConstraints "*Resolution 600dpi *ColorModel RGB"
1854 </pre>
1855
1856 <h3>Description</h3>
1857
1858 <p>The <code>UIConstraints</code> directive adds a constraint
1859 between two options. Constraints inform the application when a
1860 user has chosen incompatible options. Each option name is
1861 preceded by the asterisk (<code>*</code>). If no choice is given for
1862 an option, then all choices <i>except</i> <code>False</code> and
1863 <code>None</code> will conflict with the other option and choice(s).
1864 Since the PPD compiler automatically adds reciprocal constraints
1865 (option A conflicts with option B, so therefore option B
1866 conflicts with option A), you need only specify the constraint
1867 once.</p>
1868
1869 <h3>See Also</h3>
1870
1871 <p><a href='#Choice'><code>Choice</code></a>,
1872 <a href='#ColorModel'><code>ColorModel</code></a>,
1873 <a href='#Cutter'><code>Cutter</code></a>,
1874 <a href='#Darkness'><code>Darkness</code></a>,
1875 <a href='#Duplex'><code>Duplex</code></a>,
1876 <a href='#Finishing'><code>Finishing</code></a>,
1877 <a href='#Group'><code>Group</code></a>,
1878 <a href='#InputSlot'><code>InputSlot</code></a>,
1879 <a href='#Installable'><code>Installable</code></a>,
1880 <a href='#MediaType'><code>MediaType</code></a>,
1881 <a href='#Option'><code>Option</code></a>,
1882 <a href='#Resolution'><code>Resolution</code></a></p>
1883
1884
1885 <h2 class="title"><a name='VariablePaperSize'>VariablePaperSize</a></h2>
1886
1887 <h3>Syntax</h3>
1888
1889 <pre>
1890 VariablePaperSize <i>boolean-value</i>
1891 </pre>
1892
1893 <h3>Examples</h3>
1894
1895 <pre>
1896 VariablePaperSize yes
1897 VariablePaperSize no
1898 </pre>
1899
1900 <h3>Description</h3>
1901
1902 <p>The <code>VariablePaperSize</code> directive specifies whether
1903 the current printer supports variable (custom) page sizes. When
1904 <code>yes</code> is specified, the PPD compiler will include the
1905 standard PPD attributes required to support custom page
1906 sizes.</p>
1907
1908 <h3>See Also</h3>
1909
1910 <p><a href='#MaxSize'><code>MaxSize</code></a>,
1911 <a href='#MinSize'><code>MinSize</code></a></p>
1912
1913
1914 <h2 class="title"><a name='Version'>Version</a></h2>
1915
1916 <h3>Syntax</h3>
1917
1918 <pre>
1919 Version <i>number</i>
1920 </pre>
1921
1922 <h3>Examples</h3>
1923
1924 <pre>
1925 Version 1.0
1926 Version 3.7
1927 </pre>
1928
1929 <h3>Description</h3>
1930
1931 <p>The <code>Version</code> directive sets the <code>FileVersion</code>
1932 attribute in the PPD file and is also used for the
1933 <code>NickName</code> attribute. The number argument is a positive
1934 real number.</p>
1935
1936 <h3>See Also</h3>
1937
1938 <p><a href='#Manufacturer'><code>Manufacturer</code></a>,
1939 <a href='#ModelName'><code>ModelName</code></a>,
1940 <a href='#PCFileName'><code>PCFileName</code></a></p>
1941
1942
1943 <h2 class="title"><a name='REF_INCLUDE'>Standard Include Files</h2>
1944
1945 <p><a href='#TABLEB-1'>Table B-1</a> shows the standard include
1946 files which are provided with the DDK.</p>
1947
1948 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
1949 <caption align='bottom'><a name='TABLEB-1'><i>Table B-1,
1950 Standard Include Files</i></a></caption>
1951 <tr bgcolor='#cccccc'>
1952 <th>Include File</th>
1953 <th>Description</th>
1954 </tr>
1955 <tr>
1956 <td valign='top'><code>&lt;font.defs&gt;</code></td>
1957 <td align='justify' valign='top'>Defines all of the
1958 standard fonts which are included with ESP Ghostscript
1959 and the Apple PDF RIP.</td>
1960 </tr>
1961 <tr>
1962 <td valign='top'><code>&lt;epson.h&gt;</code></td>
1963 <td align='justify' valign='top'>Defines all of the
1964 CUPS ESC/P sample driver constants.</td>
1965 </tr>
1966 <tr>
1967 <td valign='top'><code>&lt;escp.h&gt;</code></td>
1968 <td align='justify' valign='top'>Defines all of the
1969 DDK ESC/P driver constants.</td>
1970 </tr>
1971 <tr>
1972 <td valign='top'><code>&lt;hp.h&gt;</code></td>
1973 <td align='justify' valign='top'>Defines all of the
1974 CUPS HP-PCL sample driver constants.</td>
1975 </tr>
1976 <tr>
1977 <td valign='top'><code>&lt;label.h&gt;</code></td>
1978 <td align='justify' valign='top'>Defines all of the
1979 CUPS label sample driver constants.</td>
1980 </tr>
1981 <tr>
1982 <td valign='top'><code>&lt;media.defs&gt;</code></td>
1983 <td align='justify' valign='top'>Defines all of the
1984 standard media sizes listed in Appendix B of the Adobe
1985 PostScript Printer Description File Format
1986 Specification.</td>
1987 </tr>
1988 <tr>
1989 <td valign='top'><code>&lt;pcl.h&gt;</code></td>
1990 <td align='justify' valign='top'>Defines all of the
1991 DDK HP-PCL driver constants.</td>
1992 </tr>
1993 <tr>
1994 <td valign='top'><code>&lt;raster.defs&gt;</code></td>
1995 <td align='justify' valign='top'>Defines all of the CUPS
1996 raster format constants.</td>
1997 </tr>
1998 </table></center>
1999
2000 <h2 class="title"><a name='REF_MODEL_NUMBER'>Printer Driver ModelNumber Constants</a></h2>
2001
2002 <p>The CUPS DDK and sample drivers use the
2003 <code>cupsModelNumber</code> attribute in the PPD file to tailor
2004 their output to the printer. The following sections describe the
2005 constants for each driver.</p>
2006
2007 <h3><a name='REF_MODEL_EPSON'>The CUPS ESC/P Sample Driver (epson)</a></h3>
2008
2009 <p>The <code>epson</code> driver supports Epson and Okidata
2010 dot-matrix, Epson Stylus Color, and Epson Stylus Photo printers.
2011 <a href='#TABLEB-2'>Table B-2</a> lists the constants for the <a
2012 href='#ModelNumber'><code>ModelNumber</code></a> directive.
2013 <code>ModelNumber</code> values should be inserted by referencing
2014 only one of these constants.</p>
2015
2016 <!-- NEED 20 -->
2017 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
2018 <caption align='bottom'><a name='TABLEB-2'><i>Table B-2, <code>epson</code> driver
2019 constants</i></a></caption>
2020 <tr bgcolor='#cccccc'>
2021 <th>Constant</th>
2022 <th>Description</th>
2023 </tr>
2024 <tr>
2025 <td valign='top'><code>EPSON_9PIN</code></td>
2026 <td align='justify' valign='top'>Epson and Okidata 9-pin
2027 dot-matrix printers</td>
2028 </tr>
2029 <tr>
2030 <td valign='top'><code>EPSON_24PIN</code></td>
2031 <td align='justify' valign='top'>Epson and Okidata 24-pin
2032 dot-matrix printers</td>
2033 </tr>
2034 <tr>
2035 <td valign='top'><code>EPSON_COLOR</code></td>
2036 <td align='justify' valign='top'>Older Epson Stylus Color
2037 printers that use the <code>ESC .</code> graphics command</td>
2038 </tr>
2039 <tr>
2040 <td valign='top'><code>EPSON_PHOTO</code></td>
2041 <td align='justify' valign='top'>Older Epson Stylus Photo
2042 printers that use the <code>ESC .</code> graphics command</td>
2043 </tr>
2044 <tr>
2045 <td valign='top'><code>EPSON_ICOLOR</code></td>
2046 <td align='justify' valign='top'>Newer Epson Stylus Color
2047 printers that use the <code>ESC i</code> graphics command</td>
2048 </tr>
2049 <tr>
2050 <td valign='top'><code>EPSON_IPHOTO</code></td>
2051 <td align='justify' valign='top'>Newer Epson Stylus Photo
2052 printers that use the <code>ESC i</code> graphics command</td>
2053 </tr>
2054 </table></center>
2055
2056 <h3><a name='REF_MODEL_HP'>The CUPS HP-PCL Sample Driver (hp)</a></h3>
2057
2058 <p>The <code>hp</code> driver supports HP LaserJet and DeskJet
2059 printers. <a href='#TABLEB-3'>Table B-3</a> lists the constants
2060 for the <a href='#ModelNumber'><code>ModelNumber</code></a>
2061 directive. <code>ModelNumber</code> values should be inserted by
2062 referencing only one of these constants.</p>
2063
2064 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
2065 <caption align='bottom'><a name='TABLEB-3'><i>Table B-3, <code>hp</code> driver
2066 constants</i></a></caption>
2067 <tr bgcolor='#cccccc'>
2068 <th>Constant</th>
2069 <th>Description</th>
2070 </tr>
2071 <tr>
2072 <td valign='top'><code>HP_LASERJET</code></td>
2073 <td align='justify' valign='top'>HP LaserJet printers supporting
2074 PCL 3, 4, or 5</td>
2075 </tr>
2076 <tr>
2077 <td valign='top'><code>HP_DESKJET</code></td>
2078 <td align='justify' valign='top'>HP DeskJet printers
2079 supporting PCL 3 and using the simple color graphics
2080 command (<code>ESC * r # U</code>)</td>
2081 </tr>
2082 <tr>
2083 <td valign='top'><code>HP_DESKJET2</code></td>
2084 <td align='justify' valign='top'>HP DeskJet printers
2085 supporting PCL3GUI and using the configure raster graphics
2086 command (<code>ESC * g # W</code>)</td>
2087 </tr>
2088 </table></center>
2089
2090 <h3><a name='REF_MODEL_LABEL'>The CUPS Label Sample Driver (label)</a></h3>
2091
2092 <p>The <code>label</code> driver supports the Dymo Labelwriter, Zebra CPCL, Zebra EPL, and Zebra ZPL, and Intellitech PCL label printers. <a href='#TABLEB-4'>Table B-4</a>
2093 lists the constants for the <a
2094 href='#ModelNumber'><code>ModelNumber</code></a> directive.
2095 <code>ModelNumber</code> values should be inserted by referencing
2096 only one of these constants.</p>
2097
2098 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
2099 <caption align='bottom'><a name='TABLEB-4'><i>Table B-4, <code>label</code> driver
2100 constants</i></a></caption>
2101 <tr bgcolor='#cccccc'>
2102 <th>Constant</th>
2103 <th>Description</th>
2104 </tr>
2105 <tr>
2106 <td valign='top'><code>DYMO_3x0</code></td>
2107 <td align='justify' valign='top'>Format output for the
2108 Dymo Labelwriter 300, 330, or 330 Turbo.</td>
2109 </tr>
2110 <tr>
2111 <td valign='top'><code>INTELLITECH_PCL</code></td>
2112 <td align='justify' valign='top'>Format output for the Intellitech PCL printers.</td>
2113 </tr>
2114 <tr>
2115 <td valign='top'><code>ZEBRA_CPCL</code></td>
2116 <td align='justify' valign='top'>Format output for the Zebra CPCL printers.</td>
2117 </tr>
2118 <tr>
2119 <td valign='top'><code>ZEBRA_EPL_LINE</code></td>
2120 <td align='justify' valign='top'>Format output for the Zebra EPL line mode (EPL 1) printers.</td>
2121 </tr>
2122 <tr>
2123 <td valign='top'><code>ZEBRA_EPL_PAGE</code></td>
2124 <td align='justify' valign='top'>Format output for the Zebra EPL page mode (EPL 2) printers.</td>
2125 </tr>
2126 <tr>
2127 <td valign='top'><code>ZEBRA_ZPL</code></td>
2128 <td align='justify' valign='top'>Format output for the Zebra ZPL printers.</td>
2129 </tr>
2130 </table></center>
2131
2132 <h3><a name='REF_MODEL_ESCP'>The DDK ESC/P Driver (escp)</a></h3>
2133
2134 <p>The <code>escp</code> driver supports all Epson inkjet printers.
2135 <a href='#TABLEB-6'>Table B-6</a> lists the constants for the <a
2136 href='#ModelNumber'><code>ModelNumber</code></a> directive.
2137 <code>ModelNumber</code> values should be specified as the bitwise
2138 OR of one or more of these constants.</p>
2139
2140 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
2141 <caption align='bottom'><a name='TABLEB-6'><i>Table B-6, <code>escp</code> driver
2142 constants</i></a></caption>
2143 <tr bgcolor='#cccccc'>
2144 <th>Constant</th>
2145 <th>Description</th>
2146 </tr>
2147 <tr>
2148 <td valign='top'><code>ESCP_MICROWEAVE</code></td>
2149 <td align='justify' valign='top'>Use microweave command?</td>
2150 </tr>
2151 <tr>
2152 <td valign='top'><code>ESCP_STAGGER</code></td>
2153 <td align='justify' valign='top'>Are color jets staggered?</td>
2154 </tr>
2155 <tr>
2156 <td valign='top'><code>ESCP_ESCK</code></td>
2157 <td align='justify' valign='top'>Use print mode command?</td>
2158 </tr>
2159 <tr>
2160 <td valign='top'><code>ESCP_EXT_UNITS</code></td>
2161 <td align='justify' valign='top'>Use extended unit commands?</td>
2162 </tr>
2163 <tr>
2164 <td valign='top'><code>ESCP_EXT_MARGINS</code></td>
2165 <td align='justify' valign='top'>Use extended margin command?</td>
2166 </tr>
2167 <tr>
2168 <td valign='top'><code>ESCP_USB</code></td>
2169 <td align='justify' valign='top'>Send USB packet mode escape</td>
2170 </tr>
2171 <tr>
2172 <td valign='top'><code>ESCP_PAGE_SIZE</code></td>
2173 <td align='justify' valign='top'>Use page size command</td>
2174 </tr>
2175 <tr>
2176 <td valign='top'><code>ESCP_RASTER_ESCI</code></td>
2177 <td align='justify' valign='top'>Use <code>ESC i</code> graphics command</td>
2178 </tr>
2179 <tr>
2180 <td valign='top'><code>ESCP_REMOTE</code></td>
2181 <td align='justify' valign='top'>Use remote mode commands</td>
2182 </tr>
2183 <tr>
2184 <td valign='top'><code>ESCP_REMOTE_AC</code></td>
2185 <td align='justify' valign='top'>Use auto-cutter command</td>
2186 </tr>
2187 <tr>
2188 <td valign='top'><code>ESCP_REMOTE_CO</code></td>
2189 <td align='justify' valign='top'>Use cutter-operation command</td>
2190 </tr>
2191 <tr>
2192 <td valign='top'><code>ESCP_REMOTE_EX</code></td>
2193 <td align='justify' valign='top'>Use media-position command</td>
2194 </tr>
2195 <tr>
2196 <td valign='top'><code>ESCP_REMOTE_MS</code></td>
2197 <td align='justify' valign='top'>Use media-size command</td>
2198 </tr>
2199 <tr>
2200 <td valign='top'><code>ESCP_REMOTE_MT</code></td>
2201 <td align='justify' valign='top'>Use media-type command</td>
2202 </tr>
2203 <tr>
2204 <td valign='top'><code>ESCP_REMOTE_PC</code></td>
2205 <td align='justify' valign='top'>Use paper-check command</td>
2206 </tr>
2207 <tr>
2208 <td valign='top'><code>ESCP_REMOTE_PH</code></td>
2209 <td align='justify' valign='top'>Use paper-thickness command</td>
2210 </tr>
2211 <tr>
2212 <td valign='top'><code>ESCP_REMOTE_PP</code></td>
2213 <td align='justify' valign='top'>Use paper-path command</td>
2214 </tr>
2215 <tr>
2216 <td valign='top'><code>ESCP_REMOTE_SN0</code></td>
2217 <td align='justify' valign='top'>Use feed-sequence-0 command</td>
2218 </tr>
2219 <tr>
2220 <td valign='top'><code>ESCP_REMOTE_SN1</code></td>
2221 <td align='justify' valign='top'>Use platten-gap command</td>
2222 </tr>
2223 <tr>
2224 <td valign='top'><code>ESCP_REMOTE_SN2</code></td>
2225 <td align='justify' valign='top'>Use feed-sequence-2 command</td>
2226 </tr>
2227 <tr>
2228 <td valign='top'><code>ESCP_REMOTE_SN6</code></td>
2229 <td align='justify' valign='top'>Use eject-delay command</td>
2230 </tr>
2231 <tr>
2232 <td valign='top'><code>ESCP_REMOTE_FP</code></td>
2233 <td align='justify' valign='top'>Use print-position command</td>
2234 </tr>
2235 </table></center>
2236
2237 <h3><a name='REF_MODEL_PCL'>The DDK HP-PCL Driver (pcl)</a></h3>
2238
2239 <p>The <code>pcl</code> driver supports all HP LaserJet, DeskJet,
2240 and DesignJet printers. <a href='#TABLEB-5'>Table B-5</a> lists
2241 the constants for the <a
2242 href='#ModelNumber'><code>ModelNumber</code></a> directive.
2243 <code>ModelNumber</code> values should be specified as the bitwise
2244 OR of one or more of these constants.</p>
2245
2246 <center><table border='1' cellpadding='5' cellspacing='0' width='80%'>
2247 <caption align='bottom'><a name='TABLEB-5'><i>Table B-5, <code>pcl</code> driver
2248 constants</i></a></caption>
2249 <tr bgcolor='#cccccc'>
2250 <th>Constant</th>
2251 <th>Description</th>
2252 </tr>
2253 <tr>
2254 <td valign='top'><code>PCL_PAPER_SIZE</code></td>
2255 <td align='justify' valign='top'>Use paper size command (<code>ESC &amp; l # A</code>)</td>
2256 </tr>
2257 <tr>
2258 <td valign='top'><code>PCL_INKJET</code></td>
2259 <td align='justify' valign='top'>Use inkjet commands</td>
2260 </tr>
2261 <tr>
2262 <td valign='top'><code>PCL_RASTER_END_COLOR</code></td>
2263 <td align='justify' valign='top'>Use new end-raster command (<code>ESC * r C</code>)</td>
2264 </tr>
2265 <tr>
2266 <td valign='top'><code>PCL_RASTER_CID</code></td>
2267 <td align='justify' valign='top'>Use configure-image-data command (<code>ESC * v # W</code>)</td>
2268 </tr>
2269 <tr>
2270 <td valign='top'><code>PCL_RASTER_CRD</code></td>
2271 <td align='justify' valign='top'>Use configure-raster-data command (<code>ESC * g # W</code>)</td>
2272 </tr>
2273 <tr>
2274 <td valign='top'><code>PCL_RASTER_SIMPLE</code></td>
2275 <td align='justify' valign='top'>Use simple-raster-color command (<code>ESC * r # U</code>)</td>
2276 </tr>
2277 <tr>
2278 <td valign='top'><code>PCL_RASTER_RGB24</code></td>
2279 <td align='justify' valign='top'>Use 24-bit RGB mode</td>
2280 </tr>
2281 <tr>
2282 <td valign='top'><code>PCL_PJL</code></td>
2283 <td align='justify' valign='top'>Use PJL commands</td>
2284 </tr>
2285 <tr>
2286 <td valign='top'><code>PCL_PJL_PAPERWIDTH</code></td>
2287 <td align='justify' valign='top'>Use PJL PAPERWIDTH/LENGTH commands</td>
2288 </tr>
2289 <tr>
2290 <td valign='top'><code>PCL_PJL_HPGL2</code></td>
2291 <td align='justify' valign='top'>Use PJL ENTER HPGL2 command</td>
2292 </tr>
2293 <tr>
2294 <td valign='top'><code>PCL_PJL_PCL3GUI</code></td>
2295 <td align='justify' valign='top'>Use PJL ENTER PCL3GUI command</td>
2296 </tr>
2297 <tr>
2298 <td valign='top'><code>PCL_PJL_RESOLUTION</code></td>
2299 <td align='justify' valign='top'>Use PJL SET RESOLUTION command</td>
2300 </tr>
2301 </table></center>
2302
2303 <H2><A NAME="REF_COLOR">Color Keywords</A></H2>
2304
2305 <p>The PPD compiler defines two types of color keywords:
2306 colorspace and color order. The following sections list the
2307 supported keywords for each type.</p>
2308
2309 <H3><A NAME="REF_COLOR_SPACE">Colorspace Keywords</A></H3>
2310
2311 <P>The following colorspace keywords are recognized:</P>
2312
2313 <UL>
2314
2315 <LI><TT>cielab</TT> - CIE Lab <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2316
2317 <LI><TT>ciexyz</TT> - CIE XYZ <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2318
2319 <LI><TT>cmy</TT> - Cyan, magenta, yellow</LI>
2320
2321 <LI><TT>cmyk</TT> - Cyan, magenta, yellow, black</LI>
2322
2323 <LI><TT>gmck</TT> - Gold, magenta, yellow, black <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2324
2325 <LI><TT>gmcs</TT> - Gold, magenta, yellow, silver <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2326
2327 <LI><TT>gold</TT> - Gold foil <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2328
2329 <LI><TT>icc1</TT> - ICC-based, 1 color <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2330
2331 <LI><TT>icc2</TT> - ICC-based, 2 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2332
2333 <LI><TT>icc3</TT> - ICC-based, 3 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2334
2335 <LI><TT>icc4</TT> - ICC-based, 4 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2336
2337 <LI><TT>icc5</TT> - ICC-based, 5 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2338
2339 <LI><TT>icc6</TT> - ICC-based, 6 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2340
2341 <LI><TT>icc7</TT> - ICC-based, 7 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2342
2343 <LI><TT>icc8</TT> - ICC-based, 8 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2344
2345 <LI><TT>icc9</TT> - ICC-based, 9 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2346
2347 <LI><TT>icca</TT> - ICC-based, 10 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2348
2349 <LI><TT>iccb</TT> - ICC-based, 11 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2350
2351 <LI><TT>iccc</TT> - ICC-based, 12 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2352
2353 <LI><TT>iccd</TT> - ICC-based, 13 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2354
2355 <LI><TT>icce</TT> - ICC-based, 14 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2356
2357 <LI><TT>iccf</TT> - ICC-based, 15 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2358
2359 <LI><TT>k</TT> - Black</LI>
2360
2361 <LI><TT>kcmy</TT> - Black, cyan, magenta, yellow <A HREF="#REF_COLOR_APPLE">*</A></LI>
2362
2363 <LI><TT>kcmycm</TT> - Black, cyan, magenta, yellow, light-cyan, light-magenta <A HREF="#REF_COLOR_APPLE">*</A></LI>
2364
2365 <LI><TT>rgb</TT> - Red, green, blue</LI>
2366
2367 <LI><TT>rgba</TT> - Red, green, blue, alpha</LI>
2368
2369 <LI><TT>rgbw</TT> - Red, green, blue, luminance <A HREF="#REF_COLOR_APPLE">*</A></LI>
2370
2371 <LI><TT>silver</TT> - Silver foil <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2372
2373 <LI><TT>w</TT> - Luminance</LI>
2374
2375 <LI><TT>white</TT> - White ink (as black) <A HREF="#REF_COLOR_APPLE2">**</A></LI>
2376
2377 <LI><TT>ymc</TT> - Yellow, magenta, cyan <A HREF="#REF_COLOR_APPLE">*</A></LI>
2378
2379 <LI><TT>ymck</TT> - Yellow, magenta, cyan, black <A HREF="#REF_COLOR_APPLE">*</A>
2380
2381 <BR>&nbsp;
2382
2383 <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on Mac OS X prior to 10.4.
2384 <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on Mac OS X.</LI>
2385
2386 </UL>
2387
2388 <H3><A NAME="REF_COLOR_ORDER">Color Order Keywords</A></H3>
2389
2390 <P>The following color order keywords are recognized:</P>
2391
2392 <UL>
2393
2394 <LI><TT>chunked</TT> or <TT>chunky</TT> - Color values
2395 are passed together on a line as RGB RGB RGB RGB</LI>
2396
2397 <LI><TT>banded</TT> - Color values are passed separately
2398 on a line as RRRR GGGG BBBB <A
2399 HREF="#REF_COLOR_APPLE2">*</A></LI>
2400
2401 <LI><TT>planar</TT> - Color values are passed separately
2402 on a page as RRRR RRRR RRRR ... GGGG GGGG GGGG ... BBBB
2403 BBBB BBBB <A HREF="#REF_COLOR_APPLE2">*</A>
2404
2405 <BR>&nbsp;
2406
2407 <BR><A NAME="REF_COLOR_APPLE2">*</A> = This color order
2408 is not supported by the current Apple RIP filters and
2409 should not be used when developing printer drivers for
2410 Mac OS X.</LI>
2411
2412 </UL>
2413
2414 </BODY>
2415 </HTML>