*% Copyright 1996 - 2003, Hewlett-Packard Co.
*% All Rights Reserved.

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

*%-------------------------------------------------------------------------
*% Include Section
*%-------------------------------------------------------------------------
*Include: "stdnames.gpd"

*Include: "pclxl.gpd"
*Include: "pjl.gpd"

*Include: "hpzsmlhn.gpd"
*Include: "hpz6mlhn.gpd"

*HelpFile: "hpzhllhn.hlp"

*Feature: RESDLL
{
    *Name: "resource dll files"

    *Option: STRRESSEC
    {
        *Name: "hpzstlhn.dll"       *% Get this from the required phase
    }

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

*%-------------------------------------------------------------------------
*% Model Name Section
*%-------------------------------------------------------------------------
*ModelName: "HP LaserJet 4300 PCL 6"

*MasterUnits: PAIR(1200, 1200)

*PrintRate: 45
*PrintRateUnit: PPM
*PrintRatePPM: 45

*PrinterType: PAGE
*Personality: "PCLXL"                 *%=PERSONALITY_PCLXL
*MaxCopies: 9999

*FontCartSlots: 0
*TTFSEnabled?: TRUE
*DeviceFonts: =CourierFont
*DefaultFont: =FONT_COURIERR
*TTFS: CourierNew
{
  *TTFontName: "Courier New"
  *DevFontName: "Courier"
}
*MinGlyphID: 1
*MaxGlyphID: 6000

*%-------------------------------------------------------------------------
*% DOC_PROP Standard features section
*%-------------------------------------------------------------------------
*Feature: Resolution
{
    *rcNameID: =IDS_RESOLUTION_DISPLAY
    *DefaultOption: 600dpi

    *Option: 1200dpi
    {
        *rcNameID: =IDS_PRO_RES
        *DPI: PAIR(1200, 1200)
        *TextDPI: PAIR(1200, 1200)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST( ENCLOSED,TRAILING)
        *SpotDiameter: 100

        *Command: CmdBeginRaster
        {
            *Cmd : =PCLXL_CmdBeginRaster
        }
        *Command: CmdSendBlockData
        {
            *Cmd : =PCLXL_CmdBeginRaster =PCLXL_CmdSendBlockData
        }
        *Command: CmdEndRaster
        { 
            *Cmd : =EndImage
        }

        *Command: CmdSelect
        {
            *Order: JOB_SETUP.190
            *Cmd: =PJL_RESOLUTION_1200 =PJL_BITSPERPIXEL_1 =PJL_ENTER_PCLXL =PCLXL_Protocol3Comment =PCLXL_BeginSession1200 =PCLXL_OpenDataSource
        }
    }
   
    *Option: 600dpi
    {   
        *rcNameID: =IDS_600DPI
        *DPI: PAIR(600, 600)
        *TextDPI: PAIR(600, 600)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 100

        *Command: CmdBeginRaster
        {
            *Cmd : =PCLXL_CmdBeginRaster
        }
        *Command: CmdSendBlockData
        {
            *Cmd: =PCLXL_CmdSendBlockData
        }
        *Command: CmdEndRaster
        { 
            *Cmd : =EndImage
        }

        *switch: FastRes
        {
            *case: False
            {
                *Command: CmdSelect
                {
                    *Order: JOB_SETUP.190
                    *Cmd: =PJL_RESOLUTION_600 =PJL_BITSPERPIXEL_1 =PJL_ENTER_PCLXL =PCLXL_Protocol3Comment =PCLXL_BeginSession600 =PCLXL_OpenDataSource
                }
            }
            *case: True
            {
                *Command: CmdSelect
                {
                    *Order: JOB_SETUP.190
                    *Cmd: =PJL_RESOLUTION_600 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL =PCLXL_Protocol3Comment =PCLXL_BeginSession600 =PCLXL_OpenDataSource
                }
            }
        }
    }
}

*Feature: Orientation
{
    *rcNameID: =IDS_ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
   
    *Option: PORTRAIT
    {
        *rcNameID: =IDS_PORTRAIT_DISPLAY
        *switch: HPOrientRotate180
        {
            *case: False
            {
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.1
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
                }
            }
            *case: True
            {
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.1
                    *Cmd: =ubyte =eReversePortrait =attr_ubyte =Orientation
                }
            }
        }
    }

    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =IDS_LANDSCAPE_DISPLAY
        *switch: HPStaplingOpposed
        {
            *case: False
            {
                *switch: HPOrientRotate180
                {
                    *case: False
                    {
                        *Command: CmdSelect
                        {
                            *Order: PAGE_SETUP.1
                            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
                        }
                    }
                    *case: True
                    {
                        *Command: CmdSelect
                        {
                            *Order: PAGE_SETUP.1
                            *Cmd: =ubyte =eReverseLandscape =attr_ubyte =Orientation
                        }
                    }
                }
            }
            *case: True
            {
                *switch: HPOrientRotate180
                {
                    *case: False
                    {
                        *Command: CmdSelect
                        {
                            *Order: PAGE_SETUP.1
                            *Cmd: =ubyte =eReverseLandscape =attr_ubyte =Orientation
                        }
                    }
                    *case: True
                    {
                        *Command: CmdSelect
                        {
                            *Order: PAGE_SETUP.1
                            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
                        }
                    }
                }
            }
        }
    }
}

*Feature: HPOrientRotate180
{     
    *rcNameID: =IDS_ORIENT_ROTATE_180
    *HelpIndex: =IDH_UNIDRV_PRINT_ROTATED
    *DefaultOption: False
    
    *Option: False
    {
        *rcNameID: =IDS_OFF_DISPLAY
    }

    *Option: True
    {
        *rcNameID: =IDS_ON_DISPLAY
    }
}

*Feature: Duplex
{
    *rcNameID: =IDS_TWO_SIDED_PRINTING_DISPLAY
    *HelpIndex: =IDH_UNIDRV_PRINT_ON_BOTH_SIDES_AUTO
    *ConflictPriority: 4
    *DefaultOption: NONE
    
    *Option: NONE
    {
        *rcNameID: =IDS_NONE
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.80
            *Cmd: "@PJL SET DUPLEX=OFF<0A>"
        }
    }

    *Option: VERTICAL
    {
        *rcNameID: =IDS_FLIP_ON_LONG_EDGE_STANDARD
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.80
            *Cmd: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=LONGEDGE<0A>"
        }
    }

    *Option: HORIZONTAL
    {
        *rcNameID: =IDS_FLIP_ON_SHORT_EDGE
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.80
            *Cmd: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=SHORTEDGE<0A>"
        }
    }
}

