*% Copyright( C ) 2018 Lenovo Image(Tianjin) Technology Co., Ltd.  All rights reserved.
*% All Rights Reserved.

*%-------------------------------------------------------------------------
*% Version Section
*%-------------------------------------------------------------------------
*GPDFileName: "ssv4p.gpd"
*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.0"

*%-------------------------------------------------------------------------
*% Include Section
*%-------------------------------------------------------------------------
*%%% GPD files
*Include: "StdNames.gpd"
*Include: "ttfsub.gpd"
*Include: "msxpsinc.gpd"
*Include: "pclxl.gpd"
*Include: "pjl.gpd"
*Include: "p6font.gpd"
*Include: "p6disp.gpd"
*Include: "itdrvrc2.gpd"

*%%% RESOURCE files
*%ResourceDLL: "pclxl.dll"
*ResourceDLL: "itdrvrc2.dll"

*%-------------------------------------------------------------------------
*%% Model Specific Global Entries
*%-------------------------------------------------------------------------
*ModelName:   "Lenovo CS1821(W) CS1831(W) XPS"

*MasterUnits: PAIR(1200, 1200)
*CodePage: 1252
*PrinterType: PAGE
*%Personality: =PERSONALITY_PCLXL
*%rcPersonalityID: =PERSONALITY_PCLXL_DISPLAY
*MaxCopies: 999
*PrintRate: -1
*PrintRatePPM: -1
*PrintRateUnit: PPM
*PrintSchemaPrivateNamespaceURI:"http://schemas.microsoft.com/windows/2003/08/printing/LENOVOPRINTER"

*Ifdef: WINNT_60
*BidiQueryFile: "ssv4pbidi.gdl"
*Endif: WINNT_60

*%-------------------------------------------------------------------------
*%%% JOB_SETUP, PAGE_FINISH
*%%% , JOB_FINISH
*%-------------------------------------------------------------------------

*Macros: PCLXLCommand
{
    *%=====================================================================
    *%%% PCL XL Stream Header
    *%=====================================================================
	PCLXL_StreamHeader: ") HP-PCL XL;2;0;"
+                   "Comment Copyright(c) 1999 Microsoft Corporation<0A>"

	PCLXL_OpenDataSource: =ubyte "<00>" =attr_ubyte =SourceType =ubyte "<01>" =attr_ubyte =DataOrg =OpenDataSource

    *%=====================================================================
    *%%% BeginSession
    *%%% Measure(ubyte) & UnitsPerMeasure(uint16_xy) & {ErrorReport(ubyte)}
    *%=====================================================================

	PCLXL_BeginSession1200: =uint16_xy "<b004b004>" =attr_ubyte =UnitsPerMeasure =ubyte
+ 	=eInch =attr_ubyte =Measure =ubyte =eBackChAndErrPage =attr_ubyte =ErrorReport =BeginSession

	PCLXL_BeginSession600: =uint16_xy "<58025802>" =attr_ubyte =UnitsPerMeasure =ubyte
+ 	=eInch =attr_ubyte =Measure =ubyte =eBackChAndErrPage =attr_ubyte =ErrorReport =BeginSession

	PCLXL_BeginSession300: =uint16_xy "<2c012c01>" =attr_ubyte =UnitsPerMeasure =ubyte
+ 	=eInch =attr_ubyte =Measure =ubyte =eBackChAndErrPage =attr_ubyte =ErrorReport =BeginSession

	Width: %m{ RasterDataWidthInBytes }
	Height: %m{ RasterDataHeightInPixels }
	DataSize: %l{ NumOfDataBytes }
	FntHeight: %l{ FontHeight*600/TextYRes }
	FntNextGlyph: %l{ NextGlyph }

    *%=====================================================================
    *%%% BeginRaster
    *%%% ColorDepth(ubyte) & ColorMapping(ubyte) & SourceWidth(uint16) &
    *%%% SourceWidth(uint16) & SourceHeight(uint16)
    *%=====================================================================
	PCLXL_CmdBeginRaster: =ubyte =e1Bit =attr_ubyte =ColorDepth
+                     =ubyte =eDirectPixel =attr_ubyte =ColorMapping
+                     =uint16 =Width =attr_ubyte =SourceWidth
+                     =uint16 =Height =attr_ubyte =SourceHeight
+                     =uint16_xy =Width =Height =attr_ubyte =DestinationSize
+                     =BeginImage
+                     =ubyte =eNoCompression =attr_ubyte =CompressMode
+                     =ubyte "<00>" =attr_ubyte =StartLine
+                     =uint16 =Height =attr_ubyte =BlockHeight
+                     =ReadImage

	PCLXL_CmdSendBlockData: =dataLength =DataSize "<0000>"

	DestinationX: %l{DestX}
	DestinationY: %l{DestY}
	DestinationXRel: %l{DestYRel}
	DestinationYRel: %l{DestXRel}
	NumOfCopy: %l{NumOfCopies}
	PrintDir: %l{PrintDirInCCDegrees}
	FntName: =ubyte_array =uint16 "<1000>" "MS PCLXLFont " %3d{CurrentFontID}

    *%=====================================================================
    *%%% Papersize and PaperSource
    *%=====================================================================
	eoficio: =ubyte "<06>" "Oficio"
	eC6Envelope: =ubyte "<02>" "C6"
	eEnvNo9: =ubyte "<07>" "ENV NO9"
	eEnvPersonal: =ubyte "<0c>" "ENV PERSONAL"
	eStatement: =ubyte "<09>" "STATEMENT"
	ePostcard: =ubyte "<08>" "Postcard"
	eIndexcard: =ubyte "<09>" "INDEXCARD"
	e8KPaper: =ubyte "<02>" "8K"
	e16KPaper: =ubyte "<03>" "16K"
	eSRA3: =ubyte "<04>" "SRA3"
	eTabloidExtra: =ubyte "<0D>" "TABLOID_EXTRA"
	eEnvC4: =ubyte "<02>" "C4"
	eTray4: =ubyte "<08>"
	eTray5: =ubyte "<09>"

	PJL_IMAGEQUALITY_1: "@PJL SET IMAGEQUALITY=1<0D0A>"
	PJL_IMAGEQUALITY_0: "@PJL SET IMAGEQUALITY=0<0D0A>"
	PJL_MULTIBIT_4: "@PJL SET BITSPERPIXEL=4<0D0A>"
	PJL_MULTIBIT_2: "@PJL SET BITSPERPIXEL=2<0D0A>"
	PJL_MULTIBIT_1: "@PJL SET BITSPERPIXEL=1<0D0A>"
}

