*%
*% Copyright (c) 1997 - 1999 Microsoft Corporation
*% All Rights Reserved.
*%
*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.00"
*GPDFileName: "CNL46EJ.GPD"
*Include: "STDNAMES.GPD"
*CodePage: 1252
*ModelName: "Canon LBP-B406E LIPS3"
*MasterUnits: PAIR(600, 600)
*ResourceDLL: "cnl4jres.dll"
*PrinterType: PAGE
*PrintRate: 8
*PrintRateUnit: PPM
*MaxCopies: 255
*FontCartSlots: 2
*Feature: Orientation
{
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *CallbackID: 2
*% Error: you must check if this command callback requires any parameters!
        }
    }
    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =LANDSCAPE_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *CallbackID: 3
*% Error: you must check if this command callback requires any parameters!
        }
    }
}
*Feature: InputBin
{
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *DefaultOption: AUTO
    *Option: Option1
    {
        *rcNameID: 263
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.6
            *Cmd: "<1B>[3q"
        }
    }
    *Option: Option2
    {
        *rcNameID: 264
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.6
            *Cmd: "<1B>[2q"
        }
    }
    *Option: AUTO
    {
        *rcNameID: =AUTO_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.6
            *Cmd: "<1B>[0q"
        }
    }
    *Option: Option4
    {
        *rcNameID: 265
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.6
            *Cmd: "<1B>[1q"
        }
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "300 x 300 dots per inch"
        *DPI: PAIR(300, 300)
        *TextDPI: PAIR(300, 300)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
        EXTERN_GLOBAL: *SendMultipleRows?: TRUE
        *SpotDiameter: 100
        *Command: CmdSendBlockData
	{
	    *CallbackID: 7
	    *Params: LIST(NumOfDataBytes, RasterDataHeightInPixels, RasterDataWidthInBytes)
	}
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.1
            *CallbackID: 9