*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *HelpIndex: =IDH_UNIDRV_PAPER_SIZE
    *ConflictPriority: 1
    *DefaultOption: LETTER
    
    *Option: LETTER                                 *% physical page (10200, 13200 - 8.5" x 11.0")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            { 
                *PrintableArea: PAIR(9800, 12800)
                *PrintableOrigin: PAIR(200, 256)
                *CursorOrigin: PAIR(200, 256)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sLetterPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9800, 12800)
                *PrintableOrigin: PAIR(200, 256)
                *CursorOrigin: PAIR(200, 13000)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sLetterPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: LEGAL                                  *% physical page (10200, 16800 - 8.5" x 14.0"))
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9800, 16400)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 236)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sLegalPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9800, 16400)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 16600)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sLegalPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: EXECUTIVE                              *% physical page (8700, 12600 - 7.25" x 10.5"))
    {                                               
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8300, 12200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8300, 12200)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 12400)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: A4                                      *% physical page (9920, 14030 - 8.2677" x 11.693")
    {                                                
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9520, 13558)
                *PrintableOrigin: PAIR(230, 200)
                *CursorOrigin: PAIR(230, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9520, 13558)
                *PrintableOrigin: PAIR(230, 200)
                *CursorOrigin: PAIR(200, 13794)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: ENV_10                                 *% physical page (4948, 11400 - 4.125" x 9.5"))
    {                                               
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4548, 11000)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4548, 11000)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 11200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: ENV_DL                                 *% physical page (5196, 10392 - 4.3307" x 8.6614")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4796, 9992)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sDLEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4796, 9992)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 10192)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sDLEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: ENV_MONARCH                            *% physical page (4648, 9000 - 3.875" x 7.50")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4248, 8600)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sMonarchEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4248, 8600)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 8800)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sMonarchEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: ENV_B5                                 *% physical page (8314, 11810 - 6.9291" x 9.8425"))
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(7914, 11338)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 236)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sB5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(7914, 11338)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 11574)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sB5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: A5                                      *% physical page (6992, 9920 - 5.8268" x 8.2677")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(6592, 9520)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sA5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(6592, 9520)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 9720)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sA5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: B5                                      *% B5 (JIS) physical page (8598, 12140 - 7.1653" x 10.118")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8126, 11740)
                *PrintableOrigin: PAIR(236, 200)
                *CursorOrigin: PAIR(236, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJB5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8126, 11740)
                *PrintableOrigin: PAIR(236, 200)
                *CursorOrigin: PAIR(236, 11940)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJB5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: ENV_C5                                 *% physical page (7652, 10818 - 6.3779" x 9.0157"))
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(7252, 10346)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 236)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sC5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(7252, 10346)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 10582)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sC5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option:16K                                      *% physical page (9300, 12900 - 7.75" x 10.75")
    {
       *rcNameID: =IDS_16K_DISPLAY
       *PageDimensions: PAIR(9300,12900)
       *switch: Orientation
       {
           *case: PORTRAIT
           {
               *PrintableArea: PAIR(8900,12500)
               *PrintableOrigin: PAIR(200, 200)
               *CursorOrigin: PAIR(200, 200)
               *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =s16kPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin   
                }
           }
           *case: LANDSCAPE_CC90
           {
               *PrintableArea: PAIR(8900, 12500)
               *PrintableOrigin: PAIR(200, 200)
               *CursorOrigin: PAIR(200, 12700)
               *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =s16kPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
           }
       }
    }

    *Option:EXECUTIVE_JIS                             *% physical page (10202, 15588 - 8.5039" x 12.992"))
    {
        *rcNameID: =IDS_EXECUTIVE_JIS
        *PageDimensions: PAIR(10200,15588)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9730, 15190)
                *PrintableOrigin: PAIR(236, 200)
                *CursorOrigin: PAIR(236, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJisExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9730, 15190)
                *PrintableOrigin: PAIR(236, 200)
                *CursorOrigin: PAIR(236, 15390)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJisExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: B5_ISO                                               *% B5 (ISO)
    {
        *rcNameID: =IDS_B5_DISPLAY
        *PageDimensions: PAIR(8312, 11808)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(7912, 11408)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 200)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sB5ISOPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                 }
             }
             *case: LANDSCAPE_CC90
             {
                *PrintableArea: PAIR(7912, 11408)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 11608)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sB5ISOPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                 }
             }
        }
    }

    *Option: DBL_JAPANESE_POSTCARD_ROTATED          *% physical page (6992, 9448 - 5.8268" x 7.874")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *InsertBlock: =DuplexConstraints
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(6592,9048)
                *PrintableOrigin: PAIR(200, 200)
                
                *CursorOrigin: PAIR(200, 200)  
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJDoublePostcard =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(6592,9048)
                *PrintableOrigin: PAIR(200, 200)
                *CursorOrigin: PAIR(200, 9248)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.30
                    *Cmd: =ubyte_array =sJDoublePostcard =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin
                }
            }
        }
    }

    *Option: CUSTOMSIZE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *MinSize: PAIR(3600, 6000)                      *% min page (3" x 5")
        *MaxSize: PAIR(14040, 21240)                    *% max page (11.7"x 17.7")
        *MaxPrintableWidth: 14040
        *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.30
                    *Cmd: =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.30
                    *Cmd: =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
                }
            }
        }
    }

    *%  Unsupported Papers for Allow Scaling From Larger Paper (Virtual Paper Sizes)
    *%  No commands are associated with these
    *%  The paper sizes for this printer are A3, B4 (JIS), 8K and 11x17

    *Option: A3                                     *% physical page (14030, 19842 - 11.693" x 16.535")
    {
         *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
         *switch: Orientation
         {
             *case: PORTRAIT
             {
                 *PrintableArea: PAIR(13462, 19442)
                 *PrintableOrigin: PAIR(284, 200)
                 *CursorOrigin: PAIR(284, 200)
             }
             *case: LANDSCAPE_CC90
             {
                 *PrintableArea: PAIR(13630, 19370)
                 *PrintableOrigin: PAIR(200, 236)
                 *CursorOrigin: PAIR(200, 19606)
             }
         }
    }

    *Option: B4                                      *% B4 (JIS) physical page (12140, 17196 - 10.118" x 14.33")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(11572, 16796)
                *PrintableOrigin: PAIR(284, 200)
                *CursorOrigin: PAIR(284, 200)
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(11740, 16724)
                *PrintableOrigin: PAIR(200, 236)
                *CursorOrigin: PAIR(200, 16960)
            }
        }
    }

    *Option:8K                                      *% physical page (12900, 18600 - 10.748" x 15.512")
    {
        *rcNameID: =IDS_8K
        *PageDimensions: PAIR(12900,18600)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(12300, 18200)
                *PrintableOrigin: PAIR(300, 200)
                *CursorOrigin: PAIR(300, 200)
            }

            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(12500, 18120)
                *PrintableOrigin: PAIR(200, 240)
                *CursorOrigin: PAIR(200, 18360)
            }
        }
    }

    *Option: 11X17                                   *% physical page (13200, 20400 - 11.00" x 17.00")
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(12600, 20000)
                *PrintableOrigin: PAIR(300, 200)
                *CursorOrigin: PAIR(300, 200)
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(12800, 19920)
                *PrintableOrigin: PAIR(200, 240)
                *CursorOrigin: PAIR(200, 20160)
            }
        }
    }

    *%  Addition of Unsupported Papers ends here
}

