
/*
 *      xerox.drv                      (C) 2007, Aurélien Croc (AP²C)
 * 
 * Contains the Xerox printers drivers
 *
 * $Id$
 */
Manufacturer "Xerox"

/*
 *      version.defs                   (C) 2007, Aurélien Croc (AP²C)
 * 
 * Current PPDs version
 *
 * $Id$
 */


#include <font.defs>

// Font included in the printer ROM
Font *


Version "2.0.0"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      spl2.defs                      (C) 2007, Aurélien Croc (AP²C)
 * 
 *
 *
 * $Id$
 */

// Supported paper format
HWMargins 10.75 15 10.75 15
/*
 *      spl2.defs                      (C) 2007, Aurélien Croc (AP²C)
 * 
 *
 *
 * $Id$
 */
#include <media.defs>

#media "Oficio/Oficio - 216x340mm" 612 972

// Supported paper format
*MediaSize Letter
MediaSize Legal
MediaSize A4
MediaSize Executive
MediaSize Ledger
MediaSize A3
MediaSize Env10
MediaSize Monarch
MediaSize C5
MediaSize DL
MediaSize B4
MediaSize B5
MediaSize EnvISOB5
// Not listed
MediaSize Postcard
MediaSize DoublePostcardRotated
MediaSize A5
MediaSize A6
MediaSize B6
// Custom
MediaSize C6
MediaSize Folio
MediaSize EnvPersonal
MediaSize Env9
MediaSize Oficio

// VariablePaperSize yes

// Supported input slots
*InputSlot 1 "Auto/Automatic Selection"
InputSlot 2 "Manual/Manual Feed"




//
// Defining PJL variables
//

// Supported paper type
Option "MediaType/Paper Type" PickOne AnySetup 10
   *Choice "OFF/Use Printer Default" ""
   Choice "NORMAL/Plain Paper" ""
   Choice "THICK/Thick Paper" ""
   Choice "THIN/Thin Paper" ""
   Choice "BOND/Bond" ""
   Choice "OHP/Transparency" ""
   Choice "CARD/Card Stock" ""
   Choice "LABEL/Label" ""
   Choice "USED/Preprinted" ""
   Choice "COLOR/Colored Paper" ""
   Choice "ENV/Envelope" ""
   Choice "COTTON/Cotton" ""
   Choice "RECYCLED/Recycled" ""
   Choice "ARCHIVE/Archive" ""

Attribute QPDL BandSize "128"
Attribute PJL BeginPJL "<1B>%-12345X"
Attribute PJL EndPJL "<09><1B>%-12345X"


/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      filter.defs                    (C) 2007, Aurélien Croc (AP²C)
 * 
 *
 *
 * $Id$
 */
/* Define a custom filter type. */
DriverType custom
Filter application/vnd.cups-raster 0 rastertoqpdl
/* Filter application/vnd.cups-postscript 50 pstoqpdl */

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      altitude.defs                  (C) 2008, Aurélien Croc (AP²C)
 * 
 * Altitude
 *
 * $Id$
 */

Option "Altitude/Air pressure" PickOne AnySetup 10
	*Choice "LOW/High" ""
	Choice "HIGH/Low" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


