*%%******************************************************************************************
*%%                                                                                         *
*%% Kyocera Universal PCL6
*%%
*%%  (c) 2014 KYOCERA Corporation, KYOCERA Document Solutions Inc.                          *
*%%  All Rights Reserved.                                                                   *
*%%                                                                                         *
*%%******************************************************************************************

*%%
*%% Global Entries
*%%
*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.53"

*%%% ======================
*%%% Include standard GPD files
*%%% =====================
*Include: "StdNames.gpd"
*Include: "ttfsub.gpd"

*%%
*%% Model Specific Global Entries
*%%
*GPDFileName: "KyXUnL.GPD"
*ModelName:   "Kyocera Classic Universaldriver PCL6"
*MaxCopies: 999
*PrintRate: 30
*PrintRatePPM: 30
*PrintRateUnit: PPM

*MasterUnits: PAIR(1200, 1200)
*CodePage: 1252
*ResourceDLL: "pclxl.dll"
*PrinterType: PAGE
*Personality: =PERSONALITY_PCLXL

*Ifdef: WINNT_60
*PrintSchemaPrivateNamespaceURI: "http://schemas.kyocera.com/printer/MiniDriver/v_1_0_"
*BidiQueryFile: "KyXUnQ.GDL"
*Endif: WINNT_60


*%%% ======================
*%%% Kyocera Mita Agfa Fonts
*%%% ======================
*Feature: RESDLL
{
	*Option: KMXLFont
	{
		*Name: "KyXFon.dll"
	}
}


*%%% ======================
*%%% Macros
*%%% ======================
*Include: "pjl.gpd"
*%%% Include: "p6font.gpd"
*Include: "p6disp.gpd"


*%%% ======================
*%%% Main
*%%% ======================
*Include: "pclxl.gpd"

*%%% ======================
*%%% Kyocera Mita Main
*%%% ======================
*Include: "KyXPCL.gpd"
*Include: "KyXPJL.gpd"
*Include: "KyXDis.gpd"

*%%% ======================
*%%% DOC_SETUP, PAGE_FINISH
*%%% , JOB_FINISH
*%%% ======================

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

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

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

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

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

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

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

PCLXL_CmdSendBlockData: =dataLength =DataSize "<0000>"

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

*%%% ======================
*%%% Features and Options
*%%% ======================

*%% =======================
*%% Optional Cassettes
*%% =======================
*Feature: CassetteTwo
{
    *rcNameID: =CASSETTE_2_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette2
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}


*Feature: CassetteThree
{
    *rcNameID: =CASSETTE_3_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette3
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}

*Feature: CassetteFour
{
    *rcNameID: =CASSETTE_4_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette4
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}

*Feature: CassetteFive
{
    *rcNameID: =CASSETTE_5_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette5
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}

*Feature: CassetteSix
{
    *rcNameID: =CASSETTE_6_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette6
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}

*Feature: CassetteSeven
{
    *rcNameID: =CASSETTE_7_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
        *rcNameID: =NOT_INSTALLED_DISPLAY
        *Constraints: InputBin.Cassette7
    }
    *Option: TRUE
    {
        *rcNameID: =INSTALLED_DISPLAY
    }
}





*%% =======================
*% DeviceCollate 
*% Feature Workaround for collating 
*% To get the chance for toggling between Device collate and Software collate 
*%% =======================
*Feature: DeviceCollate
{
  *rcNameID: =COLLATE_KDISPLAY
  *FeatureType: PRINTER_PROPERTY
  *DefaultOption: NotInstalled
  *Option: NotInstalled
  {
    *rcNameID: =PROGRAM_KDISPLAY
    *DisabledFeatures: LIST(Collate)
  }
  *Option: Installed
  {
    *rcNameID: =PRINTER_KDISPLAY
  }
}



*%% =======================
*%% Kyo CharSet of Printer Display
*%% =======================
*Feature: CharSetPD
{
    *rcNameID: =CHARSET_PD_KDISPLAY
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: USASCII
    *Option: FALSE
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: USASCII
    {
        *Name: "US-ASCII"
    }
    *Option: UTF8
    {
        *Name: "UTF-8"
    }
}






*%%% ======================
*%%% JOB_SETUP
*%%% ======================

*%%% ======================
*%%% PJL-Header