*Feature: InputBin
{
    *rcNameID: =IDS_PAPER_SOURCE
    *HelpIndex: =IDH_UNIDRV_FIRST_PAGE_SOURCE_IS
    *ConflictPriority: 3
    *DefaultOption: PrinterSelect

    *Option: PrinterSelect
    {
        *rcNameID: =IDS_PRINTER_AUTO_SELECT
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eAutoSelect =attr_ubyte =MediaSource
        }
    }

    *Option: Tray1
    {
        *rcNameID: =IDS_TRAY1
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eMultiPurposeTray =attr_ubyte =MediaSource
        }
    }

    *Option: Tray2
    {
        *rcNameID: =IDS_TRAY2
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eUpperCassette =attr_ubyte =MediaSource
        }
    }

    *Option: Tray3_500
    {
        *rcNameID: =IDS_TRAY3_500
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eLowerCassette =attr_ubyte =MediaSource
        }
    }

    *Option: Tray3_1500
    {
        *rcNameID: =IDS_TRAY3_1500
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eLowerCassette =attr_ubyte =MediaSource
        }
    }

    *Option: Tray4_500
    {
        *rcNameID: =IDS_TRAY4_500
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eThirdCassette =attr_ubyte =MediaSource
        }
    }

    *Option: Tray4_1500
    {
        *rcNameID: =IDS_TRAY4_1500
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eThirdCassette =attr_ubyte =MediaSource
        }
    }

    *Option: ManualFeed
    {
        *rcNameID: =IDS_MANUAL_FEED_TRAY1
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eManualFeed =attr_ubyte =MediaSource
        }
    }

    *Option: EnvFeed
    {
        *rcNameID: =IDS_ENVELOPE_FEEDER_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.10
            *Cmd: =ubyte =eEnvelopeTray =attr_ubyte =MediaSource
        }
    }
}

*Feature: MediaType
{
    *rcNameID: =IDS_MEDIA_TYPE_DISPLAY
    *HelpIndex: =IDH_UNIDRV_FIRST_PAGE_TYPE_IS
    *ConflictPriority: 2
    *DefaultOption: Auto

    *Option: Auto
    {
        *rcNameID: =IDS_UNSPECIFIED
    }

    *Option: PLAIN
    {
        *rcNameID: =IDS_PLAIN_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0500>" =ePlain =attr_ubyte =MediaType
        }
    }

    *Option: PREPRINTED
    {
        *rcNameID: =IDS_PREPRINTED_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0a00>" =ePreprinted =attr_ubyte =MediaType
        }
    }

    *Option: LETTERHEAD
    {
        *rcNameID: =IDS_LETTERHEAD_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0a00>" =eLetterhead =attr_ubyte =MediaType
        }
    }

    *Option: TRANSPARENCY
    {
        *rcNameID: =IDS_TRANSPARENCY_DISPLAY
        *InsertBlock: =DuplexConstraints
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0c00>" =eTransparency =attr_ubyte =MediaType
        }
    }

    *Option: PREPUNCHED
    {
        *rcNameID: =IDS_PREPUNCHED_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0a00>" =ePrepunched =attr_ubyte =MediaType
        }
    }

    *Option: LABELS
    {
        *rcNameID: =IDS_LABELS_TYPE
        *InsertBlock: =DuplexConstraints
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0600>" =eLabels =attr_ubyte =MediaType
        }
    }

    *Option: BOND
    {
        *rcNameID: =IDS_BOND_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0400>" =eBond =attr_ubyte =MediaType
        }
    }

    *Option: RECYCLED
    {
        *rcNameID: =IDS_RECYCLED_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0800>" =eRecycled =attr_ubyte =MediaType
        }
    }

    *Option: COLOR
    {
        *rcNameID: =IDS_COLOR_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0500>" =eColor =attr_ubyte =MediaType
        }
    }

    *Option: CARDSTOCK
    {
        *rcNameID: =IDS_CARDSTOCK_164
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0a00>" =eCardstock =attr_ubyte =MediaType
        }
    }

    *Option: ROUGH
    {
        *rcNameID: =IDS_ROUGH_TYPE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0500>" =eRough =attr_ubyte =MediaType
        }
    }

    *Option: ENVELOPE
    {
        *rcNameID: =IDS_ENVELOPE_TYPE
        *InsertBlock: =DuplexConstraints
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *Cmd: =ubyte_array =uint16 "<0800>" =eEnvelope =attr_ubyte =MediaType
        }
    }

    *%  Addition of User Defined Media Types. These are processed through EAC/BiDi.
    *%  Currently MOMBI supports only upto 5. Also make sure that HPMediaPMLRange feature is also present

    *Option: UserDefinedMedia1
    {
        *Name: " "
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *CallbackID: =CMDCB_USERDEFINED_MEDIA
        }
    }

    *Option: UserDefinedMedia2
    {
        *Name: " "
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *CallbackID: =CMDCB_USERDEFINED_MEDIA
        }
    }

    *Option: UserDefinedMedia3
    {
        *Name: " "
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *CallbackID: =CMDCB_USERDEFINED_MEDIA
        }
    }

    *Option: UserDefinedMedia4
    {
        *Name: " "
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *CallbackID: =CMDCB_USERDEFINED_MEDIA
        }
    }

    *Option: UserDefinedMedia5
    {
        *Name: " "
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.20
            *CallbackID: =CMDCB_USERDEFINED_MEDIA
        }
    }

    *%  End of Addition of User Defined Media Types.

}

