*%
*%
*%
*% Copyright (c) 1997-2003 Microsoft Corporation
*% All Rights Reserved.
*%

*GPDSpecVersion: "1.0"
*GPDFileName: "LFX6PUXP.GPD"
*GPDFileVersion: "1.4"
*Include: "StdNames.gpd"
*Include: "ttfsub.gpd"
*Include: "pjl.gpd"
*Include: "p6font.gpd"
*Include: "p6disp.gpd"
*Include: "pclxl.gpd"
*ModelName: "Laser Pro LL PCL6"
*MasterUnits: PAIR(1200, 1200)
*PrintRate: 16
*PrintRatePPM: 16
*PrintRateUnit: PPM
*PrinterType: PAGE
*Personality: =PERSONALITY_PCLXL
*MaxCopies: 32767

*Feature: RESDLL
{
    *Option: PCLXL
    {*Name: "PCLXL.DLL"}
    *Option: LFX6PUXP
    {*Name: "LFX6PUXP.DLL"}
}

*Macros: PCLXLCommand
{
*%%% ---------------------------------------------------------------------------
*%%% PCL XL Stream Header
*%%% ---------------------------------------------------------------------------
PCLXL_StreamHeader: ") HP-PCL XL;2;0;"
+                   "Comment Copyright(c) 2007 Sagem Communication<0A>"

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

*%%% ---------------------------------------------------------------------------
*%%% BeginSession
*%%%     Measure(ubyte) & UnitsPerMeasure(uint16_xy) & {ErrorReport(ubyte)}
*%%% ---------------------------------------------------------------------------
PCLXL_BeginSession1200: =uint16_xy "<b004b004>" =attr_ubyte =UnitsPerMeasure =ubyte
+ =eInch =attr_ubyte =Measure =ubyte =eBackChAndErrPage =attr_ubyte =ErrorReport =BeginSession

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

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

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

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

PCLXL_CmdSendBlockData: =dataLength =DataSize "<0000>"

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

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

*Feature: InputBin
{
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: =FIRST_AVAILABLE_TRAY_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
            *Cmd: =ubyte =eAutoSelect =attr_ubyte =MediaSource
        }
    }
    *Option: TRAY1
    {
        *rcNameID: RESDLL.LFX6PUXP.448
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
            *Cmd: =ubyte =eUpperCassette =attr_ubyte =MediaSource
        }
    }
    *Option: MANUAL
    {
        *rcNameID: =MANUAL_FEED_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
            *Cmd: =ubyte =eManualFeed =attr_ubyte =MediaSource
        }
    }
}

*Feature: Resolution
{
    *ConcealFromUI?: TRUE
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option2
    *Option: Option1
    {
        *Name: "1200 x 1200 " =DOTS_PER_INCH
        *DPI: PAIR(1200, 1200)
        *TextDPI: PAIR(1200, 1200)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING, ENCLOSED,TRAILING)
        *SpotDiameter: 120
        *Command: CmdBeginRaster
        {
            *Cmd : =PCLXL_CmdBeginRaster
        }
        *Command: CmdSendBlockData
        {
            *Cmd : =PCLXL_CmdBeginRaster =PCLXL_CmdSendBlockData
        }
        *Command: CmdEndBlockData { *Cmd : =EndImage}
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.5
            *Cmd: =PJL_RESOLUTION_1200 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession1200 =PCLXL_OpenDataSource
        }
    }
    *Option: Option2
    {
        *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.5
            *Cmd: =PJL_RESOLUTION_600 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession600 =PCLXL_OpenDataSource
        }
    }
    *Option: Option3
    {
        *Name: "300 x 300 " =DOTS_PER_INCH
        *DPI: PAIR(300, 300)
        *TextDPI: PAIR(300, 300)
        *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.5
            *Cmd: =PJL_RESOLUTION_300 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession300 =PCLXL_OpenDataSource
        }
    }
}