*%%% ======================
*%%% JOB_SETUP.1
*%%% start PJL Header
*Command: CmdStartJob
{
    *Order: JOB_SETUP.1
    *Cmd: =PJL_KM_STARTJOB =PJL_STARTJOB =PJL_KM_COMMENT 
}


*%%% ======================
*%%% JOB_SETUP.2
*%%% Adds some comments 
*Feature: KyoControlPJLCmdCallback
{
  *Name: "KyoControlPJLCmdCallback"
  *ConcealFromUI?: TRUE
  *FeatureType: DOC_PROPERTY
  *DefaultOption: KC
  *Option: KC
  {
    *Name: "KC"
    *Command: CmdSelect
    {
      *Order: JOB_SETUP.2
      *CallbackID:11
    }
  }
}





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



*%%% ======================
*%%% JOB_SETUP.5
*%%% START PLJ JOB
*%%% PAGEPROTECT
*%%% TIMEOUT
*Feature: PageProtect
{
    *rcNameID: =PAGE_PROTECTION_DISPLAY
    *DefaultOption: OFF
    *Option: ON
    {
        *rcNameID: =ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.5
            *Cmd: =PJL_PAGEPROTECT_ON =PJL_TIMEOUT_90
        }
    }
    *Option: OFF
    {
        *rcNameID: =OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.5
            *Cmd: =PJL_PAGEPROTECT_ON =PJL_TIMEOUT_90
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.6
*%%% ECOPRINT
*Feature: Economode
{
    *rcNameID: =ECONOMODE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: =ECONOMODE_DEFAULT_DISPLAY
    }
    *Option: Option2
    {
        *rcNameID: =ECONOMODE_OFF_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.6
            *Cmd: =PJL_ECOPRINT_OFF
        }
    }
    *Option: Option3
    {
        *rcNameID: =ECONOMODE_ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.6
            *Cmd: =PJL_ECOPRINT_ON
        }
    }
}






*%%% ======================
*%%% JOB_SETUP.7
*%%% Collate
*%%% CommandCallBack
*Feature: Collate
{
  *rcNameID: =COLLATOR_DISPLAY 		*% this shouldn't appear...
  *DefaultOption: OFF
  
  *Option: OFF
  {
    *rcNameID: =OFF_DISPLAY
  }
  *Option: ON
  {
    *rcNameID: =ON_DISPLAY
*%    *Constraints: DeviceCollate.NotInstalled
  }
}


*switch: Collate
{
  *case: OFF
  {
    *Command: CmdCopies
    {
     	*Order: JOB_SETUP.7
     	*CallbackID: 1
    }
  }
  *case: ON
  {
  	*Command: CmdCopies
   	{
     	*Order: JOB_SETUP.7
     	*CallbackID: 1
   	}
  }
}





*%%% ======================
*%%% JOB_SETUP.8
*%%% HalfSpeedMode
*Feature: HalfSpeedMode
{
    *rcNameID: =HALFSPEED_MODE_KDISPLAY
    *DefaultOption: False
    *Option: False
    {
        *rcNameID: =OFF_DISPLAY
    }
    *Option: True
    {
        *rcNameID: =ON_DISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.8
            *Cmd: =PJL_KHALFSPEEDMODE
        }
    }
}





*%%% ======================
*%%% JOB_SETUP.9
*%%% KyoHalftoneMatrix
*Feature: KyoHalftoneMatrix
{
    *rcNameID: =HALFTONE_MATRIX_KDISPLAY
    *DefaultOption: False
    *Option: False
    {
        *rcNameID: =VERSION1_KDISPLAY
    }
    *Option: True
    {
        *rcNameID: =VERSION2_KDISPLAY
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.9
            *Cmd: =PJL_KSECURITYWATERMARK
        }
    }
}





*%%% ======================
*%%% PlugIn
*%%% Finishing
*%%% CommandCallBack

