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.

475 lines
17 KiB

  1. *PPD-Adobe: "4.2"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% For IBM LaserPrinter 4019
  4. *% For use with Windows NT
  5. *% Produced by Lexmark International, Inc.
  6. *%
  7. *% Copyright (c) 1993-1996 Lexmark International Inc. All Rights Reserved.
  8. *% Permission is granted for redistribution of this file as
  9. *% long as this copyright notice is intact and the content
  10. *% of the file is not altered in any way from its original form.
  11. *%
  12. *FormatVersion: "4.2"
  13. *FileVersion: "3.3"
  14. *LanguageVersion: English
  15. *PCFileName: "IBM39523.PPD"
  16. *Product: "(IBM LaserPrinter)"
  17. *PSVersion: "(52.1) 0"
  18. *PSVersion: "(52.3) 0"
  19. *ModelName: "IBM 4019 LaserPrinter PS39"
  20. *ShortNickName: "IBM 4019 LaserPrinter PS39"
  21. *NickName: "IBM 4019 LaserPrinter PS39"
  22. *% === Options and Constraints ============
  23. *OpenGroup: InstallableOptions/Options Installed
  24. *OpenUI *Option1/Lower Tray: Boolean
  25. *DefaultOption1: False
  26. *Option1 True/Installed: ""
  27. *Option1 False/Not Installed: ""
  28. *CloseUI: *Option1
  29. *OpenUI *Option2/Envelope Feeder: Boolean
  30. *DefaultOption2: False
  31. *Option2 True/Installed: ""
  32. *Option2 False/Not Installed: ""
  33. *CloseUI: *Option2
  34. *OpenUI *Option3/Printer Memory: PickOne
  35. *DefaultOption3: 1Meg
  36. *Option3 1Meg/1.5 Mb Printer Memory: ""
  37. *Option3 2Meg/2.5 Mb Printer Memory: ""
  38. *Option3 4Meg/4 Mb Printer Memory: ""
  39. *CloseUI: *Option3
  40. *CloseGroup: InstallableOptions
  41. *UIConstraints: *Option1 False *InputSlot Lower
  42. *UIConstraints: *Option1 False *TraySwitch True
  43. *UIConstraints: *Option2 False *InputSlot Envelope
  44. *% === Basic Capabilities ============
  45. *LanguageLevel: "1"
  46. *FreeVM: "200000"
  47. *ColorDevice: False
  48. *DefaultColorSpace: Gray
  49. *VariablePaperSize: False
  50. *FileSystem: False
  51. *Throughput: "10"
  52. *Password: "0"
  53. *ExitServer: "
  54. count 0 eq % is the password on the stack?
  55. { true }
  56. { dup % potential password
  57. statusdict /checkpassword get exec not
  58. } ifelse
  59. { % if no password or not valid
  60. (WARNING : Cannot perform the exitserver command.) =
  61. (Password supplied is not valid.) =
  62. (Please contact the author of this software.) = flush
  63. quit
  64. } if
  65. serverdict /exitserver get exec
  66. "
  67. *End
  68. *Reset: "
  69. count 0 eq % is the password on the stack?
  70. { true }
  71. { dup % potential password
  72. statusdict /checkpassword get exec not
  73. } ifelse
  74. { % if no password or not valid
  75. (WARNING : Cannot reset printer.) =
  76. (Password supplied is not valid.) =
  77. (Please contact the author of this software.) = flush
  78. quit
  79. } if
  80. serverdict /exitserver get exec
  81. systemdict /quit get exec
  82. (WARNING : Printer Reset Failed.) = flush
  83. "
  84. *End
  85. *% === Resolution ============
  86. *OpenUI *Resolution/Resolution: PickOne
  87. *DefaultResolution: 300dpi
  88. *Resolution 300dpi/300 dpi: ""
  89. *?Resolution: "
  90. save initgraphics
  91. 0 0 moveto currentpoint matrix defaultmatrix transform
  92. 0 72 lineto currentpoint matrix defaultmatrix transform
  93. 3 -1 roll sub dup mul
  94. 3 1 roll exch sub dup mul
  95. add sqrt round cvi ( ) cvs print (dpi) = flush
  96. restore
  97. "
  98. *End
  99. *CloseUI: *Resolution
  100. *% === Halftone Information ===============
  101. *ScreenFreq: "60.0"
  102. *ScreenAngle: "45.0"
  103. *DefaultScreenProc: Dot
  104. *ScreenProc Dot: "
  105. {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1
  106. sub }{dup mul exch dup mul add 1 exch sub }ifelse }
  107. "
  108. *End
  109. *ScreenProc Line: "{ pop }"
  110. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  111. *DefaultTransfer: Null
  112. *Transfer Null: "{ }"
  113. *Transfer Null.Inverse: "{ 1 exch sub }"
  114. *% === Paper Handling ===================
  115. *% Code in this section selects a tray and sets up a frame buffer.
  116. *OpenUI *PageSize: PickOne
  117. *OrderDependency: 30 AnySetup *PageSize
  118. *DefaultPageSize: Letter
  119. *PageSize Letter/Letter: "statusdict begin {lettertray}stopped {3 setpapertray letter}if end"
  120. *PageSize Legal/Legal: "statusdict begin {legaltray}stopped {3 setpapertray legal}if end"
  121. *PageSize Executive/Executive: "
  122. statusdict begin {executivetray}stopped {3 setpapertray executivepage}if end"
  123. *End
  124. *PageSize A4/A4: "statusdict begin {a4tray}stopped {3 setpapertray a4}if end"
  125. *PageSize A5/A5: "statusdict begin {a5tray}stopped {3 setpapertray a5}if end"
  126. *PageSize B5/B5: "statusdict begin {b5tray}stopped {3 setpapertray b5}if end"
  127. *PageSize Monarch/Monarch Envelope: "
  128. statusdict begin {3.875x7.5envelopetray}stopped
  129. {4 setpapertray 3.875x7.5envelope}if end
  130. 279 540 translate 180 rotate"
  131. *End
  132. *PageSize C9/C9 Envelope: "
  133. statusdict begin {3.875x8.875envelopetray}stopped
  134. {4 setpapertray 3.875x8.875envelope}if end
  135. 279 639 translate 180 rotate"
  136. *End
  137. *PageSize Comm10/C10 Envelope: "
  138. statusdict begin {4.125x9.5envelopetray}stopped
  139. {4 setpapertray 4.125x9.5envelope}if end
  140. 297 684 translate 180 rotate"
  141. *End
  142. *PageSize DL/DL Envelope: "
  143. statusdict begin {110x220envelopetray}stopped
  144. {4 setpapertray 110x220envelope}if end
  145. 312 624 translate 180 rotate"
  146. *End
  147. *PageSize C5/C5 Envelope: "
  148. statusdict begin {162x229envelopetray}stopped
  149. {4 setpapertray 162x229envelope}if end
  150. 459 649 translate 180 rotate"
  151. *End
  152. *PageSize ISOB5/B5 Envelope: "
  153. statusdict begin {176x250envelopetray}stopped
  154. {4 setpapertray 176x250envelope}if end
  155. 499 709 translate 180 rotate"
  156. *End
  157. *?PageSize: "
  158. save
  159. 12 dict
  160. dup /letter (Letter) put
  161. dup /legal (Legal) put
  162. dup /executivepage (Executive) put
  163. dup /a4 (A4) put
  164. dup /a5 (A5) put
  165. dup /b5 (B5) put
  166. dup /3.875x7.5envelope (Monarch) put
  167. dup /3.875x8.875envelope (Envelope.279.639) put
  168. dup /4.125x9.5envelope (Comm10) put
  169. dup /110x220envelope (DL) put
  170. dup /162x229envelope (C5) put
  171. dup /176x250envelope (Envelope.499.709) put
  172. statusdict /papersize get exec
  173. 3 1 roll {get} stopped {(Unknown)}if
  174. exch not { print (.Transverse) }if
  175. = flush
  176. restore
  177. "
  178. *End
  179. *CloseUI: *PageSize
  180. *% These entries will set up the frame buffer. Usually used with manual feed.
  181. *OpenUI *PageRegion: PickOne
  182. *OrderDependency: 40 AnySetup *PageRegion
  183. *DefaultPageRegion: Letter
  184. *PageRegion Letter/Letter: "letter"
  185. *PageRegion Legal/Legal: "legal"
  186. *PageRegion Executive/Executive: "executivepage"
  187. *PageRegion A4/A4: "a4"
  188. *PageRegion A5/A5: "a5"
  189. *PageRegion B5/B5: "b5"
  190. *PageRegion Monarch/Monarch Envelope: "3.875x7.5envelope 279 540 translate 180 rotate"
  191. *PageRegion C9/C9 Envelope: "3.875x8.875envelope 279 639 translate 180 rotate"
  192. *PageRegion Comm10/C10 Envelope: "4.125x9.5envelope 297 684 translate 180 rotate"
  193. *PageRegion DL/DL Envelope: "110x220envelope 312 624 translate 180 rotate"
  194. *PageRegion C5/C5 Envelope: "162x229envelope 459 649 translate 180 rotate"
  195. *PageRegion ISOB5/B5 Envelope: "176x250envelope 499 709 translate 180 rotate"
  196. *CloseUI: *PageRegion
  197. *DefaultImageableArea: Letter
  198. *ImageableArea Letter: "18 17 597 776"
  199. *ImageableArea Legal: "18 18 597 992"
  200. *ImageableArea Executive: "18 18 505 740"
  201. *ImageableArea A4: "18 19 578 827"
  202. *ImageableArea A5: "18 13 405 580"
  203. *ImageableArea B5: "18 18 505 711"
  204. *ImageableArea Monarch: "1 13 260 526"
  205. *ImageableArea C9: "1 16 260 623"
  206. *ImageableArea Comm10: "3 16 278 668"
  207. *ImageableArea DL: "3 16 293 608"
  208. *ImageableArea C5: "4 16 440 634"
  209. *ImageableArea ISOB5: "2 15 480 693"
  210. *?ImageableArea: "
  211. save
  212. /cvp { ( ) cvs print ( ) print } bind def
  213. /upperright {10000 mul floor 10000 div} bind def
  214. /lowerleft {10000 mul ceiling 10000 div} bind def
  215. newpath clippath pathbbox
  216. 4 -2 roll exch 2 {lowerleft cvp} repeat
  217. exch 2 {upperright cvp} repeat flush
  218. restore
  219. "
  220. *End
  221. *% These provide the physical dimensions of the paper (by keyword)
  222. *DefaultPaperDimension: Letter
  223. *PaperDimension Letter: "612 792"
  224. *PaperDimension Legal: "612 1008"
  225. *PaperDimension Executive: "522 756"
  226. *PaperDimension A4: "595 842"
  227. *PaperDimension A5: "420 595"
  228. *PaperDimension B5: "516 729"
  229. *PaperDimension Monarch: "279 540"
  230. *PaperDimension C9: "279 639"
  231. *PaperDimension Comm10: "297 684"
  232. *PaperDimension DL: "312 624"
  233. *PaperDimension C5: "459 649"
  234. *PaperDimension ISOB5: "499 709"
  235. *RequiresPageRegion All: True
  236. *OpenUI *InputSlot: PickOne
  237. *OrderDependency: 20 AnySetup *InputSlot
  238. *DefaultInputSlot: Unknown
  239. *InputSlot Upper/Upper Tray: "0 statusdict /setpapertray get exec"
  240. *InputSlot Lower/Lower Tray: "
  241. statusdict begin optionalfeeder { 1 }{ 0 }ifelse setpapertray end"
  242. *End
  243. *InputSlot Envelope/Envelope Feeder: "
  244. statusdict begin envelopefeeder { 2 }{ 3 }ifelse setpapertray end"
  245. *End
  246. *InputSlot EnvelopeManual/Manual Envelope: "4 statusdict /setpapertray get exec"
  247. *?InputSlot: "
  248. save
  249. [ (Upper) (Lower) (Envelope) (Manual) (ManualEnvelope) ] statusdict /papertray get exec
  250. {get exec} stopped { pop pop (Unknown) } if = flush
  251. restore
  252. "
  253. *End
  254. *CloseUI: *InputSlot
  255. *OpenUI *ManualFeed/Manual Paper: Boolean
  256. *OrderDependency: 15 AnySetup *ManualFeed
  257. *DefaultManualFeed: False
  258. *ManualFeed True/On: "3 statusdict /setpapertray get exec"
  259. *ManualFeed False/Off: "statusdict /manualfeed false put"
  260. *?ManualFeed: "
  261. save
  262. statusdict /manualfeed get {(True)}{(False)}ifelse = flush
  263. restore
  264. "
  265. *End
  266. *CloseUI: *ManualFeed
  267. *OpenUI *TraySwitch/Tray Linking: PickOne
  268. *OrderDependency: 50 AnySetup *TraySwitch
  269. *DefaultTraySwitch: PrtSet
  270. *TraySwitch PrtSet/Printer Setting: ""
  271. *TraySwitch True/On: "statusdict /trayswitch true put"
  272. *TraySwitch False/Off: "statusdict /trayswitch false put"
  273. *?TraySwitch: "
  274. save
  275. statusdict /trayswitch get {(True)}{(False)}ifelse = flush
  276. restore
  277. "
  278. *End
  279. *CloseUI: *TraySwitch
  280. *DefaultOutputOrder: Normal
  281. *OutputOrder Normal: ""
  282. *OutputOrder Reverse: ""
  283. *% === Font Information =====================
  284. *DefaultFont: Courier
  285. *Font AvantGarde-Book: Standard "(001.002)" Standard ROM
  286. *Font AvantGarde-BookOblique: Standard "(001.001)" Standard ROM
  287. *Font AvantGarde-Demi: Standard "(001.001)" Standard ROM
  288. *Font AvantGarde-DemiOblique: Standard "(001.001)" Standard ROM
  289. *Font Bookman-Demi: Standard "(001.001)" Standard ROM
  290. *Font Bookman-DemiItalic: Standard "(001.001)" Standard ROM
  291. *Font Bookman-Light: Standard "(001.001)" Standard ROM
  292. *Font Bookman-LightItalic: Standard "(001.001)" Standard ROM
  293. *Font Courier: Standard "(001.004)" Standard ROM
  294. *Font Courier-Bold: Standard "(001.004)" Standard ROM
  295. *Font Courier-BoldOblique: Standard "(001.004)" Standard ROM
  296. *Font Courier-Oblique: Standard "(001.004)" Standard ROM
  297. *Font Helvetica: Standard "(001.002)" Standard ROM
  298. *Font Helvetica-Black: Standard "(001.001)" Standard ROM
  299. *Font Helvetica-BlackOblique: Standard "(001.001)" Standard ROM
  300. *Font Helvetica-Bold: Standard "(001.002)" Standard ROM
  301. *Font Helvetica-BoldOblique: Standard "(001.002)" Standard ROM
  302. *Font Helvetica-Light: Standard "(001.002)" Standard ROM
  303. *Font Helvetica-LightOblique: Standard "(001.002)" Standard ROM
  304. *Font Helvetica-Narrow: Standard "(001.002)" Standard ROM
  305. *Font Helvetica-Narrow-Bold: Standard "(001.002)" Standard ROM
  306. *Font Helvetica-Narrow-BoldOblique: Standard "(001.002)" Standard ROM
  307. *Font Helvetica-Narrow-Oblique: Standard "(001.002)" Standard ROM
  308. *Font Helvetica-Oblique: Standard "(001.002)" Standard ROM
  309. *Font NewCenturySchlbk-Bold: Standard "(001.002)" Standard ROM
  310. *Font NewCenturySchlbk-BoldItalic: Standard "(001.001)" Standard ROM
  311. *Font NewCenturySchlbk-Italic: Standard "(001.001)" Standard ROM
  312. *Font NewCenturySchlbk-Roman: Standard "(001.002)" Standard ROM
  313. *Font Palatino-Bold: Standard "(001.001)" Standard ROM
  314. *Font Palatino-BoldItalic: Standard "(001.001)" Standard ROM
  315. *Font Palatino-Italic: Standard "(001.002)" Standard ROM
  316. *Font Palatino-Roman: Standard "(001.001)" Standard ROM
  317. *Font Symbol: Special "(001.003)" Special ROM
  318. *Font Times-Bold: Standard "(001.002)" Standard ROM
  319. *Font Times-BoldItalic: Standard "(001.004)" Standard ROM
  320. *Font Times-Italic: Standard "(001.002)" Standard ROM
  321. *Font Times-Roman: Standard "(001.002)" Standard ROM
  322. *Font ZapfChancery-MediumItalic: Standard "(001.002)" Standard ROM
  323. *Font ZapfDingbats: Special "(001.000)" Special ROM
  324. *?FontQuery: "
  325. save
  326. /str 100 string dup 0 (fonts/) putinterval def
  327. { count 1 gt
  328. { exch dup str 6 94 getinterval cvs
  329. (/) print print (:) print
  330. FontDirectory exch known
  331. {(Yes)}{(No)} ifelse =
  332. }
  333. {exit} ifelse
  334. }bind loop
  335. (*) = flush
  336. restore
  337. "
  338. *End
  339. *?FontList: "save FontDirectory { pop == } bind forall flush (*) = flush restore"
  340. *% Printer Messages (verbatim from printer):
  341. *Message: "%% exitserver: permanent state may be changed %%"
  342. *Message: "%% Flushing: rest of job (to end-of-file) will be ignored %%"
  343. *Message: "FontName\ not found, using Courier"
  344. *% Status (format: %% status: <one of these> %% )
  345. *Status: "Printer Busy"
  346. *Status: "Warming Up"
  347. *Status: "PrinterError: Printer Offline"
  348. *Status: "PrinterError: Paper Out or Feed Failure - Tray 1"
  349. *Status: "PrinterError: Paper Out or Feed Failure - Tray 2"
  350. *Status: "PrinterError: Paper Out or Feed Failure - Envelope Feeder"
  351. *Status: "PrinterError: Load Paper Requested"
  352. *Status: "PrinterError: Load Envelope Requested"
  353. *Status: "PrinterError: Invalid Manual Insertion"
  354. *Status: "PrinterError: Wrong Paper Length"
  355. *Status: "PrinterError: Paper Jam"
  356. *Status: "PrinterError: Cover Open/Cartridge Not Installed"
  357. *Status: "PrinterError: Output Bin Full"
  358. *Status: "PrinterError: Default Storage Error"
  359. *Status: "PrinterError: Battery Low - Slot 1"
  360. *Status: "PrinterError: Battery Low - Slot 2"
  361. *Status: "PrinterError: Non-Download Font Card Installed - Slot 1"
  362. *Status: "PrinterError: Non-Download Font Card Installed - Slot 2"
  363. *Status: "PrinterError: Write-Protect Switch in Protect Position - Slot 1"
  364. *Status: "PrinterError: Write-Protect Switch in Protect Position - Slot 2"
  365. *Status: "PrinterError: Defective or Unprogrammed Card Installed - Slot 1"
  366. *Status: "PrinterError: Defective or Unprogrammed Card Installed - Slot 2"
  367. *Status: "PrinterError: Defective Font Card Installed - Slot 1"
  368. *Status: "PrinterError: Defective Font Card Installed - Slot 2"
  369. *Status: "PrinterError: Unsupported Card Installed - Slot 1"
  370. *Status: "PrinterError: Unsupported Card Installed - Slot 2"
  371. *Status: "PrinterError: Printer Busy"
  372. *Status: "PrinterError: Printer Error"
  373. *% Input Sources (format: %% status: <stat>; source: <one of these> %% )
  374. *Source: "serial9"
  375. *Source: "serial25"
  376. *Source: "Centronics"
  377. *% Printer Error (format: %% PrinterError: <one of these> %%)
  378. *PrinterError: "Printer Offline"
  379. *PrinterError: "Paper Out or Feed Failure - Tray 1"
  380. *PrinterError: "Paper Out or Feed Failure - Tray 2"
  381. *PrinterError: "Paper Out or Feed Failure - Envelope Feeder"
  382. *PrinterError: "Load Paper Requested"
  383. *PrinterError: "Load Envelope Requested"
  384. *PrinterError: "Invalid Manual Insertion"
  385. *PrinterError: "Wrong Paper Length"
  386. *PrinterError: "Paper Jam"
  387. *PrinterError: "Cover Open/Cartridge Not Installed"
  388. *PrinterError: "Output Bin Full"
  389. *PrinterError: "Default Storage Error"
  390. *PrinterError: "Battery Low - Slot 1"
  391. *PrinterError: "Battery Low - Slot 2"
  392. *PrinterError: "Non-Download Font Card Installed - Slot 1"
  393. *PrinterError: "Non-Download Font Card Installed - Slot 2"
  394. *PrinterError: "Write-Protect Switch in Protect Position - Slot 1"
  395. *PrinterError: "Write-Protect Switch in Protect Position - Slot 2"
  396. *PrinterError: "Defective or Unprogrammed Card Installed - Slot 1"
  397. *PrinterError: "Defective or Unprogrammed Card Installed - Slot 2"
  398. *PrinterError: "Defective Font Card Installed - Slot 1"
  399. *PrinterError: "Defective Font Card Installed - Slot 2"
  400. *PrinterError: "Unsupported Card Installed - Slot 1"
  401. *PrinterError: "Unsupported Card Installed - Slot 2"
  402. *PrinterError: "Printer Busy"
  403. *PrinterError: "Printer Error"
  404. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  405. *% === Color Separation Information =====================
  406. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  407. *InkName: ProcessBlack/Process Black
  408. *InkName: CustomColor/Custom Color
  409. *InkName: ProcessCyan/Process Cyan
  410. *InkName: ProcessMagenta/Process Magenta
  411. *InkName: ProcessYellow/Process Yellow
  412. *% For 60 lpi / 300 dpi ===============================
  413. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  414. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  415. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  416. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  417. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  418. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  419. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  420. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  421. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  422. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  423. *% For 53 lpi / 300 dpi ===============================
  424. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  425. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  426. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  427. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  428. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  429. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  430. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  431. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  432. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  433. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  434. *% End of PPD file for IBM LaserPrinter 4019