*%-------------------------------------------------------------------------
*% Resource
*%-------------------------------------------------------------------------

*Feature: RESDLL
{
    *Name: "resource dll files"
    *ConcealFromUI?: TRUE

    *Option: SECSTR
    {
        *Name: "itdrvrc2.dll"
    }

*%    *Option: MSSTR
*%    {
*%        *Name: "pclxl.dll"          *% MS provided resource DLL
*%        *%Name: "pcl5eres.dll"          *% MS provided resource DLL
*%    }
}


*%-------------------------------------------------------------------------
*% Features and Options
*%-------------------------------------------------------------------------

*%% Orientation
*Feature: Orientation
{
	*ConcealFromUI?: FALSE
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
    }
    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =LANDSCAPE_DISPLAY
    }
}

*%******************************************************************************
*%                             PageRotate
*%******************************************************************************
*Feature: PageRotate
{
	*ConcealFromUI?: TRUE
	*Name: "PageRotate"
	*DefaultOption: Rotate0
	*Option: Rotate0
	{
		*Name: "Rotate0"
	}
	*Option: Rotate180
	{
		*Name: "Rotate180"
	}
}

*%-------------------------------------------------------------------------
*%%% JOB_SETUP
*%-------------------------------------------------------------------------

*%===================================
*%%% JOB_SETUP.1
*%%% START PLJ JOB
*%%% PAGEPROTECT
*%%% TIMEOUT
*%===================================

*%===================================
*%%% JOB_SETUP.2
*%%% RGB Color
*%===================================
*Feature: DocumentRGBColor
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_RGBCOLOR
    *DefaultOption: Standard
    *Option: Standard
    {
        *rcNameID: =IDS_DEFAULT
    }
    *Option: Vivid
    {
        *rcNameID: =IDS_VIVID 
    }
    *Option: Device
    {
        *rcNameID: =IDS_DEVICE
    }
    *Option: CorporateImaging
    {
        *rcNameID: =IDS_CORPORATE_IMAGING
    }
}


*%===================================
*%%% JOB_SETUP.3
*%%% Banner Page
*%===================================


*%===================================
*%%% JOB_SETUP.4
*%%% Collate
*%===================================
*Feature: Collate
{
	*ConcealFromUI?: FALSE
    *rcNameID: =COLLATOR_DISPLAY *% this shouldn't appear...
    *DefaultOption: ON
    *Option: OFF
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: ON
    {
        *rcNameID: =ON_DISPLAY
    }
}

*%===================================
*%%% JOB_SETUP.5
*%%% BeginPage(0x43)
*%%%     Orientation(0x40), MediaSize(0x37), MediaSource(0x38), MediaType
*%%%     ubyte               ubyte             ubyte
*%%%     MediaType
*%===================================

*%******************************************************************************
*% GPD Feature Name         : PageMediaType
*% Capability Name(c.xml)   : PaperType
*% Level(Job/Document/Page) : Page
*% Extension Type           : Public/Private
*%******************************************************************************
*Feature: MediaType
{
	*ConcealFromUI?: FALSE
	*PrintSchemaKeywordMap: "PageMediaType"
    *%rcNameID: =MEDIA_TYPE_DISPLAY
	*Name: "Paper Type"
    *DefaultOption: OFF

    *Option: OFF
    {
		*rcNameID: =IDS_PDEFAULT
    }
    *Option: NORMAL
    {
        *rcNameID: =IDS_PLAIN
    }
    *Option: THICK
    {
        *rcNameID: =IDS_THICK
    } 
	 *Option: THIN
    {
        *rcNameID: =IDS_THIN
    } 
	 *Option: BOND
    {
        *rcNameID: =IDS_BOND
    } 
	 *Option: COLOR
    {
        *rcNameID: =IDS_COLORED
    } 
	*Option: CARD
    {
        *rcNameID: =IDS_CARDSTOCK
    } 
	*Option: LABEL
    {
        *rcNameID: =IDS_LABELS
    } 
	*Option: USED
    {
        *rcNameID: =IDS_PREPRINTED
    } 
	*Option: COTTON
    {
        *rcNameID: =IDS_COTTON
    } 
	*Option: RECYCLED
    {
        *rcNameID: =IDS_RECYCLED
    } 
	*Option: ARCHIVE
    {
        *rcNameID: =IDS_ARCHIVE
    } 
	*Option: PHOTO111_a95_130
    {
        *Name: "Glossy Photo 111-130 g/m2 (Laser)"
    } 
	*Option: PHOTO131_a95_175
    {
        *Name: "Glossy Photo 131-175 g/m2 (Laser)"
    } 
	*Option: PHOTO176_a95_220
    {
        *Name: "Glossy Photo 176-220 g/m2 (Laser)"
    } 
	*Option: MATTEPHOTO111_a95_130
    {
        *Name: "Matte Photo 111-130 g/m2 (Laser)"
    } 
	*Option: MATTEPHOTO131_a95_175
    {
        *Name: "Matte Photo 131-175 g/m2 (Laser)"
    } 
	*Option: MATTEPHOTO176_a95_220
    {
        *Name: "Matte Photo 176-220 g/m2 (Laser)"
    } 
}



*%===================================
*%%% JOB_SETUP.6
*%%% Reverse Duplex Printing
*%===================================

*%******************************************************************************
*% GPD Feature Name         : DocumentDuplexReverse
*% Capability Name(c.xml)   : Duplex
*% Level(Job/Document/Page) : Document
*% Extension Type           : Public/Private
*%******************************************************************************

