*% Copyright 2004 Oce-Nederland B.V., Venlo, The Netherlands
*% All rights reserved.
*%
*% Oce identification: %name: 2070PCL6.GPD % %version: 3.1.10 % date:31-08-2004
*%

*GPDSpecVersion: "1.0"
*GPDFileName:    "2075CCN6.GPD"
*GPDFileVersion: "1.1.2"
*CodePage:       1252
*ModelName:      "Oce VarioPrint 2075 PCL6 CN"
*MasterUnits:    PAIR(1200, 1200)
*ResourceDLL:    "ocexlres.dll"
*Include:        "ttfsub.gpd"
*Include:        "StdNames.gpd"
*Include:        "locale.gpd"
*Include:        "pjl.gpd"
*Include:        "pclxl.gpd"

*Personality: =PERSONALITY_PCLXL

*% --------------------------------------------------------------------------------------------------------
*% Configuration items for the general Varioprint 2070 PCL
*% --------------------------------------------------------------------------------------------------------

*Macros:OCE_2070_Settings
{
	OCE_SET_PPM:   72
	OCE_UPDRESDLL: "20706CCN.DLL" 
}

*% --------------------------------------------------------------------------------------------------------
*%% Macro definition for standard PCLXL commands
*% --------------------------------------------------------------------------------------------------------

*%% Attribute tags
*Macros: AttributeTag
{
    PaletteDepth:         "<02>"
    ColorSpace:           "<03>"
    NullBrush:            "<04>"
    NullPen:              "<05>"
    PaletteData:          "<06>"
    PatternSelectID:      "<08>"
    GrayLevel:            "<09>"
    RGBColor:             "<0b>"
    PatternOrigin:        "<0c>"
    NewDestinationSize:   "<0d>"
    DeviceMatrix:         "<21>"
    DitherMatrixDataType: "<22>"
    DitherOrigin:         "<23>"
    MediaDestination:     "<24>"
    MediaSize:            "<2525>"
    MediaSource:          "<26>"
    MediaType:            "<27>"
    Orientation:          "<28>"
    PageAngle:            "<29>"
    PageOrigin:           "<2a>"
    PageScale:            "<2b>"
    ROP3:                 "<2c>"
    TxMode:               "<2d>"
    CustomMediaSize:      "<2f>"
    CustomMediaSizeUnits: "<30>"
    PageCopies:           "<31>"
    DitherMatrixSize:     "<32>"
    DitherMatrixDepth:    "<33>"
    SimplexPageMode:      "<34>"
    DuplexPageMode:       "<35>"
    DuplexPageSize:       "<36>"
    ArgDirection:         "<41>"
    BoundingBox:          "<42>"
    DashOffset:           "<43>"
    EllipseDimension:     "<44>"
    EndPoint:             "<45>"
    FillMode:             "<46>"
    LineCapStyle:         "<47>"
    LineJointStyle:       "<48>"
    MiterLength:          "<49>"
    PenDashStyle:         "<4a>"
    PenWidth:             "<4b>"
    Point:                "<4c>"
    NumberOfPoints:       "<4d>"
    SolidLine:            "<4e>"
    StartPoint:           "<4f>"
    PointType:            "<50>"
    ControlPoint1:        "<51>"
    ControlPoint2:        "<52>"
    ClipRegion:           "<53>"
    ClipMode:             "<54>"
    ColorDepth:           "<62>"
    BlockHeight:          "<63>"
    ColorMapping:         "<64>"
    CompressMode:         "<65>"
    DestinationBox:       "<66>"
    DestinationSize:      "<67>"
    PatternPersistence:   "<68>"
    PatternDefineID:      "<69>"
    SourceHeight:         "<6b>"
    SourceWidth:          "<6c>"
    StartLine:            "<6d>"
    XPairType:            "<6e>"
    NumberOfXPairs:       "<6f>"
    XStart:               "<70>"
    XEnd:                 "<71>"
    NumberOfScanLines:    "<72>"
    CommentData:          "<81>"
    DataOrg:              "<82>"
    Measure:              "<86>"
    SourceType:           "<88>"
    UnitsPerMeasure:      "<89>"
    StreamName:           "<8b>"
    StreamDataLength:     "<8c>"
    ErrorReport:          "<8f>"
    CharAngle:            "<a1>"
    CharCode:             "<a2>"
    CharDataSize:         "<a3>"
    CharScale:            "<a4>"
    CharShear:            "<a5>"
    CharSize:             "<a6>"
    FontHeaderLength:     "<a7>"
    FontName:             "<a8>"
    FontFormat:           "<a9>"
    SymbolSet:            "<aa>"
    TextData:             "<ab>"
    CharSubModeArray:     "<ac>"
    XSpacingData:         "<af>"
    YSpacingData:         "<b0>"
    CharBoldValue:        "<b1>"
}

