*GPDSpecVersion: "1.0"
*Include: "StdNames.gpd"
*GPDFileVersion: "4.1.0"
*GPDFileName: "DS-910.GPD"
*ModelName: "DASCOM DS-910"
*MasterUnits: PAIR(720, 432)
*ResourceDLL: "dascomc9.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: TRACTOR
    *Option: TRACTOR
    {
        *rcNameID: =TRACTOR_DISPLAY
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "240 x 144 " =DOTS_PER_INCH
        *DPI: PAIR(240, 144)
        *TextDPI: PAIR(240, 144)
        *PinsPerLogPass: 16
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 360
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,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>*<03>" %l{NumOfDataBytes } }
    }
    *Option: Option2
    {
        *Name: "120 x 144 " =DOTS_PER_INCH
        *DPI: PAIR(120, 144)
        *TextDPI: PAIR(120, 144)
        *PinsPerLogPass: 16
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 360
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
*% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
        *SpotDiameter: 140
        *Command: CmdSendBlockData { *Cmd : "<1B>*<01>" %l{NumOfDataBytes} }
    }
    *Option: Option3
    {
        *Name: "120 x 72 " =DOTS_PER_INCH
        *DPI: PAIR(120, 72)
        *TextDPI: PAIR(120, 72)
        *PinsPerLogPass: 8
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 180
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1B>*<01>" %l{NumOfDataBytes} }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER_TRANSVERSE
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(6120, 4752)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CB"
        }
    }
    *Option: LETTER_TRANSVERSE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(6120, 4752)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C3"
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(6120, 6048)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CT"
        }
    }
    *Option: EXECUTIVE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(5220, 4536)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C?"
        }
    }
    *Option: FOLIO
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(6120, 5616)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CN"
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(5954, 5050)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5049) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5049)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5049) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5049)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5046) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5046)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CF"
        }
    }
    *Option: A4_TRANSVERSE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(5954, 5050)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5049) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5049)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5049) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5049)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (5954->5952) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (5050->5046) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5952, 5046)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C2"
        }
    }
    *Option: A5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4198, 3573)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable width is adjusted (4198->4197) so it is divisible by the resolution X scale.
                *PrintableArea: PAIR(4197, 3573)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (4198->4194) so it is divisible by the resolution X scale.
                *PrintableArea: PAIR(4194, 3573)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (4198->4194) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3573->3570) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4194, 3570)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C2"
        }
    }
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(5162, 4372)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable width is adjusted (5162->5160) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4372->4371) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5160, 4371)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (5162->5160) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4372->4371) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5160, 4371)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (5162->5160) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4372->4368) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(5160, 4368)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C="
        }
    }
    *Option: Option10
    {
        *rcNameID: 260
        *OptionID: 260
        *PageDimensions: PAIR(5760, 2592)
        *PrintableArea: PAIR(5760, 2592)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C$"
        }
    }
    *Option: Option11
    {
        *rcNameID: 262
        *OptionID: 262
        *PageDimensions: PAIR(5952, 5184)
        *PrintableArea: PAIR(5952, 5184)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CH"
        }
    }
    *Option: FANFOLD_LGL_GERMAN
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(6120, 5616)
        *PrintableOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CN"
        }
    }
    *Option: ENV_9
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(3836, 2794)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable width is adjusted (3836->3834) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2794->2793) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3834, 2793)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (3836->3834) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2794->2793) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3834, 2793)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (3836->3834) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (2794->2790) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3834, 2790)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C<17>"
        }
    }
    *Option: ENV_10
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(4104, 2974)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable length is adjusted (2974->2973) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4104, 2973)
            }
            *case: Option2
            {
*% Warning: the following printable length is adjusted (2974->2973) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4104, 2973)
            }
            *case: Option3
            {
*% Warning: the following printable length is adjusted (2974->2970) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4104, 2970)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C<19>"
        }
    }
    *Option: ENV_DL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(3741, 3118)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable length is adjusted (3118->3117) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3741, 3117)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (3741->3738) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3118->3117) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3738, 3117)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (3741->3738) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (3118->3114) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3738, 3114)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C<1A>"
        }
    }
    *Option: ENV_C5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(3897, 4594)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable length is adjusted (4594->4593) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3897, 4593)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (3897->3894) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4594->4593) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3894, 4593)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (3897->3894) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4594->4590) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3894, 4590)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C&"
        }
    }
    *Option: ENV_B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(4251, 4990)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable length is adjusted (4990->4989) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4251, 4989)
            }
            *case: Option2
            {
*% Warning: the following printable width is adjusted (4251->4248) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4990->4989) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4248, 4989)
            }
            *case: Option3
            {
*% Warning: the following printable width is adjusted (4251->4248) so it is divisible by the resolution X scale.
*% Warning: the following printable length is adjusted (4990->4986) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(4248, 4986)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C*"
        }
    }
    *Option: ENV_MONARCH
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *RotateSize? : TRUE
        *PrintableArea: PAIR(3240, 2794)
        *PrintableOrigin: PAIR(0, 0)
        *switch: Resolution
        {
            *case: Option1
            {
*% Warning: the following printable length is adjusted (2794->2793) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3240, 2793)
            }
            *case: Option2
            {
*% Warning: the following printable length is adjusted (2794->2793) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3240, 2793)
            }
            *case: Option3
            {
*% Warning: the following printable length is adjusted (2794->2790) so it is divisible by the resolution Y scale.
                *PrintableArea: PAIR(3240, 2790)
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C!"
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(360, 216)
        *MaxSize: PAIR(10080, 18144)
        *MaxPrintableWidth: 9792
        *MinLeftMargin: 0
        *CenterPrintable?: FALSE
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1C>C" %l{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
    }
}
*Command: CmdStartDoc
{
    *Order: DOC_SETUP.1
    *Cmd: "<1B>@<1B><1A><01><1B>t<011B>6<1B>R<00>"
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *Cmd: "<0D>"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<1B>@"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_SA_DOUBLE,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)
*MaxLineSpacing: 255
*XMoveThreshold: 0
*YMoveThreshold: *
*XMoveUnit: 60
*YMoveUnit: 144
*Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{((DestX * 2) / 24) } }
*Command: CmdYMoveRelDown { *Cmd : "<1B><1D>J" %c[0,255]{max_repeat((DestYRel / 3) )} }
*Command: CmdSetLineSpacing { *Cmd : "<1B>3" %c[0,255]{(LinefeedSpacing / 2) } }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*Command: CmdBackSpace { *Cmd : "<08>" }
*Command: CmdUniDirectionOn { *Cmd : "<1B>U<01>" }
*Command: CmdUniDirectionOff { *Cmd : "<1B>U<00>" }
*EjectPageWithFF?: TRUE
*OutputDataFormat: V_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 3
*DefaultCTT: -1
*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>-<01>" }
*Command: CmdUnderlineOff { *Cmd : "<1B>-<00>" }