*Feature: DocumentDuplexReverse
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_RDUPLEX
    *DefaultOption: Off
    *Option: Off
    {
	 *rcNameID: =OFF_DISPLAY
    }
    *Option: On
    {
	 *rcNameID: =ON_DISPLAY
    }
}
*%===================================
*%%% JOB_SETUP.7
*%%% Staple
*%===================================

*%******************************************************************************
*% GPD Feature Name         : DocumentStaplePosition
*% Capability Name(c.xml)   : StaplePosition
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentStaplePosition
{
	*ConcealFromUI?: TRUE
    *Name: "Staple Position"
    *DefaultOption: Left
    *Option: Left
    {
		*Name: "Left"
    }
    *Option: Right
    {
		*Name: "Right"
    }
	*Option: Top
    {		
		*Name: "Top"
    }
}


*%******************************************************************************
*% GPD Feature Name         : DocumentStaple
*% Capability Name(c.xml)   : Stapler
*% Level(Job/Document/Page) : Document
*% Extension Type           : Public/Private
*%******************************************************************************
*Feature: DocumentStaple
{
	*ConcealFromUI?: TRUE
    *Name: "Stapler"
    *DefaultOption: None
    *Option: None
    {
		*Name: "None"
    }
    *Option: 1Staple
    {
		*Name: "1 Staple"
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentHolePunchingPosition
*% Capability Name(c.xml)   : HolePunchingPosition
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*Feature: DocumentHolePunchingPosition
{
	*ConcealFromUI?: TRUE
    *Name: "Hole Punching Position"
    *DefaultOption: LEFT
    *Option: LEFT
    {
		*Name: "Left"
    }
    *Option: RIGHT
    {
		*Name: "Right"
    }
	*Option: TOP
    {		
		*Name: "Top"
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentHolePunch
*% Capability Name(c.xml)   : HolePunching
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*Feature: DocumentHolePunch
{
	*ConcealFromUI?: TRUE
    *Name: "Hole Punch"
    *DefaultOption: NONE
    *Option: NONE
    {
		*Name: "None"
    }
    *Option: 2Hole
    {
		*Name: "2 Hole"
    }
	*Option: 3Hole
    {		
		*Name: "3 Hole"
    }
	*Option: 4Hole
    {		
		*Name: "4 Hole"
    }
}
*%******************************************************************************
*% GPD Feature Name         : DocumentSortOptions
*% Capability Name(c.xml)   : SortOptions
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentSortOptions
{
	*ConcealFromUI?: TRUE
    *Name: "Sort Options"
    *DefaultOption: None
    *Option: None
    {
		*Name: "None"
    }
    *Option: Offset
    {
		*Name: "Offset"
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentBannerSheet
*% Capability Name(c.xml)   : BannerSheet
*% Level(Job/Document/Page) : Document
*% Extension Type           : Public
*%******************************************************************************
 *Feature: DocumentBannerSheet
{
	*ConcealFromUI?: TRUE
    *PrintSchemaKeywordMap: "DocumentBannerSheet"
    *rcNameID: =IDS_INFOMATIONPAGE
    *DefaultOption: None
    *Option: None
    {
        *PrintSchemaKeywordMap: "None"
		*rcNameID: =OFF_DISPLAY
    }
    *Option: Standard
    {
        *PrintSchemaKeywordMap: "Standard"
		*rcNameID: =ON_DISPLAY
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentMultiBinMode
*% Capability Name(c.xml)   : MultiBinMode
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*%******************************************************************************
*% GPD Feature Name         : DocumentOutputBin
*% Capability Name(c.xml)   : OutputBin
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*Feature: DocumentOutputBin
{
	*ConcealFromUI?: TRUE
    *PrintSchemaKeywordMap: "DocumentOutputBin"
    *Name: "Output Bin"
    *DefaultOption: PrinterSetting
    *Option: PrinterSetting
    {
		*Name: "Printer Setting"
    }
    *Option: StandardOutbin
    {
		*Name: "Standard Outbin"
    }
	*Option: InnerTray
    {
		*Name: "Inner Tray"
    }	
	*Option: FinisherOutbin
    {
		*Name: "Finisher Outbin"
    }	
	*Option: BookletOutbin
    {
		*Name: "Booklet Outbin"
    }	
}



*%******************************************************************************
*% GPD Feature Name         : DocumentBinding
*% Capability Name(c.xml)   : BookletFinishing
*% Level(Job/Document/Page) : Document
*% Extension Type           : Public/Private
*%******************************************************************************
*Feature: DocumentBinding
{
	*ConcealFromUI?: TRUE
	*PrintSchemaKeywordMap: "DocumentBinding"
    *Name: "Booklet Finishing"
    *DefaultOption: None
	*Option: None
    {
		*PrintSchemaKeywordMap: "None"
		*Name: "None"
    }
	*Option: Booklet
    {
		*PrintSchemaKeywordMap: "Booklet"
		*Name: "Booklet"
    }
    *Option: Fold
    {
		*PrintSchemaKeywordMap: "Fold"
		*Name: "Folding"
    }
    *Option: FoldStitch
    {
		*Name: "Staple Folding"
    }
}

*%===================================
*%%% JOB_SETUP.8
*%%% Request Offset
*%===================================

*%******************************************************************************
*% GPD Feature Name         : DocumentOffsetOutput
*% Capability Name(c.xml)   : SortOptions
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*%===================================
*%%% JOB_SETUP.9
*%%% Toner Save Mode
*%===================================
*%******************************************************************************
*% GPD Feature Name         : DocumentTonerSave
*% Capability Name(c.xml)   : TonerSave
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentTonerSave
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_TONERSAVE
    *DefaultOption: Off
	*Option: Off
    {
		*rcNameID: =IDS_OFF
    }
	*Option: On
    {
		*rcNameID: =IDS_ON
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentDocumentType
*% Capability Name(c.xml)   : DocumentType
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentDocumentType
{
	*ConcealFromUI?: TRUE
    *Name: "Document Type"
    *DefaultOption: Standard
	*Option: Standard
    {
		*Name: "Standard"
    }
	*Option: Photo
    {
		*Name: "Photo"
    }
	*Option: BusinessGraphic
    {
		*Name: "BusinessGraphic"
    }
	*Option: CAD
    {
		*Name: "CAD"
    }
	*Option: Browser
    {
		*Name: "Browser"
    }
    *Option: XRAY
    {
		*Name: "XRAY"
    }
}


*%===================================
*%%% JOB_SETUP.10
*%%% Clear Text
*%===================================
*Feature: DocumentDarkenText
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_CLEARTEXT
    *DefaultOption: On
    *Option: Off
    {
        *rcNameID: =IDS_OFF
    }
    *Option: On
    {
        *rcNameID: =IDS_NORMAL
    }
    *Option: Maximum
    {
        *rcNameID: =IDS_MAXIMUM
    }
}

*%===================================
*%%% JOB_SETUP.11
*%%% Fine Edge
*%===================================
*Feature: DocumentFineEdge
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_FINE_EDGE
    *DefaultOption: Normal
    *Option: Off
    {
        *rcNameID: =IDS_OFF
    }
    *%*Option: Minimum
    *%{
    *%    *rcNameID: =IDS_MINIMUM
    *%}
    *Option: Normal
    {
        *rcNameID: =IDS_NORMAL
    }
    *Option: Maximum
    {
        *rcNameID: =IDS_MAXIMUM
    }
}

*%===================================
*%%% JOB_SETUP.18
*%%% RGB Color Simulator
*%===================================
*%******************************************************************************
*% GPD Feature Name         : DocumentRGBColorSimulator
*% Capability Name(c.xml)   : RGBColorSimulator
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentRGBColorSimulator
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_SIMULATOR
    *DefaultOption: Printer_a32_Default
    *Option: Printer_a32_Default
    {
        *rcNameID: =IDS_PDEFAULT
    }
    *Option: Default_a32_Simulation
    {
        *rcNameID: =IDS_DEFAULTSIMULATION
    }
    *Option: Simulation_a32_A
    {
       *rcNameID: =IDS_SIMULATIONA
    }
    *Option: Simulation_a32_B
    {
        *rcNameID: =IDS_SIMULATIONB
    }
    *Option: Simulation_a32_C
    {
        *rcNameID: =IDS_SIMULATIONC
    }
    *Option: Simulation_a32_D
    {
        *rcNameID: =IDS_SIMULATIOND
    }
}

*%===================================
*%%% JOB_SETUP.19
*%%% Skip Blank Pages
*%===================================
*%******************************************************************************
*% GPD Feature Name         : DocumentSkipBlankPages
*% Capability Name(c.xml)   : SkipBlankPages
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentSkipBlankPages
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_SKIPBLANKPAGES
    *DefaultOption: Off
    *Option: Off
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: On
    {
        *rcNameID: =ON_DISPLAY
    }
}

*%===================================
*%%% JOB_SETUP.20
*%%% Screen
*%===================================
*%******************************************************************************
*% GPD Feature Name         : DocumentHalftoneScreen
*% Capability Name(c.xml)   : HalftoneScreen
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentHalftoneScreen
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_SCREEN
    *DefaultOption: Enhanced
    *Option: PrinterDefault
    {
        *rcNameID: =IDS_PDEFAULT
    }
    *Option: Normal
    {
        *rcNameID: =IDS_NORMAL
    }
    *Option: Enhanced
    {
        *rcNameID: =IDS_ENHANCED
    }
    *Option: Detailed
    {
        *rcNameID: =IDS_DETAILED
    }
}

*%===================================
*%%% JOB_SETUP.21
*%%% Black Optimization
*%===================================
*%******************************************************************************
*% GPD Feature Name         : DocumentBlackOptimization
*% Capability Name(c.xml)   : BlackOptimization
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentBlackOptimization
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_BLACKOPTIMIZATION
    *DefaultOption: Off
    *Option: Off
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: On
    {
        *rcNameID: =IDS_K_BLACK
    }
 *Option: KCMY
    {
        *rcNameID: =IDS_K_CMY
    }
}

*%******************************************************************************
*% GPD Feature Name         : GlossyPrinting
*% Capability Name(c.xml)   : GlossyPrinting
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************



*%******************************************************************************
*% GPD Feature Name         : DocumentRegionalTable
*% Capability Name(c.xml)   : RegionalTable
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************



*%===================================
*%%% JOB_SETUP.24 
*%%% Fine Trapping
*%===================================
*Feature: DocumentFineTrapping
{
	*ConcealFromUI?: TRUE
    *rcNameID: =IDS_FINE_EDGE
    *DefaultOption: Normal
    *Option: Off
    {
        *rcNameID: =IDS_OFF
    }
    *Option: Normal
    {
        *rcNameID: =IDS_NORMAL
    }
    *Option: Maximum
    {
        *rcNameID: =IDS_MAXIMUM
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentICMSetting
*% Capability Name(c.xml)   : ICMSetting
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************


*%******************************************************************************
*% GPD Feature Name         : DocumentUserDefinedColor
*% Capability Name(c.xml)   : UserDefinedColor
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************

*%******************************************************************************
*% GPD Feature Name         : JobAutoConfiguration
*% Capability Name(c.xml)   : AutoConfiguration
*% Level(Job/Document/Page) : Job
*% Extension Type           : Private
*%******************************************************************************
*Feature: JobAutoConfiguration
{
	*ConcealFromUI?: TRUE
    *Name: "Auto Configuration"
    *DefaultOption: Off
    *Option: Off
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: On
    {
        *rcNameID: =ON_DISPLAY
    }
}

*%******************************************************************************
*% GPD Feature Name         : DocumentAllTextToBlack
*% Capability Name(c.xml)   : AllTextToBlack
*% Level(Job/Document/Page) : Document
*% Extension Type           : Private
*%******************************************************************************
*Feature: DocumentAllTextToBlack
{
	*ConcealFromUI?: TRUE
    *Name: "All Text To Black"
    *DefaultOption: Off
    *Option: Off
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: On
    {
        *rcNameID: =ON_DISPLAY
    }
}

*%===================================
*%%% JOB_SETUP.50
*%%%     RESOLUTION
*%%%     ENTER LANGUAGE=PCLXL
*%%%     PCL XL Stream Header
*%%%     BeginSession
*%%% CmdEndRaster
*%%%     EndImage
*%%% CmdSendBlockData
*%%%     EndImage
*%===================================
*Feature: Resolution
{
	*ConcealFromUI?: TRUE
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: 0_600x2_dpi
    *Option: 0_600x2_dpi
    {
        *rcNameID: =IDS_QUALITYBEST
		*DPI: PAIR(600, 600)
        *TextDPI: PAIR(600, 600)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 100
        *Command: CmdBeginRaster
        {
            *Cmd : =PCLXL_CmdBeginRaster
        }

        *Command: CmdEndRaster { *Cmd : =EndImage }
        *Command: CmdSendBlockData
        {
            *Cmd: =PCLXL_CmdSendBlockData
        }
		*Command: CmdSelect
		{
			*Order: JOB_SETUP.50
			*Cmd: =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession600
		}
    }
    *Option: 1_600x1_dpi
    {
        *rcNameID: =IDS_QUALITYNORMAL
		*DPI: PAIR(600, 600)
        *TextDPI: PAIR(600, 600)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 100
        *Command: CmdBeginRaster
        {
            *Cmd : =PCLXL_CmdBeginRaster
        }

        *Command: CmdEndRaster { *Cmd : =EndImage }
        *Command: CmdSendBlockData
        {
            *Cmd: =PCLXL_CmdSendBlockData
        }
		*Command: CmdSelect
		{
			*Order: JOB_SETUP.50
			*Cmd: =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession600
		}
    }
}

*Feature: Quality
{
	*ConcealFromUI?: FALSE
	*PrintSchemaKeywordMap: "PageOutputQuality"
    *rcNameID: =IDS_QUALITY
    *DefaultOption: 0_600x2_dpi
    *Option: 0_600x2_dpi
    {
        *rcNameID: =IDS_QUALITYBEST
    }
    *Option: 1_600x1_dpi
    {
        *rcNameID: =IDS_QUALITYNORMAL
    }
}

*%===================================
*%%% JOB_SETUP.49 : RD PJL
*%%%     JCLBEGIN
*%%%     RDCSPJL
*%%%     QTY
*%%%     StaplePJL
*%%%     SERVICEDATE
*%===================================
*Command: CmdStartJob
{
    *Order: JOB_SETUP.1
    *Cmd: =PJL_STARTJOB
}


*%===================================
*%%% JOB_SETUP.60
*%%% OpenDataSource(0x48)
*%%%     SourceType(ubyte) & DataOrg(ubyte)
*%%%     136(0x88)           130(0x82)
*%===================================
*Command: CmdStartDoc
{
    *Order: JOB_SETUP.60
    *Cmd: =ubyte "<00>" =attr_ubyte =SourceType =ubyte "<01>" =attr_ubyte =DataOrg =OpenDataSource
}

*%-------------------------------------------------------------------------
*%%% PAGE_FINISH
*%-------------------------------------------------------------------------

*%===================================
*%%% PAGE_FINISH.1
*%===================================
*Command: CmdEndPage
{
    *Order: PAGE_FINISH.1
    *Cmd: =uint16 %l{NumOfCopies} =attr_ubyte =PageCopies =EndPage
    *Params:LIST(NumOfCopies)
}

*%-------------------------------------------------------------------------
*%%% JOB_FINISH
*%-------------------------------------------------------------------------

*%===================================
*%%% JOB_FINISH.1
*%%% CmdEndJob
*%===================================
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: =CloseDataSource =EndSession =PJL_ENDJOB
}

*%-------------------------------------------------------------------------
*%%% PAGE_SETUP
*%-------------------------------------------------------------------------

*%===================================
*%%% PAGE_SETUP.2
*%%% BeginPage(0x43)
*%%%     Orientation(40), MediaSize(37), MediaSource(38)
*%%%     ubyte            ubyte          ubyte
*%===================================
*Feature: PaperSize
{
	*ConcealFromUI?: FALSE
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    *ConflictPriority: 1
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *% rcid 1000
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9800, 12800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eLetterPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9800, 12800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 13000)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eLetterPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 5230
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9800, 16400)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eLegalPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9800, 16400)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 16600)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eLegalPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }

    *Option: EXECUTIVE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *%PrintSchemaKeywordMap: "NorthAmericaExecutive"
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8300, 12200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eExecPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8300, 12200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 12400)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eExecPaper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }

    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1008
        *PageProtectMem: 4249
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9512, 13620)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 204)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eA4Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9512, 13620)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 13824)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eA4Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
    *Option: A5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *% rcid 1000
        *PageProtectMem: 2125
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(6536, 9464)
                *PrintableOrigin: PAIR(228, 228)
                *CursorOrigin: PAIR(228, 228)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eA5Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
				*PrintableArea: PAIR(6536, 9464)
                *PrintableOrigin: PAIR(228, 228)
                *CursorOrigin: PAIR(228, 9692)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eA5Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 3198
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8188, 11732)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 204)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eJB5Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8188, 11732)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 11936)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eJB5Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }

    *Option: FOLIO
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
       
        *switch: Orientation
        {
            *case: PORTRAIT
            {
				*PrintableArea: PAIR(9800, 15200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte "<18>" =attr_ubyte =MediaSize =BeginPage
                }
             }
             *case: LANDSCAPE_CC90
             {
                *PrintableArea: PAIR(9800, 15200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 15400)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte "<18>" =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
   
    *Option: A6
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4560, 6592)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eA6Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4560, 6592)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 6792)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eA6Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
    *Option: ENV_B5
    {
        *rcNameID: =IDS_ISOB5
        *PrintSchemaKeywordMap: "ISOB5Envelope"
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(7904, 11400)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 204)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
				    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte =eB5Envelope =attr_ubyte =MediaSize =BeginPage

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(7904, 11400)
                *PrintableOrigin: PAIR(204, 204)
                *CursorOrigin: PAIR(204, 11604)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
		    		*Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte =eB5Envelope =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }

    *Option: Oficio
    {
        *rcNameID: =IDS_OFICIO
		*PageDimensions: PAIR(10200,16200)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9800,15800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+		          		  =ubyte_array =eoficio=attr_ubyte =MediaSize =BeginPage
                }
            }

            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9800,15800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 16000)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                    	  =ubyte_array =eoficio=attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
   
    *Option: Postcard
    {
        *rcNameID: =IDS_POSTCARD4X6
		*PageDimensions: PAIR(4800,7200)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4400,6800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+		          		  =ubyte_array =ePostcard=attr_ubyte =MediaSize =BeginPage
                }
            }

            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4400,6800)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 7000)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                    	  =ubyte_array =ePostcard=attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
	*Option: A3                                     *% physical page (14030, 19842 - 11.693" x 16.535")
    {
         *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
         *switch: Orientation
         {
             *case: PORTRAIT
             {
                 *PrintableArea: PAIR(13628, 19440)
                 *PrintableOrigin: PAIR(200, 200)
                 *CursorOrigin: PAIR(200, 200)
                 *Command: CmdSelect
                 {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+		          		  =ubyte =eA3Paper =attr_ubyte =MediaSize =BeginPage
                 }

             }
             *case: LANDSCAPE_CC90
             {
                 *PrintableArea: PAIR(13628, 19440)
                 *PrintableOrigin: PAIR(200, 200)
                 *CursorOrigin: PAIR(200, 19640)
                  *Command: CmdSelect
                 {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                    	  =ubyte =eA3Paper =attr_ubyte =MediaSize =BeginPage
                 }
             }
         }
    }
    *Option: B4                                      *% B4 (JIS) physical page (12140, 17196 - 10.118" x 14.33")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(11720, 16760)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                    	  =ubyte =eJB4Paper =attr_ubyte =MediaSize =BeginPage
                }

            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(11720, 16760)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 16960)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                    	  =ubyte =eJB4Paper =attr_ubyte =MediaSize =BeginPage
                }
            }
        }
    }
	*Option: TABLOID                                   *% Tabloid physical page (13200, 20400 - 11.00" x 17.00")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(12800, 20000)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                    	  =ubyte =eLedgerPaper =attr_ubyte =MediaSize =BeginPage

                }

            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(12800, 20000)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 20200)
                 *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                    	  =ubyte =eLedgerPaper =attr_ubyte =MediaSize =BeginPage

                }

            }
        }
    }
   
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(3600, 6000)
        *MaxSize: PAIR(15120, 32767)
        *MaxPrintableWidth: 15120
        *MinLeftMargin: 100
        *CenterPrintable?: FALSE
        *PageProtectMem: 1692
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *CustCursorOriginX:  %d{((PhysPaperWidth - 15120) / 2) + 300 }
                *CustCursorOriginY:   %d{140 }
                *CustPrintableOriginX:  %d{300 }
                *CustPrintableOriginY:  %d{300}
                *CustPrintableSizeX:   %d{ PhysPaperWidth - 600 }
                *CustPrintableSizeY:  %d{ PhysPaperLength - 600 }
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =uint16_xy %l{(PhysPaperWidth*254 / 1200)}%l{(PhysPaperLength*254 / 1200)} =attr_ubyte =CustomMediaSize
+                         =ubyte =eTenthsOfAMillimeter =attr_ubyte =CustomMediaSizeUnits =BeginPage
                }
            }
            *case: LANDSCAPE_CC90
            {
                *CustCursorOriginX:  %d{((PhysPaperWidth - 15120) / 2) + 200 }
                *CustCursorOriginY:   %d{16560 }
                *CustPrintableOriginX:  %d{200 }
                *CustPrintableOriginY:  %d{240}
                *CustPrintableSizeX:   %d{ PhysPaperWidth - 480 }
                *CustPrintableSizeY:  %d{ PhysPaperLength - 480 }
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.2
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =uint16_xy %l{(PhysPaperWidth*254 / 1200)}%l{(PhysPaperLength*254 / 1200)} =attr_ubyte =CustomMediaSize
+                         =ubyte =eTenthsOfAMillimeter =attr_ubyte =CustomMediaSizeUnits =BeginPage
                }
            }
        }
    }
}