*%% Attribute Enumeration

*Macros: AttributeEnum
{
*%% ArcDirection
    eClockWise: "<00>" 
    eCounterClockWise: "<01>" 

*%% CharSubModeArray
    eNoSubstitution: "<00>" 
    eVerticalSubstitution: "<01>" 

*%% ClipMode
*%%    see FillMode Enumeration

*%% ClipRegion
    eInterior: "<00>" 
    eExterior: "<01>" 

*%% ColorDepth
    e1Bit: "<00>" 
    e4Bit: "<01>" 
    e8Bit: "<02>" 

*%% ColorimetricColorSpace
    eCRGB: 5 

*%% ColorMapping
    eDirectPixel: "<00>" 
    eIndexedPixel: "<01>" 

*%% ColorSpace
    eGray: "<01>" 
    eRGB: "<02>" 
    eSRGB: "<06>" 

*%% CompressMode
    eNoCompression: "<00>" 
    eRLECompression: "<01>" 
    eJPEGCompression: "<02>" 

*%% DataOrg
    eBinaryHighByteFirst: "<00>" 
    eBinaryLowByteFirst: "<01>" 

*%% DataSource
    eDefault: "<00>" 

*%% DataType
    eUByte: "<00>" 
    eSByte: "<01>" 
    eUint16: "<02>" 
    eSint16: "<03>" 

*%% DitherMatrix
    eDeviceBest: "<00>" 

*%% DuplexPageMode
    eDuplexHorizontalBinding: "<00>" 
    eDuplexVerticalBinding: "<01>" 

*%% DuplexPageSide
    eFrontMediaSide: "<00>" 
    eBackMediaSide: "<01>" 

*%% ErrorReport
    
    eBackChannel: "<01>" 
    eErrorPage: "<02>" 
    eBackChAndErrPage: "<03>" 
    eNWBackChannel: "<04>" 
    eNWErrorPage: "<05>"
    eNWBackChAndErrPage: "<06>" 

*%% FillMode
    eNonZeroWinding: "<00>" 
    eEvenOdd: "<01>" 

*%% LineCap
    eButtCap: "<00>" 
    eRoundCap: "<01>" 
    eSquareCap: "<02>" 
    eTriangleCap: "<03>" 

*%% LineJoin
    eMiterJoin: "<00>" 
    eRoundJoin: "<01>" 
    eBevelJoin: "<02>" 
    eNoJoin: "<03>" 

*%% Measure
    eInch: "<00>" 
    eMillimeter: "<01>" 
    eTenthsOfAMillimeter: "<02>" 

*%% MediaSize Enumerations
    eLetterPaper: "<00>"
    eLegalPaper: "<01>"
    eA4Paper: "<02>"
    eA5Paper: "<03>"
    eLedgerPaper: "<04>"
    eA3Paper: "<05>"

*%% MediaSource
    eDefaultSource: "<15>" 
    eAutoSelect: "<01>" 
    eManualFeed: "<02>" 
    eTray1: "<15>"
    eTray2: "<16>"
    eTray3: "<17>"
    eTray4: "<18>"
	

*%% MediaType
    ePlain: "Plain"
    ePreprinted: "Preprinted"
    eLetterhead: "Letterhead"
    eTransparency: "Transparency"
    ePrepunched: "Prepunched"
    eLabels: "Labels"
    eBond: "Bond"
    eRecycled: "Recycled"
    eColor: "Color"
    eCardstock: "Card Stock"
    eRough: "Rough"
    eVellum: "Vellum"

*%% External Trays
*%%     1-248 8-255 

*%% MediaDestination
    eDefaultDestination: "<00>" 
    eFaceDownBin: "<01>" 
    eFaceUpBin: "<02>" 
    eJobOffsetBin: "<03>"
*%% External Bins 1-251 5-255

*%% Orientation
    ePortraitOrientation: "<00>" 
    eLandscapeOrientation: "<01>" 
    eReversePortrait: "<02>" 
    eReverseLandscape: "<03>" 

*%% PatternPersistence
    eTempPattern: "<00>" 
    ePagePattern: "<01>" 
    eSessionPattern: "<02>" 

*%% SymbolSet
*%%  

*%% SimplexPageMode
    eSimplexFrontSide: "<00>" 

*%% TxMode
    eOpaque: "<00>" 
    eTransparent: "<01>" 

*%% WritingMode
    eHorizontal: "<00>" 
    eVertical: "<01>"
}

*%% Data Tags

