]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/ref-ppdcfile.html
Merge changes from CUPS 1.4svn-r8628.
[thirdparty/cups.git] / doc / help / ref-ppdcfile.html
CommitLineData
bdd6c45b
MS
1<HTML>
2<!-- SECTION: References -->
3<HEAD>
4 <TITLE>PPD Compiler Driver Information File Reference</TITLE>
178cb736 5 <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
bdd6c45b
MS
6</HEAD>
7<BODY>
8
178cb736
MS
9<H1 CLASS="title">PPD Compiler Driver Information File Reference</H1>
10
bdd6c45b
MS
11<p>The CUPS PPD compiler reads meta files that contain descriptions
12of one or more PPD files to be generated by
13<a href="man-ppdc.html">ppdc(1)</a> or the corresponding driver interface
14program <a href="man-drv.html">drv(1)</a>. The source file format is plain
15ASCII 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
18zero or more values.</p>
19
20<p>Comments are supported using the C (/* ... */) and C++ (// ...) comment
21mechanisms.</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
74curley braces ({ ... }); PPD files are written when a close
75brace or end-of-file is seen and a <a href="#PCFileName">PCFileName</a>
76directive 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
97which can be later referenced using <code>$name</code>. The name is
98case-insensitive and can be any sequence of letters, numbers,
99and 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
129to be used conditionally. <code>#elif</code> directives must appear after a
130corresponding <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
162to be used conditionally when the corresponding
163<a href="#_if"><code>#if</code></a> and <a href="#_elif"><code>#elif</code></a>
164expressions 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
196information file. It must appear after all of the
197<a href="#_if"><code>#if</code></a>, <a href="#_elif"><code>#elif</code></a>,
198and <a href="#_else"><code>#else</code></a> directives for the current
199conditional 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
228printer 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
232defined in the Adobe PPD file specification.</p>
233
234<p>The version is the PostScript string definition that
235corresponds to the font version number.</p>
236
237<p>The charset defines the available characters in the font,
238usually <code>Standard</code> or <code>Special</code>, as defined in the
239Adobe PPD file specification.</p>
240
241<p>The status is the installation status of the font and must be
242either the word <code>ROM</code> or <code>Disk</code>.
243
244<p>Base fonts differ from fonts defined using the <a
245href='#Font'><code>Font</code></a> directive in that they are not
246automatically associated with all drivers - you must use the
247special <code>Font *</code> directive to include them in a
248driver.</p>
249
250<p>Currently the <code>#font</code> directive is used mainly for
251defining 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
283to be used conditionally. When followed by a name, the data that follows is
284used 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
313information file. If the filename is included inside angle
314brackets (<code>&lt;filename&gt;</code>), then the PPD compiler will
315look for the file in all of the include directories it knows
316about. Otherwise, the file is opened in the current directory
317relative to the current driver information file, and if that
318fails 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
321files as are allowed by the host operating system, typically at
322least 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
352inclusion in a driver. The name with optional user text defines
353the name for the media size and is used with the <a
354href='#MediaSize'><code>MediaSize</code></a> directive to associate
355the media size with the driver. The name may only contain
356letters, numbers, and the underscore and may not exceed 40
357characters in length. The user text, if supplied, may not exceed
35880 characters in length.</p>
359
360<p>The width and length define the dimensions of the media. Each
361number is optionally followed by one of the following unit
362suffixes:</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
407given POSIX language abbreviation. Multiple <code>#po</code> directives can be
408specified to list multiple catalogs. The filename can be an absolute path or
409relative to the driver information file. GNU gettext and Mac OS X .strings
410files are supported.</p>
411
412
413<h2 class="title"><a name='Attribute'>Attribute</a></h2>
414
415<h3>Syntax</h3>
416
417<pre>
418Attribute <i>name "" value</i>
419Attribute <i>name keyword value</i>
420Attribute <i>name "keyword/text" value</i>
421</pre>
422
423<h3>Examples</h3>
424
425<pre>
426Attribute cupsInkChannels "" 1
427Attribute cupsAllDither 600dpi "1.0"
428Attribute 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
434name is any combination of letters, numbers, and the underscore
435and can be up to 40 characters in length.</p>
436
437<p>The selector can be the empty string (<code>""</code>), a keyword
438consisting of up to 40 letters, numbers, and the underscore, or
439a string composed of a keyword and user text of up to 80
440characters.</p>
441
442<p>The value is any string or number; the string may contain
443multiple lines, however no one line may exceed 255
444characters.</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>
456Choice <i>name "code"</i>
457Choice <i>"name/text" "code"</i>
458</pre>
459
460<h3>Examples</h3>
461
462<pre>
463Choice None "&lt;&lt;/MediaType (None)&gt;&gt;setpagedevice"
464Choice "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
470current option. The name is any combination of letters, numbers,
471and 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
474in length. If no text is provided, the name is used.</p>
475
476<p>The code is any string and may contain multiple lines,
477however 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>
500ColorDevice <i>boolean-value</i>
501</pre>
502
503<h3>Examples</h3>
504
505<pre>
506ColorDevice no
507ColorDevice yes
508</pre>
509
510<h3>Description</h3>
511
512<p>The <code>ColorDevice</code> directive tells the application if
513the printer supports color. It is typically used in conjunction
514with the <a href='#ColorModel'><code>ColorModel</code></a> directive
515to 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>
527ColorModel <i>name colorspace colororder compression</i>
528ColorModel <i>"name/text" colorspace colororder compression</i>
529</pre>
530
531<h3>Examples</h3>
532
533<pre>
534ColorModel Gray/Grayscale w chunky 0
535ColorModel RGB/Color rgb chunky 0
536ColorModel CMYK cmyk chunky 0
537</pre>
538
539<h3>Description</h3>
540
541<p>The <code>ColorModel</code> directive is a convenience directive
542which creates a ColorModel option and choice for the current
543printer driver. The name is any combination of letters, numbers,
544and 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
547in length. If no text is provided, the name is used.</p>
548
549<p>The colorspace argument is one of the standard colorspace
550keywords 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
554keywords 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
559dictionary.</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>
583ColorProfile <i>resolution/mediatype gamma density matrix</i>
584</pre>
585
586<h3>Examples</h3>
587
588<pre>
589ColorProfile -/- 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
594ColorProfile 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
599ColorProfile 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
608transform-based color profile. The resolution and mediatype
609arguments specify the <code>Resolution</code> and <code>MediaType</code>
610choices which use the profile; the hyphen (<code>-</code>) is used to
611specify that any resolution or mediatype can be used with the
612profile.</p>
613
614<p>The gamma argument specifies the gamma correction to apply to
615the color values (P = p<sup>g</sup>) and is a real number
616greater than 0. Values larger than 1 cause a general lightening
617of the print while values smaller than 1 cause a general
618darkening of the print. A value of 1 disables gamma
619correction.</p>
620
621<p>The density argument specifies the linear density correction
622to apply to the color values (P = d * p<sup>g</sup>) and is a
623real number greater than 0 and less than or equal to 1. A value
6241 of disables density correction while lower values produce
625proportionately lighter output.</p>
626
627<p>The matrix argument specifies a 3x3 linear transformation
628matrix in row-major order. The matrix is applied only to the CMY
629component of a RGB to CMYK transformation and is not used when
630printing in grayscale or CMYK mode unless the printer only
631supports 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>
643Copyright <i>"text"</i>
644</pre>
645
646<h3>Examples</h3>
647
648<pre>
649Copyright "Copyright 2008 by Foo Enterprises"
650
651Copyright
652"This software is free software; you can redistribute it and/or
653modify it under the terms of the GNU General Public License as
654published by the Free Software Foundation; either version 2 of
655the License, or (at your option) any later version.
656
657This software is distributed in the hope that it will be useful,
658but WITHOUT ANY WARRANTY; without even the implied warranty of
659MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
660GNU General Public License for more details.
661
662You should have received a copy of the GNU General Public
663License along with this software; if not, write to the Free
664Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
665MA 02111 USA"
666</pre>
667
668<h3>Description</h3>
669
670<p>The <code>Copyright</code> directive adds text comments to the
671top of a PPD file, typically for use in copyright notices. The
672text argument can contain multiple lines of text, but no line
673may exceed 255 characters.</p>
674
675
676<h2 class="title"><a name='CustomMedia'>CustomMedia</a></h2>
677
678<h3>Syntax</h3>
679
680<pre>
681CustomMedia <i>name width length left bottom right top
682 "size-code" "region-code"</i>
683
684CustomMedia <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>
691CustomMedia 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
697CustomMedia "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
705the driver. The name is any combination of letters, numbers,
706and 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
709in length. If no text is provided, the name is used.</p>
710
711<p>The width and length arguments specify the dimensions of the
712media as defined for the <a href="#_media"><code>#media</code></a>
713directive.</p>
714
715<p>The left, bottom, right, and top arguments specify the
716printable margins of the media.</p>
717
718<p>The size-code and region-code arguments specify the
719PostScript commands to run for the <code>PageSize</code> and
720<code>PageRegion</code> options, respectively. The commands can
721contain multiple lines, however no line may be more than 255
722characters 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>
735Cutter <i>boolean-value</i>
736</pre>
737
738<h3>Examples</h3>
739
740<pre>
741Cutter yes
742Cutter no
743</pre>
744
745<h3>Description</h3>
746
747<p>The <code>Cutter</code> directive specifies whether the printer
748has a built-in media cutter. When a cutter is present, the
749printer's PPD file will contain a <code>CutMedia</code> option that
750allows the user to control whether the media is cut at the end
751of 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>
774Darkness <i>temperature name</i>
775Darkness <i>temperature "name/text"</i>
776</pre>
777
778<h3>Examples</h3>
779
780<pre>
781Darkness 0 Light
782Darkness 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
790dictionary. It is used with the CUPS <VAR>rastertolabel</VAR>
791sample driver to control the print head temperature and
792therefore the darkness of the print.</p>
793
794<p>The temperature argument specifies a temperature value for
795the Dymo driver from 0 (lowest) to 3 (highest), with 2
796representing the normal setting.</p>
797
798<p>The name is any combination of letters, numbers, and the
799underscore 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
802in 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>
825DriverType <i>type</i>
826</pre>
827
828<h3>Examples</h3>
829
830<pre>
831DriverType custom
832DriverType escp
833DriverType pcl
834DriverType ps
835</pre>
836
837<h3>Description</h3>
838
839<p>The <code>DriverType</code> directive tells the PPD compiler
840which DDK filters to include in the PPD file. The following
841types 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>
880Duplex <i>type</i>
881</pre>
882
883<h3>Examples</h3>
884
885<pre>
886Duplex none
887Duplex normal
888Duplex flip
61cf44e2
MS
889Duplex rotated
890Duplex manualtumble
bdd6c45b
MS
891</pre>
892
893<h3>Description</h3>
894
895<p>The <code>Duplex</code> directive determines whether double-sided printing
896is supported in the current driver. The type argument specifies the type
897of 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
61cf44e2
MS
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
bdd6c45b
MS
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>
942FileName <i>"filename"</i>
943</pre>
944
945<h3>Examples</h3>
946
947<pre>
948FileName "Acme Laser Printer 2000"
949FileName "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
955PPD 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>
970Filter <i>mime-type cost program</i>
971</pre>
972
973<h3>Examples</h3>
974
975<pre>
976Filter application/vnd.cups-raster 50 rastertofoo
977Filter 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
983driver. The mime-type argument is a valid MIME media type name
984as defined in a CUPS <var>mime.types</var> file.</p>
985
986<p>The cost argument specifies the relative cost of the filter.
987In general, use a number representing the average percentage of
988CPU time that is used when printing the specified MIME media
989type.</p>
990
991<p>The program argument specifies the program to run; if the
992program is not an absolute filename, then CUPS will look for the
993program 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>
1005Finishing <i>name</i>
1006Finishing <i>"name/text"</i>
1007</pre>
1008
1009<h3>Examples</h3>
1010
1011<pre>
1012Finishing None
1013Finishing "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
1020letters, numbers, and the underscore and can be up to 40
1021characters in length. The name is stored in the
1022<code>OutputType</code> attribute in the PostScript page device
1023dictionary.</p>
1024
1025<p>If provided, the text can be any string up to 80 characters
1026in 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>
1049Font <i>name encoding "version" charset status</i>
1050Font *
1051</pre>
1052
1053<h3>Examples</h3>
1054
1055<pre>
1056Font *
1057Font Courier Standard "(1.05)" Standard ROM
1058Font Symbol Special "(001.005)" Special ROM
1059Font Barcode-Foo Special "(1.0)" Special Disk
1060Font 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
1066current printer driver. The name is the PostScript font
1067name.</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
1071defined in the Adobe PPD file specification.</p>
1072
1073<p>The version is the PostScript string definition that
1074corresponds to the font version number.</p>
1075
1076<p>The charset defines the available characters in the font,
1077usually <code>Standard</code> or <code>Special</code>, as defined in the
1078Adobe PPD file specification.</p>
1079
1080<p>The status is the installation status of the font and must be
1081either the word <code>ROM</code> or <code>Disk</code>.</p>
1082
1083<p>Device fonts differ from fonts defined using the <a
1084href='#_font'><code>#font</code></a> directive in that they are
1085automatically associated with the current driver. Fonts defined
1086using <code>#font</code> may be imported into the current driver
1087using 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>
1099Group <i>name</i>
1100Group <i>"name/text"</i>
1101</pre>
1102
1103<h3>Examples</h3>
1104
1105<pre>
1106Group General
1107Group "InstallableOptions/Options Installed"
1108Group "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
1115letters, numbers, and the underscore and can be up to 40
1116characters in length. The names <code>General</code> and
1117<code>InstallableOptions</code> are predefined for the standard
1118Adobe UI keywords and for installable options, respectively.</p>
1119
1120<p>If provided, the text can be any string up to 40 characters
1121in 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>
1157HWMargins <i>left bottom right top</i>
1158</pre>
1159
1160<h3>Examples</h3>
1161
1162<pre>
1163HWMargins 18 36 18 36
1164HWMargins 0.25in 0.5in 0.25in 0.5in
1165HWMargins 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
1171margins for <a href='#MediaSize'><code>MediaSize</code></a> that
1172follow. The left, bottom, right, and top margin values specify
1173the 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>
1185InputSlot <i>position name</i>
1186InputSlot <i>position "name/text"</i>
1187</pre>
1188
1189<h3>Examples</h3>
1190
1191<pre>
1192InputSlot 0 Auto
1193InputSlot 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
1200from 0 to 2<sup>32</sup>-1 specifying the value that is placed
1201in the <code>MediaPosition</code> attribute in the PostScript page
1202device dictionary.</p>
1203
1204<p>The name is any combination of letters, numbers, and the
1205underscore 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
1208in 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>
1231Installable <i>name</i>
1232Installable <i>"name/text"</i>
1233</pre>
1234
1235<h3>Examples</h3>
1236
1237<pre>
1238Installable EnvTray
1239Installable "Option1/Duplexer Installed"
1240</pre>
1241
1242<h3>Description</h3>
1243
1244<p>The <code>Installable</code> directive adds a new boolean option
1245to the <code>InstallableOptions</code> group with a default value of
1246<code>False</code>. The name is any combination of letters, numbers,
1247and 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
1250in 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>
1258LocAttribute <i>name "keyword/text" value</i>
1259</pre>
1260
1261<h3>Examples</h3>
1262
1263<pre>
1264LocAttribute 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
1270attribute. The name is any combination of letters, numbers, and the
1271underscore and can be up to 40 characters in length.</p>
1272
1273<p>The selector can be the empty string (<code>""</code>), a keyword
1274consisting of up to 40 letters, numbers, and the underscore, or
1275a string composed of a keyword and user text of up to 80
1276characters.</p>
1277
1278<p>The value is any string or number; the string may contain
1279multiple lines, however no one line may exceed 255
1280characters.</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>
1292ManualCopies <i>boolean-value</i>
1293</pre>
1294
1295<h3>Examples</h3>
1296
1297<pre>
1298ManualCopies no
1299ManualCopies yes
1300</pre>
1301
1302<h3>Description</h3>
1303
1304<p>The <code>ManualCopies</code> directive specifies whether copies
1305need 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>
1329Manufacturer <i>"name"</i>
1330</pre>
1331
1332<h3>Examples</h3>
1333
1334<pre>
1335Manufacturer "Foo"
1336Manufacturer "HP"
1337</pre>
1338
1339<h3>Description</h3>
1340
1341<p>The <code>Manufacturer</code> directive specifies the
1342manufacturer name for the current driver. The name argument must
1343conform to the manufacturer name requirements in the Adobe PPD
1344file 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>
1359MaxSize <i>width length</i>
1360</pre>
1361
1362<h3>Examples</h3>
1363
1364<pre>
1365MaxSize 36in 100ft
1366MaxSize 300cm 30m
1367</pre>
1368
1369<h3>Description</h3>
1370
1371<p>The <code>MaxSize</code> directive specifies the maximum width
1372and 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>
1385MediaSize <i>name</i>
1386</pre>
1387
1388<h3>Examples</h3>
1389
1390<pre>
1391MediaSize Letter
1392MediaSize A4
1393</pre>
1394
1395<h3>Description</h3>
1396
1397<p>The <code>MediaSize</code> directive adds the named size to the
1398current printer driver using the current margins defined with
1399the <a href="#HWMargins"><code>HWMargins</code></a> directive. The
1400name argument must match a media size defined using the <a
1401href="#_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>
1414MediaType <i>type name</i>
1415MediaType <i>type "name/text"</i>
1416</pre>
1417
1418<h3>Examples</h3>
1419
1420<pre>
1421MediaType 0 Auto
1422MediaType 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
1429from 0 to 2<sup>32</sup>-1 specifying the value that is placed
1430in the <code>cupsMediaType</code> attribute in the PostScript page
1431device dictionary.</p>
1432
1433<p>The name is any combination of letters, numbers, and the
1434underscore and can be up to 40 characters in length. The name is
1435placed in the <code>MediaType</code> attribute in the PostScript
1436page device dictionary.</p>
1437
1438<p>If provided, the text can be any string up to 80 characters
1439in 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>
1462MinSize <i>width length</i>
1463</pre>
1464
1465<h3>Examples</h3>
1466
1467<pre>
1468MinSize 4in 8in
1469MinSize 10cm 20cm
1470</pre>
1471
1472<h3>Description</h3>
1473
1474<p>The <code>MinSize</code> directive specifies the minimum width
1475and 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>
1488ModelName <i>"name"</i>
1489</pre>
1490
1491<h3>Examples</h3>
1492
1493<pre>
1494ModelName "Foo Laser Printer 2000"
1495ModelName "Colorific 123"
1496</pre>
1497
1498<h3>Description</h3>
1499
1500<p>The <code>ModelName</code> directive sets the printer name for
1501the <code>ModelName</code>, <code>NickName</code>, and
1502<code>ShortNickName</code> attributes for the printer driver. The
1503name is any string of letters, numbers, spaces, and the
1504characters ".", "/", "-", and "+" and should not begin with the
1505manufacturer name since the PPD compiler will add this
1506automatically for you. The maximum length of the name string is
150731 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>
1523ModelNumber <i>expression</i>
1524</pre>
1525
1526<h3>Examples</h3>
1527
1528<pre>
1529ModelNumber 123
1530ModelNumber ($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
1537is often used by the printer driver filter to tailor its output
1538for the current device. The number is any integer or bitwise OR
1539of integers and constants that is appropriate for the printer
1540driver filters.<p>
1541
1542<p>A complete list of printer driver model number constants is
1543available later in this appendix in the section titled, "<a
1544href='#REF_MODEL_NUMBER'>Printer Driver ModelNumber
1545Constants</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>
1558Option <i>name type section order</i>
1559Option <i>"name/text" type section order</i>
1560</pre>
1561
1562<h3>Examples</h3>
1563
1564<pre>
1565Option Punch Boolean AnySetup 10
1566Option "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
1572current group, by default the <code>General</code> group. The name
1573is any combination of letters, numbers, and the underscore and
1574can be up to 40 characters in length.</p>
1575
1576<p>If provided, the text can be any string up to 80 characters
1577in 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
16280.0 and is used to sort the printer commands from many options
1629before 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>
1652PCFileName <i>"filename.ppd"</i>
1653</pre>
1654
1655<h3>Examples</h3>
1656
1657<pre>
1658PCFileName "foljt2k1.ppd"
1659PCFileName "deskjet.ppd"
1660</pre>
1661
1662<h3>Description</h3>
1663
1664<p>The <code>PCFileName</code> attribute specifies the name of the
1665PPD file for the current driver. The filename argument must
1666conform to the Adobe PPD file specification and can be no more
1667than 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>
1682Resolution <i>colorspace bits-per-color row-count row-feed row-step name</i>
1683Resolution <i>colorspace bits-per-color row-count row-feed row-step "name/text"</i>
1684</pre>
1685
1686<h3>Examples</h3>
1687
1688<pre>
1689Resolution - 8 0 0 0 300dpi
1690Resolution 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>
1700page device dictionary attributes. The colorspace argument
1701specifies a colorspace to use for the specified resolution and
1702can be the hyphen (<code>-</code>) character to make no change to
1703the selected color model or any keyword listed in the section
1704titled, "<a href='#REF_COLOR_SPACE'>Colorspace Keywords</a>", to
1705force the named colorspace.</p>
1706
1707<p>The bits-per-color argument specifies the number of bits per
1708color to generate when RIP'ing a job. The values 1, 2, 4, and 8
1709are currently supported by CUPS.</p>
1710
1711<p>The row-count, row-feed, and row-step argument specify the
1712driver-dependent values for the <code>cupsRowCount</code>,
1713<code>cupsRowFeed</code>, and <code>cupsRowStep</code> attributes,
1714respectively. Most drivers leave these attributes set to 0, but
1715any number from 0 to 2<sup>32</sup>-1 is allowed.</p>
1716
1717<p>The name argument must conform to the resolution naming
1718conventions in the Adobe PPD file specification, either
1719<code>HHHdpi</code> for symmetric resolutions or <code>HHHxVVVdpi</code>
1720for asymmetric resolutions. The <code>HHH</code> and <code>VVV</code> in
1721the examples represent the horizontal and vertical resolutions
1722which must be positive integer values.</p>
1723
1724<p>If provided, the text can be any string up to 80 characters
1725in 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>
1748SimpleColorProfile <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>
1756SimpleColorProfile -/- 100 100 200 1.0 0 0 0
1757
1758SimpleColorProfile 360dpi/- 100 95 150 1.2 5 10 15
1759
1760SimpleColorProfile 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
1766matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>
1767using values chosen with the <code>cupsprofile(1)</code> utility.
1768The resolution and mediatype arguments specify the
1769<code>Resolution</code> and <code>MediaType</code> choices which use the
1770profile; the hyphen (<code>-</code>) is used to specify that any
1771resolution or mediatype can be used with the profile.</p>
1772
1773<p>The density argument specifies the linear density correction
1774to apply to the color values (P = d * 0.01 * p<sup>g</sup>) and
1775is an integer greater than 0 and less than or equal to 100. A
1776value 100 of disables density correction while lower values
1777produce proportionately lighter output. The density value
1778adjusts all color channels equally in all color modes.</p>
1779
1780<p>The yellow-density argument specifies the density of the
1781yellow channel when printing in grayscale or RGB mode and is an
1782integer greater than 0 and less then or equal to 100. A value of
1783100 disables yellow density correction while lower values
1784produce proportionately lighter output.</p>
1785
1786<P>The red-density argument specifies the two-color density
1787limit (e.g. C + M, C + Y, M + Y) when printing in grayscale or
1788RGB mode and is an integer greater than 0 and less then or equal
1789to 200. A value of 200 disables two-color density correction
1790while lower values produce proportionately lighter output.</p>
1791
1792<p>The gamma argument specifies the gamma correction to apply to
1793the color values (P = p<sup>g</sup>) and is a real number
1794greater than 0. Values larger than 1 cause a general lightening
1795of the print while values smaller than 1 cause a general
1796darkening of the print. A value of 1 disables gamma
1797correction.</p>
1798
1799<p>The red-adjust, green-adjust, blue-adjust arguments specify
1800the percentage of color to add or remove. Positive red-adjust
1801values add magenta and negative values add yellow. Positive
1802green-adjust values add cyan and negative values add yellow.
1803Positive blue-adjust values add cyan and negative values add
1804magenta. 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>
1816Throughput <i>pages-per-minute</i>
1817</pre>
1818
1819<h3>Examples</h3>
1820
1821<pre>
1822Throughput 1
1823Throughput 10
1824</pre>
1825
1826<h3>Description</h3>
1827
1828<p>The <code>Througput</code> directive sets the <code>Troughput</code>
1829attribute for the current printer driver. The pages-per-minute
1830argument is a positive integer representing the peak number of
1831pages per minute that the printer is capable of producing. Use a
1832value of 1 for printers that produce less than 1 page per
1833minute.</p>
1834
1835
1836<h2 class="title"><a name='UIConstraints'>UIConstraints</a></h2>
1837
1838<h3>Syntax</h3>
1839
1840<pre>
1841UIConstraints <i>"*Option1 *Option2"</i>
1842UIConstraints <i>"*Option1 Choice1 *Option2"</i>
1843UIConstraints <i>"*Option1 *Option2 Choice2"</i>
1844UIConstraints <i>"*Option1 Choice1 *Option2 Choice2"</i>
1845</pre>
1846
1847<h3>Examples</h3>
1848
1849<pre>
1850UIConstraints "*Finishing *MediaType"
1851UIConstraints "*Option1 False *Duplex"
1852UIConstraints "*Duplex *MediaType Transparency"
1853UIConstraints "*Resolution 600dpi *ColorModel RGB"
1854</pre>
1855
1856<h3>Description</h3>
1857
1858<p>The <code>UIConstraints</code> directive adds a constraint
1859between two options. Constraints inform the application when a
1860user has chosen incompatible options. Each option name is
1861preceded by the asterisk (<code>*</code>). If no choice is given for
1862an option, then all choices <i>except</i> <code>False</code> and
1863<code>None</code> will conflict with the other option and choice(s).
1864Since the PPD compiler automatically adds reciprocal constraints
1865(option A conflicts with option B, so therefore option B
1866conflicts with option A), you need only specify the constraint
1867once.</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>
1890VariablePaperSize <i>boolean-value</i>
1891</pre>
1892
1893<h3>Examples</h3>
1894
1895<pre>
1896VariablePaperSize yes
1897VariablePaperSize no
1898</pre>
1899
1900<h3>Description</h3>
1901
1902<p>The <code>VariablePaperSize</code> directive specifies whether
1903the current printer supports variable (custom) page sizes. When
1904<code>yes</code> is specified, the PPD compiler will include the
1905standard PPD attributes required to support custom page
1906sizes.</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>
1919Version <i>number</i>
1920</pre>
1921
1922<h3>Examples</h3>
1923
1924<pre>
1925Version 1.0
1926Version 3.7
1927</pre>
1928
1929<h3>Description</h3>
1930
1931<p>The <code>Version</code> directive sets the <code>FileVersion</code>
1932attribute in the PPD file and is also used for the
1933<code>NickName</code> attribute. The number argument is a positive
1934real 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
1946files 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,
1950Standard 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
2004their output to the printer. The following sections describe the
2005constants 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
2010dot-matrix, Epson Stylus Color, and Epson Stylus Photo printers.
2011<a href='#TABLEB-2'>Table B-2</a> lists the constants for the <a
2012href='#ModelNumber'><code>ModelNumber</code></a> directive.
2013<code>ModelNumber</code> values should be inserted by referencing
2014only 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
2019constants</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
2059printers. <a href='#TABLEB-3'>Table B-3</a> lists the constants
2060for the <a href='#ModelNumber'><code>ModelNumber</code></a>
2061directive. <code>ModelNumber</code> values should be inserted by
2062referencing 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
2066constants</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>
2093lists the constants for the <a
2094href='#ModelNumber'><code>ModelNumber</code></a> directive.
2095<code>ModelNumber</code> values should be inserted by referencing
2096only 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
2100constants</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
2136href='#ModelNumber'><code>ModelNumber</code></a> directive.
2137<code>ModelNumber</code> values should be specified as the bitwise
2138OR 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
2142constants</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,
2240and DesignJet printers. <a href='#TABLEB-5'>Table B-5</a> lists
2241the constants for the <a
2242href='#ModelNumber'><code>ModelNumber</code></a> directive.
2243<code>ModelNumber</code> values should be specified as the bitwise
2244OR 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
2248constants</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:
2306colorspace and color order. The following sections list the
2307supported 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
28b9d139 2410 Mac OS X.</LI>
bdd6c45b
MS
2411
2412</UL>
2413
2414</BODY>
2415</HTML>