*% Error: you must check if this command callback requires any parameters!
        }
    }
    *Option: Option2
    {
        *Name: "150 x 150 dots per inch"
        *DPI: PAIR(150, 150)
        *TextDPI: PAIR(150, 150)
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
        EXTERN_GLOBAL: *SendMultipleRows?: TRUE
        *SpotDiameter: 100
        *Command: CmdSendBlockData
	{
	    *CallbackID: 7
	    *Params: LIST(NumOfDataBytes, RasterDataHeightInPixels, RasterDataWidthInBytes)
	}
        *Command: CmdSelect
        {
            *Order: JOB_SETUP.1
            *CallbackID: 10
*% Error: you must check if this command callback requires any parameters!
        }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: A4
    *Option: A4
    {
        *rcNameID: =A4_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4720, 6774)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (6774->6772) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(4720, 6772)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 44
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4720, 6774)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (6774->6772) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(4720, 6772)
                    }
                }
                *CursorOrigin: PAIR(120, 6894)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 45
                }
            }
        }
    }
    *Option: A5
    {
        *rcNameID: =A5_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(3256, 4722)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (4722->4720) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3256, 4720)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 46
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(3256, 4722)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (4722->4720) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3256, 4720)
                    }
                }
                *CursorOrigin: PAIR(120, 4842)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 47
                }
            }
        }
    }
    *Option: B5
    {
        *rcNameID: =B5_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4060, 5832)
                *PrintableOrigin: PAIR(120, 120)
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 52
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4060, 5832)
                *PrintableOrigin: PAIR(120, 120)
                *CursorOrigin: PAIR(120, 5952)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 53
                }
            }
        }
    }
    *Option: B4
    {
        *rcNameID: =B4_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(5830, 8358)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (5830->5828) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (8358->8356) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(5828, 8356)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 50
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(5830, 8358)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (5830->5828) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (8358->8356) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(5828, 8356)
                    }
                }
                *CursorOrigin: PAIR(120, 8478)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 51
                }
            }
        }
    }
    *Option: LETTER
    {
        *rcNameID: =LETTER_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4858, 6360)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (4858->4856) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(4856, 6360)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 56
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4858, 6360)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (4858->4856) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(4856, 6360)
                    }
                }
                *CursorOrigin: PAIR(120, 6480)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 57
                }
            }
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =LEGAL_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4858, 8160)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (4858->4856) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(4856, 8160)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 58
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4858, 8160)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (4858->4856) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(4856, 8160)
                    }
                }
                *CursorOrigin: PAIR(120, 8280)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 59
                }
            }
        }
    }
    *Option: JAPANESE_POSTCARD
    {
        *rcNameID: =JAPANESE_POSTCARD_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(2122, 3258)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (2122->2120) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3258->3256) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2120, 3256)
                    }
                }
                *CursorOrigin: PAIR(120, 120)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 48
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(2122, 3258)
                *PrintableOrigin: PAIR(120, 120)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable width is adjusted (2122->2120) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3258->3256) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2120, 3256)
                    }
                }
                *CursorOrigin: PAIR(120, 3378)
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 49
                }
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(2360, 2360)
        *MaxSize: PAIR(6072, 8598)
        *MaxPrintableWidth: 6072
        *MinLeftMargin: 120
        *CenterPrintable?: FALSE
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *CustCursorOriginX: %d{120}
                *CustCursorOriginY: %d{120}
                *CustPrintableOriginX: %d{120}
                *CustPrintableOriginY: %d{120}
                *CustPrintableSizeX: %d{PhysPaperWidth - 240}
                *CustPrintableSizeY: %d{PhysPaperLength - 240}
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 40
                    *Params: LIST(PhysPaperWidth, PhysPaperLength)
                }
            }
            *case: LANDSCAPE_CC90
            {
                *CustCursorOriginX: %d{120}
                *CustCursorOriginY: %d{PhysPaperLength - 120}
                *CustPrintableOriginX: %d{120}
                *CustPrintableOriginY: %d{120}
                *CustPrintableSizeX: %d{PhysPaperWidth - 240}
                *CustPrintableSizeY: %d{PhysPaperLength - 240}
                *Command: CmdSelect
                {
                    *Order: PAGE_SETUP.7
                    *CallbackID: 41
                    *Params: LIST(PhysPaperWidth, PhysPaperLength)
                }
            }
        }
    }
}
*Feature: Halftone
{
    *rcNameID: =HALFTONING_DISPLAY
    *DefaultOption: HT_PATSIZE_AUTO
    *Option: HT_PATSIZE_AUTO
    {
        *rcNameID: =HT_AUTO_SELECT_DISPLAY
    }
    *Option: HT_PATSIZE_SUPERCELL_M
    {
        *rcNameID: =HT_SUPERCELL_DISPLAY
    }
    *Option: HT_PATSIZE_6x6_M
    {
        *rcNameID: =HT_DITHER6X6_DISPLAY
    }
    *Option: HT_PATSIZE_8x8_M
    {
        *rcNameID: =HT_DITHER8X8_DISPLAY
    }
}
*Feature: Memory
{
    *rcNameID: =PRINTER_MEMORY_DISPLAY
    *DefaultOption: 2048KB
    *Option: 2048KB
    {
        *Name: "2MB"
        *MemoryConfigKB: PAIR(2048, 1500)
    }
    *Option: 3072KB
    {
        *Name: "3MB"
        *MemoryConfigKB: PAIR(3072, 2048)
    }
    *Option: 4096KB
    {
        *Name: "4MB"
        *MemoryConfigKB: PAIR(4096, 3500)
    }
}
*Command: CmdStartJob
{
    *Order: JOB_SETUP.2
    *CallbackID: 1
*% Error: you must check if this command callback requires any parameters!
}
*Command: CmdStartDoc
{
    *Order: DOC_SETUP.1
    *CallbackID: 130
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *CallbackID: 6
*% Error: you must check if this command callback requires any parameters!
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<1B>P0J<1B>\"
}
*Command: CmdEndPage
{
    *Order: PAGE_FINISH.1
    *CallbackID: 5
*% Error: you must check if this command callback requires any parameters!
}
*Command: CmdCopies
{
    *Order: PAGE_SETUP.4
    *Cmd: "<1B>[" %d[1,255]{NumOfCopies }"v"
}
*RotateCoordinate?: TRUE
*RotateRaster?: TRUE
*RotateFont?: TRUE
*TextCaps: LIST(TC_OP_CHARACTER,TC_CR_90,TC_CR_ANY,TC_SF_X_YINDEP,TC_SA_INTEGER,TC_SA_CONTIN,TC_EA_DOUBLE,TC_IA_ABLE)
*MemoryUsage: LIST(FONT)
*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
*XMoveThreshold: 0
*YMoveThreshold: 0
*XMoveUnit: 600
*YMoveUnit: 600
*Command: CmdXMoveAbsolute
{
	*CallbackID: 15
	*Params: LIST(DestX)
}
*Command: CmdXMoveRelRight
{
	*CallbackID: 36
	*Params: LIST(DestXRel)
}
*Command: CmdYMoveAbsolute
{
	*CallbackID: 16
	*Params: LIST(DestY)
}
*Command: CmdYMoveRelDown
{
	*CallbackID: 37
	*Params: LIST(DestYRel)
}
*Command: CmdCR { *CallbackID: 18 }
*Command: CmdSetSimpleRotation
{
	*CallbackID: 4
	*Params: LIST(PrintDirInCCDegrees)
}
*EjectPageWithFF?: TRUE
*Command: CmdEnableFE_RLE { *CallbackID: 11 }
*Command: CmdDisableCompression { *CallbackID: 12 }
*OutputDataFormat: H_BYTE
*OptimizeLeftBound?: TRUE
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 40
*DefaultCTT: 0
*CharPosition: BASELINE
*DeviceFonts: LIST(1,2,3,4,5,6,7,8,9,32,33,34,35,40,41)
*FontCartridge: FC1
{
    *rcCartridgeNameID: 270
    *Fonts: LIST(42,43)
}
*FontCartridge: FC2
{
    *rcCartridgeNameID: 271
    *Fonts: LIST(44,45)
}
*FontCartridge: FC3
{
    *rcCartridgeNameID: 272
    *Fonts: LIST(48,49)
}
*FontCartridge: FC4
{
    *rcCartridgeNameID: 273
    *Fonts: LIST(46,47)
}
*FontCartridge: FC5
{
    *rcCartridgeNameID: 274
    *Fonts: LIST(54,55)
}
*FontCartridge: FC6
{
    *rcCartridgeNameID: 275
    *Fonts: LIST(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
+                   26,27,28,29,30,31)
}
*FontCartridge: FC7
{
    *rcCartridgeNameID: 276
    *Fonts: LIST(50,51)
}
*FontCartridge: FC8
{
    *rcCartridgeNameID: 277
    *Fonts: LIST(52,53)
}
*% *MinFontID: 0
*% *MaxFontID: 100
*% *MaxNumDownFonts: 0
*% *FontFormat: OEM_CALLBACK
*Command: CmdBoldOn { *CallbackID: 20 }
*Command: CmdBoldOff { *CallbackID: 21 }
*Command: CmdItalicOn { *CallbackID: 22 }
*Command: CmdItalicOff { *CallbackID: 23 }
*Command: CmdWhiteTextOn { *CallbackID: 30 }
*Command: CmdWhiteTextOff { *CallbackID: 31 }
*Command: CmdSelectSingleByteMode { *CallbackID: 32 }
*Command: CmdSelectDoubleByteMode { *CallbackID: 33 }
*Command: CmdVerticalPrintingOn { *CallbackID: 34 }
*Command: CmdVerticalPrintingOff { *CallbackID: 35 }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "" }
*ReselectFont: LIST(AFTER_FF)
*TTFS: Arial
{
    *rcTTFontNameID: 501
    *rcDevFontNameID: 502
}
*TTFS: Symbol
{
    *rcTTFontNameID: 503
    *rcDevFontNameID: 504
}
*TTFS: TimesNewRoman
{
    *rcTTFontNameID: 505
    *rcDevFontNameID: 506
}
*TTFS: CourierNew
{
    *rcTTFontNameID: 507
    *rcDevFontNameID: 508
}
*TTFS: MSMincho
{
    *rcTTFontNameID: 509
    *rcDevFontNameID: 510
}
*TTFS: MSMinchoV
{
    *rcTTFontNameID: 511
    *rcDevFontNameID: 512
}
*TTFS: MSGothic
{
    *rcTTFontNameID: 513
    *rcDevFontNameID: 514
}
*TTFS: MSGothicV
{
    *rcTTFontNameID: 515
    *rcDevFontNameID: 516
}
*TTFS: MSMincho_E
{
    *rcTTFontNameID: 540
    *rcDevFontNameID: 510
}
*TTFS: MSMinchoV_E
{
    *rcTTFontNameID: 541
    *rcDevFontNameID: 512
}
*TTFS: MSGothic_E
{
    *rcTTFontNameID: 542
    *rcDevFontNameID: 514
}
*TTFS: MSGothicV_E
{
    *rcTTFontNameID: 543
    *rcDevFontNameID: 516
}
*TTFSEnabled?: TRUE
*% RectFill feature
*% *Feature: ScanForRules
*% {
*%     *rcNameID: 297
*%     *FeatureType: DOC_PROPERTY
*%     *DefaultOption: Enabled
*%    *Option: Disabled
*%    {
*%	*rcNameID: 291
*%    }
*%     *Option: Enabled
*%     {
*% 	*rcNameID: 290
	*Command: CmdSetRectWidth
	{
		*CallbackID: 401
		*Params: LIST(RectXSize)
	}
	*Command: CmdSetRectHeight
	{
		*CallbackID: 402
		*Params: LIST(RectYSize)
	}
	*Command: CmdRectWhiteFill { *CallbackID: 403 }
*%	*Command: CmdRectBlackFill { *CallbackID: 404 }
*%     }
*% }
*MinGrayFill: 0
*MaxGrayFill: 0