*GPDSpecVersion: "1.0" *CodePage: 1252 *ModelName: "HP LaserJet 4Si" *MasterUnits: PAIR(1200, 1200) *ResourceDLL: "pcl5en5.dll" *PrinterType: PAGE *MaxCopies: 32767 *FontCartSlots: 2 *Feature: Orientation { *Name: "Orientation" *DefaultOption: PORTRAIT *Option: PORTRAIT { *Name: "Portrait" *Command: CmdSelect { *Order: DOC_SETUP.8 *%%% test command callback. CMDCB_SELECTPORTRAIT *CallbackID: 1 } } *Option: LANDSCAPE_CC90 { *Name: "Landscape" *Command: CmdSelect { *Order: DOC_SETUP.8 *%%% test command callback. CMDCB_SELECTLANDSCAPE *CallbackID: 2 } } } *Feature: InputBin { *Name: "Paper Source" *DefaultOption: Option1 *Option: Option1 { *rcNameID: 271 *Command: CmdSelect { *Order: DOC_SETUP.11 *Cmd: "<1B>&l0H" } } *Option: UPPER { *Name: "Upper tray" *Command: CmdSelect { *Order: DOC_SETUP.11 *Cmd: "<1B>&l1H" } } *Option: MANUAL { *Name: "Manual feed" *Command: CmdSelect { *Order: DOC_SETUP.11 *Cmd: "<1B>&l2H" } } *Option: LOWER { *Name: "Lower tray" *Command: CmdSelect { *Order: DOC_SETUP.11 *Cmd: "<1B>&l4H" } } *Option: ENVFEED { *Name: "Envelope feed" *Command: CmdSelect { *Order: DOC_SETUP.11 *Cmd: "<1B>&l6H" } } } *Feature: PaperSize { *Name: "Paper Size" *DefaultOption: LETTER *Option: LETTER { *Name: "Letter 8 1/2 x 11 in" *PageProtectMem: 4109 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(9600, 12648) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(300, 180) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5760x7704Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(9760, 12688) *PrintableOrigin: PAIR(200, 272) *CursorOrigin: PAIR(200, 12960) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7632x5880Y" } } } } *Option: LEGAL { *Name: "Legal 8 1/2 x 14 in" *PageProtectMem: 5230 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(9600, 16248) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(300, 180) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5760x9864Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(9760, 16284) *PrintableOrigin: PAIR(200, 276) *CursorOrigin: PAIR(200, 16560) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t9792x5880Y" } } } } *Option: EXECUTIVE { *Name: "Executive 7 1/4 x 10 1/2 in" *PageProtectMem: 4109 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(8100, 12048) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(300, 180) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(8220, 12080) *PrintableOrigin: PAIR(240, 280) *CursorOrigin: PAIR(200, 12360) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" } } } } *Option: A4 { *Name: "A4 210 x 297 mm" *PageProtectMem: 4249 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(9292, 13076) *PrintableOrigin: PAIR(300, 600) *CursorOrigin: PAIR(300, 180) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(9464, 13516) *PrintableOrigin: PAIR(220, 272) *CursorOrigin: PAIR(200, 13788) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" } } } } *Option: ENV_10 { *Name: "Envelope #10 4 1/8 x 9 1/2 in" *PageProtectMem: 4109 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(4296, 10800) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(300, 160) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l81a8c1E<1B>*p0x0Y<1B>*c0t2614x6648Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(4356, 10800) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(200, 11100) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l81a8c1E<1B>*p0x0Y<1B>*c0t6480x2734Y" } } } } *Option: ENV_DL { *Name: "Envelope DL 110 x 220 mm" *PageProtectMem: 4109 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(4596, 9782) *PrintableOrigin: PAIR(300, 460) *switch: Resolution { *case: Option2 { *% Warning: the following printable length is adjusted (9782->9780) so it is divisible by the resolution Y scale. *PrintableArea: PAIR(4596, 9780) } } *CursorOrigin: PAIR(300, 160) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l90a8c1E<1B>*p0x0Y<1B>*c0t2758x6043Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(4596, 9792) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(200, 10092) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l90a8c1E<1B>*p0x0Y<1B>*c0t5875x2878Y" } } } } *Option: ENV_MONARCH { *Name: "Envelope Monarch 3 7/8 x 7 1/2 in" *PageProtectMem: 4109 *switch: Orientation { *case: PORTRAIT { *PrintableArea: PAIR(3996, 8400) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(300, 200) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l80a8c1E<1B>*p0x0Y<1B>*c0t2434x5160Y" } } *case: LANDSCAPE_CC90 { *PrintableArea: PAIR(4056, 8400) *PrintableOrigin: PAIR(300, 300) *CursorOrigin: PAIR(200, 8700) *Command: CmdSelect { *Order: DOC_SETUP.12 *Cmd: "<1B>&l80a8c1E<1B>*p0x0Y<1B>*c0t5040x2554Y" } } } } } *Feature: Resolution { *Name: "Resolution" *DefaultOption: Option1 *Option: Option1 { *Name: "600 x 600 dots per inch" *DPI: PAIR(600, 600) *TextDPI: PAIR(600, 600) *MinStripBlankPixels: 32 EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) *SpotDiameter: 100 *Command: CmdSelect { *Order: DOC_SETUP.6 *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R" } } *Option: Option2 { *Name: "300 x 300 dots per inch" *DPI: PAIR(300, 300) *TextDPI: PAIR(300, 300) *MinStripBlankPixels: 32 EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) *SpotDiameter: 100 *Command: CmdSelect { *Order: DOC_SETUP.6 *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" } } *% *% 3/12/97 ZhanW *% Disable 150dpi and 75dpi. The printable area and origin are tuned for *% 600dpi and 300dpi. *% *% *Option: Option3 *% { *% *Name: "150 x 150 dots per inch" *% *DPI: PAIR(150, 150) *% *TextDPI: PAIR(300, 300) *% *MinStripBlankPixels: 32 *% EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) *% *SpotDiameter: 100 *% *Command: CmdSelect *% { *% *Order: DOC_SETUP.6 *% *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R" *% } *% } *% *Option: Option4 *% { *% *Name: "75 x 75 dots per inch" *% *DPI: PAIR(75, 75) *% *TextDPI: PAIR(300, 300) *% EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING) *% *SpotDiameter: 100 *% *Command: CmdSelect *% { *% *Order: DOC_SETUP.6 *% *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t75R" *% } *% } } *Feature: RET { *Name: "RET Setting" *DefaultOption: Option1 *Option: Option1 { *rcNameID: 293 } *Option: Option2 { *rcNameID: 296 *Command: CmdSelect { *Order: DOC_SETUP.4 *Cmd: "@PJL SET RET=ON<0A>" } } *Option: Option3 { *rcNameID: 300 *Command: CmdSelect { *Order: DOC_SETUP.4 *Cmd: "@PJL SET RET=OFF<0A>" } } } *Feature: OutputBin { *Name: "Output Bin" *DefaultOption: Option1 *Option: Option1 { *rcNameID: 279 } *Option: Option2 { *rcNameID: 280 *Command: CmdSelect { *Order: DOC_SETUP.14 *Cmd: "<1B>&l1G" } } *Option: Option3 { *rcNameID: 281 *Command: CmdSelect { *Order: DOC_SETUP.14 *Cmd: "<1B>&l2G" } } } *Feature: Memory { *Name: "Printer Memory" *DefaultOption: 2048KB *Option: 2048KB { *Name: "2MB" *MemoryConfigKB: PAIR(2048, 1350) } *Option: 3072KB { *Name: "3MB" *MemoryConfigKB: PAIR(3072, 2250) } *Option: 4096KB { *Name: "4MB" *MemoryConfigKB: PAIR(4096, 3150) } *Option: 5120KB { *Name: "5MB" *MemoryConfigKB: PAIR(5120, 4050) } *Option: 6144KB { *Name: "6MB" *MemoryConfigKB: PAIR(6144, 4950) } *Option: 7168KB { *Name: "7MB" *MemoryConfigKB: PAIR(7168, 5850) } *Option: 8192KB { *Name: "8MB" *MemoryConfigKB: PAIR(8192, 6750) } *Option: 9216KB { *Name: "9MB" *MemoryConfigKB: PAIR(9216, 7650) } *Option: 10240KB { *Name: "10MB" *MemoryConfigKB: PAIR(10240, 8550) } *Option: 11264KB { *Name: "11MB" *MemoryConfigKB: PAIR(11264, 9450) } *Option: 12288KB { *Name: "12MB" *MemoryConfigKB: PAIR(12288, 10350) } *Option: 13312KB { *Name: "13MB" *MemoryConfigKB: PAIR(13312, 11250) } *Option: 14336KB { *Name: "14MB" *MemoryConfigKB: PAIR(14336, 12150) } *Option: 15360KB { *Name: "15MB" *MemoryConfigKB: PAIR(15360, 13050) } *Option: 16384KB { *Name: "16MB" *MemoryConfigKB: PAIR(16384, 13950) } *Option: 17408KB { *Name: "17MB" *MemoryConfigKB: PAIR(17408, 14850) } *Option: 18432KB { *Name: "18MB" *MemoryConfigKB: PAIR(18432, 15750) } *Option: 19456KB { *Name: "19MB" *MemoryConfigKB: PAIR(19456, 16650) } *Option: 20480KB { *Name: "20MB" *MemoryConfigKB: PAIR(20480, 17550) } *Option: 21504KB { *Name: "21MB" *MemoryConfigKB: PAIR(21504, 18450) } *Option: 22528KB { *Name: "22MB" *MemoryConfigKB: PAIR(22528, 19350) } *Option: 23552KB { *Name: "23MB" *MemoryConfigKB: PAIR(23552, 20250) } *Option: 24576KB { *Name: "24MB" *MemoryConfigKB: PAIR(24576, 21150) } *Option: 25600KB { *Name: "25MB" *MemoryConfigKB: PAIR(25600, 22050) } *Option: 26624KB { *Name: "26MB" *MemoryConfigKB: PAIR(26624, 22950) } *Option: 27648KB { *Name: "27MB" *MemoryConfigKB: PAIR(27648, 23850) } *Option: 28672KB { *Name: "28MB" *MemoryConfigKB: PAIR(28672, 24750) } *Option: 29696KB { *Name: "29MB" *MemoryConfigKB: PAIR(29696, 25650) } *Option: 30720KB { *Name: "30MB" *MemoryConfigKB: PAIR(30720, 26550) } *Option: 31744KB { *Name: "31MB" *MemoryConfigKB: PAIR(31744, 27450) } *Option: 32768KB { *Name: "32MB" *MemoryConfigKB: PAIR(32768, 28350) } *Option: 33792KB { *Name: "33MB" *MemoryConfigKB: PAIR(33792, 29250) } *Option: 34816KB { *Name: "34MB" *MemoryConfigKB: PAIR(34816, 30150) } } *Feature: Duplex { *Name: "Two Sided Printing" *DefaultOption: NONE *Option: NONE { *Name: "None" *Command: CmdSelect { *Order: DOC_SETUP.9 *Cmd: "<1B>&l0S" } } *Option: VERTICAL { *Name: "Flip on long edge" *Command: CmdSelect { *Order: DOC_SETUP.10 *Cmd: "<1B>&l1S" } } *Option: HORIZONTAL { *Name: "Flip on short edge" *Command: CmdSelect { *Order: DOC_SETUP.10 *Cmd: "<1B>&l2S" } } } *Feature: PageProtect { *Name: "Page Protection" *DefaultOption: OFF *Option: ON { *Name: "On" *Command: CmdSelect { *Order: DOC_SETUP.1 *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" } } *Option: OFF { *Name: "Off" *Command: CmdSelect { *Order: DOC_SETUP.1 *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" } } } *Command: CmdStartDoc { *Order: DOC_SETUP.7 *Cmd: "<1B>&u600D<1B>*r0F" } *Command: CmdStartPage { *Order: PAGE_SETUP.1 *Cmd: "<1B>*b0M<0D>" } *Command: CmdEndJob { *Order: JOB_FINISH.1 *Cmd: "<1B>E<1B>%%-12345X" } *Command: CmdCopies { *Order: DOC_SETUP.13 *Cmd: "<1B>&l" %d{NumOfCopies}"X" } *RotateCoordinate?: TRUE *RotateRaster?: TRUE *RotateFont?: TRUE *TextCaps: LIST(TC_CR_90,TC_UA_ABLE) *MemoryUsage: LIST(FONT) *CursorXAfterCR: AT_PRINTABLE_X_ORIGIN *BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) *XMoveThreshold: 0 *YMoveThreshold: 0 *XMoveUnit: 600 *YMoveUnit: 600 *Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 2) }"X" } *Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 2) )}"X" } *Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((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>" } *Command: CmdBackSpace { *Cmd : "<08>" } *Command: CmdUniDirectionOn { *Cmd : "<00>" } *Command: CmdUniDirectionOff { *Cmd : "<00>" } *Command: CmdPushCursor { *Cmd : "<1B>&f0S" } *Command: CmdPopCursor { *Cmd : "<1B>&f1S" } *Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } *EjectPageWithFF?: TRUE *Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } *Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } *OutputDataFormat: H_BYTE *OptimizeLeftBound?: TRUE *Command: CmdBeginRaster { *Cmd : "<1B>*r1A" } *Command: CmdEndRaster { *Cmd : "<1B>*rB" } *%%% test command callback with a parameter. CMDCB_SENDBLOCKDATA *Command: CmdSendBlockData { *CallbackID : 3 *Params: LIST(NumOfDataBytes) } *CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN *CursorYAfterSendBlockData: AUTO_INCREMENT *DefaultFont: 136 *DefaultCTT: 0 *CharPosition: BASELINE *DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,164,165, + 166,196,197,198,199,200,201,202,203,209,210,211,212,213,214,215, + 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230) *FontCartridge: FC1 { *rcCartridgeNameID: 322 *Fonts: LIST(117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,125) } *FontCartridge: FC2 { *rcCartridgeNameID: 323 *Fonts: LIST(1,2,3,4,27,28,29,30,44,45,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) } *FontCartridge: FC3 { *rcCartridgeNameID: 324 *Fonts: LIST(31,32,33,34,35,36) } *FontCartridge: FC4 { *rcCartridgeNameID: 325 *Fonts: LIST(37,38,39,40,41,42,43) } *FontCartridge: FC5 { *rcCartridgeNameID: 326 *Fonts: LIST(16,17,18,46,47,48,49,108,109,110,111,112,113,114,115,116) } *FontCartridge: FC6 { *rcCartridgeNameID: 327 *Fonts: LIST(40,41,42,43,59,60,65,66,67,68,69,70,71,72,142,143, + 144,145) } *FontCartridge: FC7 { *rcCartridgeNameID: 328 *Fonts: LIST(10,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64) } *FontCartridge: FC8 { *rcCartridgeNameID: 329 *Fonts: LIST(14,19,20,21,22,23,24,25,26) } *FontCartridge: FC9 { *rcCartridgeNameID: 330 *Fonts: LIST(5,6,7,8,9,11,12,13,14,15,141) } *FontCartridge: FC10 { *rcCartridgeNameID: 331 *Fonts: LIST(231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246, + 247,248) } *FontCartridge: FC11 { *rcCartridgeNameID: 332 *Fonts: LIST(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) } *FontCartridge: FC12 { *rcCartridgeNameID: 333 *Fonts: LIST(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) } *MinFontID: 16534 *MaxFontID: 32768 *switch: Resolution { *case: Option1 { *FontFormat: HPPCL_OUTLINE } *case: Option2 { *FontFormat: HPPCL_RES } } *Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } *Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } *Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } *Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } *Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } *Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } *Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } *MinGrayFill: 1 *MaxGrayFill: 100 *Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 2) }"A" } *Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 2) }"B" } *Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } *Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }