*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.00"
*GPDFileName: "CSN4J.GPD"
*Include: "STDNAMES.GPD"
*CodePage: 1252
*ModelName: "CASIO N4"
*MasterUnits: PAIR(1200, 1200)
*ResourceDLL: "CASN4RES.DLL"
*PrinterType: PAGE
*MaxCopies: 255
*PrintRate: 12
*PrintRateUnit: PPM

*Feature: Orientation
{
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *CallbackID: 93
        }
    }
    *Option: LANDSCAPE_CC90
    {
        *rcNameID: =LANDSCAPE_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *CallbackID: 94
        }
    }
}
*Feature: InputBin
{
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 264
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *CallbackID: 100
        }
    }
    *Option: Option2
    {
        *rcNameID: 265
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *CallbackID: 101
        }
    }
    *Option: Option3
    {
        *rcNameID: 266
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *CallbackID: 102
        }
    }
    *Option: Option4
    {
        *rcNameID: 271
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *CallbackID: 103
        }
    }
    *Option: Option5
    {
        *rcNameID: 272
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *CallbackID: 104
        }
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "300 x 300 dots per inch"
        *DPI: PAIR(300, 300)
        *TextDPI: PAIR(300, 300)
        EXTERN_GLOBAL: *XMoveUnit: 300
        EXTERN_GLOBAL: *YMoveUnit: 300
        *MinStripBlankPixels: 32
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1D>" %d{NumOfDataBytes}";" %d{(RasterDataWidthInBytes * 8) }";" %d{RasterDataHeightInPixels }
+ ";0bi{I" }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *CallbackID: 72
        }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: A4
    *Option: A3
    {
        *rcNameID: =A3_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(13552, 19360)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>13psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(13552, 19360)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 19600)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>13psE<1D>1poE"
                }
            }
        }
    }
    *Option: A4
    {
        *rcNameID: =A4_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9440, 13552)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>14psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9440, 13552)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 13792)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>14psE<1D>1poE"
                }
            }
        }
    }
    *Option: A5
    {
        *rcNameID: =A5_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(6512, 9440)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>15psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(6512, 9440)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 9680)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>15psE<1D>1poE"
                }
            }
        }
    }
    *Option: B5
    {
        *rcNameID: =B5_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(8120, 11664)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>25psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(8120, 11664)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 11904)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>25psE<1D>1poE"
                }
            }
        }
    }
    *Option: LETTER
    {
        *rcNameID: =LETTER_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(9720, 12720)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>30psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(9720, 12720)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 12960)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>30psE<1D>1poE"
                }
            }
        }
    }
    *Option: JAPANESE_POSTCARD
    {
        *rcNameID: =JAPANESE_POSTCARD_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(4244, 6512)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>38psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(4244, 6512)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 6752)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>38psE<1D>1poE"
                }
            }
        }
    }
    *Option: B4
    {
        *rcNameID: =B4_DISPLAY
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *PrintableArea: PAIR(11664, 16720)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 240)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>24psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *PrintableArea: PAIR(11664, 16720)
                *PrintableOrigin: PAIR(240, 240)
                *CursorOrigin: PAIR(240, 16960)
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>24psE<1D>1poE"
                }
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(4724,6992)
        *MaxSize: PAIR(14032,19840)
        *MaxPrintableWidth: 13552
        *MinLeftMargin: 240
        *CenterPrintable?: FALSE
        *switch: Orientation
        {
            *case: PORTRAIT
            {

                *CustCursorOriginX:     %d{240}
                *CustCursorOriginY:     %d{240}
                *CustPrintableOriginX:  %d{240}
                *CustPrintableOriginY:  %d{240}
                *CustPrintableSizeX:    %d{PhysPaperWidth  - 480}
                *CustPrintableSizeY:    %d{PhysPaperLength - 480}
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>-1;" %d{(PhysPaperWidth / 4)}";" %d{(PhysPaperLength / 4)}"psE"
                }
            }
            *case: LANDSCAPE_CC90
            {
                *CustCursorOriginX:     %d{240}
                *CustCursorOriginY:     %d{PhysPaperLength - 240}
                *CustPrintableOriginX:  %d{240}
                *CustPrintableOriginY:  %d{240}
                *CustPrintableSizeX:    %d{PhysPaperWidth  - 480}
                *CustPrintableSizeY:    %d{PhysPaperLength - 480}
                *Command: CmdSelect
                {
                    *Order: DOC_SETUP.11
                    *Cmd: "<1D>-1;" %d{(PhysPaperWidth / 4)}";" %d{(PhysPaperLength / 4)}"psE<1D>1poE"
                }
            }
        }
    }
}
*Feature: ColorMode
{
    *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
    *DefaultOption: Color
    *Option: Mono
    {
        *rcNameID: =MONO_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 1
        *Color?: FALSE
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: "<1B>z<D001>Cc,0,0,0,255*<1B>z<0001><1D>0owE<1D>0tsE"
        }
    }
    *Option: Color
    {
        *rcNameID: =COLOR_DISPLAY
        *DevNumOfPlanes: 4
        *DevBPP: 1
        *DrvBPP: 4
        EXTERN_GLOBAL: *UseExpColorSelectCmd? : TRUE
        *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW, BLACK)

        *Command: CmdSendCyanData { *Cmd : "<1B>z<D001>Cc,255,0,0,0*<1B>z<0001><1D>0owE<1D>0tsE" }
        *Command: CmdSendMagentaData { *Cmd : "<1B>z<D001>Cc,0,255,0,0*<1B>z<0001><1D>0owE<1D>0tsE" }
        *Command: CmdSendYellowData { *Cmd : "<1B>z<D001>Cc,0,0,255,0*<1B>z<0001><1D>0owE<1D>0tsE" }
        *Command: CmdSendBlackData { *Cmd : "<1B>z<D001>Cc,0,0,0,255*<1B>z<0001><1D>0owE<1D>0tsE" }

        *Command: CmdSelectBlackColor { *Cmd: "<1B>z<D001>Cc,0,0,0,255*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectRedColor { *Cmd: "<1B>z<D001>Cb,255,0,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectGreenColor { *Cmd: "<1B>z<D001>Cb,0,255,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectBlueColor { *Cmd: "<1B>z<D001>Cb,0,0,255*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectYellowColor { *Cmd: "<1B>z<D001>Cc,0,0,255,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectMagentaColor { *Cmd: "<1B>z<D001>Cc,0,255,0,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectCyanColor { *Cmd: "<1B>z<D001>Cc,255,0,0,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }
        *Command: CmdSelectWhiteColor { *Cmd: "<1B>z<D001>Cc,0,0,0,0*<1B>z<0001><1D>1owE<1D>1tsE<1D>1;0;100spE" }

        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.2
            *Cmd: ""
        }
    }
}
*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: 12288KB
    *Option: 12288KB
    {
        *Name: "12MB"
        *MemoryConfigKB: PAIR(12288, 12288)
    }
    *Option: 16384KB
    {
        *Name: "16MB"
        *MemoryConfigKB: PAIR(16384, 16384)
    }
    *Option: 20480KB
    {
        *Name: "20MB"
        *MemoryConfigKB: PAIR(20480, 20480)
    }
    *Option: 24576KB
    {
        *Name: "24MB"
        *MemoryConfigKB: PAIR(24576, 24576)
    }
    *Option: 28672KB
    {
        *Name: "28MB"
        *MemoryConfigKB: PAIR(28672, 28672)
    }
    *Option: 32768KB
    {
        *Name: "32MB"
        *MemoryConfigKB: PAIR(32768, 32768)
    }
    *Option: 36864KB
    {
        *Name: "36MB"
        *MemoryConfigKB: PAIR(36864, 36864)
    }
    *Option: 45056KB
    {
        *Name: "44MB"
        *MemoryConfigKB: PAIR(45056, 45056)
    }
}
*Feature: MediaType
{
    *rcNameID: =MEDIA_TYPE_DISPLAY
    *DefaultOption: STANDARD
    *Option: STANDARD
    {
        *rcNameID: =PLAIN_PAPER_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.8
            *CallbackID: 140
        }
    }
    *Option: TRANSPARENCY
    {
        *rcNameID: =TRANSPARENCY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.8
            *CallbackID: 141
        }
    }
}