*%%% ======================
*%%% JOB_SETUP.11
*%%% CommandCallBack: Job Retention
*Feature: JRCmdCallback
{
    *Name: "JRCmdCallback"
    *ConcealFromUI?: TRUE
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JR
    *Option: JR
    {
        *Name: "JR"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.11
            *CallbackID:2
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.12
*%%% CommandCallBack: Job Account
*Feature: JACmdCallback
{
    *Name: "JACmdCallback"
    *ConcealFromUI?: TRUE
    *FeatureType: DOC_PROPERTY
    *DefaultOption: JA
    *Option: JA
    {
        *Name: "JA"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.12
            *CallbackID:3
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.13
*%%% CommandCallBack: User Log-In
*Feature: ULCmdCallback
{
    *Name: "ULCmdCallback"
    *ConcealFromUI?: TRUE
    *FeatureType: DOC_PROPERTY
    *DefaultOption: UL
    *Option: UL
    {
        *Name: "UL"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.13
            *CallbackID:12
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.14
*%%% CommandCallBack: Finishing
*Feature: FinCmdCallback
{
    *Name: "FinCmdCallback"
    *ConcealFromUI?: TRUE
    *FeatureType: DOC_PROPERTY
    *DefaultOption: Fin
    *Option: Fin
    {
        *Name: "Fin"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.14
            *CallbackID:4
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.15
*%%% CommandCallBack: COLOR REPRODUCTION
*Feature: ColorReproductionCmdCallback
{
    *Name: "ColorReproductionCmdCallback"
    *ConcealFromUI?: TRUE
    *DefaultOption: ColorReproduction
    *Option: ColorReproduction
    {
        *Name: "ColorReproduction"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.15
            *CallbackID:9
        }
    }
}


*%%% ======================
*%%% JOB_SETUP.16
*%%% CommandCallBack: Rotate Collate (JOG)
*Feature: KRotateCollateCmdCallback
{
    *Name: "KRotateCollateCmdCallback"
    *ConcealFromUI?: TRUE
    *DefaultOption: RotateCollate
    *Option: RotateCollate
    {
        *Name: "RotateCollate"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.16
            *CallbackID:13
        }
    }
}




*%%% ======================
*%%% JOB_SETUP.20
*%%%     RESOLUTION
*%%%     ENTER LANGUAGE=PCLXL
*%%%     PCL XL Stream Header
*%%%     BeginSession
*%%% CmdEndRaster
*%%%     EndImage
*%%% CmdSendBlockData
*%%%     EndImage
*Feature: Resolution
{
    *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
        }

        *% EndImage(0xb2)
        *%
        *Command: CmdEndBlockData 
        { 
            *Cmd : =EndImage
        }

        *Command: CmdSelect
        {
            *Order: JOB_SETUP.20
*%%            *Cmd: =PJL_RESOLUTION_1200 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession1200 =PCLXL_OpenDataSource
            *Cmd: =PJL_RESOLUTION_1200 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL
        }
    }
    *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: CmdSendBlockData
        {
            *Cmd: =PCLXL_CmdSendBlockData
        }

        *Command: CmdEndRaster 
        { 
            *Cmd : =EndImage 
        }

        *Command: CmdSelect
        {
            *Order: JOB_SETUP.20
*%%            *Cmd: =PJL_RESOLUTION_600 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession600 =PCLXL_OpenDataSource
            *Cmd: =PJL_RESOLUTION_600 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL
        }
    }
    *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: CmdSendBlockData
        {
            *Cmd: =PCLXL_CmdSendBlockData
        }

        *Command: CmdEndRaster 
        { 
            *Cmd : =EndImage 
        }

        *Command: CmdSelect
        {
            *Order: JOB_SETUP.20
*%%            *Cmd: =PJL_RESOLUTION_300 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL =PCLXL_StreamHeader =PCLXL_BeginSession300 =PCLXL_OpenDataSource
            *Cmd: =PJL_RESOLUTION_300 =PJL_BITSPERPIXEL_2 =PJL_ENTER_PCLXL
        }
    }
}



*%%% ======================
*%%% Prescribe Header
*%%% ======================

*%%% ======================
*%%% JOB_SETUP.25
*%%% CommandCallBack: Staple Method/Count
*Feature: STPCCmdCallback
{
    *Name: "StapleMethodCmdCallback"
    *ConcealFromUI?: TRUE
    *DefaultOption: STPC
    *Option: STPC
    {
        *Name: "STPC"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.25
            *CallbackID:6
        }
    }
}

*%%% ======================
*%%% JOB_SETUP.26
*%%% CommandCallBack: JOG
*Feature: JogCmdCallback
{
    *Name: "JogCmdCallback"
    *ConcealFromUI?: TRUE
    *DefaultOption: Jog
    *Option: Jog
    {
        *Name: "Jog"
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.26
            *CallbackID:7
        }
    }
}





