*GPDSpecVersion: "1.0"
*GPDFileVersion: "2.0"
*GPDFileName: "WPT800sv26.GPD"

*ModelName: "WP-T800s ver.2.6"
*ResourceDLL: "WinPOS24.dll"
*Include: "StdNames.gpd"

*PrinterType: SERIAL
*MasterUnits: PAIR(180, 360)

*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: PaperRoll
	*Option: PaperRoll {
		*Name: "Paper Roll"
		*Command: CmdSelect {
			*Order: DOC_SETUP.3
			*Cmd: ""
			}
		}
	}

*Feature: Resolution {
	*rcNameID: =RESOLUTION_DISPLAY
	*DefaultOption: Option1
	*Option: Option1 {
		*Name: "180 x 180 " =DOTS_PER_INCH
		*DPI: PAIR(180, 180)
		*TextDPI: PAIR(180,180)
		*PinsPerLogPass: 24
		*PinsPerPhysPass: 24
		*SpotDiameter: 100
		*Command: CmdSendBlockData { *Cmd : "<1B>*<21>" %l{NumOfDataBytes / 3} }
		*%MinStripBlankPixels: 200
		*%EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
		}
	}

*Feature: PaperSize {
	*rcNameID: =PAPER_SIZE_DISPLAY
	*DefaultOption: WPT800_80mm_Roll
	*Option: WPT800_58mm_Roll {
		*Name: "WPT800 58mm Roll Paper"
		*PageDimensions: PAIR(464,4252)
		*PrintableArea: PAIR(432, 4252)
		*PrintableOrigin: PAIR(16, 0)
		*Command: CmdSelect {}
		}
	*Option: WPT800_80mm_Roll {
		*Name: "WPT800 80mm Roll Paper"
		*PageDimensions: PAIR(568,4252)
		*PrintableArea: PAIR(512, 4252)
		*PrintableOrigin: PAIR(28, 0)
		*Command: CmdSelect {}
		}
	*Option: WPT800_80mm_RollNM {
		*Name: "WPT800 80mm (No Margin)"
		*PageDimensions: PAIR(512,4252)
		*PrintableArea: PAIR(512, 4252)
		*PrintableOrigin: PAIR(0, 0)
		*Command: CmdSelect {}
		}
	}

*Feature: PageMode {
	*Name: "Page Mode"
	*FeatureType: PRINTER_PROPERTY
	*DefaultOption: Page_Mode_Enabled
	*Option: Page_Mode_Enabled {
		*Name: "Enabled"
		}
	*Option: Page_Mode_Disabled {
		*Name: "Disabled"
		}
	}

*Feature: OpenCashDrawer {
	*Name: "Open Drawer"
	*FeatureType: PRINTER_PROPERTY
	*DefaultOption: Open_CD_Never
	*Option: Open_CD_Never {
		*Name: "Never"
		*Command: CmdSelect {}
		}
	*Option: Open_CD_Before {
		*Name: "Before Print"
		*Command: CmdSelect {
			*Order: JOB_SETUP.1
			*Cmd: "<1014010001>"
			*%Cmd: "<1B140002>" 非即時開錢櫃
			}
		}
	*Option: Open_CD_After {
		*Name: "After Print"
		*Command: CmdSelect {
			*Order: JOB_FINISH.2
			*Cmd: "<1014010001>"
			*%Cmd: "<1B140002>" 非即時開錢櫃
			}
		}
	}