//
// Specific black & white printer definition
//
{
/*
 *      powersave.defs                 (C) 2007, Aurélien Croc (AP²C)
 * 
 * Power save
 *
 * $Id$
 */

Option "PowerSave/Power Save" PickOne AnySetup 10
    Choice "False/Off" ""
    *Choice "5/5 Minutes" ""
    Choice "10/10 Minutes" ""
    Choice "15/15 Minutes" ""
    Choice "30/30 Minutes" ""
    Choice "45/45 Minutes" ""
    Choice "60/1 Hour" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      tonerdensity.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Toner density
 *
 * $Id$
 */

Option "TonerDensity/Toner Density" PickOne AnySetup 10
    Choice "1/Light" ""
	*Choice "3/Medium" ""
	Choice "5/Dark" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      tonersave.defs                 (C) 2007, Aurélien Croc (AP²C)
 * 
 * Toner save
 *
 * $Id$
 */

Option "EconoMode/Toner Save" PickOne AnySetup 10
	*Choice "0/Use Printer Default" ""
	Choice "ON/Save" ""
    Choice "OFF/Standard" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      jamrecovery.defs               (C) 2007, Aurélien Croc (AP²C)
 * 
 * Jam recovery
 *
 * $Id$
 */

Option "JamRecovery/Reprint When Jam" Boolean AnySetup 10
	*Choice "False/Off" ""
	Choice "True/On" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


    // Monochrome printers V. 1 (old algorithms)
    {
/*
 *      monochrome-v1.defs             (C) 2007-2008, Aurélien Croc (AP²C)
 * 
 * Monochrome printers V. 1
 *
 * $Id$
 */

// Black & White support
ColorDevice false
*ColorModel Gray/Grayscale k chunky 13

// Supported resolutions
*Resolution k 1 0 0 0 "600dpi/600 DPI"


/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

        Attribute QPDL QPDLVersion "1"
        Attribute General DocHeaderValues "<0><2><1>"
        
        {
	    Resolution k 1 0 0 0 "300dpi/300 DPI"

            ModelName "WorkCentre 3119"
            Attribute "1284DeviceID" "" "MFG:Xerox;MDL:WorkCentre 3119 Series;CMD:GDI;"
            PCFileName "wc3119.ppd"
	} {
            Resolution k 1 0 0 0 "300dpi/300 DPI"
 
            ModelName "WorkCentre PE16"
            PCFileName "wcpe16.ppd"
	} {
            Resolution k 1 0 0 0 "300dpi/300 DPI"
 
            ModelName "WorkCentre PE114e"
            PCFileName "wcpe114e.ppd"
        }

    // Monochrome printers V. 2 (new algorithms)
    } {
/*
 *      monochrome-v2.defs             (C) 2007-2008, Aurélien Croc (AP²C)
 * 
 * Monochrome printers V. 2
 *
 * $Id$
 */

// Black & White support
ColorDevice false
*ColorModel Gray/Grayscale k chunky 17

// Supported resolutions
*Resolution k 1 0 0 0 "600dpi/600 DPI"


/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


        // QPDL Version 1
        {
            Attribute QPDL QPDLVersion "1"
            Attribute General DocHeaderValues "<0><0><0>"

            {
                Resolution k 1 0 0 0 "300dpi/300 DPI"
                {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                    ModelName "Phaser 3115"
                    PCFileName "ph3115.ppd"
                } {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                    ModelName "Phaser 3116"
                    PCFileName "ph3116.ppd"
                } {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                    ModelName "Phaser 3120"
                    Attribute "1284DeviceID" "" "MFG:Xerox;MDL:Phaser 3120;CMD:GDI;"
                    PCFileName "ph3120.ppd"
                } {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                    ModelName "Phaser 3121"
                    PCFileName "ph3121.ppd"
                } {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                    ModelName "Phaser 3130"
                    Attribute "1284DeviceID" "" "MFG:Xerox;MDL:Phaser 3130;CMD:PCL5E,PCL6;"
                    PCFileName "ph3130.ppd"
                } {
                    // Multi-tray
                    InputSlot 3 "Multi/Multi-Purpose Tray"
                    InputSlot 4 "Upper/Tray 1"
                    InputSlot 5 "Lower/Tray 2"

                    Duplex normal
                    {
                        ModelName "Phaser 3420"
                        PCFileName "ph3420.ppd"
                    } {
                        ModelName "Phaser 3425"
                        PCFileName "ph3425.ppd"
                    } {
                        ModelName "Phaser 5500"
                        PCFileName "ph5500.ppd"
                    }
                }
            } {
                // Multi-tray
                InputSlot 3 "Multi/Multi-Purpose Tray"
                InputSlot 4 "Upper/Tray 1"
                InputSlot 5 "Lower/Tray 2"
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

                
                {
                   ModelName "Phaser 3150"
                   PCFileName "ph3150.ppd"
                } {
                   ModelName "Phaser 3160"
                   PCFileName "ph3160.ppd"
                }
            }
        }

        // QPDL Version 2
        {
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

            Attribute QPDL QPDLVersion "2"
            Attribute General DocHeaderValues "<0><0><1>"

            {
                ModelName "Phaser 3117"
                Attribute "1284DeviceID" "" "MFG:Xerox;MDL:Phaser 3117;CMD:GDI;"
                PCFileName "ph3117.ppd"
            } {
                Resolution k 1 0 0 0 "1200x600dpi/1200x600 DPI"

                {
                    ModelName "Phaser 3122"
                    PCFileName "ph3122.ppd"
                }
            } {
                Resolution k 1 0 0 0 "1200x600dpi/1200x600 DPI"

                {
                    ModelName "Phaser 3124"
                    Attribute "1284DeviceID" "" "MFG:Xerox;MDL:Phaser 3124;CMD:GDI;"
                    PCFileName "ph3124.ppd"
                }
            }
        }

        // QPDL Version 3
        {
            Attribute QPDL QPDLVersion "3"
            Attribute General DocHeaderValues "<0><0><1>"
    
            {
                Resolution k 1 0 0 0 "1200x600dpi/1200x600 DPI"
/*
 *      manualduplex.defs              (C) 2007, Aurélien Croc (AP²C)
 * 
 * Manual duplex
 *
 * $Id$
 */

Duplex normal
Attribute QPDL ManualDuplex "On"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

    
                {
                    ModelName "Phaser 3140"
                    PCFileName "ph3140.ppd"
                } {
                    ModelName "Phaser 3155"
                    PCFileName "ph3155.ppd"
                }
	    }
	}
    }
}