*Macros: DataTag
{
    ubyte:          "<c0>"
    uint16:         "<c1>"
    uint32:         "<c2>"
    sint16:         "<c3>"
    sint32:         "<c4>"
    real32:         "<c5>"
    ubyte_array:    "<c8>"
    uint16_array:   "<c9>"
    uint32_array:   "<ca>"
    sint16_array:   "<cb>"
    sint32_array:   "<cc>"
    real32_array:   "<cd>"
    ubyte_xy:       "<d0>"
    uint16_xy:      "<d1>"
    uint32_xy:      "<d2>"
    sint16_xy:      "<d3>"
    sint32_xy:      "<d4>"
    real32_xy:      "<d5>"
    ubyte_box:      "<e0>"
    uint16_box:     "<e1>"
    uint32_box:     "<e2>"
    sint16_box:     "<e3>"
    sint32_box:     "<e4>"
    real32_box:     "<e5>"
    attr_ubyte:     "<f8>"
    attr_uint16:    "<f9>"
    dataLength:     "<fa>"
    dataLengthByte: "<fb>"
}

*%% Operator Tag

*Macros: OperatorTag
{
    HT: "<09>"
    LF: "<0a>"
    VT: "<0b>"
    FF: "<0c>"
    CR: "<0d>"
    BeginSession: "<41>"
    EndSession: "<42>"
    BeginPage: "<43>"
    EndPage: "<44>"
    Comment: "<47>"
    OpenDataSource: "<48>"
    CloseDataSource: "<49>"
    BeginFontHeader: "<4f>"
    ReadFontHeader: "<50>"
    EndFontHeader: "<51>"
    BeginChar: "<52>"
    ReadChar: "<53>"
    EndChar: "<54>"
    RemoveFont: "<55>"
    BeginStream: "<5b>"
    ReadStream: "<5c>"
    EndStream: "<5d>"
    ExecStream: "<5e>"
    PopGS: "<60>"
    PushGS: "<61>"
    SetClipReplace: "<62>"
    SetBrushSource: "<63>"
    SetCharAngle: "<64>"
    SetCharScale: "<65>"
    SetCharShear: "<66>"
    SetClipIntersect: "<67>"
    SetClipRectangle: "<68>"
    SetClipToPage: "<69>"
    SetColorSpace: "<6a>"
    SetCursor: "<6b>"
    SetCursorRel: "<6c>"
    SetHalftoneMethod: "<6d>"
    SetFillMode: "<6e>"
    SetFont: "<6f>"
    SetLineDash: "<70>"
    SetLineCap: "<71>"
    SetLineJoin: "<72>"
    SetMiterLimit: "<73>"
    SetPageDefaultCTM: "<74>"
    SetPageOrigin: "<75>"
    SetPageRotation: "<76>"
    SetPageScale: "<77>"
    SetPatternTxMode: "<78>"
    SetPenSource: "<79>"
    SetPenWidth: "<7a>"
    SetROP: "<7b>"
    SetSourceTxMode: "<7c>"
    SetCharBoldValue: "<7d>"
    SetClipMode: "<7f>"
    SetPathToClip: "<80>"
    SetCharSubMode: "<81>"
    CloseSubPath: "<84>"
    NewPath: "<85>"
    PaintPath: "<86>"
    ArcPath: "<91>"
    BezierPath: "<93>"
    BezierRelPath: "<95>"
    Chord: "<96>"
    ChordPath: "<97>"
    Ellipse: "<98>"
    EllipsePath: "<99>"
    LinePath: "<9b>"
    LineRelPath: "<9d>"
    Pie: "<9e>"
    PiePath: "<9f>"
    Rectangle: "<a0>"
    RectanglePath: "<a1>"
    RoundRectangle: "<a2>"
    RoundRectanglePath: "<a3>"
    Text: "<a8>"
    TextPath: "<a9>"
    BeginImage: "<b0>"
    ReadImage: "<b1>"
    EndImage: "<b2>"
    BeginRestPattern: "<b3>"
    ReadRastPattern: "<b4>"
    EndRastPattern: "<b5>"
    BeginScan: "<b6>"
    EndScan: "<b8>"
    ScanLineRel: "<b9>"
}


*Macros: MediaSizeStrings
{
    sA3Paper: =ubyte "<02>" "A3"
    sA4Paper: =ubyte "<02>" "A4"
    sA5Paper: =ubyte "<02>" "A5"
    sLegalPaper: =ubyte "<0C>" "LEGAL 8.5x14"
    sLetterPaper: =ubyte "<0D>" "LETTER 8.5x11"
    sTabloidPaper: =ubyte "<06>" "LEDGER"
}

*% --------------------------------------------------------------------------------------------------------
*% Font macros
*% --------------------------------------------------------------------------------------------------------