*Feature: Collate
{
    *rcNameID: =IDS_COLLATE
    *DefaultOption: OFF

    *Option: OFF
    {
        *rcNameID: =IDS_OFF_DISPLAY
    }

    *Option: ON
    {
        *rcNameID: =IDS_ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.90
            *Cmd: "@PJL SET QTY=" %d{NumOfCopies}"<0A>"
        }
        *Constraints: DeviceIsMopier.NotInstalled
    }
}

*Feature: OutputBin
{
    *rcNameID: =IDS_OUTPUTBIN_DISPLAY
    *HelpIndex: =IDH_UNIDRV_OUTPUT_BIN_EC6
    *DefaultOption: Auto

    *Option: Auto
    {
        *rcNameID: =IDS_AUTO_SELECT
    }

    *Option: Upper
    {
        *rcNameID: =IDS_TOP_BIN_FACE_DOWN
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.100
            *Cmd: "@PJL SET OUTBIN=UPPER<0A>"
        }
    }

    *Option: Stacker
    {
        *rcNameID: =IDS_STACKER_BIN
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.100
            *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN1<0A>"
        }
    }
}

*Feature: Stapling
{
    *rcNameID: =IDS_STAPLER
    *HelpIndex: =IDH_UNIDRV_PH3_STAPLING_OPTIONS
    *DefaultOption: None

    *Option: None
    {
        *rcNameID: =IDS_NONE
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.110
            *Cmd: "@PJL SET PROCESSINGTYPE=<22>NONE<22><0A>"
        }
    }

    *Option: 1diagonal
    {
        *rcNameID: =IDS_ONE_STAPLE_ANGLED
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.110
            *Cmd : "@PJL SET PROCESSINGTYPE=<22>STAPLING<22><0A>@PJL SET PROCESSINGOPTION=<22>ONE_STAPLE<22><0A>@PJL SET PROCESSINGBOUNDARY=MOPY<0A>"
        }
    }
}

*Feature: Economode
{
    *rcNameID: =IDS_ECONOMODE
    *HelpIndex: =IDH_UNIDRV_ECONOMODE_MAY_SAVE_PRINT_CARTRIDGES
    *DefaultOption: False

    *Option: False
    {
        *rcNameID: =IDS_OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.120
            *Cmd: "@PJL SET ECONOMODE=OFF<0A>"
        }
    }

    *Option: True
    {
        *rcNameID: =IDS_ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.120
            *Cmd: "@PJL SET ECONOMODE=ON<0A>"
        }
    }
}

*Feature: TextAsBlack
{
    *rcNameID: =IDS_PRINTALLBLACK
    *FeatureType: DOC_PROPERTY
    *HelpIndex: =IDH_UNIDRV_PRINT_TEXT_BLACK_EC5
    *DefaultOption: False

    *Option: False
    {
        *rcNameID: =IDS_DISABLED_DISPLAY
    }

    *Option: True
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
    }
}

*Feature: TTAsBitmapsSetting
{
    *rcNameID: =IDS_TTASBITMAPS
    *FeatureType: DOC_PROPERTY
    *HelpIndex: =IDH_UNIDRV_TRUETYPE_AS_BITMAP
    *DefaultOption: TTModeOutline

    *Option: TTModeOutline
    {
        *rcNameID: =IDS_DISABLED_DISPLAY
    }

    *Option: TTModeBitmap
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
    }
}

*switch: TTAsBitmapsSetting
{
    *case: TTModeBitmap
    {
        *FontFormat: HPPCL_RES
    }
    *case: TTModeOutline
    {
        *FontFormat: HPPCL_OUTLINE
    }
}

*Feature: RETChoice
{
    *rcNameID: =IDS_RET
    *DefaultOption: True
    *HelpIndex: =IDH_UNIDRV_HP5SI_RET

    *Option: False
    {
        *rcNameID: =IDS_OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.130
            *Cmd: =PJL_RET_OFF
        }
    }

    *Option: True
    {
        *rcNameID: =IDS_ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.130
            *Cmd: =PJL_RET_MEDIUM
        }
    }
}

*%-------------------------------------------------------------------------
*% PRN_PROP Standard features section
*%-------------------------------------------------------------------------

*Feature: AutoConfiguration
{
    *rcNameID: =IDS_AUTO_CONFIGURATION
    *HelpIndex: =IDH_UPDATE_NOW_EC6
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_OFF_DISPLAY
    }
    *Option: Installed
    {
        *rcNameID: =IDS_UPDATE_NOW
    }
}

*Feature: EnvFeeder
{
    *rcNameID: =IDS_ENVELOPE_FEEDER_DISPLAY
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_HP5SI_ENV
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_NOTINSTALLED
        *Constraints: InputBin.EnvFeed
    }

    *Option: Installed
    {
        *rcNameID: =IDS_INSTALLED
    }
}

*Feature: Tray3
{
    *rcNameID: =IDS_TRAY3
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_HP5SI_HCI    
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_NOTINSTALLED
        *Constraints: LIST(InputBin.Tray3_500,InputBin.Tray3_1500)
    }

    *Option: Tray3_500
    {
        *rcNameID: =IDS_500_SHEET_TRAY3
        *Constraints: InputBin.Tray3_1500
    }

    *Option: Tray3_1500
    {
        *rcNameID: =IDS_1500_SHEET_TRAY3
        *Constraints: InputBin.Tray3_500
        *Constraints: LIST(Tray4.Tray4_1500,Tray4.Tray4_500)
    }
}