*%%% ======================
*%%% JOB_SETUP.30
*%%% End of PJL stream
*%%% ======================
*Feature: EndOfPJL
{
  *Name: "EndOfPJL"
  *ConcealFromUI?: TRUE
  *DefaultOption: End
  *Option: End
  {
    *Name: "End"
    *switch: Resolution
    {
      *case: Option1
			{
				*Command: CmdSelect
				{
    			*Order: JOB_SETUP.30
		    	*Cmd: =PCLXL_StreamHeader =PCLXL_BeginSession1200 =PCLXL_OpenDataSource
	   		}
			}
			*case: Option2
			{
				*Command: CmdSelect
				{
    			*Order: JOB_SETUP.30
    			*Cmd: =PCLXL_StreamHeader =PCLXL_BeginSession600 =PCLXL_OpenDataSource
		    }
			}
			*case: Option3
			{
				*Command: CmdSelect
				{
		    	*Order: JOB_SETUP.30
    			*Cmd: =PCLXL_StreamHeader =PCLXL_BeginSession300 =PCLXL_OpenDataSource
		    }
			}
    }
  }
}




*%%% ======================
*%%% Orientation
*%%% ======================
*Feature: Orientation
{
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.4
            *Cmd: =ubyte =ePortraitOrientation =attr_ubyte =Orientation
        }
    }
    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =LANDSCAPE_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.4
            *Cmd: =ubyte =eLandscapeOrientation =attr_ubyte =Orientation
        }
    }
}

*Feature: RotatedOrientation
{
    *rcNameID: =ROTATED_ORIENTATION_KDISPLAY
    *DefaultOption: Standard
    *Option: Standard
    {
        *rcNameID: =STANDARD_ORIENTATION_KDISPLAY
    }
	  *Option: Portrait_CC180
	  {
  		  *rcNameID: =PORTRAIT_CC180_KDISPLAY
    		*Command: CmdSelect
	    	{
		      	*Order: DOC_SETUP.4
            *Cmd: =ubyte =eReversePortrait =attr_ubyte =Orientation
				}
		}
		*Option: Landscape_CC270
		{
				*rcNameID: =LANDSCAPE_CC270_KDISPLAY
				*Command: CmdSelect
				{
						*Order: DOC_SETUP.4
            *Cmd: =ubyte =eReverseLandscape =attr_ubyte =Orientation
				}
		}
}

*%%% ======================
*%%% PAGE_SETUP
*%%% ======================

*%%% ======================
*%%% PAGE_SETUP.5
*%%% BeginPage(0x43)
*%%%     Orientation(40), MediaSize(37), MediaSource(38)
*%%%     ubyte            ubyte          ubyte
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    
*%%%
*%%% American Paper sizes
*%%%

    *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.5
                    *Cmd: =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.5
                    *Cmd: =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.5
                    *Cmd: =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.5
                    *Cmd: =ubyte_array =sLegalPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: EXECUTIVE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8100, 12000)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8180, 12000)
                *PrintableOrigin: PAIR(220, 300)
                *CursorOrigin: PAIR(200, 12300)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sExecPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
	*Option: 11X17				*% Ledger
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 9350
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(12600, 19860)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 180)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sLedgerPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(12760, 19920)
                *PrintableOrigin: PAIR(200, 240)
                *CursorOrigin: PAIR(200, 20160)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sLedgerPaper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    
