*GPDSpecVersion: "1.0"
*Include: "StdNames.gpd"
*GPDFileVersion: "1.0"
*GPDFileName: "POS58ENG.GPD"
*ModelName: "POS58 Printer"
*MasterUnits: PAIR(203, 203)
*ResourceDLL: "POS58RCENG.DLL"
*PrinterType: SERIAL
*MaxCopies: 999
*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: Option2
    *Option: Option2
    {
        *rcNameID: 411
        *OptionID: 411
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "203 x 203 " =DOTS_PER_INCH
        *DPI: PAIR(203, 203)
        *TextDPI: PAIR(203, 203)
        *EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
	*PinsPerPhysPass: 1
        *PinsPerLogPass: 24
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1D>v0<00>" %l{NumOfDataBytes / 24} "<1800>"}
    }
}

*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: Option4
    *Option: Option1
    {
	*rcNameID: 401
	*OptionID: 401
	*PageDimensions: PAIR(384, 1678)
	*PrintableArea: PAIR(384, 1678)
	*PrintableOrigin: PAIR(0, 0)
    }
    *Option: Option2
    {
	*rcNameID: 402
	*OptionID: 402
	*PageDimensions: PAIR(384, 2374)
	*PrintableArea: PAIR(384, 2374)
	*PrintableOrigin: PAIR(0, 0)
    }
    *Option: Option3
    {
        *OptionID: 407
	*rcNameID: 407
	*PageDimensions: PAIR(384, 4800)
	*PrintableArea: PAIR(384, 4800)
	*PrintableOrigin: PAIR(0, 0)    
    }
    *Option: Option4
    {
        *OptionID: 418
	*rcNameID: 418
	*PageDimensions: PAIR(384, 9600)
	*PrintableArea: PAIR(384, 9600)
	*PrintableOrigin: PAIR(0, 0)    
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
	*MinSize: PAIR(384, 203)
	*MaxSize: PAIR(384, 9600)
	*MaxPrintableWidth: 384
	*MinLeftMargin: 0
        *CenterPrintable?: TRUE
   }  
}

*%******************************************************************************************
*%                                      Cutter
*%******************************************************************************************
*Feature: Cutter
{
    *rcNameID: 291
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: CutterNotCut
    *Option: FullCutPaperAfterJob
    {
        *rcNameID: 280
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.8
             *Cmd: "<0D0A0D0A0D0A0D0A1B69>"
         }
    } 
    *Option: HalfCutPaperAfterJob
    {
        *rcNameID: 281
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.8
             *Cmd: "<1D564200>"
         }
    }    
    *Option: FullCutPaperAfterDoc
    {
        *rcNameID: 282
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.8
             *Cmd: "<0D0A0D0A0D0A0D0A1B69>"
         }
    } 
    *Option: HalfCutPaperAfterDoc
    {
        *rcNameID: 283
        *Command: CmdSelect
         {
             *Order: DOC_FINISH.8
             *Cmd: "<1D564200>"
         }
    }
    *Option: FullCutPaperAfterPage
    {
        *rcNameID: 284
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.8
             *Cmd: "<0D0A0D0A0D0A0D0A1B69>"
         }
    } 
    *Option: HalfCutPaperAfterPage
    {
        *rcNameID: 285
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.8
             *Cmd: "<1D564200>"
         }
    }
    *Option: CutterNotCut
    {
        *rcNameID: 295
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.8
             *Cmd: "<>"
         }
    }
}

*%******************************************************************************************
*%                                      FeedLine
*%******************************************************************************************
*Feature: FeedLine
{
    *rcNameID: 307
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: Option0
    *Option: Option0
    {
        *Name: "0"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<>"
         }
    }
    *Option: Option1
    {
        *Name: "1"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A>"
         }
    }
    *Option: Option2
    {
        *Name: "2"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A>"
         }
    }
    *Option: Option3
    {
        *Name: "3"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A>"
         }
    }
    *Option: Option4
    {
        *Name: "4"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A>"
         }
    }
    *Option: Option5
    {
        *Name: "5"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A>"
         }
    }
    *Option: Option6
    {
        *Name: "10"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A0A0A0A0A0A>"
         }
    }
    *Option: Option7
    {
        *Name: "15"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A>"
         }
    }
    *Option: Option8
    {
        *Name: "20"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A>"
         }
    }
    *Option: Option9
    {
        *Name: "25"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A>"
         }
    }
    *Option: Option10
    {
        *Name: "30"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A>"
         }
    }
}

*%******************************************************************************************
*%                                      CashDrawer
*%******************************************************************************************
*Feature: CashDrawer
{
    *rcNameID: 501
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: CashDrawerNotOpen
    *Option: CashDrawer1OpenAfterJob
    {
        *rcNameID: 511
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.2
             *Cmd: "<1B70006060>"
         }
    }
    *Option: CashDrawer2OpenAfterJob
    {
        *rcNameID: 512
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.2
             *Cmd: "<1B70016060>"
         }
    }
    *Option: CashDrawer12OpenAfterJob
    {
        *rcNameID: 513
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.2
             *Cmd: "<1B70006060><1B70016060>"
         }
    }
    *Option: CashDrawerNotOpen
    {
        *rcNameID: 510
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.2
             *Cmd: "<>"
         }
    }
}

*%******************************************************************************************
*%                                      NVLogo
*%******************************************************************************************
*Feature: NVLogoAtPageSetup
{
    *rcNameID: 296
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: NoLogo
    *Option: NVLogo1AtPageSetup
    {
        *rcNameID: 299
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700100>"
         }
    }
    *Option: NVLogo2AtPageSetup
    {
        *rcNameID: 300
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700200>"
         }
    }
    *Option: NVLogo3AtPageSetup
    {
        *rcNameID: 301
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700300>"
         }
    }
    *Option: NVLogo4AtPageSetup
    {
        *rcNameID: 302
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700400>"
         }
    }
    *Option: NVLogo5AtPageSetup
    {
        *rcNameID: 303
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700500>"
         }
    }
    *Option: NVLogo6AtPageSetup
    {
        *rcNameID: 304
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700600>"
         }
    }
    *Option: NVLogo7AtPageSetup
    {
        *rcNameID: 305
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700700>"
         }
    }
    *Option: NVLogo8AtPageSetup
    {
        *rcNameID: 306
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<1C700800>"
         }
    }
    *Option: NoLogo
    {
        *rcNameID: 298
        *Command: CmdSelect
         {
             *Order: DOC_SETUP.5
             *Cmd: "<>"
         }
    }
}

*Feature: NVLogoAtPageFinish
{
    *rcNameID: 297
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: NoLogo
    *Option: NVLogo1AtPageFinish
    {
        *rcNameID: 299
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700100>"
         }
    }
    *Option: NVLogo2AtPageFinish
    {
        *rcNameID: 300
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700200>"
         }
    }
    *Option: NVLogo3AtPageFinish
    {
        *rcNameID: 301
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700300>"
         }
    }
    *Option: NVLogo4AtPageFinish
    {
        *rcNameID: 302
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700400>"
         }
    }
    *Option: NVLogo5AtPageFinish
    {
        *rcNameID: 303
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700500>"
         }
    }
    *Option: NVLogo6AtPageFinish
    {
        *rcNameID: 304
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700600>"
         }
    }
    *Option: NVLogo7AtPageFinish
    {
        *rcNameID: 305
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700700>"
         }
    }
    *Option: NVLogo8AtPageFinish
    {
        *rcNameID: 306
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *Cmd: "<1C700800>"
         }
    }
    *Option: NoLogo
    {
        *rcNameID: 298
        *Command: CmdSelect
         {
             *Order: PAGE_FINISH.5
             *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
    }
}

*Command: CmdStartJob
{
    *Order: JOB_SETUP.1
    *Cmd: "<1B400A>"
}
*Command: CmdStartDoc
{
    *Order: DOC_SETUP.1
    *Cmd: "<>"
}
*Command: CmdStartPage
{
    *Order: JOB_SETUP.1
    *Cmd: "<>"
}
*Command: CmdEndPage
{
    *Order: PAGE_FINISH.1
    *Cmd: "<>"
}
*Command: CmdEndDoc
{
    *Order: DOC_FINISH.1
    *Cmd: "<>"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<0D0A>"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_EA_DOUBLE,TC_UA_ABLE,TC_RA_ABLE)
    }
    *case: LANDSCAPE_CC270
    {
        *TextCaps: LIST(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 : "<0A>" }
*Command: CmdFF { *Cmd : "<1B4A40>" }
*EjectPageWithFF?: TRUE
*OutputDataFormat: H_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: AUTO_INCREMENT

*Command: CmdBoldOff { *Cmd : "<1B>E<00>" }
*Command: CmdBoldOn { *Cmd : "<1B>E<01>" }
*Command: CmdSelectDoubleByteMode { *Cmd : "<1C26>" }
*Command: CmdSelectSingleByteMode { *Cmd : "<1C2E>" }
*Command: CmdUnderlineOff { *Cmd : "<1B>-<00>" }
*Command: CmdUnderlineOn { *Cmd : "<1B>-<01>" }