*Feature: Tray4
{
    *rcNameID: =IDS_TRAY4
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_HP5SI_HCI    
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_NOTINSTALLED
        *Constraints: LIST(InputBin.Tray4_1500,InputBin.Tray4_500)
    }

    *Option: Tray4_500
    {
        *rcNameID: =IDS_500_SHEET_TRAY4
        *Constraints: InputBin.Tray4_1500
    }

    *Option: Tray4_1500
    {
        *rcNameID: =IDS_1500_SHEET_TRAY4
        *Constraints: InputBin.Tray4_500
    }
}

*Feature: DuplexUnit
{
    *rcNameID: =IDS_DUPLEX_2_SIDED_PRINTING
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_DUPLEX_UNIT_EC5
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_NOTINSTALLED
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *DisabledFeatures: LIST(Duplex)
    }

    *Option: Installed
    {
        *rcNameID: =IDS_INSTALLED
    }
}

*Feature: AccessoryOutputBins
{
    *rcNameID: =IDS_ACCESSORY_OUTPUT_BIN
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_ACCESSORY_OUTPUT_BIN_EC5
    *DefaultOption: None

    *Option: None
    {
        *rcNameID: =IDS_NOTINSTALLED
        *DisabledFeatures: LIST(Stapling)
    }

    *Option: 500Stacker
    {
        *rcNameID: =IDS_500_STACKER
        *DisabledFeatures: LIST(Stapling)
    }

    *Option: 500Stapler
    {
        *rcNameID: =IDS_500_STAPLER_STACKER
    }
}

*InvalidCombination: LIST(AccessoryOutputBins.None, OutputBin.Stacker)
*InvalidCombination: LIST(AccessoryOutputBins.500Stacker, Stapling.1diagonal)

*Feature: Memory
{
    *rcNameID: =IDS_PRINTER_MEMORY
    *HelpIndex: =IDH_UNIDRV_HP5SI_MEM
    *DefaultOption: 64MB

    *Option: 64MB
    {
        *rcNameID: =IDS_64_MB
        *MemoryConfigMB: PAIR(64, 6)
    }

    *Option: 80MB
    {
        *rcNameID: =IDS_80_MB
        *MemoryConfigMB: PAIR(80, 14)
    }

    *Option: 96MB
    {
        *rcNameID: =IDS_96_MB
        *MemoryConfigMB: PAIR(96, 22)
    }

    *Option: 128MB
    {
        *rcNameID: =IDS_128_MB
        *MemoryConfigMB: PAIR(128, 38)
    }

    *Option: 160MB
    {
        *rcNameID: =IDS_160_MB
        *MemoryConfigMB: PAIR(160, 54)
    }

    *Option: 192MB
    {
        *rcNameID: =IDS_192_MB
        *MemoryConfigMB: PAIR(192, 70)
    }

    *Option: 224MB
    {
        *rcNameID: =IDS_224_MB
        *MemoryConfigMB: PAIR(224, 86)
    }

    *Option: 256MB
    {
        *rcNameID: =IDS_256_MB
        *MemoryConfigMB: PAIR(256, 102)
    }

    *Option: 288MB
    {
        *rcNameID: =IDS_288_MB
        *MemoryConfigMB: PAIR(288, 118)
    }

    *Option: 320MB
    {
        *rcNameID: =IDS_320_MB
        *MemoryConfigMB: PAIR(320, 134)
    }

    *Option: 352MB
    {
        *rcNameID: =IDS_352_MB
        *MemoryConfigMB: PAIR(352, 150)
    }

    *Option: 384MB
    {
        *rcNameID: =IDS_384_MB
        *MemoryConfigMB: PAIR(384, 166)
    }

    *Option: 416MB
    {
        *rcNameID: =IDS_416_MB
        *MemoryConfigMB: PAIR(416, 182)
    }
}

*Feature: PrinterHardDisk
{
    *rcNameID: =IDS_PRINTERHARDDISK
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_PRINTER_HARD_DISK
    *DefaultOption: NotInstalled

    *Option: NotInstalled
    {
        *rcNameID: =IDS_NOTINSTALLED
    }

    *Option: Installed
    {
        *rcNameID: =IDS_INSTALLED
    }
}

*Feature: JobRetention
{
    *rcNameID: =IDS_JOBR_CB_TITLE
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_JOBRETENTION_PH3
    *DefaultOption: Installed

    *Option: NotInstalled
    {
        *rcNameID: =IDS_DISABLED_DISPLAY
    }

    *Option: Installed
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.30
            *CallbackID: =CMDCB_JRSTARTDOC
        }
    }
}

*Feature: DeviceIsMopier
{
    *rcNameID:=IDS_MOPIER_MODE
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_MOPIER_ENABLED
    *DefaultOption: Installed
    
    *Option: NotInstalled
    {
        *rcNameID: =IDS_DISABLED_DISPLAY
        *DisabledFeatures: LIST(Collate)
    }
    *Option: Installed
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
    }
}

*%-------------------------------------------------------------------------
*% DOC_PROP Custom features section
*%-------------------------------------------------------------------------

*%  This feature is used for the Print Quality association.
*%  The help index, and option name strings are taken from here and displayed on the HP Paper/Quality tab page
*%  under the Print Quality list box. 
*%  Each of these option selections are associated with a set of other GPD feature selections
*%  (visible or hidden in treeview) using the HP specific XML data file

*Feature: PrintQualityGroup
{
    *Name: "PrintQualityGroup"
    *HelpIndex: =IDH_UNIDRV_PRINT_QUALITY_PH3
    *FeatureType: DOC_PROPERTY
    *DefaultOption: PQGroup_3

    *Option: PQGroup_1         *%ProRes 1200 (180 lpi)
    {
        *rcNameID: =IDS_PRO_RES_180LPI
    }

    *Option: PQGroup_2         *%ProRes 1200 (212 lpi)
    {
        *rcNameID: =IDS_PRO_RES_212LPI
    }

    *Option: PQGroup_3         *%FastRes 1200 (Faster)
    {
        *rcNameID: =IDS_FAST_RES_FAS
        *Constraints: RETChoice.False
    }

    *Option: PQGroup_4         *%600 dpi
    {
        *rcNameID: =IDS_600DPI_RES
    }
}