*%*ChangeColorModeOnDoc?: FALSE



*%===================================
*%%% PAGE_SETUP.1
*%%% BeginPage(0x43)
*%%%     Orientation(0x40), MediaSize(0x37), MediaSource(0x38)
*%%%     ubyte               ubyte             ubyte
*%%%     MediaSource
*%===================================

*%******************************************************************************
*% GPD Feature Name         : PageDefaultSource
*% Capability Name(c.xml)   : PaperSource
*% Level(Job/Document/Page) : Page
*% Extension Type           : Private
*%******************************************************************************
*Feature: PageDefaultSource
{
	*ConcealFromUI?: TRUE
	*Name:"PageDefaultSource"
    *DefaultOption: AUTO
    *Option: AUTO
    {
	   *PrintSchemaKeywordMap: "AutoSelect"
       *Name: "AUTO"
    }
    *Option: MANUAL
    {
       *Name: "MANUAL"
    }  
}

*%******************************************************************************
*% GPD Feature Name         : InputBin
*% Capability Name(c.xml)   : PaperSource
*% Level(Job/Document/Page) : Page
*% Extension Type           : Private
*%******************************************************************************
*Feature: PageInputBin
{
	*ConcealFromUI?: FALSE
	*PrintSchemaKeywordMap: "PageInputBin"
    *%rcNameID: =PAPER_SOURCE_DISPLAY
	*Name: "Paper Source"
    *DefaultOption: AUTO
    *Option: AUTO
    {
		*PrintSchemaKeywordMap: "AutoSelect"
        *rcNameID: =IDS_AUTOSELECT  *% Automatically Select
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
			*Cmd: =ubyte =eAutoSelect =attr_ubyte =MediaSource
        }
    }
	*Option: MANUAL
    {
        *rcNameID: =IDS_MPFEEDER
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
			*Cmd: =ubyte =eManualFeed =attr_ubyte =MediaSource
        }
    }
}

*%===================================
*%%% JOB_SETUP.8
*%%% DuplexPageMode(53(0x35))
*%===================================

*%******************************************************************************
*% GPD Feature Name         : DocumentDuplex
*% Capability Name(c.xml)   : Duplex
*% Level(Job/Document/Page) : Document
*% Extension Type           : Public/Private
*%******************************************************************************

 
 

*%******************************************************************************
*%                             Suupport Duplex on Properties
*%******************************************************************************
 

*%******************************************************************************
*%                             Suupport Staple on Properties
*%******************************************************************************
 

*%******************************************************************************
*%                             PagesPerSheet
*%******************************************************************************


*Feature: PagesPerSheet
{
	*ConcealFromUI?: FALSE
    *PrintSchemaKeywordMap: "DocumentNUp"
    *Name: "Pages Per Sheet"
    *DefaultOption: 1
    *Option: 1
    {
        *Name: "1"
    }
    *Option: 2
    {
        *Name: "2"
    }
    *Option: 4
    {
        *Name: "4"
    }
    *Option: 6
    {
        *Name: "6"
    }
    *Option: 9
    {
        *Name: "9"
    }
    *Option: 16
    {
        *Name: "16"
    }
}

*%******************************************************************************
*%                             Add GPD Common Features
*%******************************************************************************