*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    *Option: A5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *% rcid 1000
        *PageProtectMem: 2125
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(6396, 9372)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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(6396, 9324)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(260, 9624)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *% rcid 1000
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9600, 12600)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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(9760, 12600)
                *PrintableOrigin: PAIR(200, 300)
                *CursorOrigin: PAIR(200, 12900)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 5230
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9600, 16200)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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(9760, 16200)
                *PrintableOrigin: PAIR(200, 300)
                *CursorOrigin: PAIR(200, 16500)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1008
        *PageProtectMem: 4249
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9352, 13400)
                *PrintableOrigin: PAIR(260, 300)
                *CursorOrigin: PAIR(260, 160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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(9424, 13428)
                *PrintableOrigin: PAIR(200, 300)
                *CursorOrigin: PAIR(200, 13728)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *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: ENV_MONARCH
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1036
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4046, 8400)
                *PrintableOrigin: PAIR(300, 300)
                *switch: Resolution
                {
                    *case: Option3
                    {
                        *PrintableArea: PAIR(4044, 8400)
                    }
                }
                *CursorOrigin: PAIR(300, 180)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sMonarchEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4076, 8400)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(200, 8700)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =ubyte_array =sMonarchEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1255
        *MinSize: PAIR(3600, 6000)
        *MaxSize: PAIR(10200, 32767)
        *MaxPrintableWidth: 10200
        *MinLeftMargin: 100
        *CenterPrintable?: FALSE
        *PageProtectMem: 1692
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *CustCursorOriginX:  %d{((PhysPaperWidth - 10200) / 2) + 300 }
                *CustCursorOriginY:   %d{140 }
                *CustPrintableOriginX:  %d{300 }
                *CustPrintableOriginY:  %d{300}
                *CustPrintableSizeX:   %d{ PhysPaperWidth - 600 }
                *CustPrintableSizeY:  %d{ PhysPaperLength - 600 }
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
+                         =uint16_xy %l{(PhysPaperWidth / 1200)}%l{(PhysPaperLength / 1200)} =attr_ubyte =CustomMediaSize
+                          =ubyte =eInch =attr_ubyte =CustomMediaSizeUnits =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *CustCursorOriginX:  %d{((PhysPaperWidth - 10200) / 2) + 200 }
                *CustCursorOriginY:   %d{16560 }
                *CustPrintableOriginX:  %d{200 }
                *CustPrintableOriginY:  %d{240}
                *CustPrintableSizeX:   %d{ PhysPaperWidth - 400 }
                *CustPrintableSizeY:  %d{ PhysPaperLength - 480 }
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.3
                    *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
+                         =uint16_xy %l{(PhysPaperWidth / 1200)}%l{(PhysPaperLength / 1200)} =attr_ubyte =CustomMediaSize
+                         =ubyte =eInch =attr_ubyte =CustomMediaSizeUnits =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
}
*%%% ======================
*%%% PAGE_SETUP.2
*%%% DuplexPageMode(53(0x35))
*Feature: Duplex
{   *ConcealFromUI?: TRUE
    *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
    *DefaultOption: NONE
    *Option: NONE
    {
        *rcNameID: =NONE_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.2
            *Cmd: "@PJL SET DUPLEX=OFF<0A>"
        }
    }
    *Option: VERTICAL
    {
        *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.2
            *Cmd: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=LONGEDGE<0A>"
        }
    }
    *Option: HORIZONTAL
    {
        *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.2
            *Cmd: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=SHORTEDGE<0A>"
        }
    }
}

*Feature: Economode
{
    *rcNameID: =ECONOMODE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: =ECONOMODE_DEFAULT_DISPLAY
    }
    *Option: Option2
    {
        *rcNameID: =ECONOMODE_OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.3
            *Cmd: =PJL_ECONOMODE_OFF
        }
    }
    *Option: Option3
    {
        *rcNameID: =ECONOMODE_ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.3
            *Cmd: =PJL_ECONOMODE_ON
        }
    }
}

*Feature: RET
{
    *rcNameID: =PRINT_QUALITY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: =PRINT_QUALITY_DEFAULT
    }
    *Option: Option2
    {
        *rcNameID: =PRINT_QUALITY_LIGHT
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.4
            *Cmd: =PJL_RET_LIGHT
        }
    }
    *Option: Option3
    {
        *rcNameID: =PRINT_QUALITY_MEDIUM
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.4
            *Cmd: =PJL_RET_MEDIUM
        }
    }
    *Option: Option4
    {
        *rcNameID: =PRINT_QUALITY_DARK
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.4
            *Cmd: =PJL_RET_DARK
        }
    }
    *Option: Option5
    {
        *rcNameID: =PRINT_QUALITY_OFF
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.4
            *Cmd: =PJL_RET_OFF
        }
    }
}

*Feature: TRAY2
{
 *ConcealFromUI?: TRUE
    *rcNameID: =TRAY2_DISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: LIST(InputBin.TRAY2)
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}
*%% =======================
*%% Optional Duplex Unit
*%% =======================
*Feature: DuplexUnit
{
     *ConcealFromUI?: TRUE
    *FeatureType: PRINTER_PROPERTY
    *rcNameID: =DUPLEX_UNIT_DISPLAY
    *DefaultOption: NotInstalled
    *Option: NotInstalled
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *DisabledFeatures: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
    }

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