//
// Specific color printer definition
//
{
/*
 *      powersave.defs                 (C) 2007, Aurélien Croc (AP²C)
 * 
 * Power save
 *
 * $Id$
 */

Option "PowerSave/Power Save" PickOne AnySetup 10
    Choice "False/Off" ""
    *Choice "5/5 Minutes" ""
    Choice "10/10 Minutes" ""
    Choice "15/15 Minutes" ""
    Choice "30/30 Minutes" ""
    Choice "45/45 Minutes" ""
    Choice "60/1 Hour" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


    // Color printers V. 1 (old algorithms)
    {
/*
 *      color-v1.defs                  (C) 2007, Aurélien Croc (AP²C)
 * 
 * Color printers v. 1
 *
 * $Id$
 */
/*
 *      color.defs                     (C) 2007, Aurélien Croc (AP²C)
 * 
 * Color printers [---INCLUDED BY COLOR-V1.DEFS OR COLOR-V2.DEFS---]
 *
 * $Id$
 */

// Supported resolutions
*Resolution - 1 0 0 0 "600dpi/600 DPI"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


// Color definition
ColorDevice true
ColorModel Gray/Grayscale k chunky 17
*ColorModel CMYK/Color cmyk banded 17

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

/*
 *      jamrecovery.defs               (C) 2007, Aurélien Croc (AP²C)
 * 
 * Jam recovery
 *
 * $Id$
 */

Option "JamRecovery/Reprint When Jam" Boolean AnySetup 10
	*Choice "False/Off" ""
	Choice "True/On" ""

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


        // Multi-tray
        InputSlot 3 "Multi/Multi-Purpose Tray"
        InputSlot 4 "Upper/Tray 1"
        InputSlot 5 "Lower/Tray 2"
        // But tray 2 is optional..
        Installable "OptionTray2/Tray 2 Installed"
        UIConstraints "*OptionTray2 False *InputSlot Lower"

        Resolution - 1 0 0 0 "1200x600dpi/1200x600 DPI"
        Resolution - 1 0 0 0 "1200dpi/1200 DPI"

        Duplex normal

        Attribute QPDL QPDLVersion "1"
        Attribute General DocHeaderValues "<0><0><1>"

        {
            Throughput 20
            ModelName "Phaser 6100"
            PCFileName "ph6100.ppd"
        }
    }

    // Color printers V. 2 (JBIG algorithm)
    {
/*
 *      color-v2.defs                  (C) 2007, Aurélien Croc (AP²C)
 * 
 * Color printers v. 2
 *
 * $Id$
 */
/*
 *      color.defs                     (C) 2007, Aurélien Croc (AP²C)
 * 
 * Color printers [---INCLUDED BY COLOR-V1.DEFS OR COLOR-V2.DEFS---]
 *
 * $Id$
 */

// Supported resolutions
*Resolution - 1 0 0 0 "600dpi/600 DPI"

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */


// Color definition
ColorDevice true
ColorModel Gray/Grayscale k chunky 19
*ColorModel CMYK/Color cmyk banded 19

/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

        Attribute QPDL PacketSize "512"

        // QPDL Version 2
        {
            Attribute QPDL QPDLVersion "2"
            Attribute General DocHeaderValues "<0><0><1>"
            Resolution - 1 0 0 0 "1200dpi/1200 DPI"
            Resolution - 1 0 0 0 "1200x600dpi/1200x600 DPI"
            Duplex normal

            {
                ModelName "Phaser 6110"
                PCFilename "ph6110.ppd"
            }
        }
    }
}


/* vim: set expandtab tabstop=4 shiftwidth=4 smarttab tw=80 enc=utf8: */