*%%%
*%%% European Paper sizes
*%%%

    *Option: A3
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  
        *PageProtectMem: 9667
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(13460, 19440)
                *PrintableOrigin: PAIR(286, 202)
                *CursorOrigin: PAIR(286, 202)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sA3Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((286*TextXRes)/1200)}%l{((286*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(13628, 19368)
                *PrintableOrigin: PAIR(202, 238)
                *CursorOrigin: PAIR(202, 19604)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sA3Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((202*TextXRes)/1200)}%l{((202*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1008
        *PageProtectMem: 4249
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9502, 13628)
                *PrintableOrigin: PAIR(202, 202)
                *CursorOrigin: PAIR(202, 202)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((202*TextXRes)/1200)}%l{((202*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.5
                    *Cmd: =ubyte_array =sA4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((200*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *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.5
                    *Cmd: =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.5
                    *Cmd: =ubyte_array =sA5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: A6
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PageProtectMem: 2125
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4360, 6396)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(186, 190)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sA6Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((284*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4360, 6396)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(190, 6758)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sA6Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    
*%%%
*%%% JIS Paper size
*%%%

	*Option: B4
	{
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
		*PageProtectMem: 4249
		*switch: Orientation
		{
			*case: PORTRAIT
			{
				*PrintableArea: PAIR(11400, 16392)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 190)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sJB4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
			*case: LANDSCAPE_CC90
			{
				*PrintableArea: PAIR(11400, 16392)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 16792)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sJB4Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
		}
	}
	*Option: B5
	{
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
		*PageProtectMem: 4109
		*switch: Orientation
		{
			*case: PORTRAIT
			{
				*PrintableArea: PAIR(8132, 11736)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 190)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sJB5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
			*case: LANDSCAPE_CC90
			{
				*PrintableArea: PAIR(8132, 11736)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 11136)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sJB5Paper =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
		}
	}

*%%% 
*%%% Envelope sizes
*%%%

	*Option: ENV_B5
	{
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
		*PageProtectMem: 4109
		*switch: Orientation
		{
			*case: PORTRAIT
			{
				*PrintableArea: PAIR(7848, 11400)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 190)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sB5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
			*case: LANDSCAPE_CC90
			{
				*PrintableArea: PAIR(7848, 11400)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 11800)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sB5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
		}
	}
	*Option: ENV_C5
	{
		*rcNameID: =RCID_DMPAPER_SYSTEM_NAME
		*PageProtectMem: 4109
		*switch: Orientation
		{
			*case: PORTRAIT
			{
				*PrintableArea: PAIR(7176, 10392)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 190)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sC5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
			*case: LANDSCAPE_CC90
			{
				*PrintableArea: PAIR(7176, 10392)
				*PrintableOrigin: PAIR(300, 300)
				*CursorOrigin: PAIR(286, 10792)
				*Command: CmdSelect
				{
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sC5Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((236*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

				}
			}
		}
	}
    *Option: ENV_9
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1019
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
				        *PrintableArea: PAIR(4056, 10056)
				        *PrintableOrigin: PAIR(300, 300)
				        *CursorOrigin: PAIR(286, 190)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
				        *PrintableArea: PAIR(4056, 10056)
				        *PrintableOrigin: PAIR(300, 300)
				        *CursorOrigin: PAIR(190, 10418)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: ENV_10
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1019
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4346, 10800)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 180)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((300*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4476, 10800)
                *PrintableOrigin: PAIR(200, 300)
                *CursorOrigin: PAIR(200, 11100)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sCOM10Envelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((240*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
        }
    }
    *Option: ENV_DL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME  *%  1026
        *PageProtectMem: 4109
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4576, 9792)
                *PrintableOrigin: PAIR(300, 300)
                *CursorOrigin: PAIR(300, 180)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sDLEnvelope =attr_ubyte =MediaSize =BeginPage
+                         =sint16_xy %l{((284*TextXRes)/1200)}%l{((200*TextYRes)/1200)} =attr_ubyte =PageOrigin =SetPageOrigin

                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4796, 9792)
                *PrintableOrigin: PAIR(200, 300)
                *CursorOrigin: PAIR(200, 10092)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =ubyte_array =sDLEnvelope =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)
                *CursorOrigin: PAIR(300, 180)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.5
                    *Cmd: =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.5
                    *Cmd: =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, 16800)
        *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.5
                    *Cmd: =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.5
                    *Cmd: =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

                }
            }
        }
    }
}


*%%% ======================
*%%% Paper constraints
*%%% 
*BlockMacro: SmallPapers
{
	*Constraints: LIST(PaperSize.A6,PaperSize.EXECUTIVE)
}
*BlockMacro: Envelopes
{
	*Constraints: LIST(PaperSize.ENV_B5,PaperSize.ENV_C5)
	*Constraints: LIST(PaperSize.ENV_9,PaperSize.ENV_10)
	*Constraints: LIST(PaperSize.ENV_DL,PaperSize.ENV_MONARCH)
}