*%  Associated feature under PrintQualityGroup.

*Feature: FastRes
{
    *Name: "FastRes"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: True

    *Option: False
    {
        *rcNameID: =IDS_OFF_DISPLAY
    }

    *Option: True
    {
        *rcNameID: =IDS_ON_DISPLAY
    }
}

*%  Associated feature under PrintQualityGroup.
*%  Used for passing lpi dither matrices to the printer

*Feature: HPLpiSelection
{
    *Name: "HPLpiSelection"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: None

    *Option: None
    {
        *Name: "None"
    }

    *Option: 180lpi
    {
        *Name: "180lpi"
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.40
            *Cmd: =ubyte =eUByte =attr_ubyte =DitherMatrixDataType
+                 =uint16_xy "<10001800>" =attr_ubyte =DitherMatrixSize
+                 =ubyte =e8Bit =attr_ubyte =DitherMatrixDepth
+                 =SetHalftoneMethod
+                 =dataLength "<80010000>"
+                 "<0101011B075C6C6338060101011A065A>"
+                 "<06050913091F453E330106050812081E>"
+                 "<D3FF05370E111905282FD0FF05370D10>"
+                 "<DBF202339B0C05050886D8EF092F960B>"
+                 "<CBEA041A90030202027BC7E701188C03>"
+                 "<B4C00244590101010152B0BC083F5601>"
+                 "<5F7067033B010101011D5D6D64003901>"
+                 "<224A41053507060A001520473E023307>"
+                 "<10172525072CCFFFFE040D0F1623052ACD>"
+                 "<0B0408081DD7EEF606300A0407071AD5>"
+                 "<030201760862E6DF8B0903020173055F>"
+                 "<0101014E084ABAA155050101014C0647>"
+                 "<010101190559686036040101011A065B>"
+                 "<06050812081D423B300806050912081E>"
+                 "<D1FF05370D101804262ED2FF05370E11>"
+                 "<D9F00030980B04040884DAF10131990B>"
+                 "<C8E802188E0302020179C9E903198F03>"
+                 "<B1BD0941570101010150B3BF01425801>"
+                 "<5E6E650139010101011C5E6F66023A01>"
+                 "<20483F03340706090914214940043507>"
+                 "<0F15220429CCFFFB010C0F1624062BCE>"
+                 "<0A04070719D4EAF3032D0A0407071CD6>"
+                 "<02020172045DE3DC8705030201740660>"
+                 "<0101014B0545B69C53030101014D0749>"
        }
    }

    *Option: 212lpi
    {
        *Name: "212lpi"
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.40
            *Cmd: =ubyte =eUByte =attr_ubyte =DitherMatrixDataType
+                 =uint16_xy "<10001000>" =attr_ubyte =DitherMatrixSize
+                 =ubyte =e8Bit =attr_ubyte =DitherMatrixDepth
+                 =SetHalftoneMethod
+                 =dataLength "<00010000>"
+                 "<FBF1011C030201010692F9EE08180302>"
+                 "<FDFD030D0401010105A3FDFD03090401>"
+                 "<B4C406533F0404041424B0C002503C04>"
+                 "<0B0834025A79692E061C0A0731095775>"
+                 "<0101058A082FEBDC020201010586042C>"
+                 "<0101049B0535FDCD0303010104960035>"
+                 "<040411200247BC4C460004040F1E0043>"
+                 "<82710329180E090939627D6D0927160D>"
+                 "<F8ED071603010101058CFAF0001A0302>"
+                 "<FDFD030704010101049DFDFD030B0401>"
+                 "<ADBE004E3B0404041221B2C204513E04>"
+                 "<0A072F075573642A02190B0732005877>"
+                 "<01010584022BE6D7020201010588062E>"
+                 "<010104940834FDC60303010104980235>"
+                 "<04040F1D0941B64741050404101F0145>"
+                 "<7B6B072525150C0808355C806F0128170D>"
        }
    }
}

*%  This feature is used for specifying whether the printer is color or monochrome
*%  Possible values are MONOCHROME_MODE, COLOR_MODE
*%  Based on the color/monochrome support, the Color tab is shown in the HP UI. 
*%  Using this, additional specific processing and switching can also be done in the HP UI and render plug-in modules

*Feature: HPColorMode
{
    *Name: "HPColorMode"    
    *FeatureType: DOC_PROPERTY
    *DefaultOption: MONOCHROME_MODE

    *Option: MONOCHROME_MODE
    {
        *Name: "Monochrome Mode"
    }
}

*%  This feature is used for specifying the PDL of the driver. 
*%  Possible values are PDL_PCL3, PDL_PCL5, PDL_PCL6, PDL_PS
*%  Using this, additional specific processing and switching can also be done in the HP UI and render plug-in modules

*Feature: HPPDLType
{
    *Name: "HPPDLType"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: PDL_PCL6

    *Option: PDL_PCL6
    {
        *Name: "PCL 6"
    }
}

*% This feature is used for specifying the encoding supported by the printer
*% Possible values are UTF8, 7 Bit ASCII Encoding, 8 Bit ASCII Encoding and No Encoding
*% Using this, various PJL strings (Job Storage User Names, Job Names etc) can be encoded and sent to the printer

*Feature: HPPJLEncoding
{
    *Name: "HPPJLEncoding"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: UTF8

    *Option: UTF8
    {
        *Name: "UTF8"
    }
}

*% This feature is used for the Job Accounting feature for sending various statistical and metrics data to the printer
*% Possible values are HPJOBACCT_JOBACNT (Job Accounting alone), HPJOBACCT_JOBACNT_TIMESTAMP (Job Accounting and Time Stamp)
*% A callback ID (must be 1) is specified and in the render module, the metrics data is obtained 
*% and sent as PJLs to the printer

