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