*%%% ======================
*%%% PAGE_SETUP.1
*%%% CommandCallBack: Separation Page
*Feature: SPCmdCallback
{
    *Name: "SPCmdCallback"
    *ConcealFromUI?: TRUE
    *FeatureType: DOC_PROPERTY
    *DefaultOption: SP
    *Option: SP
    {
        *Name: "SP"
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.1
            *CallbackID: 15
        }
    }
}


*%%% ======================
*%%% PAGE_SETUP.1
*%%% BeginPage(0x43)
*%%%     Orientation(0x40), MediaSize(0x37), MediaSource(0x38)
*%%%     ubyte               ubyte             ubyte
*%%%     MediaSource
*Feature: InputBin
{
    *rcNameID: =AUTO_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: =FIRST_AVAILABLE_TRAY_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eAutoSelect =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette1
    {
        *rcNameID: =CASSETTE_1_KDISPLAY
        *OptionID: 258
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMFirstCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette2
    {
        *rcNameID: =CASSETTE_2_KDISPLAY      
        *OptionID: 259
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMSecondCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette3
    {
        *rcNameID: =CASSETTE_3_KDISPLAY      
        *OptionID: 260
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMThirdCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette4
    {
        *rcNameID: =CASSETTE_4_KDISPLAY      
        *OptionID: 261
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMFourthCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette5
    {
        *rcNameID: =CASSETTE_5_KDISPLAY      
        *OptionID: 262
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMFifthCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette6
    {
        *rcNameID: =CASSETTE_6_KDISPLAY      
        *OptionID: 263
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMSixthCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Cassette7
    {
        *rcNameID: =CASSETTE_7_KDISPLAY      
        *OptionID: 264
        *InsertBlock: =SmallPapers
        *InsertBlock: =Envelopes
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMSeventhCassette =attr_ubyte =MediaSource
        }
    }
    *Option: Option4
    {
        *rcNameID: =MANUAL_FEEDER_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: =ubyte =eKMMultiFKTFeeder =attr_ubyte =MediaSource
        }
    }
}


*%%% ======================
*%%% PAGE_SETUP.2
*%%% BeginPage(0x43)
*%%%     Orientation(0x40), MediaSize(0x37), MediaSource(0x38), MediaType
*%%%     ubyte               ubyte             ubyte
*%%%     MediaType
*Feature: MediaType
{
    *rcNameID: =MEDIA_TYPE_DISPLAY
    *DefaultOption: AutoSelect

    *Option: AutoSelect
    {
        *rcNameID: =UNSPECIFIED_KDISPLAY
    }
    *Option: MediaAutoSelect
    {
        *rcNameID: =AUTO_SELECT_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0400>" =eKMAutoSelect =attr_ubyte =MediaType
        }
    }
    *Option: Plain
    {
        *rcNameID: =PLAIN_PAPER_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0500>" =ePlain =attr_ubyte =MediaType
        }
    }
    *Option: Preprinted
    {
        *rcNameID: =PREPRINTED_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0a00>" =ePreprinted =attr_ubyte =MediaType
        }
    }
    *Option: Letterhead
    {
        *rcNameID: =LETTERHEAD_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0a00>" =eLetterhead =attr_ubyte =MediaType
        }
    }
    *Option: Transparency
    {
        *rcNameID: =TRANSPARENCY_KDISPLAY
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0c00>" =eTransparency =attr_ubyte =MediaType
        }
    }
    *Option: Prepunched
    {
        *rcNameID: =PREPUNCHED_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0a00>" =ePrepunched =attr_ubyte =MediaType
        }
    }
    *Option: Labels
    {
        *rcNameID: =LABELS_KDISPLAY
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0600>" =eLabels =attr_ubyte =MediaType
        }
    }
    *Option: Bond
    {
        *rcNameID: =BOND_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0400>" =eBond =attr_ubyte =MediaType
        }
    }
    *Option: Recycled
    {
        *rcNameID: =RECYCLED_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0800>" =eRecycled =attr_ubyte =MediaType
        }
    }
    *Option: Color
    {
        *rcNameID: =COLOR_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0500>" =eColor =attr_ubyte =MediaType
        }
    }
    *Option: Rough
    {
        *rcNameID: =ROUGH_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0500>" =eRough =attr_ubyte =MediaType
        }
    }

    *Option: Envelope
    {
        *rcNameID: =ENVELOPE_KDISPLAY
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0800>" =eKMEnvelope =attr_ubyte =MediaType
        }
    }
    *Option: CardStock
    {
        *rcNameID: =CARDSTOCK_KDISPLAY
        *Constraints: LIST(Duplex.VERTICAL,Duplex.HORIZONTAL)
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0900>" =eKMCardStock =attr_ubyte =MediaType
        }
    }
    *Option: Custom1
    {
        *rcNameID: =MEDIA_CUSTOM1_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom1 =attr_ubyte =MediaType
        }
    }
    *Option: Custom2
    {
        *rcNameID: =MEDIA_CUSTOM2_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom2 =attr_ubyte =MediaType
        }
    }
    *Option: Custom3
    {
        *rcNameID: =MEDIA_CUSTOM3_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom3 =attr_ubyte =MediaType
        }
    }
    *Option: Custom4
    {
        *rcNameID: =MEDIA_CUSTOM4_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom4 =attr_ubyte =MediaType
        }
    }
    *Option: Custom5
    {
        *rcNameID: =MEDIA_CUSTOM5_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom5 =attr_ubyte =MediaType
        }
    }
    *Option: Custom6
    {
        *rcNameID: =MEDIA_CUSTOM6_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom6 =attr_ubyte =MediaType
        }
    }
    *Option: Custom7
    {
        *rcNameID: =MEDIA_CUSTOM7_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom7 =attr_ubyte =MediaType
        }
    }
    *Option: Custom8
    {
        *rcNameID: =MEDIA_CUSTOM8_KDISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.3
            *Cmd: =ubyte_array =uint16 "<0700>" =eKMCustom8 =attr_ubyte =MediaType
        }
    }
}


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

