*%
*% Copyright (c) 1997 - 1999 Microsoft Corporation
*% All Rights Reserved.
*%
*GPDSpecVersion: "1.0"
*GPDFileName: "PAKX2624.GPD"
*GPDFileVersion: "1.0"
*Include: "StdNames.gpd"
*ModelName: "Panasonic KX-P2624"
*MasterUnits: PAIR(720, 720)
*ResourceDLL: "pa24res.dll"
*PrinterType: SERIAL
*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
    }
    *Option: AUTO
    {
        *rcNameID: =AUTO_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B19>4"
        }
    }
    *Option: MANUAL
    {
        *rcNameID: =MANUAL_FEED_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.3
            *Cmd: "<1B19>0"
        }
    }
}
*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
        *MinStripBlankPixels: 180
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 120
        *Command: CmdSendBlockData { *Cmd : "<1B>*'" %l{NumOfDataBytes / 3} }
    }
    *Option: Option2
    {
        *Name: "360 x 180 " =DOTS_PER_INCH
        *DPI: PAIR(360, 180)
        *TextDPI: PAIR(360, 180)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 270
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 170
        *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
    }
    *Option: Option3
    {
        *Name: "360 x 360 " =DOTS_PER_INCH
        *DPI: PAIR(360, 360)
        *TextDPI: PAIR(360, 360)
        *PinsPerLogPass: 48
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 270
        *RequireUniDir?: TRUE
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 170
        *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
    }
    *Option: Option4
    {
        *Name: "120 x 180 " =DOTS_PER_INCH
        *DPI: PAIR(120, 180)
        *TextDPI: PAIR(120, 180)
        *PinsPerLogPass: 24
        *PinsPerPhysPass: 24
        *MinStripBlankPixels: 90
        EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
        *SpotDiameter: 100
        *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{NumOfDataBytes / 3} }
    }
}
*Feature: PaperSize
{
    *rcNameID: =PAPER_SIZE_DISPLAY
    *DefaultOption: LETTER
    *Option: LETTER
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>C<000B>"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(6120, 7920)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(6120, 7128)
                *PrintableOrigin: PAIR(0, 72)
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(6120, 7200)
                *PrintableOrigin: PAIR(0, 612)
            }
        }
    }
    *Option: LEGAL
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>C<000E>"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(6120, 10080)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(6120, 9288)
                *PrintableOrigin: PAIR(0, 72)
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(6120, 9360)
                *PrintableOrigin: PAIR(0, 612)
            }
        }
    }
    *Option: Option3
    {
        *rcNameID: 258
        *PageDimensions: PAIR(6120, 8640)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>C<000C>"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(6120, 8640)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(6120, 7848)
                *PrintableOrigin: PAIR(0, 72)
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(6120, 7920)
                *PrintableOrigin: PAIR(0, 612)
            }
        }
    }
    *Option: Option4
    {
        *rcNameID: 259
        *PageDimensions: PAIR(6120, 9360)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>C<000D>"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(6120, 9360)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(6120, 8568)
                *PrintableOrigin: PAIR(0, 72)
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(6120, 8640)
                *PrintableOrigin: PAIR(0, 612)
            }
        }
    }
    *Option: Option5
    {
        *rcNameID: 260
        *PageDimensions: PAIR(10714, 7920)
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>C<000B>"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(9790, 7920)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(9788, 7920)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(9786, 7920)
                    }
                }
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(9790, 7128)
                *PrintableOrigin: PAIR(0, 72)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(9788, 7128)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(9786, 7128)
                    }
                }
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(9790, 7200)
                *PrintableOrigin: PAIR(0, 612)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(9788, 7200)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(9786, 7200)
                    }
                }
            }
        }
    }
    *Option: A4
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>3<121B>Cu"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(5954, 8417)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5952, 8416)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5954, 8416)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(5954, 8416)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5952, 8416)
                    }
                }
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(5954, 7625)
                *PrintableOrigin: PAIR(0, 72)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5952, 7624)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5954, 7624)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(5954, 7624)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5952, 7624)
                    }
                }
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(5954, 7697)
                *PrintableOrigin: PAIR(0, 612)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5952, 7696)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5954, 7696)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(5954, 7696)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5952, 7696)
                    }
                }
            }
        }
    }
    *Option: A3
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>Cc"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(8417, 11909)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(8416, 11908)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(8416, 11908)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(8416, 11908)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(8412, 11908)
                    }
                }
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(8417, 11117)
                *PrintableOrigin: PAIR(0, 72)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(8416, 11116)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(8416, 11116)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(8416, 11116)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(8412, 11116)
                    }
                }
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(8417, 11189)
                *PrintableOrigin: PAIR(0, 612)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(8416, 11188)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(8416, 11188)
                    }
                    *case: Option3
                    {
                        *PrintableArea: PAIR(8416, 11188)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(8412, 11188)
                    }
                }
            }
        }
    }
    *Option: 11X17
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>Cf"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(7920, 12240)
                *PrintableOrigin: PAIR(0, 0)
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(7920, 11448)
                *PrintableOrigin: PAIR(0, 72)
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(7920, 11520)
                *PrintableOrigin: PAIR(0, 612)
            }
        }
    }
    *Option: B5
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C%<"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(5162, 7286)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5160, 7284)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5162, 7284)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5160, 7284)
                    }
                }
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(5162, 6494)
                *PrintableOrigin: PAIR(0, 72)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5160, 6492)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5162, 6492)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5160, 6492)
                    }
                }
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(5162, 6566)
                *PrintableOrigin: PAIR(0, 612)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(5160, 6564)
                    }
                    *case: Option2
                    {
                        *PrintableArea: PAIR(5162, 6564)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(5160, 6564)
                    }
                }
            }
        }
    }
    *Option: ENV_10
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2<1B>C9"
        }
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *PrintableArea: PAIR(2974, 6840)
                *PrintableOrigin: PAIR(0, 0)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(2972, 6840)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(2970, 6840)
                    }
                }
            }
            *case: AUTO
            {
                *PrintableArea: PAIR(2974, 6048)
                *PrintableOrigin: PAIR(0, 72)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(2972, 6048)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(2970, 6048)
                    }
                }
            }
            *case: MANUAL
            {
                *PrintableArea: PAIR(2974, 6120)
                *PrintableOrigin: PAIR(0, 612)
                *switch: Resolution
                {
                    *case: Option1
                    {
                        *PrintableArea: PAIR(2972, 6120)
                    }
                    *case: Option4
                    {
                        *PrintableArea: PAIR(2970, 6120)
                    }
                }
            }
        }
    }
    *Option: CUSTOMSIZE
    {
        *rcNameID: =USER_DEFINED_SIZE_DISPLAY
        *MinSize: PAIR(360, 720)
        *MaxSize: PAIR(10080, 15840)
        *MaxPrintableWidth: 9792
        *MinLeftMargin: 0
        *CenterPrintable?: FALSE
        *switch: InputBin
        {
            *case: TRACTOR
            {
                *TopMargin: 0
                *BottomMargin: 0
            }
            *case: AUTO
            {
                *TopMargin: 72
                *BottomMargin: 720
            }
            *case: MANUAL
            {
                *TopMargin: 612
                *BottomMargin: 108
            }
        }
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.4
            *Cmd: "<1B>2"
        }
    }
}
*InvalidCombination: LIST(InputBin.TRACTOR, PaperSize.A3)
*InvalidCombination: LIST(InputBin.TRACTOR, PaperSize.11X17)
*InvalidCombination: LIST(InputBin.MANUAL, PaperSize.A3)
*InvalidCombination: LIST(InputBin.MANUAL, PaperSize.11X17)
*Feature: PrintQuality
{
    *rcNameID: =TEXT_QUALITY_DISPLAY
    *DefaultOption: LETTER_QUALITY
    *Option: LETTER_QUALITY
    {
        *rcNameID: =LETTER_QUALITY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>x<01>"
        }
    }
    *Option: DRAFT_QUALITY
    {
        *rcNameID: =DRAFT_QUALITY_DISPLAY
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.2
            *Cmd: "<1B>x<00>"
        }
    }
}
*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>@<1B>t<011B>6<1B>P<1B>Q<88>"
}
*Command: CmdEndJob
{
    *Order: JOB_FINISH.1
    *Cmd: "<1B>@"
}
*RotateCoordinate?: FALSE
*RotateRaster?: FALSE
*RotateFont?: FALSE
*switch: Orientation
{
    *case: PORTRAIT
    {
        *TextCaps: LIST(TC_OP_CHARACTER,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
    }
    *case: LANDSCAPE_CC270
    {
        *TextCaps: LIST(TC_RA_ABLE)
    }
}
*CursorXAfterCR: AT_CURSOR_X_ORIGIN
*YMoveAttributes: LIST(SEND_CR_FIRST,FAVOR_LF)
*MaxLineSpacing: 255
*XMoveThreshold: 0
*YMoveThreshold: *
*XMoveUnit: 60
*YMoveUnit: 180
*Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l[0,1530]{max_repeat((DestX / 12) )} }
*Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[0,255]{max_repeat((DestYRel / 4) )} }
*Command: CmdSetLineSpacing { *Cmd : "<1B>+" %c[0,255]{(LinefeedSpacing / 2) } }
*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }
*Command: CmdUniDirectionOn { *Cmd : "<1B>U<01>" }
*Command: CmdUniDirectionOff { *Cmd : "<1B>U<00>" }
*EjectPageWithFF?: TRUE
*switch: PaperSize
{
    *case: CUSTOMSIZE
    {
        *EjectPageWithFF?: FALSE
        *switch: InputBin
        {
            *case: AUTO
            {
                *EjectPageWithFF?: TRUE
            }
            *case: MANUAL
            {
                *EjectPageWithFF?: TRUE
            }
        }
    }
}
*OutputDataFormat: V_BYTE
*OptimizeLeftBound?: FALSE
*CursorXAfterSendBlockData: AT_GRXDATA_END
*CursorYAfterSendBlockData: NO_MOVE
*DefaultFont: 1
*DefaultCTT: 1
*switch: Orientation
{
    *case: PORTRAIT
    {
        *DeviceFonts: LIST(19,20,21,22,23,24,25,26,27,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,
+                   92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107)
    }
    *case: LANDSCAPE_CC270
    {
        *DeviceFonts: LIST()
    }
}
*Command: CmdBoldOn { *Cmd : "<1B>G" }
*Command: CmdBoldOff { *Cmd : "<1B>H" }
*Command: CmdItalicOn { *Cmd : "<1B>4" }
*Command: CmdItalicOff { *Cmd : "<1B>5" }
*Command: CmdUnderlineOn { *Cmd : "<1B>-<01>" }
*Command: CmdUnderlineOff { *Cmd : "<1B>-<00>" }