*Feature: Smoothing
{
    *rcNameID: 310
    *DefaultOption: Option1
    *Option: Option1
    { 
        *rcNameID: 290
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *CallbackID: 120
        }
    }
    *Option: Option2
    { 
        *rcNameID: 291
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *CallbackID: 121
        }
    }
}
*Feature: JamRecovery
{
    *rcNameID: 320
    *DefaultOption: Option1
    *Option: Option1
    { 
        *rcNameID: 290
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.6
            *CallbackID: 130
        }
    }
    *Option: Option2
    { 
        *rcNameID: 291
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.6
            *CallbackID: 131
        }
    }
}
*Feature: TonerSave
{
    *rcNameID: 330
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 331
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *CallbackID: 110
        }
    }
    *Option: Option2
    {
        *rcNameID: 332
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *CallbackID: 111
        }
    }
    *Option: Option3
    {
        *rcNameID: 333
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *CallbackID: 112
        }
    }
    *Option: Option4
    {
        *rcNameID: 334
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *CallbackID: 113
        }
    }
}

*Command: CmdStartDoc
{
    *Order: DOC_SETUP.9
    *CallbackID: 82
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *Cmd: "<1B>z<D001>Ca*<1B>z<0001><1D>1alfP<1D>1affP<1D>0;0;0clfP<1D>0X<1D>0Y"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *CallbackID: 83
}
*Command: CmdCopies
{
    *Order: DOC_SETUP.10
    *Cmd: "<1D>" %d[1,255]{NumOfCopies} "coO"
}
*RotateCoordinate?: TRUE
*RotateRaster?: TRUE
*RotateFont?: TRUE
*TextCaps: LIST(TC_CR_90,TC_SF_X_YINDEP,TC_SA_INTEGER,TC_SA_CONTIN,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE)
*MemoryUsage: LIST(FONT)
*CursorXAfterCR: AT_CURSOR_X_ORIGIN
*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
*YMoveAttributes: LIST(SEND_CR_FIRST)
*XMoveThreshold: 0
*YMoveThreshold: 0
*Command: CmdXMoveAbsolute { *Cmd : "<1D>" %d{(DestX / 4)}"X" }
*Command: CmdXMoveRelRight { *Cmd : "<1D>" %d{(DestXRel / 4)}"H"}
*Command: CmdXMoveRelLeft { *Cmd : "<1D>-" %d{(DestXRel / 4)}"H" }
*Command: CmdYMoveAbsolute { *Cmd : "<1D>" %d{(DestY / 4)}"Y" }
*Command: CmdYMoveRelDown { *Cmd : "<1D>" %d{(DestYRel / 4)}"V" }
*Command: CmdYMoveRelUp { *Cmd : "<1D>-" %d{(DestYRel / 4)}"V" }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*Command: CmdBackSpace { *Cmd : "<08>" }
*Command: CmdPushCursor { *Cmd : "<1D>1ppP" }
*Command: CmdPopCursor { *Cmd : "<1D>2ppP" }
*EjectPageWithFF?: TRUE
*Command: CmdEnableFE_RLE { *Cmd : "<1D>1bcI" }
*Command: CmdDisableCompression { *Cmd : "<1D>0bcI" }
*OutputDataFormat: H_BYTE
*OptimizeLeftBound?: TRUE
*SendMultipleRows?: TRUE
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 3
*DefaultCTT: 0
*CharPosition: BASELINE
*DeviceFonts: LIST(1,2,3,4,5,6)
*MinFontID: 512
*MaxFontID: 535
*MaxNumDownFonts: 24
*MinGlyphID: 32
*MaxGlyphID: 255
*Command: CmdSetFontID
{
    *CallbackID: 23
    *Params: LIST( NextFontID )
}
*Command: CmdSelectFontID
{
    *CallbackID: 24
    *Params: LIST( CurrentFontID )
}
*Command: CmdSetCharCode
{
    *CallbackID: 25
    *Params: LIST( NextGlyph )
}
*Command: CmdDeleteFont
{
    *CallbackID: 26
    *Params: LIST( CurrentFontID )
}
*FontFormat: OEM_CALLBACK
*Command: CmdBoldOn {
    *CallbackID: 27
    *Params: LIST(FontBold)
}
*Command: CmdBoldOff {
    *CallbackID: 28
    *Params: LIST(FontBold)
}
*Command: CmdItalicOn {
    *CallbackID: 29 
    *Params: LIST(FontItalic)
}
*Command: CmdItalicOff {
    *CallbackID: 30
    *Params: LIST(FontItalic)
}
*Command: CmdUnderlineOn { *Cmd : "<1D>0;2rpI<1D>1ulC" }
*Command: CmdUnderlineOff { *Cmd : "<1D>0ulC" }
*Command: CmdWhiteTextOn { *Cmd : "<1D>1owE<1D>1tsE<1D>1;0;0spE" }
*Command: CmdWhiteTextOff { *Cmd : "<1D>0owE<1D>0tsE" }
*Command: CmdSelectSingleByteMode { *CallbackID: 21 }
*Command: CmdSelectDoubleByteMode { *CallbackID: 22 }
*Command: CmdVerticalPrintingOn { *Cmd : "<1D>1vpC" }
*Command: CmdVerticalPrintingOff { *Cmd : "<1D>0vpC" }
*TTFSEnabled?: TRUE
*TTFS: MINCHOUH
{
   *rcTTFontNameID: 141
   *rcDevFontNameID:142
}
*TTFS: MINCHOUV
{
   *rcTTFontNameID: 143
   *rcDevFontNameID:144
}
*TTFS: KGOTHIC
{
   *rcTTFontNameID: 145
   *rcDevFontNameID:146
}
*TTFS: KGOTHICV
{
   *rcTTFontNameID: 147
   *rcDevFontNameID:148
}
*TTFS: MINCHOUH_E
{
   *rcTTFontNameID: 160
   *rcDevFontNameID:142
}
*TTFS: MINCHOUV_E
{
   *rcTTFontNameID: 161
   *rcDevFontNameID:144
}
*TTFS: KGOTHIC_E
{
   *rcTTFontNameID: 162
   *rcDevFontNameID:146
}
*TTFS: KGOTHICV_E
{
   *rcTTFontNameID: 163
   *rcDevFontNameID:148
}

*Command: CmdSetRectWidth {
    *CallbackID: 150
    *Params: LIST(RectXSize)
}
*Command: CmdSetRectHeight {
    *CallbackID: 151
    *Params: LIST(RectYSize)
}
*MinGrayFill: 0
*MaxGrayFill: 0
*% *Command: CmdRectGrayFill
*% {
*%     *CallbackID: 152
*%     *Params: LIST(DestX,DestY,GrayPercentage)
*% }
*Command: CmdRectWhiteFill
{
    *CallbackID: 153
    *Params: LIST(DestX,DestY)
}
*% *Command: CmdRectBlackFill
*% {
*%     *CallbackID: 154
*%     *Params: LIST(DestX,DestY)
*% }