*%******************************************************************************
*% GPD Feature Name         : JobPageOrder
*% Capability Name(c.xml)   : PrintOrder
*% Level(Job/Document/Page) : Job
*% Extension Type           : Public+Private
*%******************************************************************************
*Feature: JobPageOrder
{
	*ConcealFromUI?: TRUE
    *PrintSchemaKeywordMap: "JobPageOrder"
    *Name: "Page Order"
    *DefaultOption: Standard
    *Option: Standard
    {
        *PrintSchemaKeywordMap: "Standard"
		*Name: "Standard"
    }
    *Option: Reverse
    {
        *PrintSchemaKeywordMap: "Reverse"
		*Name: "Reverse"
    }
	*Option: OddPages
    {
		*Name: "OddPages"
    }
	*Option: EvenPages
    {
		*Name: "EvenPages"
    }
}
*%******************************************************************************
*% GPD Feature Name         : PageBorder
*% Capability Name(c.xml)   : NupBorder
*% Level(Job/Document/Page) : Page
*% Extension Type           : Private
*%******************************************************************************
*Feature: PageBorder
{
	*ConcealFromUI?: TRUE
    *Name: "Page Border"
    *DefaultOption: None
    *Option: None
    {
		*Name: "None"
    }
	*Option: SolidLine
    {
		*Name: "Solid Line"
    }
	*Option: DashedLine
    {
		*Name: "Dashed Line"
    }
	*Option: DottedLine
    {
		*Name: "Dotted Line"
    }
	*Option: ChainLine
    {
		*Name: "Chain Line"
    }
	*Option: ChainDoubleDashedLine
    {
		*Name: "Chain Double Dashed Line"
    }
	*Option: 3DimensionalLine
    {
		*Name: "3Dimensional Line"
    }
	*Option: Transparent
    {
		*Name: "Transparent Line"
    }
	*Option: DoubleSolidLine
    {
		*Name: "Double Solid  Line"
    }
	*Option: CropMarks
    {
		*Name: "Crop Marks Line"
    }
	*Option: CornerMarks
    {
		*Name: "Corner Marks Line"
    }
}