*Feature: PaperAutoCut {
	*Name: "Paper Cut"
	*FeatureType: PRINTER_PROPERTY
	*DefaultOption: Paper_Cut_Job
	*Option: Paper_Cut_Never {
		*Name: "Disable"
		*Command: CmdSelect {}
		}
	*Option: Paper_Cut_Page {
		*Name: "End of Each PAGE"
		*switch: CutPosition {
			*case: Feed_B4CUT_NONE {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A00><1D5601>"
					}
				}
			*case: Feed_B4CUT_1mm {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A0E><1D5601>"
					}
				}
			*case: Feed_B4CUT_2mm {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A1C><1D5601>"
					}
				}
			*case: Feed_B4CUT_3mm {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A2A><1D5601>"
					}
				}
			*case: Feed_B4CUT_4mm {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A38><1D5601>"
					}
				}
			*case: Feed_B4CUT_5mm {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A46><1D5601>"
					}
				}
			*case: Feed_B4CUT_CUTTER {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4A62><1D5601>"
					}
				}
			*case: Feed_B4CUT_TAKEUP {
				*Command: CmdSelect {
					*Order: PAGE_FINISH.2
					*Cmd: "<1B4AEE><1D5601>"
					}
				}
			}
		}
	*Option: Paper_Cut_Job {
		*Name: "End of Each JOB"
		*switch: CutPosition {
			*case: Feed_B4CUT_NONE {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A00><1D5601>"
					}
				}
			*case: Feed_B4CUT_1mm {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A0E><1D5601>"
					}
				}
			*case: Feed_B4CUT_2mm {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A1C><1D5601>"
					}
				}
			*case: Feed_B4CUT_3mm {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A2A><1D5601>"
					}
				}
			*case: Feed_B4CUT_4mm {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A38><1D5601>"
					}
				}
			*case: Feed_B4CUT_5mm {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A46><1D5601>"
					}
				}
			*case: Feed_B4CUT_CUTTER {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4A62><1D5601>"
					}
				}
			*case: Feed_B4CUT_TAKEUP {
				*Command: CmdSelect {
					*Order: JOB_FINISH.1
					*Cmd: "<1B4AEE><1D5601>"
					}
				}
			}
		}
	}
	
*Feature: CutPosition {
	*Name: "Cutting Feed"
	*FeatureType: PRINTER_PROPERTY
	*DefaultOption: Feed_B4CUT_TAKEUP
	*Option: Feed_B4CUT_NONE {
		*Name: "No Feed"
		}
	*Option: Feed_B4CUT_1mm {
		*Name: "Feed 1mm"
		}
	*Option: Feed_B4CUT_2mm {
		*Name: "Feed 2mm"
		}
	*Option: Feed_B4CUT_3mm {
		*Name: "Feed 3mm"
		}
	*Option: Feed_B4CUT_4mm {
		*Name: "Feed 4mm"
		}
	*Option: Feed_B4CUT_5mm {
		*Name: "Feed 5mm"
		}
	*Option: Feed_B4CUT_CUTTER {
		*Name: "Cutter position"
		}
	*Option: Feed_B4CUT_TAKEUP {
		*Name: "Take Up position"
		}
	}

*Feature: BeepAlarm {
	*Name: "Beep Nortify"
	*FeatureType: PRINTER_PROPERTY
	*DefaultOption: Beep_Nortify_Never
	*Option: Beep_Nortify_Never {
		*Name: "Disable"
		*Command: CmdSelect {}
		}
	*Option: Beep_Nortify_Job {
		*Name: "End of Each JOB"
		*Command: CmdSelect {
			*Order: JOB_FINISH.3
			*Cmd: "<1D07011401>"
			}
		}

	}

*switch: PageMode {
	*case: Page_Mode_Enabled {
		*Command: CmdStartDoc {
			*Order: DOC_SETUP.1
			*Cmd: "<1B>@<1D>P<CBCB>"
			}
		*Command: CmdStartPage {
			*Order: PAGE_SETUP.1
			*Cmd: "<1B02><0D>"
			}
		*Command: CmdEndPage {
			*Order: PAGE_FINISH.1
			*Cmd: "<1B03>"
			}
		}
	*case: Page_Mode_Disabled {
		*Command: CmdStartDoc {
			*Order: DOC_SETUP.1
			*Cmd: "<1B>@<1D>P<CBCB><1F>S<02>"
			}
		*Command: CmdStartPage {
			*Order: PAGE_SETUP.1
			*Cmd: "<0D>"
			}
		*Command: CmdEndPage {
			*Order: PAGE_FINISH.1
			*Cmd: "<0D0A>"
			}
		}
	}

*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*CursorXAfterCR: AT_CURSOR_X_ORIGIN
*YMoveAttributes: LIST(SEND_CR_FIRST)
*MaxLineSpacing: 255
*%XMoveThreshold: 0
*%YMoveThreshold: *
*XMoveUnit: 90
*YMoveUnit: 180
*Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{(DestX / 6) } }
*Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[0,255]{max_repeat((DestYRel / 2) )} }
*Command: CmdSetLineSpacing { *Cmd : "<1B>3" %c[0,255]{(LinefeedSpacing / 2) } }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "" }
*%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
*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>" }