*Macros: DeviceFontIDs
{
    RC_FONT_ALBERTR:    1
    RC_FONT_ALBERTX:    2
    RC_FONT_AOLIVEB:    3
    RC_FONT_AOLIVEI:    4
    RC_FONT_AOLIVER:    5
    RC_FONT_ARIALB:     6
    RC_FONT_ARIALI:     7
    RC_FONT_ARIALJ:     8
    RC_FONT_ARIALR:     9
    RC_FONT_BENGUATB:  10  
    RC_FONT_BENGUATI:  11  
    RC_FONT_BENGUATJ:  12  
    RC_FONT_BENGUATR:  13  
    RC_FONT_BOOKMANB:  14  
    RC_FONT_BOOKMANI:  15  
    RC_FONT_BOOKMANJ:  16  
    RC_FONT_BOOKMANR:  17  
    RC_FONT_BROGHAMB:  18  
    RC_FONT_BROGHAMI:  19  
    RC_FONT_BROGHAMJ:  20  
    RC_FONT_BROGHAMR:  21  
    RC_FONT_CGOMEGAB:  22  
    RC_FONT_CGOMEGAI:  23  
    RC_FONT_CGOMEGAJ:  24  
    RC_FONT_CGOMEGAR:  25  
    RC_FONT_CGTIMESB:  26  
    RC_FONT_CGTIMESI:  27  
    RC_FONT_CGTIMESJ:  28  
    RC_FONT_CGTIMESR:  29  
    RC_FONT_CLARCD:    30
    RC_FONT_CORONETR:  31  
    RC_FONT_COURIERB:  32  
    RC_FONT_COURIERI:  33  
    RC_FONT_COURIERJ:  34  
    RC_FONT_COURIERR:  35  
    RC_FONT_GARMONDB:  36  
    RC_FONT_GARMONDI:  37  
    RC_FONT_GARMONDJ:  38  
    RC_FONT_GARMONDR:  39  
    RC_FONT_LETGOTHB:  40  
    RC_FONT_LETGOTHI:  41  
    RC_FONT_LETGOTHR:  42  
    RC_FONT_MARGOLDR:  43  
    RC_FONT_TIMESNRB:  44  
    RC_FONT_TIMESNRI:  45  
    RC_FONT_TIMESNRJ:  46  
    RC_FONT_TIMESNRR:  47  
    RC_FONT_UNIVERCB:  48  
    RC_FONT_UNIVERCI:  49  
    RC_FONT_UNIVERCJ:  50  
    RC_FONT_UNIVERCR:  51  
    RC_FONT_UNIVERSA:  52  
    RC_FONT_UNIVERSB:  53  
    RC_FONT_UNIVERSC:  54  
    RC_FONT_UNIVERSD:  55  
    RC_FONT_UNIVERSE:  56  
    RC_FONT_UNIVERSI:  57  
    RC_FONT_UNIVERSJ:  58  
    RC_FONT_UNIVERSR:  59  
    RC_FONT_WDINGBAT:  60  
    RC_FONT_WINGDINGS: 61  
    RC_FONT_SYMBOL:    62
}


*Macros: PJLCommand
{
    PJL_ENDJOB:          "<1B>%%-12345X@PJL EOJ<0A><1B>%%-12345X"
}

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

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

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 }

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}
}


*% --------------------------------------------------------------------------------------------------------
*% Feature section
*% --------------------------------------------------------------------------------------------------------

*Feature: Memory
{
    *rcNameID: =PRINTER_MEMORY_DISPLAY
    *DefaultOption: 4MB
    *MemConfigMB: PAIR(4, 3)
    *MemConfigMB: PAIR(8, 7)
}

*Feature: Orientation
{
    *Name: "Orientation"
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
    }
    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =LANDSCAPE_DISPLAY
    }
}

*Feature: Resolution
{
    *Name: "Resolution"
    *DefaultOption: 600DPI
    *Option: 600DPI
    {
	*Name: "600 x 600 " =DOTS_PER_INCH
        *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.90
            *Cmd: =PCLXL_StreamHeader =PCLXL_BeginSession600 =PCLXL_OpenDataSource
        }
    }
}

*Feature: Duplex
{
    *% Added to show "Double-sided: yes" in the properties pages
    *% And to make sure that the booklet options works!!!
    *Name: "Duplex"
    *DefaultOption: VERTICAL
    *Option: NONE
    {
	*Name: "NONE_DISPLAY"
	*Command: CmdSelect
	{
	   *Name: "No"
	}
    }
    *Option: VERTICAL
    {
	*Name: "FLIP_ON_LONG_EDGE_DISPLAY"
	*Command: CmdSelect
	{
	   *Name: "Flip on long edge"
	}
    }
    *Option: HORIZONTAL
    {
	*Name: "FLIP_ON_SHORT_EDGE_DISPLAY"
	*Command: CmdSelect
	{
	   *Name: "Flip on short edge"
	}
    }
}

