| <HTML> | |
| <!-- SECTION: References --> | |
| <HEAD> | |
| <TITLE>PPD Compiler Driver Information File Reference</TITLE> | |
| <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css"> | |
| </HEAD> | |
| <BODY> | |
| <H1 CLASS="title">PPD Compiler Driver Information File Reference</H1> | |
| <p>The CUPS PPD compiler reads meta files that contain descriptions | |
| of one or more PPD files to be generated by | |
| <a href="man-ppdc.html">ppdc(1)</a> or the corresponding driver interface | |
| program <a href="man-drv.html">drv(1)</a>. The source file format is plain | |
| ASCII text that can be edited using your favorite text editor.</p> | |
| <p>Directives may be placed anywhere on a line and are followed by | |
| zero or more values.</p> | |
| <p>Comments are supported using the C (/* ... */) and C++ (// ...) comment | |
| mechanisms.</p> | |
| <p>Directives that accept expressions look for sequences of the form:</p> | |
| <dl> | |
| <dt>NAME</dt> | |
| <dd>Evaluates to 1 if NAME is defined, otherwise 0.</dd> | |
| <dt>number</dt> | |
| <dd>Evaluates to the specified integer; the number can be preceded by | |
| a leading sign (+/-) followed by a decimal number (1234), octal number | |
| (01234), or hexadecimal number (0x1234) using the same rules as C and | |
| C++.</dd> | |
| <dt>(NAME NAME ... number number ...)</dt> | |
| <dd>Evaluates to the bitwise OR of each named #define constant or | |
| number.</dd> | |
| <dt>(NAME == OTHERNAME)</dt> | |
| <dt>(NAME == number)</dt> | |
| <dd>Evaluates to 1 if NAME is equal to the other named constant or | |
| number, otherwise 0.</dd> | |
| <dt>(NAME != OTHERNAME)</dt> | |
| <dt>(NAME != number)</dt> | |
| <dd>Evaluates to 1 if NAME is not equal to the other named constant or | |
| number, otherwise 0.</dd> | |
| <dt>(NAME < OTHERNAME)</dt> | |
| <dt>(NAME < number)</dt> | |
| <dd>Evaluates to 1 if NAME is less than to the other named constant or | |
| number, otherwise 0.</dd> | |
| <dt>(NAME <= OTHERNAME)</dt> | |
| <dt>(NAME <= number)</dt> | |
| <dd>Evaluates to 1 if NAME is less than or equal to the other named | |
| constant or number, otherwise 0.</dd> | |
| <dt>(NAME > OTHERNAME)</dt> | |
| <dt>(NAME > number)</dt> | |
| <dd>Evaluates to 1 if NAME is greater than to the other named constant | |
| or number, otherwise 0.</dd> | |
| <dt>(NAME >= OTHERNAME)</dt> | |
| <dt>(NAME >= number)</dt> | |
| <dd>Evaluates to 1 if NAME is greater than or equal to the other named | |
| constant or number, otherwise 0.</dd> | |
| </dl> | |
| <p>Printer driver information can be grouped and shared using | |
| curly braces ({ ... }); PPD files are written when a close | |
| brace or end-of-file is seen and a <a href="#PCFileName">PCFileName</a> | |
| directive has been defined.</p> | |
| <h2 class="title"><a name='_define'>#define</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #define <i>name expression</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #define FOO 100 | |
| #define BAR "Bar, Inc." | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#define</code> directive assigns a value to a name | |
| which can be later referenced using <code>$name</code>. The name is | |
| case-insensitive and can be any sequence of letters, numbers, | |
| and the underscore. The value can be any valid expression.</p> | |
| <h3>Predefined Names</h3> | |
| <p>The following <code>#define</code> names are set by the PPD compiler:</p> | |
| <ul> | |
| <li><code>CUPS_VERSION</code> - The full CUPS version string, e.g. | |
| "1.4.0"</li> | |
| <li><code>CUPS_VERSION_MAJOR</code> - The major version number, e.g. | |
| "1"</li> | |
| <li><code>CUPS_VERSION_MINOR</code> - The minor version number, e.g. | |
| "4"</li> | |
| <li><code>CUPS_VERSION_PATCH</code> - The patch version number, e.g. | |
| "0"</li> | |
| <li><code>PLATFORM_NAME</code> - The operating system name used by the | |
| current system as reported by "uname" ("Windows" on Microsoft | |
| Windows)</li> | |
| <li><code>PLATFORM_ARCH</code> - The processor architecture used by the | |
| current system as reported by "uname -m" ("X86" or "X64" on Microsoft | |
| Windows)</li> | |
| </ul> | |
| <h3>See Also</h3> | |
| <p><a href='#_include'><code>#include</code></a></p> | |
| <h2 class="title"><a name='_elif'>#elif</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #elif <i>expression</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #if HAVE_FOO | |
| ... | |
| #elif (HAVE_BAR >= 999) | |
| ... | |
| #else | |
| ... | |
| #endif | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#elif</code> directive allows portions of a driver information file | |
| to be used conditionally. <code>#elif</code> directives must appear after a | |
| corresponding <a href="#_if"><code>#if</code></a> directive.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_else'><code>#else</code></a>, | |
| <a href='#_endif'><code>#endif</code></a>, | |
| <a href='#_if'><code>#if</code></a></p> | |
| <h2 class="title"><a name='_else'>#else</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #else | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #if HAVE_FOO | |
| ... | |
| #elif (HAVE_BAR >= 999) | |
| ... | |
| #else | |
| ... | |
| #endif | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#else</code> directive allows portions of a driver information file | |
| to be used conditionally when the corresponding | |
| <a href="#_if"><code>#if</code></a> and <a href="#_elif"><code>#elif</code></a> | |
| expressions are non-zero.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_elif'><code>#elif</code></a>, | |
| <a href='#_endif'><code>#endif</code></a>, | |
| <a href='#_if'><code>#if</code></a></p> | |
| <h2 class="title"><a name='_endif'>#endif</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #endif | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #if HAVE_FOO | |
| ... | |
| #elif (HAVE_BAR >= 999) | |
| ... | |
| #else | |
| ... | |
| #endif | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#endif</code> directive ends a conditional block of a driver | |
| information file. It must appear after all of the | |
| <a href="#_if"><code>#if</code></a>, <a href="#_elif"><code>#elif</code></a>, | |
| and <a href="#_else"><code>#else</code></a> directives for the current | |
| conditional block.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_elif'><code>#elif</code></a>, | |
| <a href='#_else'><code>#else</code></a>, | |
| <a href='#_if'><code>#if</code></a></p> | |
| <h2 class="title"><a name='_font'>#font</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #font <i>name encoding "version" charset status</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #font Courier Standard "(1.05)" Standard ROM | |
| #font Symbol Special "(001.005)" Special ROM | |
| #font Barcode-Foo Special "(1.0)" Special Disk | |
| #font Unicode-Foo Expert "(2.0)" Adobe-Identity ROM | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#font</code> directive defines a "base font" for all | |
| printer drivers. The name is the PostScript font name.</p> | |
| <p>The encoding is the default encoding of the font, usually | |
| <code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as | |
| defined in the Adobe PPD file specification.</p> | |
| <p>The version is the PostScript string definition that | |
| corresponds to the font version number.</p> | |
| <p>The charset defines the available characters in the font, | |
| usually <code>Standard</code> or <code>Special</code>, as defined in the | |
| Adobe PPD file specification.</p> | |
| <p>The status is the installation status of the font and must be | |
| either the word <code>ROM</code> or <code>Disk</code>. | |
| <p>Base fonts differ from fonts defined using the <a | |
| href='#Font'><code>Font</code></a> directive in that they are not | |
| automatically associated with all drivers - you must use the | |
| special <code>Font *</code> directive to include them in a | |
| driver.</p> | |
| <p>Currently the <code>#font</code> directive is used mainly for | |
| defining the standard raster fonts in the | |
| <code><font.defs></code> include file.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_include'><code>#include</code></a>, | |
| <a href='#Font'><code>Font</code></a></p> | |
| <h2 class="title"><a name='_if'>#if</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #if <i>name or expression</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #if HAVE_FOO | |
| ... | |
| #elif (HAVE_BAR >= 999) | |
| ... | |
| #else | |
| ... | |
| #endif | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#if</code> directive allows portions of a driver information file | |
| to be used conditionally. When followed by a name, the data that follows is | |
| used only when the name is defined, otherwise the data is ignored. | |
| <code>#if</code> directives can be nested up to 100 times.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_elif'><code>#elif</code></a>, | |
| <a href='#_else'><code>#else</code></a>, | |
| <a href='#_endif'><code>#endif</code></a></p> | |
| <h2 class="title"><a name='_include'>#include</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #include <<i>filename</i>> | |
| #include "<i>filename</i>" | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #include <font.defs> | |
| #include "myfile.h" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#include</code> directive reads the named driver | |
| information file. If the filename is included inside angle | |
| brackets (<code><filename></code>), then the PPD compiler will | |
| look for the file in all of the include directories it knows | |
| about. Otherwise, the file is opened in the current directory | |
| relative to the current driver information file, and if that | |
| fails then it looks in the include directories for the file.</p> | |
| <p>The <code>#include</code> directive can be nested to as many | |
| files as are allowed by the host operating system, typically at | |
| least 100 files.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_define'><code>#define</code></a>, | |
| <a href='#_font'><code>#font</code></a>, | |
| <a href='#_media'><code>#media</code></a></p> | |
| <h2 class="title"><a name='_media'>#media</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #media <i>name width length</i> | |
| #media <i>"name/text" width length</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #media "Letter/Letter - 8.5x11in" 8.5in 11in | |
| #media "A4/A4 - 210x297mm" 210mm 297mm | |
| #media "w936h1368/Super B/A3 - 13x19in" 936 1368 | |
| #media Photo 4in 6in | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#media</code> directive defines a named media size for | |
| inclusion in a driver. The name with optional user text defines | |
| the name for the media size and is used with the <a | |
| href='#MediaSize'><code>MediaSize</code></a> directive to associate | |
| the media size with the driver. The name may contain up to 40 ASCII | |
| characters within the range of decimal 33 to decimal 126 inclusive, | |
| except for the characters comma (44), slash (47) and colon (58). | |
| The user text, if supplied, may not exceed 80 bytes in length.</p> | |
| <p>The width and length define the dimensions of the media. Each | |
| number is optionally followed by one of the following unit | |
| suffixes:</p> | |
| <ul> | |
| <li><code>cm</code> - centimeters</li> | |
| <li><code>ft</code> - feet</li> | |
| <li><code>in</code> - inches</li> | |
| <li><code>m</code> - meters</li> | |
| <li><code>mm</code> - millimeters</li> | |
| <li><code>pt</code> - points (72 points = 1 inch)</li> | |
| </ul> | |
| <p>Points are assumed if no units are specified. | |
| <h3>See Also</h3> | |
| <p><a href='#_include'><code>#include</code></a>, | |
| <a href='#CustomMedia'><code>CustomMedia</code></a>, | |
| <a href='#MediaSize'><code>MediaSize</code></a></p> | |
| <h2 class="title"><a name='_po'>#po</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| #po <i>locale filename</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| #po es "es.po" | |
| #po fr_CA "mydriver-fr_CA.po" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>#po</code> directive defines a message catalog to use for the | |
| given POSIX language abbreviation. Multiple <code>#po</code> directives can be | |
| specified to list multiple catalogs. The filename can be an absolute path or | |
| relative to the driver information file. GNU gettext and macOS .strings | |
| files are supported.</p> | |
| <h2 class="title"><a name='Attribute'>Attribute</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Attribute <i>name "" value</i> | |
| Attribute <i>name keyword value</i> | |
| Attribute <i>name "keyword/text" value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Attribute cupsInkChannels "" 1 | |
| Attribute cupsAllDither 600dpi "1.0" | |
| Attribute fooProfile "Photo/Photographic Profile" "photopro.icc" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Attribute</code> directive creates a PPD attribute. The | |
| name may contain up to 40 ASCII characters within the range of decimal | |
| 33 to decimal 126 inclusive, except for the characters comma (44), | |
| slash (47) and colon (58).</p> | |
| <p>The selector can be the empty string (<code>""</code>) or text of up | |
| to 80 bytes.</p> | |
| <p>The value is any string or number; the string may contain multiple | |
| lines, however no one line may exceed 255 bytes.</p> | |
| <h3>See Also</h3> | |
| <p><a href="#LocAttribute"><code>LocAttribute</code></a></p> | |
| <h2 class="title"><a name='Choice'>Choice</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Choice <i>name "code"</i> | |
| Choice <i>"name/text" "code"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Choice None "<</MediaType (None)>>setpagedevice" | |
| Choice "False/No" "<</cupsCompression 0>>setpagedevice" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Choice</code> directive adds a single choice to the | |
| current option. The name may contain up to 40 ASCII characters within | |
| the range of decimal 33 to decimal 126 inclusive, except for the | |
| characters comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes | |
| in length. If no text is provided, the name is used.</p> | |
| <p>The code is any string and may contain multiple lines, | |
| however no one line may exceed 255 bytes.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='ColorDevice'>ColorDevice</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ColorDevice <i>boolean-value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ColorDevice no | |
| ColorDevice yes | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ColorDevice</code> directive tells the application if | |
| the printer supports color. It is typically used in conjunction | |
| with the <a href='#ColorModel'><code>ColorModel</code></a> directive | |
| to provide color printing support.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#ColorModel'><code>ColorModel</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='ColorModel'>ColorModel</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ColorModel <i>name colorspace colororder compression</i> | |
| ColorModel <i>"name/text" colorspace colororder compression</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ColorModel Gray/Grayscale w chunky 0 | |
| ColorModel RGB/Color rgb chunky 0 | |
| ColorModel CMYK cmyk chunky 0 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ColorModel</code> directive is a convenience directive | |
| which creates a ColorModel option and choice for the current | |
| printer driver. The name may contain up to 40 ASCII characters within | |
| the range of decimal 33 to decimal 126 inclusive, except for the | |
| characters comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The colorspace argument is one of the standard colorspace | |
| keywords defined later in this appendix in the section titled, | |
| "<a href='#REF_COLOR_SPACE'>Colorspace Keywords</a>".</p> | |
| <P>The colororder argument is one of the standard color order | |
| keywords defined later in this appendix in the section titled, | |
| "<a href='#REF_COLOR_ORDER'>Color Order Keywords</a>".</p> | |
| <p>The compression argument is any number and is assigned to the | |
| <code>cupsCompression</code> attribute in the PostScript page device | |
| dictionary.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorDevice'><code>ColorDevice</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='ColorProfile'>ColorProfile</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ColorProfile <i>resolution/mediatype gamma density matrix</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ColorProfile -/- 1.7 1.0 | |
| 1.0 0.0 0.0 | |
| 0.0 1.0 0.0 | |
| 0.0 0.0 1.0 | |
| ColorProfile 360dpi/- 1.6 1.0 | |
| 1.0 -0.05 -0.3 | |
| -0.35 1.0 -0.15 | |
| -0.095 -0.238 0.95 | |
| ColorProfile 720dpi/Special 1.5 1.0 | |
| 1.0 0.0 -0.38 | |
| -0.4 1.0 0.0 | |
| 0.0 -0.38 0.9 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ColorProfile</code> directive defines a CMY | |
| transform-based color profile. The resolution and mediatype | |
| arguments specify the <code>Resolution</code> and <code>MediaType</code> | |
| choices which use the profile; the hyphen (<code>-</code>) is used to | |
| specify that any resolution or mediatype can be used with the | |
| profile.</p> | |
| <p>The gamma argument specifies the gamma correction to apply to | |
| the color values (P = p<sup>g</sup>) and is a real number | |
| greater than 0. Values larger than 1 cause a general lightening | |
| of the print while values smaller than 1 cause a general | |
| darkening of the print. A value of 1 disables gamma | |
| correction.</p> | |
| <p>The density argument specifies the linear density correction | |
| to apply to the color values (P = d * p<sup>g</sup>) and is a | |
| real number greater than 0 and less than or equal to 1. A value | |
| 1 of disables density correction while lower values produce | |
| proportionately lighter output.</p> | |
| <p>The matrix argument specifies a 3x3 linear transformation | |
| matrix in row-major order. The matrix is applied only to the CMY | |
| component of a RGB to CMYK transformation and is not used when | |
| printing in grayscale or CMYK mode unless the printer only | |
| supports printing with 3 colors.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#SimpleColorProfile'><code>SimpleColorProfile</code></a></p> | |
| <h2 class="title"><a name='Copyright'>Copyright</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Copyright <i>"text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Copyright "Copyright 2008 by Foo Enterprises" | |
| Copyright | |
| "This software is free software; you can redistribute it and/or | |
| modify it under the terms of the GNU General Public License as | |
| published by the Free Software Foundation; either version 2 of | |
| the License, or (at your option) any later version. | |
| This software is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU General Public License for more details. | |
| You should have received a copy of the GNU General Public | |
| License along with this software; if not, write to the Free | |
| Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
| MA 02111 USA" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Copyright</code> directive adds text comments to the | |
| top of a PPD file, typically for use in copyright notices. The | |
| text argument can contain multiple lines of text, but no line | |
| may exceed 255 bytes.</p> | |
| <h2 class="title"><a name='CustomMedia'>CustomMedia</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| CustomMedia <i>name width length left bottom right top | |
| "size-code" "region-code"</i> | |
| CustomMedia <i>"name/text" width length left bottom right top | |
| "size-code" "region-code"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| CustomMedia Letter 8.5in 11in 0.25in 0.46in 0.25in 0.04in | |
| "<</PageSize[612 792]/ImagingBBox null/ManualFeed false>> | |
| setpagedevice" | |
| "<</PageSize[612 792]/ImagingBBox null/ManualFeed true>> | |
| setpagedevice" | |
| CustomMedia "A4/A4 - 210x297mm" 210mm 297mm 12 12 12 12 | |
| "<</PageSize[595 842]/ImagingBBox null>>setpagedevice" | |
| "<</PageSize[595 842]/ImagingBBox null>>setpagedevice" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>CustomMedia</code> directive adds a custom media size to | |
| the driver. The name may contain up to 40 ASCII characters within the | |
| range of decimal 33 to decimal 126 inclusive, except for the characters | |
| comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The width and length arguments specify the dimensions of the | |
| media as defined for the <a href="#_media"><code>#media</code></a> | |
| directive.</p> | |
| <p>The left, bottom, right, and top arguments specify the | |
| printable margins of the media.</p> | |
| <p>The size-code and region-code arguments specify the | |
| PostScript commands to run for the <code>PageSize</code> and | |
| <code>PageRegion</code> options, respectively. The commands can | |
| contain multiple lines, however no line may be more than 255 | |
| bytes in length.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_media'><code>#media</code></a>, | |
| <a href='#MediaSize'><code>MediaSize</code></a></p> | |
| <h2 class="title"><a name='Cutter'>Cutter</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Cutter <i>boolean-value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Cutter yes | |
| Cutter no | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Cutter</code> directive specifies whether the printer | |
| has a built-in media cutter. When a cutter is present, the | |
| printer's PPD file will contain a <code>CutMedia</code> option that | |
| allows the user to control whether the media is cut at the end | |
| of the job.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='Darkness'>Darkness</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Darkness <i>temperature name</i> | |
| Darkness <i>temperature "name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Darkness 0 Light | |
| Darkness 2 "Normal/Standard" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Darkness</code> directive defines a choice for the | |
| <code>cupsDarkness</code> option which sets the | |
| <code>cupsCompression</code> attribute in the PostScript page device | |
| dictionary. It is used with the CUPS <VAR>rastertolabel</VAR> | |
| sample driver to control the print head temperature and | |
| therefore the darkness of the print.</p> | |
| <p>The temperature argument specifies a temperature value for | |
| the Dymo driver from 0 (lowest) to 3 (highest), with 2 | |
| representing the normal setting.</p> | |
| <p>The name may contain up to 40 ASCII characters within the range of | |
| decimal 33 to decimal 126 inclusive, except for the characters comma | |
| (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='DriverType'>DriverType</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| DriverType <i>type</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| DriverType custom | |
| DriverType escp | |
| DriverType pcl | |
| DriverType ps | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>DriverType</code> directive tells the PPD compiler | |
| which DDK filters to include in the PPD file. The following | |
| types are supported:</p> | |
| <ul> | |
| <li><code>custom</code> - Use only those filters that are | |
| defined in the driver information file</li> | |
| <li><code>epson</code> - Use the CUPS sample Epson driver filter | |
| <var>rastertoepson</var></li> | |
| <li><code>escp</code> - Use the ESC/P DDK driver filters | |
| <var>commandtoescpx</var> and | |
| <var>rastertoescpx</var></li> | |
| <li><code>hp</code> - Use the CUPS sample HP driver filter | |
| <var>rastertohp</var></li> | |
| <li><code>label</code> - Use the CUPS sample label driver filter <var>rastertolabel</var></li> | |
| <li><code>pcl</code> - Use the HP-PCL DDK driver filters | |
| <var>commandtopclx</var> and | |
| <var>rastertopclx</var></li> | |
| <li><code>ps</code> - Use no filters; this driver is for a | |
| standard PostScript device</li> | |
| </ul> | |
| <h3>See Also</h3> | |
| <p><a href='#Filter'><code>Filter</code></a>, | |
| <a href='#ModelNumber'><code>ModelNumber</code></a></p> | |
| <h2 class="title"><a name='Duplex'>Duplex</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Duplex <i>type</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Duplex none | |
| Duplex normal | |
| Duplex flip | |
| Duplex rotated | |
| Duplex manualtumble | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Duplex</code> directive determines whether double-sided printing | |
| is supported in the current driver. The type argument specifies the type | |
| of duplexing that is supported:</p> | |
| <ul> | |
| <li><code>none</code> - double-sided printing is not | |
| supported</li> | |
| <li><code>normal</code> - double-sided printing is | |
| supported</li> | |
| <li><code>flip</code> - double-sided printing is supported, | |
| but the back side image needs to be flipped vertically | |
| (used primarily with inkjet printers)</li> | |
| <li><code>rotated</code> - double-sided printing is supported, | |
| but the back side image needs to be rotated 180 degrees for | |
| DuplexNoTumble</li> | |
| <li><code>manualtumble</code> - double-sided printing is supported, | |
| but the back side image needs to be rotated 180 degrees for | |
| DuplexTumble</li> | |
| </ul> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='FileName'>FileName</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| FileName <i>"filename"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| FileName "Acme Laser Printer 2000" | |
| FileName "Acme Ink Waster 1000" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>FileName</code> attribute specifies the "long" name of the | |
| PPD file for the current driver.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Manufacturer'><code>Manufacturer</code></a>, | |
| <a href='#ModelName'><code>ModelName</code></a>, | |
| <a href="#PCFileName"><code>PCFileName</code></a>, | |
| <a href='#Version'><code>Version</code></a></p> | |
| <h2 class="title"><a name='Filter'>Filter</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Filter <i>mime-type cost program</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Filter application/vnd.cups-raster 50 rastertofoo | |
| Filter application/vnd.hp-HPGL 25 /usr/foo/filter/hpgltofoo | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Filter</code> directive adds a filter for the current | |
| driver. The mime-type argument is a valid MIME media type name | |
| as defined in a CUPS <var>mime.types</var> file.</p> | |
| <p>The cost argument specifies the relative cost of the filter. | |
| In general, use a number representing the average percentage of | |
| CPU time that is used when printing the specified MIME media | |
| type.</p> | |
| <p>The program argument specifies the program to run; if the | |
| program is not an absolute filename, then CUPS will look for the | |
| program in the CUPS filter directory.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#DriverType'><code>DriverType</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='Finishing'>Finishing</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Finishing <i>name</i> | |
| Finishing <i>"name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Finishing None | |
| Finishing "Glossy/Photo Overcoat" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Finishing</code> directive adds a choice to the | |
| <code>cupsFinishing</code> option. The name may contain up to 40 ASCII | |
| characters within the range of decimal 33 to decimal 126 inclusive, | |
| except for the characters comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The name is stored in the <code>OutputType</code> attribute in the | |
| PostScript page device dictionary.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='Font'>Font</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Font <i>name encoding "version" charset status</i> | |
| Font * | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Font * | |
| Font Courier Standard "(1.05)" Standard ROM | |
| Font Symbol Special "(001.005)" Special ROM | |
| Font Barcode-Foo Special "(1.0)" Special Disk | |
| Font Unicode-Foo Expert "(2.0)" Adobe-Identity ROM | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Font</code> directive defines a "device font" for the | |
| current printer driver. The name is the PostScript font name.</p> | |
| <p>The encoding is the default encoding of the font, usually | |
| <code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as | |
| defined in the Adobe PPD file specification.</p> | |
| <p>The version is the PostScript string definition that | |
| corresponds to the font version number.</p> | |
| <p>The charset defines the available characters in the font, | |
| usually <code>Standard</code> or <code>Special</code>, as defined in the | |
| Adobe PPD file specification.</p> | |
| <p>The status is the installation status of the font and must be | |
| either the word <code>ROM</code> or <code>Disk</code>.</p> | |
| <p>Device fonts differ from fonts defined using the <a | |
| href='#_font'><code>#font</code></a> directive in that they are | |
| automatically associated with the current driver. Fonts defined | |
| using <code>#font</code> may be imported into the current driver | |
| using the <code>Font *</code> form of this directive.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_font'><code>#font</code></a></p> | |
| <h2 class="title"><a name='Group'>Group</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Group <i>name</i> | |
| Group <i>"name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Group General | |
| Group "InstallableOptions/Options Installed" | |
| Group "Special/Vendor Options" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Group</code> directive specifies the group for new | |
| <code>Option</code> directives. The name may contain up to 40 ASCII | |
| characters within the range of decimal 33 to decimal 126 inclusive, | |
| except for the characters comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 40 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The names <code>General</code> and <code>InstallableOptions</code> | |
| are predefined for the standard Adobe UI keywords and for installable | |
| options, respectively.</p> | |
| <center><table width='80%' border='1' bgcolor='#cccccc' cellpadding='5' cellspacing='0'> | |
| <tr> | |
| <td align='justify'><b>Note:</b> | |
| <p>Because of certain API binary compatibility issues, | |
| CUPS limits the length of PPD group translation strings | |
| (text) to 40 bytes, while the PPD specification | |
| allows for up to 80 bytes.</p> | |
| </td> | |
| </tr> | |
| </table></center> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='HWMargins'>HWMargins</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| HWMargins <i>left bottom right top</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| HWMargins 18 36 18 36 | |
| HWMargins 0.25in 0.5in 0.25in 0.5in | |
| HWMargins 0.6cm 1.2cm 0.6cm 1.2cm | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>HWMargins</code> directive specifies the current | |
| margins for <a href='#MediaSize'><code>MediaSize</code></a> that | |
| follow. The left, bottom, right, and top margin values specify | |
| the printable margins.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#MediaSize'><code>MediaSize</code></a></p> | |
| <h2 class="title"><a name='InputSlot'>InputSlot</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| InputSlot <i>position name</i> | |
| InputSlot <i>position "name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| InputSlot 0 Auto | |
| InputSlot 1 "Upper/Tray 1" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>InputSlot</code> directive adds a new choice to the | |
| <code>InputSlot</code> option. The position argument is a number | |
| from 0 to 2<sup>32</sup>-1 specifying the value that is placed | |
| in the <code>MediaPosition</code> attribute in the PostScript page | |
| device dictionary.</p> | |
| <p>The name may contain up to 40 ASCII characters within the range of | |
| decimal 33 to decimal 126 inclusive, except for the characters comma | |
| (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='Installable'>Installable</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Installable <i>name</i> | |
| Installable <i>"name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Installable EnvTray | |
| Installable "Option1/Duplexer Installed" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Installable</code> directive adds a new boolean option | |
| to the <code>InstallableOptions</code> group with a default value of | |
| <code>False</code>. The name may contain up to 40 ASCII characters | |
| within the range of decimal 33 to decimal 126 inclusive, except for | |
| the characters comma (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <h2 class="title"><a name='LocAttribute'>LocAttribute</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| LocAttribute <i>name "keyword/text" value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| LocAttribute fooProfile "Photo/Photographic Profile" "photopro.icc" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>LocAttribute</code> directive creates a localized PPD | |
| attribute. The name may contain up to 40 ASCII characters within the | |
| range of decimal 33 to decimal 126 inclusive, except for the characters | |
| comma (44), slash (47) and colon (58).</p> | |
| <p>The selector can be the empty string (<code>""</code>) or text of up | |
| to 80 bytes.</p> | |
| <p>The value is any string or number; the string may contain multiple | |
| lines, however no one line may exceed 255 bytes.</p> | |
| <h3>See Also</h3> | |
| <p><a href="#Attribute"><code>Attribute</code></a></p> | |
| <h2 class="title"><a name='ManualCopies'>ManualCopies</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ManualCopies <i>boolean-value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ManualCopies no | |
| ManualCopies yes | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ManualCopies</code> directive specifies whether copies | |
| need to be produced by the RIP filters. The default is | |
| <code>no</code>.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='Manufacturer'>Manufacturer</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Manufacturer <i>"name"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Manufacturer "Foo" | |
| Manufacturer "HP" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Manufacturer</code> directive specifies the | |
| manufacturer name for the current driver. The name argument must | |
| conform to the manufacturer name requirements in the Adobe PPD | |
| file specification.</p> | |
| <h3>See Also</h3> | |
| <p><a href="#FileName"><code>FileName</code></a>, | |
| <a href='#ModelName'><code>ModelName</code></a>, | |
| <a href='#PCFileName'><code>PCFileName</code></a>, | |
| <a href='#Version'><code>Version</code></a></p> | |
| <h2 class="title"><a name='MaxSize'>MaxSize</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| MaxSize <i>width length</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| MaxSize 36in 100ft | |
| MaxSize 300cm 30m | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>MaxSize</code> directive specifies the maximum width | |
| and length that is supported for custom page sizes.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#MinSize'><code>MinSize</code></a>, | |
| <a href='#VariablePaperSize'><code>VariablePaperSize</code></a></p> | |
| <h2 class="title"><a name='MediaSize'>MediaSize</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| MediaSize <i>name</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| MediaSize Letter | |
| MediaSize A4 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>MediaSize</code> directive adds the named size to the | |
| current printer driver using the current margins defined with | |
| the <a href="#HWMargins"><code>HWMargins</code></a> directive. The | |
| name argument must match a media size defined using the <a | |
| href="#_media"><code>#media</code></a> directive.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#_media'><code>#media</code></a>, | |
| <a href='#HWMargins'><code>HWMargins</code></a></p> | |
| <h2 class="title"><a name='MediaType'>MediaType</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| MediaType <i>type name</i> | |
| MediaType <i>type "name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| MediaType 0 Auto | |
| MediaType 1 "Plain/Plain Paper" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>MediaType</code> directive adds a new choice to the | |
| <code>MediaType</code> option. The type argument is a number | |
| from 0 to 2<sup>32</sup>-1 specifying the value that is placed | |
| in the <code>cupsMediaType</code> attribute in the PostScript page | |
| device dictionary.</p> | |
| <p>The name may contain up to 40 ASCII characters within the range of | |
| decimal 33 to decimal 126 inclusive, except for the characters comma | |
| (44), slash (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The name is placed in the <code>MediaType</code> attribute in the | |
| PostScript page device dictionary.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='MinSize'>MinSize</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| MinSize <i>width length</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| MinSize 4in 8in | |
| MinSize 10cm 20cm | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>MinSize</code> directive specifies the minimum width | |
| and length that is supported for custom page sizes.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#MaxSize'><code>MaxSize</code></a>, | |
| <a href='#VariablePaperSize'><code>VariablePaperSize</code></a></p> | |
| <h2 class="title"><a name='ModelName'>ModelName</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ModelName <i>"name"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ModelName "Foo Laser Printer 2000" | |
| ModelName "Colorific 123" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ModelName</code> directive sets the printer name for | |
| the <code>ModelName</code>, <code>NickName</code>, and | |
| <code>ShortNickName</code> attributes for the printer driver. The | |
| name is any string of letters, numbers, spaces, and the | |
| characters ".", "/", "-", and "+" and should not begin with the | |
| manufacturer name since the PPD compiler will add this | |
| automatically for you. The maximum length of the name string is | |
| 31 bytes to conform to the Adobe limits on the length of | |
| <code>ShortNickName</code>.</p> | |
| <h3>See Also</h3> | |
| <p><a href="#FileName"><code>FileName</code></a>, | |
| <a href='#Manufacturer'><code>Manufacturer</code></a>, | |
| <a href='#PCFileName'><code>PCFileName</code></a>, | |
| <a href='#Version'><code>Version</code></a></p> | |
| <h2 class="title"><a name='ModelNumber'>ModelNumber</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| ModelNumber <i>expression</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| ModelNumber 123 | |
| ModelNumber ($PCL_PAPER_SIZE $PCL_PJL) | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>ModelNumber</code> directive sets the | |
| <code>cupsModelNumber</code> attribute for the printer driver, which | |
| is often used by the printer driver filter to tailor its output | |
| for the current device. The number is any integer or bitwise OR | |
| of integers and constants that is appropriate for the printer | |
| driver filters.<p> | |
| <p>A complete list of printer driver model number constants is | |
| available later in this appendix in the section titled, "<a | |
| href='#REF_MODEL_NUMBER'>Printer Driver ModelNumber | |
| Constants</a>".</p> | |
| <h3>See Also</h3> | |
| <p><a href='#DriverType'><code>DriverType</code></a>, | |
| <a href='#Filter'><code>Filter</code></a></p> | |
| <h2 class="title"><a name='Option'>Option</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Option <i>name type section order</i> | |
| Option <i>"name/text" type section order</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Option Punch Boolean AnySetup 10 | |
| Option "fooFinish/Finishing Option" PickOne DocumentSetup 10 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Option</code> directive creates a new option in the | |
| current group, by default the <code>General</code> group. The name | |
| may contain up to 40 ASCII characters within the range of decimal 33 | |
| to decimal 126 inclusive, except for the characters comma (44), slash | |
| (47) and colon (58).</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <p>The type argument is one of the following keywords:</p> | |
| <ul> | |
| <li><code>Boolean</code> - a true/false option</li> | |
| <li><code>PickOne</code> - allows the user to pick one | |
| choice from a list</li> | |
| <li><code>PickMany</code> - allows the user to pick zero or | |
| more choices from a list</li> | |
| </ul> | |
| <p>The section argument is one of the following keywords:</p> | |
| <ul> | |
| <li><code>AnySetup</code> - The option can be placed in | |
| either the DocumentSetup or PageSetup sections of the | |
| PostScript document</li> | |
| <li><code>DocumentSetup</code> - The option must be placed | |
| in the DocumentSetup section of the PostScript document; | |
| this does not allow the option to be overridden on | |
| individual pages</li> | |
| <li><code>ExitServer</code> - The option must be placed in a | |
| separate initialization job prior to the document (not | |
| used for raster printer drivers)</li> | |
| <li><code>JCLSetup</code> - The option contains job control | |
| language commands and must be sent prior to the document | |
| using the <code>JCLBegin</code> and | |
| <code>JCLToPSInterpreter</code> attributes (not used for | |
| raster printer drivers)</li> | |
| <li><code>PageSetup</code> - The option must be placed at the | |
| beginning of each page in the PostScript document</li> | |
| <li><code>Prolog</code> - The option must be placed in the | |
| prolog section of the PostScript document; this is | |
| typically used to add special comments for high-end | |
| typesetters, but can also be used to add CUPS PostScript | |
| job ticket comments.</li> | |
| </ul> | |
| <p>The order argument is a real number greater than or equal to | |
| 0.0 and is used to sort the printer commands from many options | |
| before sending them to the printer or RIP filter.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><a name='PCFileName'>PCFileName</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| PCFileName <i>"filename.ppd"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| PCFileName "foljt2k1.ppd" | |
| PCFileName "deskjet.ppd" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>PCFileName</code> attribute specifies the name of the | |
| PPD file for the current driver. The filename argument must | |
| conform to the Adobe PPD file specification and can be no more | |
| than 8 filename characters plus the extension ".ppd".</p> | |
| <h3>See Also</h3> | |
| <p><a href="#FileName"><code>FileName</code></a>, | |
| <a href='#Manufacturer'><code>Manufacturer</code></a>, | |
| <a href='#ModelName'><code>ModelName</code></a>, | |
| <a href='#Version'><code>Version</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='Resolution'>Resolution</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Resolution <i>colorspace bits-per-color row-count row-feed row-step name</i> | |
| Resolution <i>colorspace bits-per-color row-count row-feed row-step "name/text"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Resolution - 8 0 0 0 300dpi | |
| Resolution k 8 0 0 0 "600x300dpi/600 DPI Grayscale" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Resolution</code> directive creates a new | |
| <code>Resolution</code> option choice which sets the | |
| <code>HWResolution</code>, <code>cupsBitsPerColor</code>, | |
| <code>cupsRowCount</code>, <code>cupsRowFeed</code>, | |
| <code>cupsRowStep</code>, and optionally the <code>cupsColorSpace</code> | |
| page device dictionary attributes. The colorspace argument | |
| specifies a colorspace to use for the specified resolution and | |
| can be the hyphen (<code>-</code>) character to make no change to | |
| the selected color model or any keyword listed in the section | |
| titled, "<a href='#REF_COLOR_SPACE'>Colorspace Keywords</a>", to | |
| force the named colorspace.</p> | |
| <p>The bits-per-color argument specifies the number of bits per | |
| color to generate when RIP'ing a job. The values 1, 2, 4, and 8 | |
| are currently supported by CUPS.</p> | |
| <p>The row-count, row-feed, and row-step argument specify the | |
| driver-dependent values for the <code>cupsRowCount</code>, | |
| <code>cupsRowFeed</code>, and <code>cupsRowStep</code> attributes, | |
| respectively. Most drivers leave these attributes set to 0, but | |
| any number from 0 to 2<sup>32</sup>-1 is allowed.</p> | |
| <p>The name argument must conform to the resolution naming | |
| conventions in the Adobe PPD file specification, either | |
| <code>HHHdpi</code> for symmetric resolutions or <code>HHHxVVVdpi</code> | |
| for asymmetric resolutions. The <code>HHH</code> and <code>VVV</code> in | |
| the examples represent the horizontal and vertical resolutions | |
| which must be positive integer values.</p> | |
| <p>If provided, the text can be any string up to 80 bytes in length. | |
| If no text is provided, the name is used.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#UIConstraints'><code>UIConstraints</code></a></p> | |
| <h2 class="title"><span class="info">Deprecated</span><a name='SimpleColorProfile'>SimpleColorProfile</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| SimpleColorProfile <i>resolution/mediatype density | |
| yellow-density red-density gamma | |
| red-adjust green-adjust blue-adjust</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| SimpleColorProfile -/- 100 100 200 1.0 0 0 0 | |
| SimpleColorProfile 360dpi/- 100 95 150 1.2 5 10 15 | |
| SimpleColorProfile 720dpi/Glossy 100 90 120 1.5 -5 5 10 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>SimpleColorProfile</code> directive creates a | |
| matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>. | |
| The resolution and mediatype arguments specify the | |
| <code>Resolution</code> and <code>MediaType</code> choices which use the | |
| profile; the hyphen (<code>-</code>) is used to specify that any | |
| resolution or mediatype can be used with the profile.</p> | |
| <p>The density argument specifies the linear density correction | |
| to apply to the color values (P = d * 0.01 * p<sup>g</sup>) and | |
| is an integer greater than 0 and less than or equal to 100. A | |
| value 100 of disables density correction while lower values | |
| produce proportionately lighter output. The density value | |
| adjusts all color channels equally in all color modes.</p> | |
| <p>The yellow-density argument specifies the density of the | |
| yellow channel when printing in grayscale or RGB mode and is an | |
| integer greater than 0 and less then or equal to 100. A value of | |
| 100 disables yellow density correction while lower values | |
| produce proportionately lighter output.</p> | |
| <P>The red-density argument specifies the two-color density | |
| limit (e.g. C + M, C + Y, M + Y) when printing in grayscale or | |
| RGB mode and is an integer greater than 0 and less then or equal | |
| to 200. A value of 200 disables two-color density correction | |
| while lower values produce proportionately lighter output.</p> | |
| <p>The gamma argument specifies the gamma correction to apply to | |
| the color values (P = p<sup>g</sup>) and is a real number | |
| greater than 0. Values larger than 1 cause a general lightening | |
| of the print while values smaller than 1 cause a general | |
| darkening of the print. A value of 1 disables gamma | |
| correction.</p> | |
| <p>The red-adjust, green-adjust, blue-adjust arguments specify | |
| the percentage of color to add or remove. Positive red-adjust | |
| values add magenta and negative values add yellow. Positive | |
| green-adjust values add cyan and negative values add yellow. | |
| Positive blue-adjust values add cyan and negative values add | |
| magenta. Values of 0 disable color adjustments.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#ColorProfile'><code>ColorProfile</code></a></p> | |
| <h2 class="title"><a name='Throughput'>Throughput</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Throughput <i>pages-per-minute</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Throughput 1 | |
| Throughput 10 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Throughput</code> directive sets the <code>Throughput</code> | |
| attribute for the current printer driver. The pages-per-minute | |
| argument is a positive integer representing the peak number of | |
| pages per minute that the printer is capable of producing. Use a | |
| value of 1 for printers that produce less than 1 page per | |
| minute.</p> | |
| <h2 class="title"><a name='UIConstraints'>UIConstraints</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| UIConstraints <i>"*Option1 *Option2"</i> | |
| UIConstraints <i>"*Option1 Choice1 *Option2"</i> | |
| UIConstraints <i>"*Option1 *Option2 Choice2"</i> | |
| UIConstraints <i>"*Option1 Choice1 *Option2 Choice2"</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| UIConstraints "*Finishing *MediaType" | |
| UIConstraints "*Option1 False *Duplex" | |
| UIConstraints "*Duplex *MediaType Transparency" | |
| UIConstraints "*Resolution 600dpi *ColorModel RGB" | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>UIConstraints</code> directive adds a constraint | |
| between two options. Constraints inform the application when a | |
| user has chosen incompatible options. Each option name is | |
| preceded by the asterisk (<code>*</code>). If no choice is given for | |
| an option, then all choices <i>except</i> <code>False</code> and | |
| <code>None</code> will conflict with the other option and choice(s). | |
| Since the PPD compiler automatically adds reciprocal constraints | |
| (option A conflicts with option B, so therefore option B | |
| conflicts with option A), you need only specify the constraint | |
| once.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Choice'><code>Choice</code></a>, | |
| <a href='#ColorModel'><code>ColorModel</code></a>, | |
| <a href='#Cutter'><code>Cutter</code></a>, | |
| <a href='#Darkness'><code>Darkness</code></a>, | |
| <a href='#Duplex'><code>Duplex</code></a>, | |
| <a href='#Finishing'><code>Finishing</code></a>, | |
| <a href='#Group'><code>Group</code></a>, | |
| <a href='#InputSlot'><code>InputSlot</code></a>, | |
| <a href='#Installable'><code>Installable</code></a>, | |
| <a href='#MediaType'><code>MediaType</code></a>, | |
| <a href='#Option'><code>Option</code></a>, | |
| <a href='#Resolution'><code>Resolution</code></a></p> | |
| <h2 class="title"><a name='VariablePaperSize'>VariablePaperSize</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| VariablePaperSize <i>boolean-value</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| VariablePaperSize yes | |
| VariablePaperSize no | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>VariablePaperSize</code> directive specifies whether | |
| the current printer supports variable (custom) page sizes. When | |
| <code>yes</code> is specified, the PPD compiler will include the | |
| standard PPD attributes required to support custom page | |
| sizes.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#MaxSize'><code>MaxSize</code></a>, | |
| <a href='#MinSize'><code>MinSize</code></a></p> | |
| <h2 class="title"><a name='Version'>Version</a></h2> | |
| <h3>Syntax</h3> | |
| <pre> | |
| Version <i>number</i> | |
| </pre> | |
| <h3>Examples</h3> | |
| <pre> | |
| Version 1.0 | |
| Version 3.7 | |
| </pre> | |
| <h3>Description</h3> | |
| <p>The <code>Version</code> directive sets the <code>FileVersion</code> | |
| attribute in the PPD file and is also used for the | |
| <code>NickName</code> attribute. The number argument is a positive | |
| real number.</p> | |
| <h3>See Also</h3> | |
| <p><a href='#Manufacturer'><code>Manufacturer</code></a>, | |
| <a href='#ModelName'><code>ModelName</code></a>, | |
| <a href='#PCFileName'><code>PCFileName</code></a></p> | |
| <h2 class="title"><a name='REF_INCLUDE'>Standard Include Files</h2> | |
| <p><a href='#TABLEB-1'>Table B-1</a> shows the standard include | |
| files which are provided with the DDK.</p> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-1'><i>Table B-1, | |
| Standard Include Files</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Include File</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><font.defs></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| standard fonts which are included with ESP Ghostscript | |
| and the Apple PDF RIP.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><epson.h></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| CUPS ESC/P sample driver constants.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><escp.h></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| DDK ESC/P driver constants.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><hp.h></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| CUPS HP-PCL sample driver constants.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><label.h></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| CUPS label sample driver constants.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><media.defs></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| standard media sizes listed in Appendix B of the Adobe | |
| PostScript Printer Description File Format | |
| Specification.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><pcl.h></code></td> | |
| <td align='justify' valign='top'>Defines all of the | |
| DDK HP-PCL driver constants.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code><raster.defs></code></td> | |
| <td align='justify' valign='top'>Defines all of the CUPS | |
| raster format constants.</td> | |
| </tr> | |
| </table></center> | |
| <h2 class="title"><a name='REF_MODEL_NUMBER'>Printer Driver ModelNumber Constants</a></h2> | |
| <p>The CUPS DDK and sample drivers use the | |
| <code>cupsModelNumber</code> attribute in the PPD file to tailor | |
| their output to the printer. The following sections describe the | |
| constants for each driver.</p> | |
| <h3><a name='REF_MODEL_EPSON'>The CUPS ESC/P Sample Driver (epson)</a></h3> | |
| <p>The <code>epson</code> driver supports Epson and Okidata | |
| dot-matrix, Epson Stylus Color, and Epson Stylus Photo printers. | |
| <a href='#TABLEB-2'>Table B-2</a> lists the constants for the <a | |
| href='#ModelNumber'><code>ModelNumber</code></a> directive. | |
| <code>ModelNumber</code> values should be inserted by referencing | |
| only one of these constants.</p> | |
| <!-- NEED 20 --> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-2'><i>Table B-2, <code>epson</code> driver | |
| constants</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Constant</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_9PIN</code></td> | |
| <td align='justify' valign='top'>Epson and Okidata 9-pin | |
| dot-matrix printers</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_24PIN</code></td> | |
| <td align='justify' valign='top'>Epson and Okidata 24-pin | |
| dot-matrix printers</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_COLOR</code></td> | |
| <td align='justify' valign='top'>Older Epson Stylus Color | |
| printers that use the <code>ESC .</code> graphics command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_PHOTO</code></td> | |
| <td align='justify' valign='top'>Older Epson Stylus Photo | |
| printers that use the <code>ESC .</code> graphics command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_ICOLOR</code></td> | |
| <td align='justify' valign='top'>Newer Epson Stylus Color | |
| printers that use the <code>ESC i</code> graphics command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>EPSON_IPHOTO</code></td> | |
| <td align='justify' valign='top'>Newer Epson Stylus Photo | |
| printers that use the <code>ESC i</code> graphics command</td> | |
| </tr> | |
| </table></center> | |
| <h3><a name='REF_MODEL_HP'>The CUPS HP-PCL Sample Driver (hp)</a></h3> | |
| <p>The <code>hp</code> driver supports HP LaserJet and DeskJet | |
| printers. <a href='#TABLEB-3'>Table B-3</a> lists the constants | |
| for the <a href='#ModelNumber'><code>ModelNumber</code></a> | |
| directive. <code>ModelNumber</code> values should be inserted by | |
| referencing only one of these constants.</p> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-3'><i>Table B-3, <code>hp</code> driver | |
| constants</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Constant</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>HP_LASERJET</code></td> | |
| <td align='justify' valign='top'>HP LaserJet printers supporting | |
| PCL 3, 4, or 5</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>HP_DESKJET</code></td> | |
| <td align='justify' valign='top'>HP DeskJet printers | |
| supporting PCL 3 and using the simple color graphics | |
| command (<code>ESC * r # U</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>HP_DESKJET2</code></td> | |
| <td align='justify' valign='top'>HP DeskJet printers | |
| supporting PCL3GUI and using the configure raster graphics | |
| command (<code>ESC * g # W</code>)</td> | |
| </tr> | |
| </table></center> | |
| <h3><a name='REF_MODEL_LABEL'>The CUPS Label Sample Driver (label)</a></h3> | |
| <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> | |
| lists the constants for the <a | |
| href='#ModelNumber'><code>ModelNumber</code></a> directive. | |
| <code>ModelNumber</code> values should be inserted by referencing | |
| only one of these constants.</p> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-4'><i>Table B-4, <code>label</code> driver | |
| constants</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Constant</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>DYMO_3x0</code></td> | |
| <td align='justify' valign='top'>Format output for the | |
| Dymo Labelwriter 300, 330, or 330 Turbo.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>INTELLITECH_PCL</code></td> | |
| <td align='justify' valign='top'>Format output for the Intellitech PCL printers.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ZEBRA_CPCL</code></td> | |
| <td align='justify' valign='top'>Format output for the Zebra CPCL printers.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ZEBRA_EPL_LINE</code></td> | |
| <td align='justify' valign='top'>Format output for the Zebra EPL line mode (EPL 1) printers.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ZEBRA_EPL_PAGE</code></td> | |
| <td align='justify' valign='top'>Format output for the Zebra EPL page mode (EPL 2) printers.</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ZEBRA_ZPL</code></td> | |
| <td align='justify' valign='top'>Format output for the Zebra ZPL printers.</td> | |
| </tr> | |
| </table></center> | |
| <h3><a name='REF_MODEL_ESCP'>The DDK ESC/P Driver (escp)</a></h3> | |
| <p>The <code>escp</code> driver supports all Epson inkjet printers. | |
| <a href='#TABLEB-6'>Table B-6</a> lists the constants for the <a | |
| href='#ModelNumber'><code>ModelNumber</code></a> directive. | |
| <code>ModelNumber</code> values should be specified as the bitwise | |
| OR of one or more of these constants.</p> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-6'><i>Table B-6, <code>escp</code> driver | |
| constants</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Constant</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_MICROWEAVE</code></td> | |
| <td align='justify' valign='top'>Use microweave command?</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_STAGGER</code></td> | |
| <td align='justify' valign='top'>Are color jets staggered?</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_ESCK</code></td> | |
| <td align='justify' valign='top'>Use print mode command?</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_EXT_UNITS</code></td> | |
| <td align='justify' valign='top'>Use extended unit commands?</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_EXT_MARGINS</code></td> | |
| <td align='justify' valign='top'>Use extended margin command?</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_USB</code></td> | |
| <td align='justify' valign='top'>Send USB packet mode escape</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_PAGE_SIZE</code></td> | |
| <td align='justify' valign='top'>Use page size command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_RASTER_ESCI</code></td> | |
| <td align='justify' valign='top'>Use <code>ESC i</code> graphics command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE</code></td> | |
| <td align='justify' valign='top'>Use remote mode commands</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_AC</code></td> | |
| <td align='justify' valign='top'>Use auto-cutter command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_CO</code></td> | |
| <td align='justify' valign='top'>Use cutter-operation command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_EX</code></td> | |
| <td align='justify' valign='top'>Use media-position command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_MS</code></td> | |
| <td align='justify' valign='top'>Use media-size command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_MT</code></td> | |
| <td align='justify' valign='top'>Use media-type command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_PC</code></td> | |
| <td align='justify' valign='top'>Use paper-check command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_PH</code></td> | |
| <td align='justify' valign='top'>Use paper-thickness command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_PP</code></td> | |
| <td align='justify' valign='top'>Use paper-path command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_SN0</code></td> | |
| <td align='justify' valign='top'>Use feed-sequence-0 command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_SN1</code></td> | |
| <td align='justify' valign='top'>Use platten-gap command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_SN2</code></td> | |
| <td align='justify' valign='top'>Use feed-sequence-2 command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_SN6</code></td> | |
| <td align='justify' valign='top'>Use eject-delay command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>ESCP_REMOTE_FP</code></td> | |
| <td align='justify' valign='top'>Use print-position command</td> | |
| </tr> | |
| </table></center> | |
| <h3><a name='REF_MODEL_PCL'>The DDK HP-PCL Driver (pcl)</a></h3> | |
| <p>The <code>pcl</code> driver supports all HP LaserJet, DeskJet, | |
| and DesignJet printers. <a href='#TABLEB-5'>Table B-5</a> lists | |
| the constants for the <a | |
| href='#ModelNumber'><code>ModelNumber</code></a> directive. | |
| <code>ModelNumber</code> values should be specified as the bitwise | |
| OR of one or more of these constants.</p> | |
| <center><table border='1' cellpadding='5' cellspacing='0' width='80%'> | |
| <caption align='bottom'><a name='TABLEB-5'><i>Table B-5, <code>pcl</code> driver | |
| constants</i></a></caption> | |
| <tr bgcolor='#cccccc'> | |
| <th>Constant</th> | |
| <th>Description</th> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PAPER_SIZE</code></td> | |
| <td align='justify' valign='top'>Use paper size command (<code>ESC & l # A</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_INKJET</code></td> | |
| <td align='justify' valign='top'>Use inkjet commands</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_RASTER_END_COLOR</code></td> | |
| <td align='justify' valign='top'>Use new end-raster command (<code>ESC * r C</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_RASTER_CID</code></td> | |
| <td align='justify' valign='top'>Use configure-image-data command (<code>ESC * v # W</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_RASTER_CRD</code></td> | |
| <td align='justify' valign='top'>Use configure-raster-data command (<code>ESC * g # W</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_RASTER_SIMPLE</code></td> | |
| <td align='justify' valign='top'>Use simple-raster-color command (<code>ESC * r # U</code>)</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_RASTER_RGB24</code></td> | |
| <td align='justify' valign='top'>Use 24-bit RGB mode</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PJL</code></td> | |
| <td align='justify' valign='top'>Use PJL commands</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PJL_PAPERWIDTH</code></td> | |
| <td align='justify' valign='top'>Use PJL PAPERWIDTH/LENGTH commands</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PJL_HPGL2</code></td> | |
| <td align='justify' valign='top'>Use PJL ENTER HPGL2 command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PJL_PCL3GUI</code></td> | |
| <td align='justify' valign='top'>Use PJL ENTER PCL3GUI command</td> | |
| </tr> | |
| <tr> | |
| <td valign='top'><code>PCL_PJL_RESOLUTION</code></td> | |
| <td align='justify' valign='top'>Use PJL SET RESOLUTION command</td> | |
| </tr> | |
| </table></center> | |
| <H2><A NAME="REF_COLOR">Color Keywords</A></H2> | |
| <p>The PPD compiler defines two types of color keywords: | |
| colorspace and color order. The following sections list the | |
| supported keywords for each type.</p> | |
| <H3><A NAME="REF_COLOR_SPACE">Colorspace Keywords</A></H3> | |
| <P>The following colorspace keywords are recognized:</P> | |
| <UL> | |
| <LI><TT>cielab</TT> - CIE Lab <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>ciexyz</TT> - CIE XYZ <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>cmy</TT> - Cyan, magenta, yellow</LI> | |
| <LI><TT>cmyk</TT> - Cyan, magenta, yellow, black</LI> | |
| <LI><TT>gmck</TT> - Gold, magenta, yellow, black <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>gmcs</TT> - Gold, magenta, yellow, silver <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>gold</TT> - Gold foil <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc1</TT> - ICC-based, 1 color <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc2</TT> - ICC-based, 2 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc3</TT> - ICC-based, 3 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc4</TT> - ICC-based, 4 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc5</TT> - ICC-based, 5 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc6</TT> - ICC-based, 6 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc7</TT> - ICC-based, 7 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc8</TT> - ICC-based, 8 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icc9</TT> - ICC-based, 9 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icca</TT> - ICC-based, 10 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>iccb</TT> - ICC-based, 11 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>iccc</TT> - ICC-based, 12 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>iccd</TT> - ICC-based, 13 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>icce</TT> - ICC-based, 14 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>iccf</TT> - ICC-based, 15 colors <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>k</TT> - Black</LI> | |
| <LI><TT>kcmy</TT> - Black, cyan, magenta, yellow <A HREF="#REF_COLOR_APPLE">*</A></LI> | |
| <LI><TT>kcmycm</TT> - Black, cyan, magenta, yellow, light-cyan, light-magenta <A HREF="#REF_COLOR_APPLE">*</A></LI> | |
| <LI><TT>rgb</TT> - Red, green, blue</LI> | |
| <LI><TT>rgba</TT> - Red, green, blue, alpha</LI> | |
| <LI><TT>rgbw</TT> - Red, green, blue, luminance <A HREF="#REF_COLOR_APPLE">*</A></LI> | |
| <LI><TT>silver</TT> - Silver foil <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>w</TT> - Luminance</LI> | |
| <LI><TT>white</TT> - White ink (as black) <A HREF="#REF_COLOR_APPLE2">**</A></LI> | |
| <LI><TT>ymc</TT> - Yellow, magenta, cyan <A HREF="#REF_COLOR_APPLE">*</A></LI> | |
| <LI><TT>ymck</TT> - Yellow, magenta, cyan, black <A HREF="#REF_COLOR_APPLE">*</A> | |
| <BR> | |
| <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on macOS prior to 10.4. | |
| <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on macOS.</LI> | |
| </UL> | |
| <H3><A NAME="REF_COLOR_ORDER">Color Order Keywords</A></H3> | |
| <P>The following color order keywords are recognized:</P> | |
| <UL> | |
| <LI><TT>chunked</TT> or <TT>chunky</TT> - Color values | |
| are passed together on a line as RGB RGB RGB RGB</LI> | |
| <LI><TT>banded</TT> - Color values are passed separately | |
| on a line as RRRR GGGG BBBB <A | |
| HREF="#REF_COLOR_APPLE2">*</A></LI> | |
| <LI><TT>planar</TT> - Color values are passed separately | |
| on a page as RRRR RRRR RRRR ... GGGG GGGG GGGG ... BBBB | |
| BBBB BBBB <A HREF="#REF_COLOR_APPLE2">*</A> | |
| <BR> | |
| <BR><A NAME="REF_COLOR_APPLE2">*</A> = This color order | |
| is not supported by the current Apple RIP filters and | |
| should not be used when developing printer drivers for | |
| macOS.</LI> | |
| </UL> | |
| </BODY> | |
| </HTML> |