*Feature: Dither
{
    *rcNameID: =DITHER_QUALITY_DISPLAY
    *DefaultOption: HIQUALITY
    *Option: HIQUALITY
    {
        *rcNameID: =DITHER_QUALITY_HIGH_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.5
            *Cmd:
+         =ubyte "<00>" =attr_ubyte =DitherMatrixDataType
+         =uint16_xy "<10001000>" =attr_ubyte =DitherMatrixSize
+         =ubyte "<02>" =attr_ubyte =DitherMatrixDepth
+         =SetHalftoneMethod
+         =dataLength "<00010000>"
+         "<42786A3C2B1B1E2E4175673A2A1A1D2D>"
+         "<88FDE8531703042484F8E35116030424>"
+         "<99FFD45E1302072195FFCE5B12010721>"
+         "<4ABFAB36280B0F3248BAA735270A0E31>"
+         "<28171B2B3D6C5F3729191C2C3F716439>"
+         "<130203227AEBD64B1502032380F3DE4E>"
+         "<0F01051F8AFFC2551101062090FFC958>"
+         "<2525080B2F43AE9B3226090D3046B5A234>"
+         "<4073653A29191D2D4276693B2A1A1E2E>"
+         "<82F5E1501502042386FAE65216030424>"
+         "<92FFCC5A1101062097FFD15D12020721>"
+         "<47B8A435260A0D3049BDA936270A0E31>"
+         "<29181C2C3E6F623828181C2B3D6E6138>"
+         "<140203237EF0DB4D140203227CEED94C>"
+         "<1001051F8EFFC7571001051F8CFFC456>"
+         "<26090C2F45B3A0342525080C2F44B09D33>"
        }
    }
    *Option: LOQUALITY
    {
        *rcNameID: =DITHER_QUALITY_LOW_DISPLAY
    }
}


*Feature: PageProtect
{
    *rcNameID: =PAGE_PROTECTION_DISPLAY
    *DefaultOption: OFF
    *Option: ON
    {
        *rcNameID: =ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.2
            *Cmd: =PJL_PAGEPROTECT_ON =PJL_TIMEOUT_90
        }
    }
    *Option: OFF
    {
        *rcNameID: =OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.2
            *Cmd: =PJL_PAGEPROTECT_OFF =PJL_TIMEOUT_90
        }
    }
}

*Feature: TrueTypeFormat
{
    *rcNameID: =TRUETYPE_FORMAT
    *DefaultOption: OUTLINE
    *Option: OUTLINE
    {
        *rcNameID: =TRUETYPE_OUTLINE
    }
    *Option: BITMAP
    {
        *rcNameID: =TRUETYPE_BITMAP
    }
    *Option: GRAPHICS
    {
        *rcNameID: =TRUETYPE_GRAPHICS
    }
}

*switch: TrueTypeFormat
{
    *case: OUTLINE
    {
        *FontFormat: HPPCL_OUTLINE
    }
    *case: BITMAP
    {
        *FontFormat: HPPCL
    }
    *case: GRAPHICS
    {
    }
}

*Command: CmdStartJob
{
    *Order: JOB_SETUP.1
    *Cmd: =PJL_STARTJOB =PJL_COMMENT
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.4
    *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+         =ubyte "<01>" =attr_ubyte =ColorSpace =SetColorSpace
}
*Command: CmdEndPage
{
    *Order: PAGE_FINISH.1
    *Cmd: =uint16 =NumOfCopy =attr_ubyte =PageCopies =EndPage
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: =CloseDataSource =EndSession =PJL_ENDJOB
}

*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
*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: CmdCR { *Cmd : =CR }
*Command: CmdLF { *Cmd : =LF }
*Command: CmdFF { *Cmd : =FF }
*Command: CmdSetAnyRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*Command: CmdSetSimpleRotation
{
    *Cmd: ""
    *Params: LIST(PrintDirInCCDegrees)
}
*EjectPageWithFF?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: AUTO_INCREMENT
*DefaultFont: =RC_FONT_COURIERR
*DefaultCTT: 0
*CharPosition: BASELINE
*TTFSEnabled?: TRUE
*FontFormat: OEM_CALLBACK
*MinFontID: 1
*MaxFontID: 65535
*MinGlyphID: 1
*MaxGlyphID: 1000

*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_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_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"
}

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