*%
*% Copyright (c) 1997 - 1999 Microsoft Corporation
*% All Rights Reserved.
*%
*GPDSpecVersion: "1.0"
*GPDFileName: "hpdj400m.gpd"
*GPDFileVersion: "1.0"
*Include: "StdNames.gpd"
*ModelName: "HP DeskJet 400 (Monochrome)"
*MasterUnits: PAIR(600, 600)
*ResourceDLL: "hpdjres.dll"
*PrinterType: SERIAL
*PrintRate: 2
*PrintRatePPM: 2
*PrintRateUnit: PPM
*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: AUTO
    *Option: AUTO
    {
        *rcNameID: =AUTO_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>&l1H"
        }
    }
    *Option: MANUAL
    {
        *rcNameID: =MANUAL_FEED_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B>&l2H"
        }
    }
}
*Feature: Resolution
{
    *rcNameID: =RESOLUTION_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *Name: "300 x 300 " =DOTS_PER_INCH
        *DPI: PAIR(300, 300)
        *TextDPI: PAIR(300, 300)
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 100
        *Command: CmdBeginRaster { *Cmd : "<1B>*r1A" }
        *Command: CmdEndRaster { *Cmd : "<1B>*rB" }
        *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.6
            *Cmd: "<1B>*t300R"
        }
    }
    *Option: Option2
    {
        *Name: "150 x 150 " =DOTS_PER_INCH
        *DPI: PAIR(150, 150)
        *TextDPI: PAIR(300, 300)
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 100
        *Command: CmdBeginRaster { *Cmd : "<1B>*r1A" }
        *Command: CmdEndRaster { *Cmd : "<1B>*rB" }
        *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.6
            *Cmd: "<1B>*t150R"
        }
    }
    *Option: Option3
    {
        *Name: "75 x 75 " =DOTS_PER_INCH
        *DPI: PAIR(75, 75)
        *TextDPI: PAIR(300, 300)
        EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
        *SpotDiameter: 100
        *Command: CmdBeginRaster { *Cmd : "<1B>*r1A" }
        *Command: CmdEndRaster { *Cmd : "<1B>*rB" }
        *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.6
            *Cmd: "<1B>*t75R"
        }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4800, 6150)
        *PrintableOrigin: PAIR(150, 150)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(4796, 6148)
                *PrintableOrigin: PAIR(152, 152)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(4792, 6144)
                *PrintableOrigin: PAIR(152, 152)
            }
        }
        *CursorOrigin: PAIR(150, 40)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l2A"
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4800, 7950)
        *PrintableOrigin: PAIR(150, 150)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(4796, 7948)
                *PrintableOrigin: PAIR(152, 152)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(4792, 7944)
                *PrintableOrigin: PAIR(152, 152)
            }
        }
        *CursorOrigin: PAIR(150, 40)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l3A"
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4782, 6564)
        *PrintableOrigin: PAIR(76, 150)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(4782, 6560)
                *PrintableOrigin: PAIR(76, 152)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(4778, 6560)
                *PrintableOrigin: PAIR(80, 152)
            }
        }
        *CursorOrigin: PAIR(76, 50)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l26A"
        }
    }
    *Option: EXECUTIVE
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4030, 5850)
        *PrintableOrigin: PAIR(150, 150)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(4028, 5848)
                *PrintableOrigin: PAIR(152, 152)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(4024, 5848)
                *PrintableOrigin: PAIR(152, 152)
            }
        }
        *CursorOrigin: PAIR(126, 40)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l1A"
        }
    }
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(4112, 5628)
        *PrintableOrigin: PAIR(70, 100)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(4108, 5628)
                *PrintableOrigin: PAIR(72, 100)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(4104, 5624)
                *PrintableOrigin: PAIR(72, 104)
            }
        }
        *CursorOrigin: PAIR(60, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l45A"
        }
    }
    *Option: Option6
    {
        *rcNameID: 264
        *PageDimensions: PAIR(2362, 3496)
        *PrintableArea: PAIR(2202, 3052)
        *PrintableOrigin: PAIR(70, 100)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(2200, 3052)
                *PrintableOrigin: PAIR(72, 100)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(2200, 3048)
                *PrintableOrigin: PAIR(72, 104)
            }
        }
        *CursorOrigin: PAIR(60, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l-71A"
        }
    }
    *Option: ENV_10
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(2318, 5100)
        *PrintableOrigin: PAIR(70, 100)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(2316, 5100)
                *PrintableOrigin: PAIR(72, 100)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(2312, 5096)
                *PrintableOrigin: PAIR(72, 104)
            }
        }
        *CursorOrigin: PAIR(40, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l-81A"
        }
    }
    *Option: ENV_DL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *PrintableArea: PAIR(2438, 4606)
        *PrintableOrigin: PAIR(70, 90)
        *switch: Resolution
        {
            *case: Option2
            {
                *PrintableArea: PAIR(2436, 4604)
                *PrintableOrigin: PAIR(72, 92)
            }
            *case: Option3
            {
                *PrintableArea: PAIR(2432, 4600)
                *PrintableOrigin: PAIR(72, 96)
            }
        }
        *CursorOrigin: PAIR(30, 0)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.5
            *Cmd: "<1B>&l-90A"
        }
    }
}
*Feature: MediaType
{
    *rcNameID: =MEDIA_TYPE_DISPLAY
    *DefaultOption: STANDARD
    *Option: STANDARD
    {
        *rcNameID: =PLAIN_PAPER_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *Cmd: "<1B>&b10T"
        }
    }
    *Option: TRANSPARENCY
    {
        *rcNameID: =TRANSPARENCY_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *Cmd: "<1B>&k3W<1B>*o2Q"
        }
    }
    *Option: Option3
    {
        *rcNameID: 267
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *Cmd: "<1B>&b10T"
        }
    }
    *Option: GLOSSY
    {
        *rcNameID: =GLOSSY_PAPER_DISPLAY
        *Command: CmdSelect
        {
            *Order: PAGE_SETUP.8
            *Cmd: "<1B>&k3W<1B>*o2Q"
        }
    }
}
*Feature: PrintQuality
{
    *rcNameID: =TEXT_QUALITY_DISPLAY
    *DefaultOption: Option1
    *Option: Option1
    {
        *rcNameID: 272
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>(s2Q<1B>*r2Q"
        }
    }
    *Option: Option2
    {
        *rcNameID: 273
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>(s0Q<1B>*r0Q"
        }
    }
    *Option: Option3
    {
        *rcNameID: 274
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>(s2Q<1B>*r2Q<1B>*o2Q"
        }
    }
}
*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>E<1B>&l0O<1B>&l0L"
}
*Command: CmdStartPage
{
    *Order: PAGE_SETUP.1
    *Cmd: "<0D>"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<1B>E"
}
*Command: CmdEndPage
{
    *Order: PAGE_FINISH.1
    *Cmd: "<0D>"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_OP_CHARACTER,TC_OP_STROKE,TC_UA_ABLE)
    }
    *case: LANDSCAPE_CC270
    {
        *TextCaps: LIST()
    }
}
*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,X_LANDSCAPE,Y_PORTRAIT,Y_LANDSCAPE)
*XMoveThreshold: 0
*YMoveThreshold: *
*XMoveUnit: 300
*YMoveUnit: 300
*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 2) }"X" }
*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d{(DestXRel / 2) }"X" }
*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d{(DestXRel / 2) }"X" }
*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 2) }"Y" }
*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel / 2) }"Y" }
*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel / 2) }"Y" }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*EjectPageWithFF?: TRUE
*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
*OutputDataFormat: H_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
*CursorYAfterSendBlockData: AUTO_INCREMENT
*LookAheadRegion: 240
*DefaultFont: 1
*DefaultCTT: 0
*CharPosition: BASELINE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *DeviceFonts: LIST(1,7,8,69,72,73,94,95,102,103,104,105,106,107,108,109,
+                   110,111,112,113,114,115,116,117,118,119)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST()
    }
}
*Command: CmdUnderlineOn { *Cmd : "<1B>&d3D" }
*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
