Blame ppdc/foo.drv

Packit 2fc92b
//
Packit 2fc92b
// "$Id$"
Packit 2fc92b
//
Packit 2fc92b
//   PPD file compiler test data file for CUPS.
Packit 2fc92b
//
Packit 2fc92b
//   Copyright 2007-2011 by Apple Inc.
Packit 2fc92b
//   Copyright 1997-2003 by Easy Software Products.
Packit 2fc92b
//
Packit 2fc92b
//   These coded instructions, statements, and computer programs are the
Packit 2fc92b
//   property of Apple Inc. and are protected by Federal copyright
Packit 2fc92b
//   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
Packit 2fc92b
//   which should have been included with this file.  If this file is
Packit 2fc92b
//   file is missing or damaged, see the license at "http://www.cups.org/".
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
/*
Packit 2fc92b
 * C-style comments are supported.
Packit 2fc92b
 */
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// C++-style comments are supported.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Include the common media size definitions...
Packit 2fc92b
//
Packit 2fc92b
// #include directives support both <name> to include a standard file
Packit 2fc92b
// and "name" or just name without the quotes for a local file.  Local
Packit 2fc92b
// files resolve relative to the current file's path.  Unlike C/C++,
Packit 2fc92b
// #include <name> does not look in multiple directories, and
Packit 2fc92b
// #include "name" does not look in the standard directory.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#include <media.defs>
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Include the CUPS raster definitions...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#include <raster.defs>
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Include the standard CUPS fonts...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#include <font.defs>
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Define variables using the #define directive.  In this case we
Packit 2fc92b
// are defining constants for the model number, which is used by
Packit 2fc92b
// our imaginary rastertofoo filter to determine which model-specific
Packit 2fc92b
// features to use/support.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#define MODEL_BW	0
Packit 2fc92b
#define MODEL_COLOR	1
Packit 2fc92b
Packit 2fc92b
#define MODEL_LASER	0
Packit 2fc92b
#define MODEL_PHOTO	2
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Media sizes are defined using the #media directive.  The order of
Packit 2fc92b
// values is: size name/text, width, length.
Packit 2fc92b
//
Packit 2fc92b
// "Size name" is an alphanumeric string of up to 40 characters as
Packit 2fc92b
// defined by the Adobe PPD specification.
Packit 2fc92b
//
Packit 2fc92b
// "Size text" is a text string of up to 80 characters as defined by
Packit 2fc92b
// the Adobe PPD specification.
Packit 2fc92b
//
Packit 2fc92b
// "Width" and "length" are the width and length of the media size.
Packit 2fc92b
// Numbers by themselves represent points (72 points = 1 inch).  The
Packit 2fc92b
// suffixes "cm", "ft", "in", "m", "mm", and "pt" are recognized to
Packit 2fc92b
// specify centimeters, feet, inches, meters, millimeters, and points,
Packit 2fc92b
// respectively.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#media "FooLetter/Foo Letter" 8in 10in
Packit 2fc92b
#media "FooPhoto/Foo Photo" 200mm 300mm
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Message catalogs can be included using #po...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
#po fr foo-fr.po
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Specify that the drivers use all of the standard base fonts...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Font *
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// All copyright lines are put at the top of the PPD file in order
Packit 2fc92b
// of their appearance.  Copyright text can span multiple lines and
Packit 2fc92b
// will be properly included in the PPD file with comment prefixes
Packit 2fc92b
// on each line.
Packit 2fc92b
//
Packit 2fc92b
// First an MIT-style copyright/license notice...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Copyright "Copyright 2007 by Foo Industries."
Packit 2fc92b
Copyright "
Packit 2fc92b
Permission is granted for redistribution of this file as long as
Packit 2fc92b
this copyright notice is intact and the contents of the file are
Packit 2fc92b
not altered in any way from their original form.
Packit 2fc92b
Packit 2fc92b
Permission is hereby granted, free of charge, to any person
Packit 2fc92b
obtaining a copy of this software and associated documentation
Packit 2fc92b
files (the \"Software\"), to deal in the Software without
Packit 2fc92b
restriction, including without limitation the rights to use,
Packit 2fc92b
copy, modify, merge, publish, distribute, sublicense, and/or
Packit 2fc92b
sell copies of the Software, and to permit persons to whom the
Packit 2fc92b
Software is furnished to do so, subject to the following
Packit 2fc92b
conditions:
Packit 2fc92b
Packit 2fc92b
The above copyright notice and this permission notice shall be
Packit 2fc92b
included in all copies or substantial portions of the Software.
Packit 2fc92b
Packit 2fc92b
THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,
Packit 2fc92b
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
Packit 2fc92b
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Packit 2fc92b
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 2fc92b
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
Packit 2fc92b
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
Packit 2fc92b
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
Packit 2fc92b
OTHER DEALINGS IN THE SOFTWARE.
Packit 2fc92b
"
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Then a GPL notice...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Copyright "Copyright 2007 by Foo Industries."
Packit 2fc92b
Copyright "
Packit 2fc92b
This software is free software; you can redistribute it and/or
Packit 2fc92b
modify it under the terms of the GNU General Public License as
Packit 2fc92b
published by the Free Software Foundation; either version 2 of
Packit 2fc92b
the License, or (at your option) any later version.
Packit 2fc92b
Packit 2fc92b
This software is distributed in the hope that it will be useful,
Packit 2fc92b
but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 2fc92b
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 2fc92b
GNU General Public License for more details.
Packit 2fc92b
Packit 2fc92b
You should have received a copy of the GNU General Public
Packit 2fc92b
License along with this software; if not, write to the Free
Packit 2fc92b
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
Packit 2fc92b
MA 02111 USA
Packit 2fc92b
"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// All printer drivers must define the manufacturer, model, PC
Packit 2fc92b
// filename, and version strings; since this test file contains
Packit 2fc92b
// drivers for an imaginary manufacturer "Foo", all of the drivers
Packit 2fc92b
// listed in this file share common manufacturer and version
Packit 2fc92b
// strings.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Manufacturer "Foo"
Packit 2fc92b
Version 1.0
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Printer drivers can access driver-specific attributes in a PPD
Packit 2fc92b
// file; these attributes are specified using lines of the form:
Packit 2fc92b
//
Packit 2fc92b
//     Attribute name selector value
Packit 2fc92b
//
Packit 2fc92b
// "Name" is the name of the attribute and should start with either
Packit 2fc92b
// the "cups" prefix or the name of the vendor, e.g. "hpFoo",
Packit 2fc92b
// "epsonBar", etc.  The name can be any alphanumeric character (a-z,
Packit 2fc92b
// A-Z, and 0-9) and cannot be a common prefix of another attribute,
Packit 2fc92b
// e.g. "fooLines" and "fooLinesPerInch" cannot be in the same file.
Packit 2fc92b
//
Packit 2fc92b
// "Selector" is a selector string containing any characters except
Packit 2fc92b
// colon (:).  Typically this will be one or more keywords separated
Packit 2fc92b
// by the forward slash (/), however the empty string ("") can be used
Packit 2fc92b
// to omit the selector.
Packit 2fc92b
//
Packit 2fc92b
// "Value" is a quoted value string that can contain any printable
Packit 2fc92b
// characters except the double quote (").  Hexadecimal numbers
Packit 2fc92b
// inside angle brackets (<xx>) can be used to substitute escape
Packit 2fc92b
// codes and other special characters.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Attribute fooOutputFormat "" "PCL"
Packit 2fc92b
Attribute fooPJL Begin "<1B>%-12345X@PJL<0D0A>"
Packit 2fc92b
Attribute fooPJL Enter/PCL "@PJL ENTER LANGUAGE=PCL<0D0A>"
Packit 2fc92b
Attribute fooPJL End "<1B>%-12345X@PJL END JOB<0D0A>"
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Most printer drivers use filters; exceptions include PostScript
Packit 2fc92b
// printers and PPD files for software RIPs.
Packit 2fc92b
//
Packit 2fc92b
// The format is:
Packit 2fc92b
//
Packit 2fc92b
//     Filter mime-type cost program
Packit 2fc92b
//
Packit 2fc92b
// The "mime-type" field defines the MIME type that the filter program
Packit 2fc92b
// accepts; for CUPS raster printer drivers, this will be
Packit 2fc92b
// "application/vnd.cups-raster".
Packit 2fc92b
//
Packit 2fc92b
// The "cost" field defines the relative cost of the filter in terms of
Packit 2fc92b
// both CPU and memory usage, and is used to limit the number of
Packit 2fc92b
// simultaneous jobs in some configurations.  Most raster filters should
Packit 2fc92b
// have a cost of 100, unless the filter does no dithering - then a cost
Packit 2fc92b
// of 33 is more appropriate.
Packit 2fc92b
//
Packit 2fc92b
// The "program" field defined the filter program to run; use the null
Packit 2fc92b
// filter "-" to define a MIME type that the printer accepts directly.
Packit 2fc92b
// If no path information is provided, then the program will be run
Packit 2fc92b
// from the standard CUPS filter directory, usually
Packit 2fc92b
// /usr/lib/cups/filter.
Packit 2fc92b
//
Packit 2fc92b
// When compiling PPD files for PostScript capable devices that use
Packit 2fc92b
// additional filters, add a null filter for the MIME type
Packit 2fc92b
// "application/vnd.cups-postscript" so that printer commands, user
Packit 2fc92b
// job filters, and page markings can be added to the PostScript
Packit 2fc92b
// output that is sent to the printer.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Filter application/vnd.cups-raster 100 rastertofoo
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Attributes are included thusly...
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
Attribute cupsIPPReason "com.foo-serious-error/A Serious Error" "http://foo.com/serious.html"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// Curley braces are used for grouping common data and for isolating
Packit 2fc92b
// individual printer models.  All data values are inherited *except*
Packit 2fc92b
// for the PCFilename and ModelName strings.
Packit 2fc92b
//
Packit 2fc92b
Packit 2fc92b
{
Packit 2fc92b
  //
Packit 2fc92b
  // Define two printer drivers that support only the FooLetter and
Packit 2fc92b
  // FooPhoto media size.  One is color, the other is black-and-white.
Packit 2fc92b
  //
Packit 2fc92b
  // Both printers share two MediaSize definitions; the name listed
Packit 2fc92b
  // after the MediaSize keyword must be one of the Adobe standard
Packit 2fc92b
  // names listed in the PPD specification or any named size defined
Packit 2fc92b
  // using the #media directive.
Packit 2fc92b
  //
Packit 2fc92b
  // Default options are indicated by placing an asterisk (*) before
Packit 2fc92b
  // the keyword.
Packit 2fc92b
  //
Packit 2fc92b
  // For custom size and margin specification, see the next group of
Packit 2fc92b
  // printer drivers.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  MediaSize FooLetter
Packit 2fc92b
  *MediaSize FooPhoto
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // These imaginary printers support printing at 300, 600x300,
Packit 2fc92b
  // and 600 DPI.  We'll use the old-style Resolution convenience
Packit 2fc92b
  // keyword which accepts the following parameters: colorspace/
Packit 2fc92b
  // order, bits-per-color, row count, row feed, row step, and
Packit 2fc92b
  // name/text.
Packit 2fc92b
  //
Packit 2fc92b
  // The name must be of the form NNNsuffix or NNNxMMMsuffix,
Packit 2fc92b
  // where NNN and MMM represent the X and Y resolution in dots
Packit 2fc92b
  // per inch.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  Resolution - 8 0 0 0 "300dpi/300 DPI"
Packit 2fc92b
  Resolution - 8 0 0 0 "600x300dpi/600 x 300 DPI"
Packit 2fc92b
  *Resolution - 8 0 0 0 "600dpi/600 DPI"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // One printer is grayscale only, and the other does grayscale
Packit 2fc92b
  // and color.  Define the grayscale color model for both printers
Packit 2fc92b
  // using the old-style ColorModel convenience keyword which
Packit 2fc92b
  // accepts the name/text, colorspace, color order, and compression
Packit 2fc92b
  // parameters.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  ColorModel	Gray/Grayscale w chunked 0
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  {
Packit 2fc92b
    //
Packit 2fc92b
    // The first sub-group contains the grayscale printer, which
Packit 2fc92b
    // only needs the model name, PC filename, and model number
Packit 2fc92b
    // values set...
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelName keyword defines the string that is shown to
Packit 2fc92b
    // the user.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelName "Mono Photo Printer"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelNumber keyword defines the cupsModelNumber
Packit 2fc92b
    // attribute value.  We use the "(name name)" notation
Packit 2fc92b
    // to perform a bitwise OR of the #define'd constants.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelNumber ($MODEL_BW $MODEL_PHOTO)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The PCFileName keyword defines the filename of the PPD
Packit 2fc92b
    // file and should be 8 characters or less + the .ppd
Packit 2fc92b
    // extension.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    PCFileName "foogphot.ppd"
Packit 2fc92b
  }
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  {
Packit 2fc92b
    //
Packit 2fc92b
    // The second sub-group contains the color printer, which
Packit 2fc92b
    // needs another ColorModel definition along with the model
Packit 2fc92b
    // name, PC filename, and model number values.  For fun, we'll
Packit 2fc92b
    // add some input slots (paper trays) as well.
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelName keyword defines the string that is shown to
Packit 2fc92b
    // the user.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelName "Color Photo Printer"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelNumber keyword defines the cupsModelNumber
Packit 2fc92b
    // attribute value.  We use the "(name name)" notation
Packit 2fc92b
    // to perform a bitwise OR of the #define'd constants.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelNumber ($MODEL_COLOR $MODEL_PHOTO)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The PCFileName keyword defines the filename of the PPD
Packit 2fc92b
    // file and should be 8 characters or less + the .ppd
Packit 2fc92b
    // extension.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    PCFileName "foocphot.ppd"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // This printer does color printing, too, so add it and make
Packit 2fc92b
    // RGB the default...
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ColorDevice Yes
Packit 2fc92b
Packit 2fc92b
    *ColorModel	RGB/Color rgb chunked 0
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The old-style InputSlot keyword accepts tray definitions
Packit 2fc92b
    // of the form:
Packit 2fc92b
    //
Packit 2fc92b
    //    InputSlot position name/text
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    InputSlot 0 "Upper/Main Paper Tray"
Packit 2fc92b
    InputSlot 1 "LargeCapacity/Large Paper Tray"
Packit 2fc92b
  }
Packit 2fc92b
}
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
{
Packit 2fc92b
  //
Packit 2fc92b
  // Define two printer drivers that support two typical laser
Packit 2fc92b
  // printers with custom page sizes.  One is color, the other is
Packit 2fc92b
  // black-and-white.
Packit 2fc92b
  //
Packit 2fc92b
  // Both printers share several MediaSize definitions and support
Packit 2fc92b
  // custom page sizes from 3x5 to 13x19 inches.
Packit 2fc92b
  //
Packit 2fc92b
  // All US media sizes use hardware margins of 0.25 inches on the sides
Packit 2fc92b
  // and 12 points (1/6th inch) at the top and bottom.  European sizes
Packit 2fc92b
  // and custom sizes use margins of 12 points all around.
Packit 2fc92b
  //
Packit 2fc92b
  // The order of the HWMargins numbers are left, bottom, right, and top.
Packit 2fc92b
  // The current HWMargins values are used when defining each media size.
Packit 2fc92b
  // The last HWMargins values are used for custom page size margins.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  HWMargins 0.25in 12pt 0.25in 12pt
Packit 2fc92b
Packit 2fc92b
  *MediaSize Letter
Packit 2fc92b
  MediaSize Legal
Packit 2fc92b
  MediaSize Tabloid
Packit 2fc92b
  MediaSize TabloidExtra
Packit 2fc92b
Packit 2fc92b
  HWMargins 12pt 12pt 12pt 12pt
Packit 2fc92b
  MediaSize A4
Packit 2fc92b
  MediaSize A3
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // Specify that custom/variable paper sizes are supported, and the
Packit 2fc92b
  // range of sizes that are supported...
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  VariablePaperSize Yes
Packit 2fc92b
  MinSize 3in 5in
Packit 2fc92b
  MaxSize 13in 19in
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // These imaginary printers support printing at 600 and 1200 DPI.
Packit 2fc92b
  // We'll use the new Option and Choice keywords to define the
Packit 2fc92b
  // Resolution options...
Packit 2fc92b
  //
Packit 2fc92b
  // Option option-name option-text option-type
Packit 2fc92b
  // Choice choice-name choice-text code
Packit 2fc92b
  //
Packit 2fc92b
  // "Option-type" is the type of option: boolean, pickone, or pickmany.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  Option Resolution PickOne AnySetup 10
Packit 2fc92b
  Choice "600dpi/600 DPI" "<</HWResolution[600 600]/cupsBitsPerColor 8>>setpagedevice"
Packit 2fc92b
  Choice "1200dpi/1200 DPI" "<</HWResolution[1200 1200]/cupsBitsPerColor 8>>setpagedevice"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // One printer is grayscale only, and the other does grayscale
Packit 2fc92b
  // and color.  Define the grayscale color model for both printers
Packit 2fc92b
  // using the new Option and Choice keywords.
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  Option "ColorModel/Color Mode" PickOne AnySetup 10
Packit 2fc92b
  Choice Gray/Grayscale "<</cupsColorSpace $CUPS_CSPACE_W>>setpagedevice"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // Both printers provide two paper trays, which we'll define using
Packit 2fc92b
  // the new Option and Choice keywords...
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  Option "InputSlot/Input Slot" PickOne AnySetup 10
Packit 2fc92b
  Choice "Upper/Main Paper Tray" "<</MediaPosition 0>>setpagedevice"
Packit 2fc92b
  Choice "LargeCapacity/Large Paper Tray" "<</MediaPosition 1>>setpagedevice"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  //
Packit 2fc92b
  // Both printers support duplexing...
Packit 2fc92b
  //
Packit 2fc92b
  // The Duplex keyword accepts values of "none" (no duplexing capability),
Packit 2fc92b
  // "normal" (standard duplexing capability), and "flip" (auto-duplex that
Packit 2fc92b
  // requires the back side to be flipped by the RIP...)
Packit 2fc92b
  //
Packit 2fc92b
Packit 2fc92b
  Duplex normal
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  {
Packit 2fc92b
    //
Packit 2fc92b
    // The first sub-group contains the grayscale printer, which
Packit 2fc92b
    // only needs the model name, PC filename, and model number
Packit 2fc92b
    // values set...
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelName keyword defines the string that is shown to
Packit 2fc92b
    // the user.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelName "Mono Laser Printer"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelNumber keyword defines the cupsModelNumber
Packit 2fc92b
    // attribute value.  We use the "(name name)" notation
Packit 2fc92b
    // to perform a bitwise OR of the #define'd constants.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelNumber ($MODEL_BW $MODEL_LASER)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The PCFileName keyword defines the filename of the PPD
Packit 2fc92b
    // file and should be 8 characters or less + the .ppd
Packit 2fc92b
    // extension.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    PCFileName "fooglasr.ppd"
Packit 2fc92b
  }
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
  {
Packit 2fc92b
    //
Packit 2fc92b
    // The second sub-group contains the color printer, which
Packit 2fc92b
    // needs another ColorModel definition along with the model
Packit 2fc92b
    // name, PC filename, and model number values.
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelName keyword defines the string that is shown to
Packit 2fc92b
    // the user.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelName "Color Laser Printer"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The ModelNumber keyword defines the cupsModelNumber
Packit 2fc92b
    // attribute value.  We use the "(name name)" notation
Packit 2fc92b
    // to perform a bitwise OR of the #define'd constants.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ModelNumber ($MODEL_COLOR $MODEL_LASER)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // The PCFileName keyword defines the filename of the PPD
Packit 2fc92b
    // file and should be 8 characters or less + the .ppd
Packit 2fc92b
    // extension.
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    PCFileName "fooclasr.ppd"
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
    //
Packit 2fc92b
    // This printer does color printing, too, so add it and make
Packit 2fc92b
    // RGB the default...
Packit 2fc92b
    //
Packit 2fc92b
Packit 2fc92b
    ColorDevice Yes
Packit 2fc92b
Packit 2fc92b
    Option "ColorModel/Color Mode" PickOne AnySetup 10
Packit 2fc92b
    *Choice RGB/Color "<</cupsColorSpace $CUPS_CSPACE_RGB>>setpagedevice"
Packit 2fc92b
  }
Packit 2fc92b
}
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
//
Packit 2fc92b
// End of "$Id$".
Packit 2fc92b
//