*GPDSpecVersion: "1.0"
*Include: "StdNames.gpd"
*GPDFileVersion: "1.0"
*GPDFileName: "POS58CHN.GPD"
*ModelName: "POS58 Printer"
*MasterUnits: PAIR(203, 203)
*ResourceDLL: "POS58RCCHN.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: "<0D0A>"
         }
    }
    *Option: Option2
    {
        *Name: "2"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0D0A0D0A>"
         }
    }
    *Option: Option3
    {
        *Name: "3"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0D0A0D0A0D0A>"
         }
    }
    *Option: Option4
    {
        *Name: "4"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0D0A0D0A0D0A0D0A>"
         }
    }
    *Option: Option5
    {
        *Name: "5"
        *Command: CmdSelect
         {
             *Order: JOB_FINISH.7
             *Cmd: "<0D0A0D0A0D0A0D0A0D0A>"
         }
    }
}

*%******************************************************************************************
*%                                      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

*DefaultFont: 1
*DefaultCTT: 2
*switch: Orientation
{
    *case: PORTRAIT
    {
	*DeviceFonts:  LIST(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
+		21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
+		41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
+		61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
+		81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,
+		101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,
+		121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,
+		141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+		161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,
+		181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,
+		201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,
+		221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+		241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,
+		261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,
+		281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,
+		301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,
+		321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,
+		341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,
+		361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,
+		381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST()
    }
}

*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>" }