Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
*PPD-Adobe: "4.2" *% Adobe PostScript(R) Printer Description File *% For IBM LaserPrinter 4039 *% For use with Windows NT *% Produced by Lexmark International, Inc. *% *% Copyright (c) 1993 Lexmark International Inc. All Rights Reserved. *% Permission is granted for redistribution of this file as *% long as this copyright notice is intact and the content *% of the file is not altered in any way from its original form. *% *% Version History: *% 2.1) Updated to support features of NT Ver 4.X
*FormatVersion: "4.2" *FileVersion: "2.1" *LanguageVersion: English *PCFileName: "IBM4039.PPD" *Product: "(IBM LaserPrinter 4039)" *PSVersion: "(290)" *ModelName: "IBM 4039 LaserPrinter" *ShortNickName: "IBM 4039 LaserPrinter PS" *NickName: "IBM 4039 LaserPrinter PS"
*% === Options and Constraints ============
*OpenGroup: InstallableOptions/Options Installed
*OpenUI *Option1/Duplex: Boolean *DefaultOption1: False *Option1 True/Installed: "" *Option1 False/Not Installed: "" *CloseUI: *Option1
*OpenUI *Option2/Optional Lower Tray: Boolean *DefaultOption2: False *Option2 True/Installed: "" *Option2 False/Not Installed: "" *CloseUI: *Option2
*OpenUI *Option3/Optional Envelope Feeder: Boolean *DefaultOption3: False *Option3 True/Installed: "" *Option3 False/Not Installed: "" *CloseUI: *Option3
*CloseGroup: InstallableOptions
*UIConstraints: *Option1 False *Duplex *UIConstraints: *Option2 False *InputSlot Lower *UIConstraints: *Option2 False *TraySwitch *UIConstraints: *Option3 False *InputSlot Envelope
*% === Basic Capabilities ============
*ColorDevice: False
*LanguageLevel: "1" *Protocols: PJL *FreeVM: "175000" *DefaultColorSpace: Gray *VariablePaperSize: False *Throughput: "8" *Password: "0" *ExitServer: " count 0 eq % is the password on the stack? { true } { dup % potential password statusdict /checkpassword get exec not } ifelse { % if no password or not valid (WARNING : Cannot perform the exitserver command.) = (Password supplied is not valid.) = (Please contact the author of this software.) = flush quit } if serverdict /exitserver get exec " *End *Reset: " count 0 eq % is the password on the stack? { true } { dup % potential password statusdict /checkpassword get exec not } ifelse { % if no password or not valid (WARNING : Cannot reset printer.) = (Password supplied is not valid.) = (Please contact the author of this software.) = flush quit } if serverdict /exitserver get exec systemdict /quit get exec (WARNING : Printer Reset Failed.) = flush " *End
*% === Job Control Language ==
*JCLBegin: "<1B>%-12345X" *JCLToPSInterpreter: "@PJL ENTER LANGUAGE = Postscript <0A>" *JCLEnd: "<1B>%-12345X"
*% === Resolution ============
*OpenUI *Resolution: PickOne *DefaultResolution: 300dpi *OrderDependency: 10 AnySetup *Resolution *Resolution 300dpi: "300 statusdict /setresolution get exec" *Resolution 600dpi: "600 statusdict /setresolution get exec" *?Resolution: "statusdict begin resolution ( ) cvs print (dpi) = flush end" *CloseUI: *Resolution
*OpenUI *Smoothing/Smooth Characters: PickOne *DefaultSmoothing: None *OrderDependency: 40 AnySetup *Smoothing *Smoothing None/Printer Setting: "" *Smoothing On/On: "1 statusdict /setdoret get exec" *Smoothing Off/Off: "0 statusdict /setdoret get exec" *?Smoothing: " save [(False)(True)(True)(True)(Unknown)] statusdict /doret get exec dup 3 gt{pop 4}if get = flush restore " *End *CloseUI: *Smoothing
*% === Halftone Information ===============
*ScreenFreq: "60.0" *ScreenAngle: "45.0" *DefaultScreenProc: Dot *ScreenProc Dot: " {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub }{dup mul exch dup mul add 1 exch sub }ifelse } " *End *ScreenProc Line: "{ pop }" *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
*DefaultTransfer: Factory *Transfer Factory: " { statusdict begin doenhancedhalftone resolution end 600 eq and { dup 0.28 lt { 0.6 exp 1.2 mul } { dup mul .478426 mul .521574 add } ifelse } { 0.85 exp } ifelse }" *End *Transfer Factory.Inverse: " { statusdict begin doenhancedhalftone resolution end 600 eq and { dup 0.28 lt { 0.6 exp 1.2 mul } { dup mul .478426 mul .521574 add } ifelse } { 0.85 exp } ifelse 1 exch sub }" *End
*% === Paper Handling ===================
*% Code in this section selects a tray and sets up a frame buffer. *OpenUI *PageSize: PickOne *OrderDependency: 30 AnySetup *PageSize *DefaultPageSize: Letter *PageSize Letter: "statusdict /lettertray get exec" *PageSize Legal: "statusdict /legaltray get exec" *PageSize Executive: "statusdict /executivetray get exec" *PageSize A4: "statusdict /a4tray get exec" *PageSize A5: "statusdict /a5tray get exec" *PageSize B5: "statusdict /b5tray get exec" *PageSize Monarch/Envelope Monarch: " statusdict /3.875x7.5envelopetray get exec systemdict /undef known not {279 540 translate 180 rotate}if" *End *PageSize C9/Envelope #9: " statusdict /3.875x8.875envelopetray get exec systemdict /undef known not {279 639 translate 180 rotate}if" *End *PageSize Comm10/Envelope #10: " statusdict /4.125x9.5envelopetray get exec systemdict /undef known not {297 684 translate 180 rotate}if" *End *PageSize DL/Envelope DL: " statusdict /110x220envelopetray get exec systemdict /undef known not {312 624 translate 180 rotate}if" *End *PageSize C5/Envelope C5: " statusdict /162x229envelopetray get exec systemdict /undef known not {459 649 translate 180 rotate}if" *End *PageSize ISOB5/Envelope B5: " statusdict /176x250envelopetray get exec systemdict /undef known not {499 709 translate 180 rotate}if" *End *PageSize Envelope.612.1008/Other Envelope: " statusdict /otherenvelopetray get exec systemdict /undef known not {612 1007 translate 180 rotate}if" *End *?PageSize: " save 13 dict dup /letter (Letter) put dup /legal (Legal) put dup /executivepage (Executive) put dup /a4 (A4) put dup /a5 (A5) put dup /b5 (B5) put dup /3.875x7.5envelope (Monarch) put dup /3.875x8.875envelope (C9) put dup /4.125x9.5envelope (Comm10) put dup /110x220envelope (DL) put dup /162x229envelope (C5) put dup /176x250envelope (Envelope.499.709) put dup /otherenvelope (Envelope.612.1008) put statusdict /papersize get exec 3 1 roll {get} stopped {(Unknown)}if exch not { print (.Transverse) }if = flush restore " *End *CloseUI: *PageSize
*% These entries will set up the frame buffer. Usually used with manual feed. *OpenUI *PageRegion: PickOne *OrderDependency: 40 AnySetup *PageRegion *DefaultPageRegion: Letter *PageRegion Letter: "letter" *PageRegion Legal: "legal" *PageRegion Executive: "executivepage" *PageRegion A4: "a4" *PageRegion A5: "a5" *PageRegion B5: "b5" *PageRegion Monarch/Envelope Monarch: " 3.875x7.5envelope systemdict /undef known not {279 540 translate 180 rotate}if" *End *PageRegion C9/Envelope #9: " 3.875x8.875envelope systemdict /undef known not {279 639 translate 180 rotate}if" *End *PageRegion Comm10/Envelope #10: " 4.125x9.5envelope systemdict /undef known not {297 684 translate 180 rotate}if" *End *PageRegion DL/Envelope DL: " 110x220envelope systemdict /undef known not {312 624 translate 180 rotate}if" *End *PageRegion C5/Envelope C5: " 162x229envelope systemdict /undef known not {459 649 translate 180 rotate}if" *End *PageRegion ISOB5/Envelope B5: " 176x250envelope systemdict /undef known not {499 709 translate 180 rotate}if" *End *PageRegion Envelope.612.1008/Other Envelope: " otherenvelope systemdict /undef known not {612 1007 translate 180 rotate}if" *End *CloseUI: *PageRegion
*DefaultImageableArea: Letter *ImageableArea Letter: "18 17 597 776" *ImageableArea Legal: "18 18 597 992" *ImageableArea Executive: "18 18 505 740" *ImageableArea A4: "10 19 588 827" *ImageableArea A5: "18 13 405 580" *ImageableArea B5: "18 18 505 711" *ImageableArea Monarch: "1 13 260 526" *ImageableArea C9: "1 16 260 623" *ImageableArea Comm10: "3 16 278 668" *ImageableArea DL: "3 16 293 608" *ImageableArea C5: "4 16 440 634" *ImageableArea ISOB5: "2 15 480 693" *ImageableArea Envelope.612.1008: "15 16 593 992" *?ImageableArea: " save /cvp { cvi ( ) cvs print ( ) print } bind def newpath clippath pathbbox 4 -2 roll exch 2 {ceiling cvp} repeat exch 2 {floor cvp} repeat flush restore " *End
*% These provide the physical dimensions of the paper (by keyword) *DefaultPaperDimension: Letter *PaperDimension Letter: "612 792" *PaperDimension Legal: "612 1008" *PaperDimension Executive: "522 756" *PaperDimension A4: "595 842" *PaperDimension A5: "420 595" *PaperDimension B5: "516 729" *PaperDimension Monarch: "279 540" *PaperDimension C9: "279 639" *PaperDimension Comm10: "297 684" *PaperDimension DL: "312 624" *PaperDimension C5: "459 649" *PaperDimension ISOB5: "499 709" *PaperDimension Envelope.612.1008: "612 1008"
*RequiresPageRegion All: True *OpenUI *InputSlot: PickOne *OrderDependency: 20 AnySetup *InputSlot *DefaultInputSlot: Unknown *InputSlot Upper: "0 statusdict /setpapertray get exec" *InputSlot Lower: " statusdict begin optionalfeeder { 1 }{ 0 }ifelse setpapertray end" *End *InputSlot Envelope: " statusdict begin envelopefeeder { 2 }{ 3 }ifelse setpapertray end" *End *InputSlot EnvelopeManual: "4 statusdict /setpapertray get exec" *?InputSlot: " save [ (Upper) (Lower) (Envelope) (Manual) (ManualEnvelope) ] statusdict /papertray get exec {get exec} stopped { pop pop (Unknown) } if = flush restore " *End *CloseUI: *InputSlot
*OpenUI *ManualFeed: Boolean *OrderDependency: 15 AnySetup *ManualFeed *DefaultManualFeed: False *ManualFeed True: "3 statusdict /setpapertray get exec" *ManualFeed False: "statusdict /manualfeed false put" *?ManualFeed: " save statusdict /manualfeed get {(True)}{(False)}ifelse = flush restore " *End *CloseUI: *ManualFeed
*OpenUI *TraySwitch/Tray Linking: PickOne *OrderDependency: 50 AnySetup *TraySwitch *DefaultTraySwitch: None *TraySwitch None/Printer Setting: "" *TraySwitch On/On: "statusdict /trayswitch true put" *TraySwitch Off/Off: "statusdict /trayswitch false put" *?TraySwitch: " save statusdict /trayswitch get {(True)}{(False)}ifelse = flush restore " *End *CloseUI: *TraySwitch
*DefaultOutputOrder: Normal *OutputOrder Normal: "" *OutputOrder Reverse: ""
*OpenUI *Duplex: PickOne *DefaultDuplex: None *Duplex None/Simplex: "statusdict begin false settumble false setduplexmode end" *Duplex DuplexNoTumble/Duplex - Long edge: " statusdict begin duplexer {true setduplexmode false settumble}{false setduplexmode}ifelse end" *End *Duplex DuplexTumble/Duplex - Short edge: " statusdict begin duplexer {true setduplexmode true settumble}{false setduplexmode}ifelse end" *End *CloseUI: *Duplex
*% Font Information ==============(5/28/92)============================
*DefaultFont: Courier *Font Courier: Standard "(001.000)" Standard ROM *Font Courier-Bold: Standard "(001.000)" Standard ROM *Font Courier-Oblique: Standard "(001.000)" Standard ROM *Font Courier-BoldOblique: Standard "(001.000)" Standard ROM *Font Times-Roman: Standard "(001.000)" Standard ROM *Font Times-Bold: Standard "(001.000)" Standard ROM *Font Times-Italic: Standard "(001.000)" Standard ROM *Font Times-BoldItalic: Standard "(001.000)" Standard ROM *Font Helvetica: Standard "(001.000)" Standard ROM *Font Helvetica-Bold: Standard "(001.000)" Standard ROM *Font Helvetica-Oblique: Standard "(001.000)" Standard ROM *Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM *Font Helvetica-Narrow: Standard "(001.000)" Standard ROM *Font Helvetica-Narrow-Bold: Standard "(001.000)" Standard ROM *Font Helvetica-Narrow-BoldOblique: Standard "(001.000)" Standard ROM *Font Helvetica-Narrow-Oblique: Standard "(001.000)" Standard ROM *Font Symbol: Special "(001.000)" Standard ROM *Font AvantGarde-Book: Standard "(001.000)" Standard ROM *Font AvantGarde-BookOblique: Standard "(001.000)" Standard ROM *Font AvantGarde-Demi: Standard "(001.000)" Standard ROM *Font AvantGarde-DemiOblique: Standard "(001.000)" Standard ROM *Font Bookman-Demi: Standard "(001.000)" Standard ROM *Font Bookman-DemiItalic: Standard "(001.000)" Standard ROM *Font Bookman-Light: Standard "(001.000)" Standard ROM *Font Bookman-LightItalic: Standard "(001.000)" Standard ROM *Font Helvetica-Light: Standard "(001.000)" Standard ROM *Font Helvetica-LightOblique: Standard "(001.000)" Standard ROM *Font Helvetica-Black: Standard "(001.000)" Standard ROM *Font Helvetica-BlackOblique: Standard "(001.000)" Standard ROM *Font NewCenturySchlbk-Roman: Standard "(001.000)" Standard ROM *Font NewCenturySchlbk-Bold: Standard "(001.000)" Standard ROM *Font NewCenturySchlbk-Italic: Standard "(001.000)" Standard ROM *Font NewCenturySchlbk-BoldItalic: Standard "(001.000)" Standard ROM *Font Palatino-Roman: Standard "(001.000)" Standard ROM *Font Palatino-Bold: Standard "(001.000)" Standard ROM *Font Palatino-Italic: Standard "(001.000)" Standard ROM *Font Palatino-BoldItalic: Standard "(001.000)" Standard ROM *Font ZapfChancery-MediumItalic: Standard "(001.000)" Standard ROM *Font ZapfDingbats: Special "(001.000)" Special ROM *?FontQuery: " save 4 dict begin /sv exch def /str (fonts/ ) def /st2 128 string def { count 0 gt { dup st2 cvs (/) print print (:) print dup FontDirectory exch known {pop (Yes)} { str exch st2 cvs dup length /len exch def 6 exch putinterval str 0 len 6 add getinterval mark exch { } st2 filenameforall counttomark 0 gt { cleartomark (Yes)}{cleartomark (No)}ifelse }ifelse = flush }{ exit } ifelse } bind loop (*) = flush sv end restore " *End
*?FontList: " save 2 dict begin /sv exch def /str 128 string def FontDirectory { pop == } bind forall flush /filenameforall where { pop save (fonts/*) { dup length 6 sub 6 exch getinterval cvn == } bind str filenameforall flush restore } if (*) = flush sv end restore " *End
*% Printer Messages (verbatim from printer): *Message: "%% exitserver: permanent state may be changed %%" *Message: "%% Flushing: rest of job (to end-of-file) will be ignored %%" *Message: "\FontName\ not found, using Courier"
*% Status (format: %% status: <one of these> %% ) *Status: "Printer Busy" *Status: "Warming Up" *Status: "idle" *Status: "busy" *Status: "waiting" *Status: "initializing" *Status: "not ready"
*% Input Sources (format: %% status: <stat>; source: <one of these> %% ) *Source: "Serial" *Source: "Parallel" *Source: "Network"
*% Printer Error (format: %% PrinterError: <one of these> %%) *PrinterError: "Paper Jam" *PrinterError: "Wrong Paper Length" *PrinterError: "Invalid Manual Insertion" *PrinterError: "Change Size in Feeder" *PrinterError: "Change Size in Tray 1" *PrinterError: "Change Size in Tray 2" *PrinterError: "Paper Out or Feed Failure - Feed" *PrinterError: "Load Manual Envelope" *PrinterError: "Paper Out or Feed Failure - Tray 1" *PrinterError: "Paper Out or Feed Failure - Tray 2" *PrinterError: "Load Manual Paper" *PrinterError: "Output Bin Full" *PrinterError: "Cover Open/Cartridge Not Installed" *PrinterError: "Insufficient Memory" *PrinterError: "Complex Page" *PrinterError: "Default Storage Error" *PrinterError: "Defective Font Card Installed" *PrinterError: "Flash Full" *PrinterError: "ioerror" *PrinterError: "Flash Error" *PrinterError: "Duplex Not Attached" *PrinterError: "Duplex Cover Open" *PrinterError: "Scheduled Maintenance" *PrinterError: "Toner Low" *PrinterError: "Service Error"
*%DeviceAdjustMatrix: " 1 0 0 1 0 0 "
*% === Color Separation Information =====================
*DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
*InkName: ProcessBlack/Process Black *InkName: CustomColor/Custom Color *InkName: ProcessCyan/Process Cyan *InkName: ProcessMagenta/Process Magenta *InkName: ProcessYellow/Process Yellow
*% For 60 lpi / 300 dpi ===============================
*ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45" *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45" *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15" *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75" *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
*ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60" *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60" *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60" *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60" *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
*% For 53 lpi / 300 dpi ===============================
*ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0" *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0" *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651" *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349" *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
*ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033" *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033" *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342" *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342" *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
*% For 85 lpi / 600 dpi 5,5,2,6,6,2,20/3,0) =====================
*ColorSepScreenAngle ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "45.0" *ColorSepScreenAngle CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "45.0" *ColorSepScreenAngle ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "71.5651" *ColorSepScreenAngle ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "18.4349" *ColorSepScreenAngle ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "0.0"
*ColorSepScreenFreq ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "84.8528" *ColorSepScreenFreq CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "84.8528" *ColorSepScreenFreq ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "94.8683" *ColorSepScreenFreq ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "94.8683" *ColorSepScreenFreq ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "30.0"
*ColorSepScreenProc ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: " {1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub }{dup mul exch dup mul add 1 exch sub }ifelse } " *End
*% For 71 lpi / 600 dpi ===============================
*ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45.0" *ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45.0" *ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71.5651" *ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "18.4349" *ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "0.0"
*ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "70.7107" *ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "70.7107" *ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "63.2456" *ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "63.2456" *ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "66.6667"
*% End of PPD file for IBM LaserPrinter 4039
|