*GPDSpecVersion: "1.0"
*Include: "StdNames.gpd"
*GPDFileVersion: "1.0"
*GPDFileName: "DP615KP.GPD"
*ModelName: "DP615KⅡ"
*MasterUnits: PAIR(360, 360)
*ResourceDLL: "DP615KP.Dll"
*PrinterType: SERIAL
*Feature: Orientation
{
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
    }
    *Option: LANDSCAPE_CC270
    {
        *rcNameID: =LANDSCAPE_DISPLAY
    }
}
*Feature: InputBin
{
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 267
        *OptionID: 267
    }
    *Option: Option2
    {
        *rcNameID: 266
        *OptionID: 266
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option3
    *Option: Option1
    {
        *Name: "360 x 360 " =DOTS_PER_INCH
        *DPI: PAIR(360, 360)
        *TextDPI: PAIR(360, 360)
        *PinsPerLogPass: 48
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 360
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
*% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
        *SpotDiameter: 170
        *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
    }
    *Option: Option2
    {
        *Name: "360 x 180 " =DOTS_PER_INCH
        *DPI: PAIR(360, 180)
        *TextDPI: PAIR(360, 180)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 240
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
*% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
        *SpotDiameter: 170
        *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
    }
    *Option: Option3
    {
        *Name: "180 x 180 " =DOTS_PER_INCH
        *DPI: PAIR(180, 180)
        *TextDPI: PAIR(180, 180)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 360
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
        *SpotDiameter: 140
        *Command: CmdSendBlockData { *Cmd : "<1B>*'" %l{NumOfDataBytes / 3} }
    }
    *Option: Option4
    {
        *Name: "120 x 180 " =DOTS_PER_INCH
        *DPI: PAIR(120, 180)
        *TextDPI: PAIR(120, 180)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 60
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
        *SpotDiameter: 120
        *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{NumOfDataBytes / 3} }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: A4
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C="
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2484, 3504)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (3455->3454) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (2485->2484) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3455->3454) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (2485->2484) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3455->3453) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                }
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2484, 3504)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (3455->3454) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (2485->2484) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3455->3454) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (2485->2484) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3455->3453) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2484, 3504)
                    }
                }
            }
        }
    }
    *Option: B5_JIS_ROTATED
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C+"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(3546, 2448)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (2393->2392) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (3547->3546) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2393->2392) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (3547->3546) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2393->2391) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                }
            }
            *case: Option2
            {
                *PrintableArea: PAIR(3546, 2448)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (2393->2392) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (3547->3546) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2393->2392) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (3547->3546) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2393->2391) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3546, 2448)
                    }
                }
            }
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CF"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2880, 4074)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (2881->2880) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(2880, 4074)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (2881->2880) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(2880, 4074)
                    }
                }
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2880, 4074)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option3
                    {
*% Warning: the following printable width is adjusted (2881->2880) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(2880, 4074)
                    }
                    *case: Option4
                    {
*% Warning: the following printable width is adjusted (2881->2880) so it is divisible by the resolution X scale.
                        *PrintableArea: PAIR(2880, 4074)
                    }
                }
            }
        }
    }
    *Option: A4_ROTATED
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C2"
        }
        *switch: InputBin
        {
            *case: Option1
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960, 2832)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (2829->2828) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3960, 2832)
                    }
                    *case: Option3
                    {
*% Warning: the following printable length is adjusted (2829->2828) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3960, 2832)
                    }
                }
            }
            *case: Option2
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960,2832)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (2829->2828) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3960, 2832)
                    }
                    *case: Option3
                    {
*% Warning: the following printable length is adjusted (2829->2828) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(3960, 2832)
                    }
                }
            }
        }
    }
    *Option: EXECUTIVE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C?"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2514, 3648)
                *PrintableOrigin: PAIR(48, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2514, 3648)
                *PrintableOrigin: PAIR(48, 60)
            }
        }
    }
    *Option: Option6
    {
        *rcNameID: 258
        *OptionID: 258
        *PageDimensions: PAIR(3780, 2610)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C,"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(3684, 2490)
                *PrintableOrigin: PAIR(48, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(3684, 2490)
                *PrintableOrigin: PAIR(48, 60)
            }
        }
    }
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CB"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2964, 3792)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (3791->3790) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                    *case: Option3
                    {
*% Warning: the following printable length is adjusted (3791->3790) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                    *case: Option4
                    {
*% Warning: the following printable length is adjusted (3791->3789) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                }
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2964, 3792)
                *PrintableOrigin: PAIR(48, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
*% Warning: the following printable length is adjusted (3791->3790) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                    *case: Option3
                    {
*% Warning: the following printable length is adjusted (3791->3790) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                    *case: Option4
                    {
*% Warning: the following printable length is adjusted (3791->3789) so it is divisible by the resolution Y scale.
                        *PrintableArea: PAIR(2964, 3792)
                    }
                }
            }
        }
    }
    *Option: Option8
    {
        *rcNameID: 259
        *OptionID: 259
        *PageDimensions: PAIR(3960, 3060)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C3"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(3864, 2928)
                *PrintableOrigin: PAIR(48, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(3864, 2928)
                *PrintableOrigin: PAIR(48, 60)
            }
        }
    }
    *Option: ENV_10
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C<19>"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(3324, 1344)
                *PrintableOrigin: PAIR(48, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(3324, 1344)
                *PrintableOrigin: PAIR(48, 60)
            }
        }
    }
    *Option: Option10
    {
        *rcNameID: 260
        *OptionID: 260
        *PageDimensions: PAIR(3240, 1980)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C!"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2880, 1860)
                *PrintableOrigin: PAIR(180, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2880, 1980)
                *PrintableOrigin: PAIR(180, 0)
            }
        }
    }
    *Option: Option11
    {
        *rcNameID: 261
        *OptionID: 261
        *PageDimensions: PAIR(3420, 1980)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C!"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2880, 1860)
                *PrintableOrigin: PAIR(180, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2880, 1980)
                *PrintableOrigin: PAIR(180, 0)
            }
        }
    }
    *Option: Option12
    {
        *rcNameID: 262
        *OptionID: 262
        *PageDimensions: PAIR(3240, 3960)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CB"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2880, 3840)
                *PrintableOrigin: PAIR(180, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2880, 3960)
                *PrintableOrigin: PAIR(180, 0)
            }
        }
    }
    *Option: Option13
    {
        *rcNameID: 263
        *OptionID: 263
        *PageDimensions: PAIR(3240, 4320)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CH"
        }
        *switch: InputBin
        {
            *case: Option1
            {
                *PrintableArea: PAIR(2880, 4200)
                *PrintableOrigin: PAIR(180, 60)
            }
            *case: Option2
            {
                *PrintableArea: PAIR(2880, 4320)
                *PrintableOrigin: PAIR(180,0)
            }
        }
    }
    *Option: Option14
    {
        *rcNameID: 264
        *OptionID: 264
        *PageDimensions: PAIR(4320, 3960)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CB"
        }
        *switch: InputBin
        {
            *case: Option1
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960, 3840)
                *PrintableOrigin: PAIR(180,60)
            }
            *case: Option2
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960, 3960)
                *PrintableOrigin: PAIR(180,0)
            }
        }
    }
    *Option: Option15
    {
        *rcNameID: 265
        *OptionID: 265
        *PageDimensions: PAIR(4320, 4320)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>CH"
        }
        *switch: InputBin
        {
            *case: Option1
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960, 4200)
                *PrintableOrigin: PAIR(180, 60)
            }
            *case: Option2
            {
*% Warning: this paper size exceeds the MaxWidth, imageable width is truncated .
                *PrintableArea: PAIR(3960, 4320)
                *PrintableOrigin: PAIR(180, 0)
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(180, 216)
        *MaxSize: PAIR(4320, 32767)
        *MaxPrintableWidth: 3960
        *MinLeftMargin: 0
        *CenterPrintable?: FALSE
        *switch: InputBin
        {
            *case: Option1
            {
                *TopMargin: 0
                *BottomMargin: 0
            }
            *case: Option2
            {
                *TopMargin: 0
                *BottomMargin: 0
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C" %c{(PhysPaperLength / 60) }
        }
    }
}
*InvalidCombination: LIST(InputBin.Option2, PaperSize.B5)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.B5_JIS_ROTATED)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.A4)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.A4_ROTATED)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.EXECUTIVE)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.Option6)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.LETTER)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.Option8)
*InvalidCombination: LIST(InputBin.Option2, PaperSize.ENV_10)
*Feature: PrintQuality
{
    *rcNameID: =TEXT_QUALITY_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 268
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>x1<1C>x0"
        }
    }
    *Option: Option2
    {
        *rcNameID: 269
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>x1<1C>x1"
        }
    }
}
*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
    }
}
*Command: CmdStartDoc
{
    *Order: DOC_SETUP.1
    *Cmd: "<1B>@<1B>t<011B>6"
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *Cmd: "<0D>"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_OP_CHARACTER,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
    }
    *case: LANDSCAPE_CC270
    {
        *TextCaps: LIST(TC_RA_ABLE)
    }
}
*CursorXAfterCR: AT_CURSOR_X_ORIGIN
*YMoveAttributes: LIST(SEND_CR_FIRST,FAVOR_LF)
*MaxLineSpacing: 255
*XMoveThreshold: 0
*YMoveThreshold: *
*XMoveUnit: 60
*YMoveUnit: 180
*Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{(DestX / 6) } }
*Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[1,255]{max_repeat((DestYRel / 2) )} }
*Command: CmdSetLineSpacing { *Cmd : "<1B>+" %c[1,255]{(LinefeedSpacing) } }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*Command: CmdBackSpace { *Cmd : "<08>" }
*Command: CmdUniDirectionOn { *Cmd : "<1B>U1" }
*Command: CmdUniDirectionOff { *Cmd : "<1B>U0" }
*EjectPageWithFF?: TRUE
*OutputDataFormat: V_BYTE
*OptimizeLeftBound?: TRUE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 1
*DefaultCTT: 0
*switch: Orientation
{
    *case: PORTRAIT
    {
        *DeviceFonts: LIST(1,2,3,4,5,6,7,8)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST()
    }
}
*Command: CmdBoldOn { *Cmd : "<1B>E" }
*Command: CmdBoldOff { *Cmd : "<1B>F" }
*Command: CmdItalicOn { *Cmd : "<1B>4" }
*Command: CmdItalicOff { *Cmd : "<1B>5" }
*Command: CmdUnderlineOn { *Cmd : "<1B>-<011C>-<01>" }
*Command: CmdUnderlineOff { *Cmd : "<1B>-<001C>-<00>" }