*%******************************************************************************
*% GPD Feature Name         : PresentationDirection
*% Capability Name(c.xml)   : N/A
*% Level(Job/Document/Page) : N/A
*% Extension Type           : Public
*%******************************************************************************

*%******************************************************************************
*%                             Booklet
*%******************************************************************************

*%******************************************************************************
*%                             Page Border
*%******************************************************************************
*%Feature: PageBorder
*%{
*%    *%Name: "Page Border"
*%    *rcNameID: =IDS_PAGEBORDER
*%    *DefaultOption: OFF
*%    *Option: OFF
*%   {
*%        *rcNameID: =OFF_DISPLAY
*%    }
*%    *Option: ON
*%    {
*%        *rcNameID: =ON_DISPLAY
*%    }
*%
*%}

*%******************************************************************************
*%                             For Eco Device Status saving
*%******************************************************************************
*Feature: JobEcoDeviceStatus
{
	*ConcealFromUI?: TRUE
    *Name: "JobEcoDeviceStatus"
    *DefaultOption: None
    *Option: None
    {
        *Name: "None"
    }
    *Option: EcoPrinting
    {
        *Name: "EcoPrinting"
    }
    *Option: PrintDefault
    {
        *Name: "PrintDefault"
    }
    *Option: AdminPrintDefault
    {
        *Name: "AdminPrintDefault"
    }
}

*%******************************************************************************
*%                             Job Encryption
*%******************************************************************************
*Feature: JobEncription
{
	*ConcealFromUI?: TRUE
    *Name: "JobEncription"
    *DefaultOption: Off
    *Option: Off
    {
        *Name: "Off"
    }
    *Option: On
    {
        *Name: "On"
    }
}

*%******************************************************************************
*%                             Win8Support for USB printing
*%******************************************************************************
*Feature: Win8Support
{
	*ConcealFromUI?: TRUE
    *Name: "Win8Support"
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: None
    *Option: Off
    {
        *Name: "Off"
    }
    *Option: On
    {
        *Name: "On"
    }
    *Option: None
    {
        *Name: "None"
    }
}
 
*%===================================
*%%% PAGE_SETUP.4
*%%% SetPageOrigin
*%%%     PageOrigin
*%%% SetPageScale
*%===================================

*%*Command: CmdStartPage
*%{
*%    *Order: PAGE_SETUP.4
*%    *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
*%+         =ubyte "<01>" =attr_ubyte =ColorSpace =SetColorSpace
*%}


*%===================================
*%%% Device fonts
*%===================================

*%*DefaultFont: =RC_FONT_COURIERR
*%*DefaultCTT: 0