*Feature: HPJobAccounting
{
    *Name: "HPJobAccounting"    
    *FeatureType: DOC_PROPERTY

    *Option: HPJOBACCT_JOBACNT
    {
        *Name: "HPJOBACCT_JOBACNT"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.10
            *CallbackID: =CMDCB_HPJOBACCOUNT
        }
    }
}

*% This feature is used for the Born On Date feature for sending the date/time stamp of the job to the printer
*% Possible values are HPBOD
*% A callback ID (must be 3) is specified and in the render module, the date/time stamp is obtained 
*% and sent as PJLs to the printer

*Feature: HPBornOnDate
{
    *Name: "HPBornOnDate"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: HPBOD

    *Option: HPBOD
    {
        *Name: "HPBOD"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.20
            *CallbackID: =CMDCB_HPBOD
        }
    }
}

*% This feature is used for the Job By Hob Override feature. Here the user name needs to be sent with every job
*% Possible values are JBJO
*% A callback ID (must be 5) is specified and in the render module, the user name is obtained 
*% and sent as PJLs to the printer

*Feature: HPJobByJobOverride
{
    *Name: "HPJobByJobOverride"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JBJO

    *Option: JBJO
    {
        *Name: "JBJO"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.40
            *CallbackID: =CMDCB_HPJBJO
        }
    }
}

*% This feature is used for specifying the HP specific XML file name that the printer is using
*% The HP specific XML file is an additional data fle to the UI and render modules. It specifies enhanced data like
*% Print Quality automation, External Quicksets, Media Type Ordering, DMC Install and Upgrade Time events etc
*% The XML file is used only in the read mode dynamically during the UI session

*Feature: HPXMLFileUsed
{
    *Name: "HPXMLFileUsed"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: hpc3bg6l.xml

    *Option: hpc3bg6l.xml
    {
        *Name: "hpc3bg6l.xml"
    }

    *Option: HPXMLFileNameEnd
    {
        *Name: ""
    }
}

*% This feature is used for specifying whether PCL5 pass through support is present in the printer.
*% This feature would only be present in PCL6 drivers since only they support PCL5 passthrough.

*Feature: HPPCL6PassThrough
{
    *Name: "HPPCL6PassThrough"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: True

    *Option: True
    {
        *Name: "True"
    }    
}

*% This feature is used for specifying the type of stapling to be applied under diferent scenarios
*% The option is set from the UI depending on the scenarios. This feature is switched along with other features like
*% orientation, paper size etc for determining the exact stapling commands to be sent to the printer

*Feature: HPStaplingOpposed
{
    *Name: "HPStaplingOpposed"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: False

    *Option: False
    {
        *Name: "False"
    }

    *Option: True
    {
        *Name: "True"
    }
}

*% This feature is used for enabling smart duplexing on a single page job 
*% (i.e not playing the blank side of the page)

*Feature: HPSmartDuplexSinglePageJob
{
    *Name: "HPSmartDuplexSinglePageJob"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: True

    *Option: True
    {
        *Name: "True"
    }
}

*% This feature is used for enabling smart duplexing on odd page job and improving duplex performance for the same

*Feature: HPSmartDuplexOddPageJob
{
    *Name: "HPSmartDuplexOddPageJob"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: True
    
    *Option: True
    {
        *Name: "True"
    }
}

*%  HPCovers custom feature
*%  Mandatory for models supporting Use Different Paper from 03Q3 level onwards.
*%  This feature defines the list of options that will appear in the List Box on the Paper/Quality tab page

*Feature: HPCovers
{
    *Name: "HPCovers"
    *FeatureType: DOC_PROPERTY
    *ConflictPriority: 6
    *DefaultOption: Other_Pages

    *Option: Front_Cover
    {
        *rcNameID: =IDS_FRONT_DOVER
    }

    *Option: First_Page
    {
        *rcNameID: =IDS_STA_FIRST_PAGE
    }

    *Option: Other_Pages
    {
        *rcNameID: =IDS_MEDIA_LB_OTHER_PAGES
    }

    *Option: Last_Page
    {
        *rcNameID: =IDS_LAST_PAGE
    }

    *Option: Back_Cover
    {
        *rcNameID: =IDS_BACK_COVER
    }
}

*%-------------------------------------------------------------------------
*% PRN_PROP Custom features section
*%-------------------------------------------------------------------------

*%  Job Storage custom feature
*%  JRConstraints will have an option value for full, none or partial
*%  (1) JRCHDFull - the printer requires a Hard Disk for ALL JR options
*%  (2) JRCHDPartial - the printer requires a HardDisk only for SOME JR options.
*%  (3) JRCHDNone - the printer does NOT require a HardDisk for ANY JR options

*Feature: JRConstraints
{
    *Name: "JRConstraints"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JRCHDPartial

    *Option: JRCHDPartial
    {
        *Name: "JRCHDPartial"
    }
    *Option: JRCJobRet
    {
        *Name: "JRCJobRet"
    }
    *Option: 0
    {
        *Name: "0"
    }
}

*%  Job Storage custom feature
*%  Two JR Option constraint features are defined
*%  (1) JRHDInstalled - This lists the JR options available when HD is installed
*%  (2) JRHDNotInstalled - This lists the JR options available when HD is not installed
*%      The options are as follows - (in this order)
*%               (a) JRHDOff
*%               (b) JRHDProof
*%               (c) JRHDPrivate
*%               (d) JRHDQuickCopy
*%               (e) JRHDStore
*%  Note: The options are the same for both JRHDInstalled and JRHDNotInstalled

*Feature: JRHDInstalled
{
    *Name: "JRHDInstalled"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JRHDOff
    *Option: JRHDOff
    {
        *Name: "JRHDOff"
    }

    *Option: JRHDProof
    {
        *Name: "JRHDProof"
    }

    *Option: JRHDPrivate
    {
        *Name: "JRHDPrivate"
    }

    *Option: JRHDQuickCopy
    {
        *Name: "JRHDQuickCopy"
    }

    *Option: JRHDStore
    {
        *Name: "JRHDStore"
    }
}

