*GPDSpecVersion: "1.0"
*Include: "StdNames.gpd"
*GPDFileVersion: "1.5"
*GPDFileName: "MP58T.GPD"
*ModelName: "Jolimark MP-58T"
*MasterUnits: PAIR(203, 203)
*ResourceDLL: "MP58T.Dll"
*PrinterType: SERIAL
*Feature: Orientation
{
    *rcNameID: =ORIENTATION_DISPLAY
    *DefaultOption: PORTRAIT
    *Option: PORTRAIT
    {
        *rcNameID: =PORTRAIT_DISPLAY
    }
    *Option: LANDSCAPE_CC270
    {
        *rcNameID: =LANDSCAPE_DISPLAY
    }
}
*% the cutter
*Feature: InputBin
{
    *rcNameID: =PAPER_SOURCE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 266
        *OptionID: 266
        *Command: CmdSelect
        {
            *Order: DOC_FINISH.3
            *Cmd: "<1B>J<DE>"
        }
    }
    *Option: Option2
    {
        *rcNameID: 267
        *OptionID: 267
    }
    *Option: Option3
    {
        *rcNameID: 280
        *OptionID: 280
        *Command: CmdSelect
        {
            *Order: PAGE_FINISH.3
            *Cmd: "<1B>J<DE>"
        }
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "203 x 203 " =DOTS_PER_INCH
        *DPI: PAIR(203, 203)
        *TextDPI: PAIR(203, 203)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 72
        EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{(NumOfDataBytes / 3) } }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 258
        *OptionID: 258
        *PageDimensions: PAIR(464, 2374)
        *PrintableArea: PAIR(384, 2374)
        *PrintableOrigin: PAIR(32, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2"
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(203, 203)
        *MaxSize: PAIR(480, 2480)
        *MaxPrintableWidth: 384
        *MinLeftMargin: 0
        *CenterPrintable?: FALSE
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2"
        }
    }
}
*% cash drawer
*Feature: MediaType
{
    *rcNameID: =MEDIA_TYPE_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 261
        *OptionID: 261
    }
    *Option: Option2
    {
        *rcNameID: 262
        *OptionID: 262
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>p<00FFFF1B>p<01FFFF>"
        }
    }
    *Option: Option3
    {
        *rcNameID: 263
        *OptionID: 263
        *Command: CmdSelect
        {
            *Order: DOC_FINISH.4
            *Cmd: "<1B>p<00FFFF1B>p<01FFFF>"
        }
    }
}

*Feature: JobIntegrityProtocol
{
    *rcNameID: 290
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 291
    }
    *Option: Option2
    {
        *rcNameID: 292
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.1
            *Cmd: "<1A0101011D1A010204211A0103011F>"
        }
    }
}

*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>=<011B>R<001B>t<001D>P<0000>"
}
*%*Command: CmdStartPage
*%{
*%    *Order: PAGE_SETUP.1
*%    *Cmd: "<1B>Ph<0000>"
*%}
*%*Command: CmdEndPage
*%{
*%    *Order: PAGE_FINISH.1
*%    *Cmd: "<1B>Pg<00>"
*%}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.10
    *%*Cmd: "<1B>Pi<001B>@"
    *Cmd: "<1B>@"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*TextCaps: LIST(TC_OP_CHARACTER,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
*CursorXAfterCR: AT_CURSOR_X_ORIGIN
*YMoveAttributes: LIST(SEND_CR_FIRST)
*XMoveThreshold: 0
*YMoveThreshold: *
*XMoveUnit: 203
*YMoveUnit: 203
*Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{DestX } }
*Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[0,255]{max_repeat(DestYRel )} }
*Command: CmdCR { *Cmd : "<00>" }
*Command: CmdLF { *Cmd : "<00>" }
*Command: CmdFF { *Cmd : "<1B>J<00>" }
*EjectPageWithFF?: TRUE
*OutputDataFormat: V_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: NO_MOVE
*%*DefaultCTT: 0
*switch: Orientation
{
    *case: PORTRAIT
    {
        *DeviceFonts: LIST(1,2)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST(1,2)
    }
}
*Command: CmdSelectSingleByteMode { *Cmd : "<1C>." }
*Command: CmdSelectDoubleByteMode { *Cmd : "<1C>&" }