*Feature: Stapling
{
    *% Added to show "Staple: yes" in the properties pages

    *Name: "Stapling"
    *DefaultOption: FINISH_STAPLE_NO
    *Option: FINISH_STAPLE_NO
    {
	*Name: "No"
    }
}

*Feature: Halftone
{
	*Name: "OCE_HALFTONING_DISPLAY"
	*DefaultOption: HT_PATSIZE_12x12_M
	*Option: HT_PATSIZE_8x8_M
	{
		*Name: "DITHER1_DISPLAY"
	}
	*Option: HT_PATSIZE_10x10_M
	{
		*Name: "DITHER2_DISPLAY"
	}
	*Option: HT_PATSIZE_12x12_M
	{
		*Name: "DITHER3_DISPLAY"
	}
	*Option: HT_PATSIZE_14x14_M
	{
		*Name: "DITHER4_DISPLAY"
	}
	*Option: HT_PATSIZE_16x16_M
	{
		*Name: "DITHER5_DISPLAY"
	}
}

*Feature: InputBin
{
    *% For Word page programming there are some IDS_GPD_* strings in this feature that can be translated by us.
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *Option: TRAY4
    {
	*Name: "Tray 4"
	*OptionID: 517
	*Command: CmdSelect
	{
	    *Order:  PAGE_SETUP.10
	    *Cmd: =ubyte =eTray4 =attr_ubyte =MediaSource
	}
    }
    *Option: TRAY3
    {
	*Name: "Tray 3"
	*OptionID: 516
	*Command: CmdSelect
	{
	    *Order: PAGE_SETUP.10
	    *Cmd: =ubyte =eTray3 =attr_ubyte =MediaSource
	}
    }
    *Option: TRAY2
    {
	*Name: "Tray 2"
	*OptionID: 515
	*Command: CmdSelect
	{
	    *Order: PAGE_SETUP.10
	    *Cmd: =ubyte =eTray2 =attr_ubyte =MediaSource
	}
    }
    *Option: TRAY1
    {
	*Name: "Tray 1"
	*OptionID: 514
	*Command: CmdSelect
	{
	    *Order: PAGE_SETUP.10
	    *Cmd: =ubyte =eTray1 =attr_ubyte =MediaSource
	}
    }
*%     *Option: TRAY5
*%     {
*%     *Name: "Tray 5"
*%     *OptionID: 518
*%     *Command: CmdSelect
*%     {
*%       *Order: PAGE_SETUP.10
*%       *Cmd: =ubyte =eTray5 =attr_ubyte =MediaSource
*%     }
*%     }
    *Option: MANUAL
    {
	*Name: "Special Feeder"
	*OptionID: 513
	*Command: CmdSelect
	{
	    *Order: PAGE_SETUP.10
	    *Cmd: =ubyte =eManualFeed =attr_ubyte =MediaSource
	}
    }
}