*Feature: JRHDNotInstalled
{
    *Name: "JRHDNotInstalled"
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JRHDOff

    *Option: JRHDOff
    {
        *Name: "JRHDOff"
    }

    *Option: JRHDProof
    {
        *Name: "JRHDProof"
    }

    *Option: JRHDPrivate
    {
        *Name: "JRHDPrivate"
    }
}

*% This feature is used for specifying the Support for Larger paper (SLP) feature which allows the user to select a paper
*% size larger than what the printer supports and still print that onto a supported (mapped) paper without any page reflow
*% in the document at the application side
*% Currently, this feature is either always supported for printers or not suppoted at all. 
*% This means that this feature is not user modifiable and has no UI exposure
*% To support SLP, define this feature with *DefaultOption: Installed
*% To remove SLP support, define this feature with *DefaultOption: NotInstalled or do not define the feature

*Feature: ScaleFromLargePaper
{    
    *rcNameID: =IDS_LARGE_PAPER_SUPPORT    
    *FeatureType: PRINTER_PROPERTY
    *HelpIndex: =IDH_UNIDRV_LARGER_PAPER
    *DefaultOption: Installed

    *Option: NotInstalled
    {
        *rcNameID: =IDS_DISABLED_DISPLAY
    }

    *Option: Installed
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
    }
}

*% This feature is used in conjunction with the ScaleFromLargePaper above. It should be present only if 
*% ScaleFromLargePaper above is present. This specifies the Actual (supported) MaxSize dimensions of the printer
*% since the *MaxSize keyword dimensions have been specified as the maximum larger (SLP) paper
*% Specify the option name as X_Y whre X and Y are the width and height of the paper in "tens of mm"

*Feature: ActualCustomRange
{
    *Name: "Actual Custom Range"
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: 215900_355600

    *Option: 215900_355600
    {
        *Name: "215900_355600"
    }
}

*% This feature is used for the "Combine Media Types and Sources in the application list" feature
*% This feature is currently not shown in the treeview because of Unidrv limitations. 
*% So in any product, this feature is either always present as installed or always present as Not Installed

*Feature: CombineMediaTypesAndInputBins
{    
    *rcNameID: =IDS_COMBINE_SOURCE_TYPE    
    *FeatureType: PRINTER_PROPERTY 
    *HelpIndex: =IDH_UNIDRV_COMBINE_SOURCE_TYPE
    *DefaultOption: Installed
    
    *Option: Installed
    {
        *rcNameID: =IDS_ENABLED_DISPLAY
    }
}

*%  EAC custom feature
*%  This feature is used to get the Feature Name of the Installable Tray. 
*%  Since all Installable Input Trays are separate GPD features,
*%  a separate custom feature is required to get all the Instalable Input Tray names
*%  This printer has 3 installable trays - EnvFeeder, Tray3 and Tray4

*Feature: HPInstallableTrayFeatureName
{
     *Name: "HPInstallableTrayFeatureName"
     *FeatureType: PRINTER_PROPERTY

     *Option: EnvFeeder
     {
          *Name: ""
     }

     *Option: Tray3
     {
          *Name: ""
     }

     *Option: Tray4
     {
          *Name: ""
     }
}

*%  EAC custom feature
*%  This feature is used to get the capacity of each Installable Tray so that mapping with the PML values can be done

*Feature: HPInstallableTraySize
{
     *Name: "HPInstallableTraySize"
     *FeatureType: PRINTER_PROPERTY

     *Option: EnvFeeder-100-ENVELOPE_FEEDER
     {
          *Name: ""
     }

     *Option: Tray3_500-500-LOWER_CASSETTE
     {
          *Name: ""
     }

     *Option: Tray3_1500-1500-LOWER_CASSETTE
     {
          *Name: ""
     }

     *Option: Tray4_500-500-HCI
     {
          *Name: ""
     }

     *Option: Tray4_1500-1500-HCI
     {
          *Name: ""
     }
}

*%  EAC custom feature
*%  This feature is used to get the part numbers of each Accessory Output Bin.
*%  Since all Accessory Output Bins come under a single GPD feature "*Feature: AccessoryOutputBins",
*%  a separate custom feature is not required to get the actual Output Bin names 

*Feature: HPInstallableHCO
{
     *Name: "HPInstallableHCO"
     *FeatureType: PRINTER_PROPERTY

     *Option: 500Stacker-Q2442
     {
          *Name: ""
     }

     *Option: 500Stapler-Q2443
     {
          *Name: ""
     }
}

*% This feature is used for specifying if the HP custom font installer is to be used

*Feature: HPFontInstaller
{
    *Name: "HPFontInstaller"
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: TRUE

    *Option: TRUE
    {
        *Name: ""
    }
}

*%  This feature is used for specifying the range of User Defined Media types. 
*%  This range is used to construct the command sent to the printer for user defined media types

*Feature: HPMediaPMLRange
{
    *Name: "HPMediaPMLRange"
    *FeatureType: PRINTER_PROPERTY

    *Option: 15-19
    {
         *Name: "15-19"
    }
}

*%-------------------------------------------------------------------------
*% Constraints section
*%-------------------------------------------------------------------------


*%-------------------------------------------------------------------------
*% Commands section
*%-------------------------------------------------------------------------

*%  Job and page commands

*Command: CmdStartJob
{
    *Order: JOB_SETUP.1
    *Cmd: =PJL_STARTJOB =PJL_COMMENT 
}

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

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

*%  Cursor commands

*Command: CmdCR { *Cmd: "" }
*Command: CmdLF { *Cmd: "" }
*Command: CmdFF { *Cmd: "" }
*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)
}

*% Font commands

*Command: CmdSetFontID
{
    *Cmd : ""
}
*Command: CmdSelectFontID
{
    *Cmd: ""
    *Params: LIST(FontHeight, CurrentFontID, TextYRes)
}
*Command: CmdSetCharCode
{
    *Cmd : ""
}
*Command: CmdBoldOn
{
    *Cmd : ""
}
*Command: CmdBoldOff
{
    *Cmd : ""
}
*Command: CmdSetAnyRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*Command: CmdSetSimpleRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}

*%-------------------------------------------------------------------------
*% Render standard keywords section
*%-------------------------------------------------------------------------

*CharPosition: BASELINE     *% character positioning keyword must be present even if device font are not present
*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
