home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / d / d423_liu / 13.ddi / IBM39523.PP_ / IBM39523.PP
Encoding:
PostScript Printer Description  |  1993-07-24  |  16.7 KB  |  447 lines

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