*Feature: PaperSize
{
	*rcNameID: =PAPER_SIZE_DISPLAY
	*switch: Locale
	{
		*case: English_United_States
		{
		  *DefaultOption: LETTER
		}
		*default
		{
		  *DefaultOption: A4
		}
	}
	*Option: A3
	{
	  *Name: "A3"
	  *switch: Orientation
	  {
	    *case: PORTRAIT
	    {
	        *PrintableArea: PAIR(13570,19360)
	        *PrintableOrigin: PAIR(228,240)
	        *CursorOrigin: PAIR(228,240)
	        *Command: CmdSelect
	        {
	           *Order: PAGE_SETUP.20
	           *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sA3Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((284*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	        }
	    }
	    *case: LANDSCAPE_CC90
	    {
	        *PrintableArea: PAIR(13570,19360)
	        *PrintableOrigin: PAIR(228,240)
	        *CursorOrigin: PAIR(228,19700)
	        *Command: CmdSelect
	        {
	            *Order: PAGE_SETUP.20
	            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sA3Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	        }
	    }
	  }
	}    
    *Option: A4
    {
        *Name: "A4"
        *PageProtectMem: 4249
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9480,13550)
                *PrintableOrigin: PAIR(216,240)
                *CursorOrigin: PAIR(216,240)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.20
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((284*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9480,13550)
                *PrintableOrigin: PAIR(216,240)
                *CursorOrigin: PAIR(216,13890)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.20
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
	*Option: A5
	{
		*Name: "A5"
		*switch: Orientation
		{
	            *case: PORTRAIT
	            {
	                *PrintableArea: PAIR(6530,9440)
	                *PrintableOrigin: PAIR(228,240)
	                *CursorOrigin: PAIR(228,240)
	                *Command: CmdSelect
	                {
	                   *Order: PAGE_SETUP.20
                           *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                           	 =ubyte_array =sA5Paper =attr_ubyte =MediaSize =BeginPage
+                                =sint16_xy %l{((284*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
	            *case: LANDSCAPE_CC90
	            {
	                *PrintableArea: PAIR(6530,9440)
	                *PrintableOrigin: PAIR(228,240)
	                *CursorOrigin: PAIR(228,9780)
	                *Command: CmdSelect
	                {
	                    *Order: PAGE_SETUP.20
                            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                            	  =ubyte_array =sA5Paper =attr_ubyte =MediaSize =BeginPage
+                                 =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
		}
	}
	*Option: LEGAL
	{
		*Name: "Legal 8.5x14"
		*switch: Orientation
		{
	            *case: PORTRAIT
	            {
	                *PrintableArea: PAIR(9790,16320)
	                *PrintableOrigin: PAIR(204,240)
	                *CursorOrigin: PAIR(204,240)
	                *Command: CmdSelect
	                {
	                   *Order: PAGE_SETUP.20
                           *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                           	 =ubyte_array =sLegalPaper =attr_ubyte =MediaSize =BeginPage
+                                =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
	            *case: LANDSCAPE_CC90
	            {
	                *PrintableArea: PAIR(9790,16320)
	                *PrintableOrigin: PAIR(204,240)
	                *CursorOrigin: PAIR(204,16660)
	                *Command: CmdSelect
	                {
	                    *Order: PAGE_SETUP.20
                            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                            	  =ubyte_array =sLegalPaper =attr_ubyte =MediaSize =BeginPage
+                                 =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
		}
	}
    *Option: LETTER
    {
        *Name: "Letter 8.5x11"
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9790,12720) 
                *PrintableOrigin: PAIR(204,240)
                *CursorOrigin: PAIR(204,240)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.20
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sLetterPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9790,12720)
                *PrintableOrigin: PAIR(204,240)
                *CursorOrigin: PAIR(204,13060)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.20
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sLetterPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
	*Option: TABLOID
	{
		*Name: "Tabloid 11x17"
		*switch: Orientation
		{
	            *case: PORTRAIT
	            {
	                *PrintableArea: PAIR(12790,19920)
	                *PrintableOrigin: PAIR(204,240)
	                *CursorOrigin: PAIR(204,240)
	                *Command: CmdSelect
	                {
	                   *Order: PAGE_SETUP.20
                           *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                           	 =ubyte_array =sTabloidPaper =attr_ubyte =MediaSize =BeginPage
+                                =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
	            *case: LANDSCAPE_CC90
	            {
	                *PrintableArea: PAIR(12790,19920)
	                *PrintableOrigin: PAIR(204,240)
	                *CursorOrigin: PAIR(204,20260)
	                *Command: CmdSelect
	                {
	                    *Order: PAGE_SETUP.20
                            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                            	  =ubyte_array =sTabloidPaper =attr_ubyte =MediaSize =BeginPage
+                                 =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
	                }
	            }
		}
	}
	*Option: CUSTOMSIZE                                     
	*% 3x5 - 8.5x14 ( DIT GELDT NIET MEER!!!! )
	{
            *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1255
            *MinSize: PAIR(3600, 6000)
            *MaxSize: PAIR(15000, 20000)
            *MaxPrintableWidth: 15000
            *MinLeftMargin: 100
            *CenterPrintable?: FALSE
            *switch: Orientation
            {
                *case: PORTRAIT
                {
                    *CustCursorOriginX:     %d{200}
                    *CustCursorOriginY:     %d{200}
                    *CustPrintableOriginX:  %d{200}
                    *CustPrintableOriginY:  %d{200}
                    *CustPrintableSizeX:    %d{PhysPaperWidth - 400}
                    *CustPrintableSizeY:    %d{PhysPaperLength - 400}
                    *Command: CmdSelect
                    {
                        *Order: PAGE_SETUP.20
                        *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
+                             =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                    }
                }
                *case: LANDSCAPE_CC90
                {
                    *CustCursorOriginX:     %d{200}
                    *CustCursorOriginY:     %d{PhysPaperLength - 200}
                    *CustPrintableOriginX:  %d{200}
                    *CustPrintableOriginY:  %d{200}
                    *CustPrintableSizeX:    %d{PhysPaperWidth - 400}
                    *CustPrintableSizeY:    %d{PhysPaperLength - 400}
                    *Command: CmdSelect
                    {
                        *Order: PAGE_SETUP.20
                        *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
+                             =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                    }
                }
            }
        }
}

*Feature: Collate
{
     *% If not specified UNIDRV does not support collating
     *Name: "Collate"
     *DefaultOption: ON
     *Option: ON
     {
         *Name: "ON"
         *Command: CmdSelect
         {
            *Order: JOB_SETUP.50
 	    *% Collated copies! PCL and Ticket command needed!
	    *Cmd: ""
	 }   
     }
     *Option: OFF
     {
         *Name: "OFF"
         *Command: CmdSelect
         {
            *Order: JOB_SETUP.50
 	    *% Uncollated copies!  A PCL command is needed and no ticket command!!!
	    *%*Cmd: =uint16 =NumOfCopy =attr_ubyte =PageCopies =EndPage
            *Cmd: ""
	 }   
     }
}

*% This is taken from an Example found in DDK doc. Note that PCL XL supports only 24 bits per pixel color!
*Feature: ColorMode
{
    *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
    *DefaultOption: 24bpp
    *Option: Mono
    {
        *rcNameID: =MONO_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *Color? : FALSE
        *PaletteSize: 1
        *PaletteProgrammable? : FALSE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
    *Option: 24bpp
    {
        *rcNameID: =24BPP_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *Color? : TRUE
        *PaletteSize: 256
        *PaletteProgrammable? : FALSE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
}
*switch: ColorMode
{
    *case: Mono
    {
        *Command: CmdStartPage
        {
        *Order: PAGE_SETUP.30
        *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+             =ubyte =eGray =attr_ubyte =ColorSpace =SetColorSpace
         }
    }
    *case: 24bpp
    {
        *Command: CmdStartPage
        {
        *Order: PAGE_SETUP.30
        *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+             =ubyte =eRGB =attr_ubyte =ColorSpace =SetColorSpace
        }
    }
}

*% --------------------------------------------------------------------------------------------------------
*% COMMAND section
*% --------------------------------------------------------------------------------------------------------
*Command: CmdStartJob
{
    *Order: JOB_SETUP.10
    *CallbackID: 10 
}
*Command: CmdStartDoc
{
    *Order: DOC_SETUP.20
    *CallbackID: 20
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.30
    *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+         =ubyte =eRGB =attr_ubyte =ColorSpace =SetColorSpace
    *%CallbackID: 30
}
*Command: CmdEndDoc 
{
   *Order: PJL_ENDDOC.40
   *CallbackID: 40
}
*Command: CmdEndJob 
{
   *Order: PCL_ENDJOB.50
   *CallbackID: 50
}
*%*Command: CmdEndPage
*%{
*%    *Order: PAGE_FINISH.10
*%    *Cmd: =uint16 =NumOfCopy =attr_ubyte =PageCopies =EndPage
*%}

*switch: Collate
{
    *case: ON
    {
        *Command: CmdEndPage
        {
            *Order: PAGE_FINISH.10
	    *Cmd: =uint16 =NumOfCopy =attr_ubyte =PageCopies =EndPage
        }
    }
    *case: OFF
    {
        *Command: CmdEndPage
        {
            *Order: PAGE_FINISH.10
            *Cmd: =uint16 =NumOfCopy =attr_ubyte =PageCopies =EndPage
        }
    }
}


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

*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: CmdSelectFontID
{
    *Cmd: ""
    *Params: LIST(FontHeight, CurrentFontID, TextYRes)
}
*Command: CmdSetAnyRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*Command: CmdSetSimpleRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*Command: CmdCR { *Cmd : =CR }
*Command: CmdLF { *Cmd : =LF }
*Command: CmdFF { *Cmd : =FF }
*Command: CmdSetFontID { *Cmd : "" }
*Command: CmdSetCharCode { *Cmd : "" }

*% --------------------------------------------------------------------------------------------------------
*% PPM Settings
*% --------------------------------------------------------------------------------------------------------
*PrintRate:     =OCE_SET_PPM
*PrintRatePPM:  =OCE_SET_PPM
*PrintRateUnit: PPM
*PrinterType:   PAGE

*% --------------------------------------------------------------------------------------------------------
*%Generic Settings
*% --------------------------------------------------------------------------------------------------------
*MaxCopies:                 9999
*RotateCoordinate?:         TRUE
*RotateRaster?:             TRUE
*RotateFont?:               TRUE
*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
*BadCursorMoveInGrxMode:    LIST(X_PORTRAIT,Y_LANDSCAPE)
*XMoveThreshold:            0
*YMoveThreshold:            0
*XMoveUnit:                 1200
*YMoveUnit:                 1200
*EjectPageWithFF?:          FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: AUTO_INCREMENT
*DefaultCTT:                0
*CharPosition:              BASELINE

*% --------------------------------------------------------------------------------------------------------
*% Font Settings
*% --------------------------------------------------------------------------------------------------------
*DefaultFont: =RC_FONT_TIMESNRR
*TTFSEnabled?: TRUE
*MinFontID: 1
*MaxFontID: 65535
*MinGlyphID: 1
*MaxGlyphID: 1000
*FontFormat: HPPCL_OUTLINE

*DeviceFonts: LIST(
+   =RC_FONT_ALBERTR,
+   =RC_FONT_ALBERTX,
+   =RC_FONT_AOLIVEB,
+   =RC_FONT_AOLIVEI,
+   =RC_FONT_AOLIVER,
+   =RC_FONT_ARIALB,
+   =RC_FONT_ARIALI,
+   =RC_FONT_ARIALJ,
+   =RC_FONT_ARIALR,
+   =RC_FONT_BOOKMANB,  
+   =RC_FONT_BOOKMANI, 
+   =RC_FONT_BOOKMANJ,  
+   =RC_FONT_BOOKMANR,  
+   =RC_FONT_CGOMEGAB,
+   =RC_FONT_CGOMEGAI,
+   =RC_FONT_CGOMEGAJ,
+   =RC_FONT_CGOMEGAR,
+   =RC_FONT_CGTIMESB,
+   =RC_FONT_CGTIMESI,
+   =RC_FONT_CGTIMESJ,
+   =RC_FONT_CGTIMESR,
+   =RC_FONT_CLARCD,
+   =RC_FONT_CORONETR,
+   =RC_FONT_COURIERB,
+   =RC_FONT_COURIERI,
+   =RC_FONT_COURIERJ,
+   =RC_FONT_COURIERR,
+   =RC_FONT_GARMONDB,
+   =RC_FONT_GARMONDI,
+   =RC_FONT_GARMONDJ,
+   =RC_FONT_GARMONDR,
+   =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_UNIVERCB,
+   =RC_FONT_UNIVERCI,
+   =RC_FONT_UNIVERCJ,
+   =RC_FONT_UNIVERCR,
+   =RC_FONT_UNIVERSA,
+   =RC_FONT_UNIVERSB,
+   =RC_FONT_UNIVERSC,
+   =RC_FONT_UNIVERSD,
+   =RC_FONT_UNIVERSE,
+   =RC_FONT_UNIVERSI,
+   =RC_FONT_UNIVERSJ,
+   =RC_FONT_UNIVERSR,
+   =RC_FONT_WDINGBAT,
+   =RC_FONT_WINGDINGS,
+   =RC_FONT_SYMBOL)

*TTFS: AlbertusM
{
  *TTFontName: "Albertus Medium"
  *DevFontName: "Albertus Medium"
}
*TTFS: AlbertusX
{
  *TTFontName: "Albertus Extra Bold"
  *DevFontName: "Albertus Extra Bold"
}
*TTFS: AntiqueOlive
{
  *TTFontName: "Antique Olive"
  *DevFontName: "Antique Olive"
}
*TTFS: CGOmega
{
  *TTFontName: "CG Omega"
  *DevFontName: "CG Omega"
}
*TTFS: CGTimes
{
  *TTFontName: "CG Times"
  *DevFontName: "CG Times"
}
*TTFS: ClarendonCD
{
  *TTFontName: "Clarendon Condensed Bold"
 *DevFontName: "Clarendon Condensed"
}
*TTFS: Coronet
{
  *TTFontName: "Coronet"
  *DevFontName: "Coronet"
}
*TTFS: Garamond
{
  *TTFontName: "Garamond"
  *DevFontName: "Garamond"
}
*TTFS: LetterGothic
{
  *TTFontName: "Letter Gothic"
  *DevFontName: "Letter Gothic"
}
*TTFS: Marigold
{
  *TTFontName: "Marigold"
  *DevFontName: "Marigold"
}
*TTFS: Univers
{
  *TTFontName: "Univers Medium"
  *DevFontName: "Univers"
}
*TTFS: UniversCD
{
  *TTFontName: "Univers Condensed Medium"
  *DevFontName: "Univers Condensed"
}
*TTFS: CourierNew
{
  *TTFontName: "Courier New"
  *DevFontName: "Courier New"
}
*TTFS: ClarendonCD1
{
  *TTFontName: "Clarendon Condensed"
  *DevFontName: "Clarendon Condensed"
}
*TTFS: Univers1
{
  *TTFontName: "Univers"
  *DevFontName: "Univers"
}
*TTFS: UniversCD1
{
  *TTFontName: "Univers Condensed"
  *DevFontName: "Univers Condensed"
}