*%*DeviceFonts: LIST(
*%+    =RC_FONT_ALBERTX,
*%+    =RC_FONT_AOLIVEB,
*%+    =RC_FONT_AOLIVER,
*%+    =RC_FONT_ARIALB,
*%+    =RC_FONT_ARIALI,
*%+    =RC_FONT_ARIALJ,
*%+    =RC_FONT_ARIALR,
*%+    =RC_FONT_COURIERB,
*%+    =RC_FONT_COURIERI,
*%+    =RC_FONT_COURIERJ,
*%+    =RC_FONT_COURIERR,
*%+    =RC_FONT_LETGOTHB,
*%+    =RC_FONT_LETGOTHI,
*%+    =RC_FONT_LETGOTHR,
*%+    =RC_FONT_MARGOLDR,
*%+    =RC_FONT_TIMESNRB,
*%+    =RC_FONT_TIMESNRI,
*%+    =RC_FONT_TIMESNRJ,
*%+    =RC_FONT_TIMESNRR,
*%+    =RC_FONT_WINGDINGS,
*%+    =RC_FONT_SYMBOL)

*%*TTFS: AlbertusX
*%{
*%  *TTFontName: "Albertus Extra Bold"
*%  *DevFontName: "Albertus Extra Bold"
*%}
*%*TTFS: AntiqueOlive
*%{
*%  *TTFontName: "Antique Olive"
*%  *DevFontName: "Antique Olive"
*%}
*%*TTFS: LetterGothic
*%{
*%  *TTFontName: "Letter Gothic"
*%  *DevFontName: "Letter Gothic"
*%}
*%*TTFS: Marigold
*%{
*%  *TTFontName: "Marigold"
*%  *DevFontName: "Marigold"
*%}
 
*%===================================
*%%% Printing attributes
*%===================================
*RotateCoordinate?: TRUE
*RotateRaster?: TRUE
*RotateFont?: TRUE
*EjectPageWithFF?: FALSE

*TextCaps: LIST(TC_CR_ANY,TC_CR_90,TC_SF_X_YINDEP,TC_SA_CONTIN,TC_IA_ABLE,TC_UA_ABLE)
*MemoryUsage: LIST(FONT)
*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: AUTO_INCREMENT
*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
*XMoveThreshold: 0
*YMoveThreshold: 0
*XMoveUnit: 1200
*YMoveUnit: 1200

*%%% *MinGrayFill: 1
*%%% *MaxGrayFill: 100

*%%% *OutputDataFormat: H_BYTE
*%%% *OptimizeLeftBound?: TRUE

*%===================================
*%%% Color
*%===================================
*Feature: ColorMode
{
    *rcNameID: =IDS_COLORMODE
    *DefaultOption: Color
    *Option: Grayscale
    {
    	*rcNameID: =IDS_GRAYSCALE
        *PrintSchemaKeywordMap: "Grayscale"
        *DevNumOfPlanes: 1
        *DevBPP: 8
        *DrvBPP: 8
        *Color? : FALSE
        *PaletteSize: 256
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
    *Option: Color
   {
        *rcNameID: =IDS_COLOR
        *PrintSchemaKeywordMap: "Color"
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *PaletteSize: 1
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
}

*switch: ColorMode
{
    *case: Grayscale
    {
        *Command: CmdStartPage
        {
        *Order: PAGE_SETUP.35
        *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+             =ubyte =eGray =attr_ubyte =ColorSpace =SetColorSpace
         }
    }
    *case: Color
    {
        *Command: CmdStartPage
        {
        *Order: PAGE_SETUP.35
        *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+             =ubyte =eRGB =attr_ubyte =ColorSpace =SetColorSpace
        }
    }
}
*%===================================
*%%% TrueType fonts
*%===================================

*CharPosition: BASELINE
*TTFSEnabled?: TRUE
*FontFormat: OEM_CALLBACK
*MinFontID: 1
*MaxFontID: 65535
*MinGlyphID: 1
*MaxGlyphID: 1000

*%===================================
*%%% Cursor commands
*%===================================

*Command: CmdCR { *Cmd: =CR}
*Command: CmdLF { *Cmd: =LF}
*Command: CmdFF { *Cmd: =FF}

*%%% SetCursor(0x6b)
*%%%     Point(76(0x40c)) uint_16
*%%% SetCursorRel(0x6c)
*%%%     Point(76(0x40c)) uint_16
*Command: CmdXMoveAbsolute
{
    *Cmd: ""
}
*Command: CmdXMoveRelRight
{
    *Cmd: ""
    *Params: LIST(DestXRel, TextXRes)
}
*Command: CmdXMoveRelLeft
{
    *Cmd: ""
    *Params: LIST(DestXRel, TextXRes)
}
*Command: CmdYMoveAbsolute
{
    *Cmd: ""
    *Params: LIST(DestY, TextYRes)
}
*Command: CmdYMoveRelDown
{
    *Cmd: ""
    *Params: LIST(DestYRel, TextYRes)
}
*Command: CmdYMoveRelUp
{
    *Cmd: ""
    *Params: LIST(DestYRel, TextYRes)
}
*%%% *Command: CmdPushCursor
*%%% *Command: CmdPopCursor

*%===================================
*%%% Font commands
*%===================================

*Command: CmdSetFontID { *Cmd : "" }
*Command: CmdSelectFontID
{
    *Cmd: ""
    *Params: LIST(FontHeight, CurrentFontID, TextYRes)
}

*Command: CmdSetCharCode
{
    *Cmd : ""
}

*Command: CmdBoldOn
{
    *Cmd : ""
}
*Command: CmdBoldOff
{
    *Cmd : ""
}
*%%% *Command: CmdItalicOn: "=real32_xy "<3ea1e4f700000000>" =attr_ubyte =eCharShear =SetCharShear"
*%%% *Command: CmdItalicOff: "=real32_xy "<0000000000000000>" =attr_ubyte =eCharShear =SetCharShear"
*%%% *Command: CmdWhiteTextOn:
*%%% *Command: CmdWhiteTextOff:
*%%% *Command: CmdSelectSingleByteMode:
*%%% *Command: CmdSelectDoubleByteMode:
*Command: CmdSetAnyRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*Command: CmdSetSimpleRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
