*%
*% Copyright (c) 1997 - 1999 Microsoft Corporation
*% All Rights Reserved.
*%
*GPDSpecVersion: "1.0"
*GPDFileName: "IBQW3.GPD"
*GPDFileVersion: "1.0"
*Include: "StdNames.gpd"
*ModelName: "IBM QuietWriter III"
*MasterUnits: PAIR(240, 240)
*ResourceDLL: "ibqwres.dll"
*PrinterType: SERIAL
*FontCartSlots: 1
*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
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>[F<0300030000>"
        }
    }
    *Option: UPPER
    {
        *rcNameID: =UPPER_TRAY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>[F<0300030101>"
        }
    }
    *Option: LOWER
    {
        *rcNameID: =LOWER_TRAY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>[F<0300030102>"
        }
    }
    *Option: ENVFEED
    {
        *rcNameID: =ENV_FEED_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>[F<0300030201>"
        }
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "240 x 240 " =DOTS_PER_INCH
        *DPI: PAIR(240, 240)
        *TextDPI: PAIR(240, 240)
        *PinsPerLogPass: 8
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 180
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 170
        *Command: CmdSendBlockData { *Cmd : "<1B>Z" %l{NumOfDataBytes} }
    }
    *Option: Option2
    {
        *Name: "60 x 60 " =DOTS_PER_INCH
        *DPI: PAIR(60, 60)
        *TextDPI: PAIR(60, 60)
        *PinsPerLogPass: 8
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 45
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1B>K" %l{NumOfDataBytes } }
    }
    *Option: Option3
    {
        *Name: "120 x 120 " =DOTS_PER_INCH
        *DPI: PAIR(120, 120)
        *TextDPI: PAIR(120, 120)
        *PinsPerLogPass: 8
        *PinsPerPhysPass: 8
        *MinStripBlankPixels: 90
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 140
        *Command: CmdSendBlockData { *Cmd : "<1B>L" %l{NumOfDataBytes} }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *CursorOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CB"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(2040, 2640)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: UPPER
            {
                *PrintableArea: PAIR(2040, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: LOWER
            {
                *PrintableArea: PAIR(2040, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: ENVFEED
            {
                *PrintableArea: PAIR(2040, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *CursorOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CT"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(2040, 3360)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: UPPER
            {
                *PrintableArea: PAIR(2040, 3240)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: LOWER
            {
                *PrintableArea: PAIR(2040, 3240)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: ENVFEED
            {
                *PrintableArea: PAIR(2040, 3240)
                *PrintableOrigin: PAIR(0, 60)
            }
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *CursorOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>3<121B>Cu"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(1985, 2806)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1984, 2804)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1984, 2806)
                    }
                }
            }
            *case: UPPER
            {
                *PrintableArea: PAIR(1985, 2686)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1984, 2684)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1984, 2686)
                    }
                }
            }
            *case: LOWER
            {
                *PrintableArea: PAIR(1985, 2686)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1984, 2684)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1984, 2686)
                    }
                }
            }
            *case: ENVFEED
            {
                *PrintableArea: PAIR(1985, 2686)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1984, 2684)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1984, 2686)
                    }
                }
            }
        }
    }
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *CursorOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>C="
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(1721, 2429)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1720, 2428)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1720, 2428)
                    }
                }
            }
            *case: UPPER
            {
                *PrintableArea: PAIR(1721, 2309)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                }
            }
            *case: LOWER
            {
                *PrintableArea: PAIR(1721, 2309)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                }
            }
            *case: ENVFEED
            {
                *PrintableArea: PAIR(1721, 2309)
                *PrintableOrigin: PAIR(0, 60)
                *switch: Resolution
                {
                    *case: Option2
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(1720, 2308)
                    }
                }
            }
        }
    }
    *Option: FANFOLD_US
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *CursorOrigin: PAIR(0, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>2<1B>CB"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(3168, 2640)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: UPPER
            {
                *PrintableArea: PAIR(3168, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: LOWER
            {
                *PrintableArea: PAIR(3168, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
            *case: ENVFEED
            {
                *PrintableArea: PAIR(3168, 2520)
                *PrintableOrigin: PAIR(0, 60)
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(240, 240)
        *MaxSize: PAIR(3360, 32767)
        *MaxPrintableWidth: 3168
        *MinLeftMargin: 0
        *CenterPrintable?: FALSE
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *TopMargin: 0
                *BottomMargin: 0
            }
            *case: UPPER
            {
                *TopMargin: 60
                *BottomMargin: 60
            }
            *case: LOWER
            {
                *TopMargin: 60
                *BottomMargin: 60
            }
            *case: ENVFEED
            {
                *TopMargin: 60
                *BottomMargin: 60
            }
        }
    }
}
*Feature: PrintQuality
{
    *rcNameID: =TEXT_QUALITY_DISPLAY
    *DefaultOption: NEAR_LETTER_QUALITY
    *Option: NEAR_LETTER_QUALITY
    {
        *rcNameID: =NEAR_LETTER_QUALITY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>I<02>"
        }
    }
    *Option: DRAFT_QUALITY
    {
        *rcNameID: =DRAFT_QUALITY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>I<01>"
        }
    }
}
*Feature: Halftone
{
    *rcNameID: =HALFTONING_DISPLAY
    *DefaultOption: HT_PATSIZE_AUTO
    *Option: HT_PATSIZE_AUTO
    {
        *rcNameID: =HT_AUTO_SELECT_DISPLAY
    }
*Ifdef: WINNT_50
    *Option: HT_PATSIZE_SUPERCELL_M
    {
        *rcNameID: =HT_SUPERCELL_DISPLAY
    }
*Endif:
    *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>6<1B>n<021B>[\<04000000F0000D1B>[T<0500000001B5001B>W0"
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *Cmd: "<0D>"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<0D>"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_OP_CHARACTER,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: *
*YMoveThreshold: *
*XMoveUnit: 120
*YMoveUnit: 240
*Command: CmdXMoveRelRight { *Cmd : "<1B>d" %l{(DestXRel / 2) } }
*Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[0,255]{max_repeat(DestYRel )} }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*Command: CmdBackSpace { *Cmd : "<08>" }
*Command: CmdUniDirectionOn { *Cmd : "<1B>U<00>" }
*Command: CmdUniDirectionOff { *Cmd : "<1B>U<01>" }
*EjectPageWithFF?: FALSE
*switch: InputBin
{
    *case: UPPER
    {
        *EjectPageWithFF?: TRUE
    }
    *case: LOWER
    {
        *EjectPageWithFF?: TRUE
    }
    *case: ENVFEED
    {
        *EjectPageWithFF?: TRUE
    }
}
*OutputDataFormat: V_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 2
*DefaultCTT: 0
*switch: Orientation
{
    *case: PORTRAIT
    {
        *DeviceFonts: LIST(1,2,3,5)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST()
    }
}
*FontCartridge: FC1
{
    *rcCartridgeNameID: 258
    *PortraitFonts: LIST(29)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC2
{
    *rcCartridgeNameID: 259
    *PortraitFonts: LIST(7,9,10,12)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC3
{
    *rcCartridgeNameID: 260
    *PortraitFonts: LIST(18,20,23,25)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC4
{
    *rcCartridgeNameID: 261
    *PortraitFonts: LIST(28)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC5
{
    *rcCartridgeNameID: 262
    *PortraitFonts: LIST(26,30)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC6
{
    *rcCartridgeNameID: 263
    *PortraitFonts: LIST(27,31)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC7
{
    *rcCartridgeNameID: 264
    *PortraitFonts: LIST(7)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC8
{
    *rcCartridgeNameID: 265
    *PortraitFonts: LIST(30)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC9
{
    *rcCartridgeNameID: 266
    *PortraitFonts: LIST(31)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC10
{
    *rcCartridgeNameID: 267
    *PortraitFonts: LIST(28)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC11
{
    *rcCartridgeNameID: 268
    *PortraitFonts: LIST(9)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC12
{
    *rcCartridgeNameID: 269
    *PortraitFonts: LIST(11)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC13
{
    *rcCartridgeNameID: 270
    *PortraitFonts: LIST(6)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC14
{
    *rcCartridgeNameID: 271
    *PortraitFonts: LIST(8)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC15
{
    *rcCartridgeNameID: 272
    *PortraitFonts: LIST(13)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC16
{
    *rcCartridgeNameID: 273
    *PortraitFonts: LIST(10)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC17
{
    *rcCartridgeNameID: 274
    *PortraitFonts: LIST(16)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC18
{
    *rcCartridgeNameID: 275
    *PortraitFonts: LIST(25)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC19
{
    *rcCartridgeNameID: 276
    *PortraitFonts: LIST(14)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC20
{
    *rcCartridgeNameID: 277
    *PortraitFonts: LIST(18)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC21
{
    *rcCartridgeNameID: 278
    *PortraitFonts: LIST(21)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC22
{
    *rcCartridgeNameID: 279
    *PortraitFonts: LIST(26)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC23
{
    *rcCartridgeNameID: 280
    *PortraitFonts: LIST(27)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC24
{
    *rcCartridgeNameID: 281
    *PortraitFonts: LIST(28)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC25
{
    *rcCartridgeNameID: 282
    *PortraitFonts: LIST(20)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC26
{
    *rcCartridgeNameID: 283
    *PortraitFonts: LIST(24)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC27
{
    *rcCartridgeNameID: 284
    *PortraitFonts: LIST(15)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC28
{
    *rcCartridgeNameID: 285
    *PortraitFonts: LIST(19)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC29
{
    *rcCartridgeNameID: 286
    *PortraitFonts: LIST(29)
    *LandscapeFonts: LIST()
}
*FontCartridge: FC30
{
    *rcCartridgeNameID: 287
    *PortraitFonts: LIST(23)
    *LandscapeFonts: LIST()
}
*Command: CmdBoldOn { *Cmd : "<1B>E" }
*Command: CmdBoldOff { *Cmd : "<1B>F" }
*Command: CmdUnderlineOn { *Cmd : "<1B>-<01>" }
*Command: CmdUnderlineOff { *Cmd : "<1B>-<00>" }
*Command: CmdSelectSingleByteMode { *Cmd : "<1B>P<01>" }
*Command: CmdSelectDoubleByteMode { *Cmd : "<1B>P<00>" }