*%%% ======================
*%%% PAGE_SETUP.8
*%%% Feature
*%%% Dither
*Feature: Dither
{
    *rcNameID: =DITHER_QUALITY_DISPLAY
    *DefaultOption: HIQUALITY
    *Option: HIQUALITY
    {
        *rcNameID: =DITHER_QUALITY_HIGH_DISPLAY
    }
    *Option: LOQUALITY 
    {
        *rcNameID: =DITHER_QUALITY_LOW_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *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>"
        }
    }
}


*%%% ======================
*%%% PAGE_SETUP.10
*%%% Feature
*%%% ColorMode
*ChangeColorModeOnDoc?: FALSE
*Feature: ColorMode
{
    *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
    *DefaultOption: 24bpp
    *Option: Mono
    {
        *rcNameID: =MONO_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *Color? : FALSE
        *PaletteSize: 1
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
    *Option: 24bpp
    {
        *rcNameID: =24BPP_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *PaletteSize: 256
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
}

*switch: ColorMode
{
    *case: Mono
    {
        *Command: CmdStartPage
        {
            *Order: PAGE_SETUP.10
            *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+                 =ubyte =eGray =attr_ubyte =ColorSpace =SetColorSpace
         }
    }
    *case: 24bpp
    {
        *Command: CmdStartPage
        {
            *Order: PAGE_SETUP.10
            *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+                 =ubyte =eRGB =attr_ubyte =ColorSpace =SetColorSpace
        }
    }
}


*%%% ======================
*%%% PAGE_FINISH
*%%% ======================

*%%% ======================
*%%% PAGE_FINISH.1
*Command: CmdEndPage
{
  *Order: PAGE_FINISH.1
  *CallbackID:10
}

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


*%%% ======================
*%%% Feature
*%%% Memory

*Feature: Memory
{
    *rcNameID: =PRINTER_MEMORY_DISPLAY
    *DefaultOption: 64MB
	  *MemConfigMB: PAIR(64, 56)
    *MemConfigMB: PAIR(128, 114)
    *MemConfigMB: PAIR(256, 228)
    *MemConfigMB: PAIR(384, 344)
    *MemConfigMB: PAIR(512, 456)
    *MemConfigMB: PAIR(768, 672)
    *MemConfigMB: PAIR(1024, 912)
    *MemConfigMB: PAIR(1280, 1139)
    *MemConfigMB: PAIR(2048, 1920)
}




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

*DefaultFont: RESDLL.KMXLFont.6
*DefaultCTT: 0


*%% DeviceFonts
*%% Antique Olive  3/4/5
*%% Garamond       28/29/30/31
*%% ZapfDingbats   49
*%% LineprinterBM  53
*%% Symbol         63
*%% SymbolPS       64
*%% Univers        73-80
*%% Wingdings      81
*DeviceFonts: LIST(
+		RESDLL.KMXLFont.1,RESDLL.KMXLFont.2,
+		RESDLL.KMXLFont.6,RESDLL.KMXLFont.7,RESDLL.KMXLFont.8,
+		RESDLL.KMXLFont.9,RESDLL.KMXLFont.10,RESDLL.KMXLFont.11,RESDLL.KMXLFont.12,
+		RESDLL.KMXLFont.13,RESDLL.KMXLFont.14,RESDLL.KMXLFont.15,RESDLL.KMXLFont.16,
+		RESDLL.KMXLFont.17,RESDLL.KMXLFont.18,RESDLL.KMXLFont.19,RESDLL.KMXLFont.20,
+		RESDLL.KMXLFont.21,RESDLL.KMXLFont.22,RESDLL.KMXLFont.23,RESDLL.KMXLFont.24,
+		RESDLL.KMXLFont.25,RESDLL.KMXLFont.26,RESDLL.KMXLFont.27,
+       RESDLL.KMXLFont.32,
+		RESDLL.KMXLFont.33,RESDLL.KMXLFont.34,RESDLL.KMXLFont.35,RESDLL.KMXLFont.36,
+		RESDLL.KMXLFont.37,RESDLL.KMXLFont.38,RESDLL.KMXLFont.39,RESDLL.KMXLFont.40,
+		RESDLL.KMXLFont.41,RESDLL.KMXLFont.42,RESDLL.KMXLFont.43,RESDLL.KMXLFont.44,
+		RESDLL.KMXLFont.45,RESDLL.KMXLFont.46,RESDLL.KMXLFont.47,RESDLL.KMXLFont.48,
+		RESDLL.KMXLFont.50,RESDLL.KMXLFont.51,RESDLL.KMXLFont.52,
+		RESDLL.KMXLFont.54,RESDLL.KMXLFont.55,RESDLL.KMXLFont.56,
+		RESDLL.KMXLFont.57,RESDLL.KMXLFont.58,RESDLL.KMXLFont.59,RESDLL.KMXLFont.60,
+		RESDLL.KMXLFont.61,RESDLL.KMXLFont.62,
+		RESDLL.KMXLFont.65,RESDLL.KMXLFont.66,RESDLL.KMXLFont.67,RESDLL.KMXLFont.68,
+		RESDLL.KMXLFont.69,RESDLL.KMXLFont.70,RESDLL.KMXLFont.71,RESDLL.KMXLFont.72)



*% TT font Substituition table for our device fonts
*% Arial and TNR are substituted in ttfsub.gpd
*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"
}
*% These 4 fonts need to be substituted to match the name that applications use to select the font.  For
*% some reason the names are different.
*TTFS: ClarendonCD1
{
  *TTFontName: "Clarendon Condensed"
 *DevFontName: "Clarendon Condensed"
}
*TTFS: Univers1
{
  *TTFontName: "Univers"
  *DevFontName: "Univers"
}
*TTFS: UniversCD1
{
  *TTFontName: "Univers Condensed"
  *DevFontName: "Univers Condensed"
}


*%%% ======================
*%%% Global Entries
*%%% Attributes
*%%% ======================
*%%% *rcPersonalityID: =PERSONALITY_PCLXL_DISPLAY
*%%% *rcPrinterIconID:
*%%% *HelpFile:

*%%% ======================
*%%% Printing attributes
*%%% ======================
*RotateCoordinate?: TRUE
*RotateRaster?: TRUE
*RotateFont?: TRUE
*EjectPageWithFF?: FALSE

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

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

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

*%%% ======================
*%%% TrueType fonts
*%%% ======================
*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
    {
    }
}

*CharPosition: BASELINE
*%%%TTFSEnabled?: FALSE
*MinFontID: 1
*MaxFontID: 65535
*MinGlyphID: 1
*MaxGlyphID: 1000

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

*Command: CmdCR { *Cmd: "" }
*Command: CmdLF { *Cmd: "" }
*Command: CmdFF { *Cmd: "" }

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

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

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

*Command: CmdSetCharCode
{
    *Cmd : ""
}

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