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.

445 lines
18 KiB

  1. *PPD-Adobe: "4.0"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% Copyright 1987-1992 Adobe Systems Incorporated.
  4. *% All Rights Reserved.
  5. *% Permission is granted for redistribution of this file as
  6. *% long as this copyright notice is intact and the contents
  7. *% of the file is not altered in any way from its original form.
  8. *% End of Copyright statement
  9. *FormatVersion: "4.0"
  10. *FileVersion: "2.1"
  11. *PCFileName: "IBM20470.PPD"
  12. *LanguageVersion: English
  13. *Product: "(IBM Personal Pageprinter)"
  14. *PSVersion: "(47.0) 14"
  15. *ModelName: "IBM 4216-020"
  16. *NickName: "IBM 4216-020 v47.0"
  17. *% General Information and Defaults ===============
  18. *ColorDevice: False
  19. *DefaultColorSpace: Gray
  20. *FreeVM: "432134"
  21. *LanguageLevel: "1"
  22. *VariablePaperSize: False
  23. *FileSystem: False
  24. *Throughput: "6"
  25. *Password: "0"
  26. *ExitServer: "
  27. count 0 eq % is the password on the stack?
  28. { true }
  29. { dup % potential password
  30. statusdict /checkpassword get exec not
  31. } ifelse
  32. { % if no password or not valid
  33. (WARNING : Cannot perform the exitserver command.) =
  34. (Password supplied is not valid.) =
  35. (Please contact the author of this software.) = flush
  36. quit
  37. } if
  38. serverdict /exitserver get exec
  39. "
  40. *End
  41. *%Reset not available by PostScript software
  42. *DefaultResolution: 300dpi
  43. *?Resolution: "
  44. save
  45. initgraphics
  46. 0 0 moveto currentpoint matrix defaultmatrix transform
  47. 0 72 lineto currentpoint matrix defaultmatrix transform
  48. 3 -1 roll sub dup mul
  49. 3 1 roll exch sub dup mul
  50. add sqrt round cvi
  51. ( ) cvs print (dpi) = flush
  52. restore
  53. "
  54. *End
  55. *% Halftone Information ===============
  56. *ScreenFreq: "60.0"
  57. *ScreenAngle: "45.0"
  58. *DefaultScreenProc: Dot
  59. *ScreenProc Dot: "
  60. {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1
  61. sub }{dup mul exch dup mul add 1 exch sub }ifelse }
  62. "
  63. *End
  64. *ScreenProc Line: "{ pop }"
  65. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  66. *DefaultTransfer: Null
  67. *Transfer Null: "{ }"
  68. *Transfer Null.Inverse: "{ 1 exch sub }"
  69. *% Paper Handling ===================
  70. *% Use these entries to set paper size most of the time, unless there is
  71. *% specific reason to use PageRegion.
  72. *OpenUI *PageSize: PickOne
  73. *OrderDependency: 30 AnySetup *PageSize
  74. *DefaultPageSize: Letter
  75. *PageSize Letter: "letter"
  76. *PageSize Legal: "legal"
  77. *PageSize A4: "a4"
  78. *PageSize A5: "a5"
  79. *PageSize B5: "b5"
  80. *PageSize Statement: "statement"
  81. *PageSize Envelope.612.792/Letter Envelope: "
  82. statusdict /envelopewidth 612 put statusdict /envelopeheight 792 put envelope"
  83. *End
  84. *PageSize Envelope.612.1008/Legal Envelope: "
  85. statusdict /envelopewidth 612 put statusdict /envelopeheight 1008 put envelope"
  86. *End
  87. *PageSize Envelope.396.612/Statement Envelope: "
  88. statusdict /envelopewidth 396 put statusdict /envelopeheight 612 put envelope"
  89. *End
  90. *PageSize Envelope.595.842/A4 Envelope: "
  91. statusdict /envelopewidth 595 put statusdict /envelopeheight 842 put envelope"
  92. *End
  93. *PageSize Envelope.420.595/A5 Envelope: "
  94. statusdict /envelopewidth 420 put statusdict /envelopeheight 595 put envelope"
  95. *End
  96. *PageSize Envelope.516.729/B5 Envelope: "
  97. statusdict /envelopewidth 516 put statusdict /envelopeheight 729 put envelope"
  98. *End
  99. *PageSize Envelope.567.903/Folio Envelope: "
  100. statusdict /envelopewidth 567 put statusdict /envelopeheight 903 put envelope"
  101. *End
  102. *PageSize Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "
  103. statusdict /envelopewidth 279 put statusdict /envelopeheight 639 put envelope"
  104. *End
  105. *PageSize Comm10/4 1/8 Inch x 9 1/2 Inch Envelope: "
  106. statusdict /envelopewidth 297 put statusdict /envelopeheight 684 put envelope"
  107. *End
  108. *PageSize Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "
  109. statusdict /envelopewidth 324 put statusdict /envelopeheight 747 put envelope"
  110. *End
  111. *PageSize Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "
  112. statusdict /envelopewidth 342 put statusdict /envelopeheight 792 put envelope"
  113. *End
  114. *PageSize Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "
  115. statusdict /envelopewidth 360 put statusdict /envelopeheight 828 put envelope"
  116. *End
  117. *PageSize Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "
  118. statusdict /envelopewidth 468 put statusdict /envelopeheight 684 put envelope"
  119. *End
  120. *PageSize Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "
  121. statusdict /envelopewidth 540 put statusdict /envelopeheight 756 put envelope"
  122. *End
  123. *PageSize Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "
  124. statusdict /envelopewidth 630 put statusdict /envelopeheight 810 put envelope"
  125. *End
  126. *?PageSize: "
  127. save
  128. 12 dict
  129. dup /letter (Letter) put
  130. dup /legal (Legal) put
  131. dup /a4 (A4) put
  132. dup /a5 (A5) put
  133. dup /b5 (B5) put
  134. dup /statement (Statement) put
  135. dup /envelope (Envelope) put
  136. statusdict /papersize get exec
  137. 3 1 roll {get} stopped {(Unknown)}if
  138. exch not { print (.Transverse) }if
  139. = flush
  140. restore
  141. "
  142. *End
  143. *CloseUI: *PageSize
  144. *% These entries will set up the frame buffer. Usually used with manual feed.
  145. *OpenUI *PageRegion: PickOne
  146. *OrderDependency: 40 AnySetup *PageRegion
  147. *DefaultPageRegion: Letter
  148. *PageRegion Letter: "letter"
  149. *PageRegion Legal: "legal"
  150. *PageRegion A4: "a4"
  151. *PageRegion A5: "a5"
  152. *PageRegion B5: "b5"
  153. *PageRegion Statement: "statement"
  154. *PageRegion Envelope.612.792/Letter Envelope: "
  155. statusdict /envelopewidth 612 put statusdict /envelopeheight 792 put envelope"
  156. *End
  157. *PageRegion Envelope.612.1008/Legal Envelope: "
  158. statusdict /envelopewidth 612 put statusdict /envelopeheight 1008 put envelope"
  159. *End
  160. *PageRegion Envelope.396.612/Statement Envelope: "
  161. statusdict /envelopewidth 396 put statusdict /envelopeheight 612 put envelope"
  162. *End
  163. *PageRegion Envelope.595.842/A4 Envelope: "
  164. statusdict /envelopewidth 595 put statusdict /envelopeheight 842 put envelope"
  165. *End
  166. *PageRegion Envelope.420.595/A5 Envelope: "
  167. statusdict /envelopewidth 420 put statusdict /envelopeheight 595 put envelope"
  168. *End
  169. *PageRegion Envelope.516.729/B5 Envelope: "
  170. statusdict /envelopewidth 516 put statusdict /envelopeheight 729 put envelope"
  171. *End
  172. *PageRegion Envelope.567.903/Folio Envelope: "
  173. statusdict /envelopewidth 567 put statusdict /envelopeheight 903 put envelope"
  174. *End
  175. *PageRegion Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "
  176. statusdict /envelopewidth 279 put statusdict /envelopeheight 639 put envelope"
  177. *End
  178. *PageRegion Comm10/4 1/8 Inch x 9 1/2 Inch Envelope: "
  179. statusdict /envelopewidth 297 put statusdict /envelopeheight 684 put envelope"
  180. *End
  181. *PageRegion Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "
  182. statusdict /envelopewidth 324 put statusdict /envelopeheight 747 put envelope"
  183. *End
  184. *PageRegion Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "
  185. statusdict /envelopewidth 342 put statusdict /envelopeheight 792 put envelope"
  186. *End
  187. *PageRegion Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "
  188. statusdict /envelopewidth 360 put statusdict /envelopeheight 828 put envelope"
  189. *End
  190. *PageRegion Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "
  191. statusdict /envelopewidth 468 put statusdict /envelopeheight 684 put envelope"
  192. *End
  193. *PageRegion Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "
  194. statusdict /envelopewidth 540 put statusdict /envelopeheight 756 put envelope"
  195. *End
  196. *PageRegion Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "
  197. statusdict /envelopewidth 630 put statusdict /envelopeheight 810 put envelope"
  198. *End
  199. *CloseUI: *PageRegion
  200. *% The following entries provide information about specific paper keywords.
  201. *DefaultImageableArea: Letter
  202. *ImageableArea Letter: "17 19 595 774 "
  203. *ImageableArea Legal: "17 19 595 990 "
  204. *ImageableArea A4: "18 19 577 823 "
  205. *ImageableArea A5: "18 19 401 577 "
  206. *ImageableArea B5: "18 19 481 690 "
  207. *ImageableArea Statement: "18 19 378 594 "
  208. *ImageableArea Envelope.612.792/Letter Envelope: "15 8 597 784 "
  209. *ImageableArea Envelope.612.1008/Legal Envelope: "15 15 597 993 "
  210. *ImageableArea Envelope.396.612/Statement Envelope: "14 8 382 604 "
  211. *ImageableArea Envelope.595.842/A4 Envelope: "14 8 581 834 "
  212. *ImageableArea Envelope.420.595/A5 Envelope: "15 8 405 588 "
  213. *ImageableArea Envelope.516.729/B5 Envelope: "13 8 503 721 "
  214. *ImageableArea Envelope.567.903/Folio Envelope: "14 8 581 928 "
  215. *ImageableArea Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "13 15 266 624 "
  216. *ImageableArea Comm10/4 1/8 Inch x 9 1/2 Inch Envelope: "15 15 282 669 "
  217. *ImageableArea Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "17 15 307 732 "
  218. *ImageableArea Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "14 15 328 777 "
  219. *ImageableArea Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "15 15 344 813 "
  220. *ImageableArea Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "16 15 452 669 "
  221. *ImageableArea Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "13 15 527 741 "
  222. *ImageableArea Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "16 15 614 795 "
  223. *?ImageableArea: "
  224. save
  225. /cvp {( ) cvs print ( ) print } bind def
  226. /upperright {10000 mul floor 10000 div} bind def
  227. /lowerleft {10000 mul ceiling 10000 div} bind def
  228. newpath clippath pathbbox
  229. 4 -2 roll exch 2 {lowerleft cvp} repeat
  230. exch 2 {upperright cvp} repeat flush
  231. restore
  232. "
  233. *End
  234. *% These provide the physical dimensions of the paper (by keyword)
  235. *DefaultPaperDimension: Letter
  236. *PaperDimension Letter: "612 792"
  237. *PaperDimension Legal: "612 1008"
  238. *PaperDimension A4: "595 842"
  239. *PaperDimension A5: "420 595"
  240. *PaperDimension B5: "516 729"
  241. *PaperDimension Statement: "396 612"
  242. *PaperDimension Envelope.612.792/Letter Envelope: "612 792"
  243. *PaperDimension Envelope.612.1008/Legal Envelope: "612 1008"
  244. *PaperDimension Envelope.396.612/Statement Envelope: "396 612"
  245. *PaperDimension Envelope.595.842/A4 Envelope: "595 842"
  246. *PaperDimension Envelope.420.595/A5 Envelope: "420 595"
  247. *PaperDimension Envelope.516.729/B5 Envelope: "516 729"
  248. *PaperDimension Envelope.567.903/Folio Envelope: "567 903"
  249. *PaperDimension Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "279 639"
  250. *PaperDimension Comm10/4 1/8 Inch x 9 1/2 Inch Envelope: "297 684"
  251. *PaperDimension Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "324 747"
  252. *PaperDimension Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "342 792"
  253. *PaperDimension Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "360 828"
  254. *PaperDimension Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "468 684"
  255. *PaperDimension Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "540 756"
  256. *PaperDimension Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "630 810"
  257. *RequiresPageRegion All: True
  258. *OpenUI *InputSlot: PickOne
  259. *OrderDependency: 20 AnySetup *InputSlot
  260. *DefaultInputSlot: Cassette
  261. *InputSlot Cassette: ""
  262. *CloseUI: *InputSlot
  263. *DefaultOutputOrder: Normal
  264. *% Font Information =====================
  265. *DefaultFont: Courier
  266. *Font AvantGarde-Book: Standard "(001.002)" Standard ROM
  267. *Font AvantGarde-BookOblique: Standard "(001.002)" Standard ROM
  268. *Font AvantGarde-Demi: Standard "(001.002)" Standard ROM
  269. *Font AvantGarde-DemiOblique: Standard "(001.002)" Standard ROM
  270. *Font Bookman-Demi: Standard "(001.001)" Standard ROM
  271. *Font Bookman-DemiItalic: Standard "(001.001)" Standard ROM
  272. *Font Bookman-Light: Standard "(001.001)" Standard ROM
  273. *Font Bookman-LightItalic: Standard "(001.001)" Standard ROM
  274. *Font Courier: Standard "(001.004)" Standard ROM
  275. *Font Courier-Bold: Standard "(001.004)" Standard ROM
  276. *Font Courier-BoldOblique: Standard "(001.004)" Standard ROM
  277. *Font Courier-Oblique: Standard "(001.004)" Standard ROM
  278. *Font Emulatorfont: Special "(001.000)" Special ROM
  279. *Font Emulatorfont-Bold: Special "(001.000)" Special ROM
  280. *Font Garamond-Bold: Standard "(001.001)" Standard ROM
  281. *Font Garamond-BoldItalic: Standard "(001.001)" Standard ROM
  282. *Font Garamond-Light: Standard "(001.001)" Standard ROM
  283. *Font Garamond-LightItalic: Standard "(001.001)" Standard ROM
  284. *Font Helvetica: Standard "(001.002)" Standard ROM
  285. *Font Helvetica-Black: Standard "(001.001)" Standard ROM
  286. *Font Helvetica-BlackOblique: Standard "(001.001)" Standard ROM
  287. *Font Helvetica-Bold: Standard "(001.002)" Standard ROM
  288. *Font Helvetica-BoldOblique: Standard "(001.002)" Standard ROM
  289. *Font Helvetica-Light: Standard "(001.001)" Standard ROM
  290. *Font Helvetica-LightOblique: Standard "(001.001)" Standard ROM
  291. *Font Helvetica-Oblique: Standard "(001.002)" Standard ROM
  292. *Font Korinna-Bold: Standard "(001.001)" Standard ROM
  293. *Font Korinna-KursivBold: Standard "(001.001)" Standard ROM
  294. *Font Korinna-KursivRegular: Standard "(001.001)" Standard ROM
  295. *Font Korinna-Regular: Standard "(001.001)" Standard ROM
  296. *Font NewCenturySchlbk-Bold: Standard "(001.003)" Standard ROM
  297. *Font NewCenturySchlbk-BoldItalic: Standard "(001.002)" Standard ROM
  298. *Font NewCenturySchlbk-Italic: Standard "(001.002)" Standard ROM
  299. *Font NewCenturySchlbk-Roman: Standard "(001.003)" Standard ROM
  300. *Font Palatino-Bold: Standard "(001.001)" Standard ROM
  301. *Font Palatino-BoldItalic: Standard "(001.001)" Standard ROM
  302. *Font Palatino-Italic: Standard "(001.001)" Standard ROM
  303. *Font Palatino-Roman: Standard "(001.001)" Standard ROM
  304. *Font Symbol: Special "(001.003)" Special ROM
  305. *Font Times-Bold: Standard "(001.002)" Standard ROM
  306. *Font Times-BoldItalic: Standard "(001.004)" Standard ROM
  307. *Font Times-Italic: Standard "(001.002)" Standard ROM
  308. *Font Times-Roman: Standard "(001.002)" Standard ROM
  309. *Font ZapfChancery-MediumItalic: Standard "(001.002)" Standard ROM
  310. *Font ZapfDingbats: Special "(001.001)" Special ROM
  311. *?FontQuery: "
  312. save
  313. /str (fonts/ ) def
  314. /st2 128 string def
  315. {
  316. count 0 gt
  317. {
  318. dup st2 cvs (/) print print (:) print
  319. dup FontDirectory exch known
  320. {pop (Yes)}
  321. {
  322. statusdict /FontTranslateDict known not
  323. { pop (No) }
  324. {
  325. /tdict statusdict /FontTranslateDict get def
  326. dup tdict exch known not
  327. {pop (No)}
  328. {
  329. str exch tdict exch get dup length /len exch def
  330. 6 exch putinterval str 0 len 6 add getinterval
  331. mark exch status
  332. {cleartomark (Yes)}{cleartomark (No)}ifelse
  333. }ifelse % name on stack known in tdict
  334. }ifelse % FontTranslateDict exists
  335. }ifelse % known in FontDirectory
  336. = flush
  337. }{ exit } ifelse % stack nonempty
  338. } bind loop
  339. (*) = flush
  340. restore
  341. "
  342. *End
  343. *?FontList: "
  344. save
  345. /str (fonts/ ) def
  346. FontDirectory { pop == } forall flush
  347. statusdict /FontTranslateDict known {
  348. statusdict /FontTranslateDict get {
  349. FontDirectory 2 index known {
  350. pop pop
  351. }{
  352. str exch dup length /len exch def
  353. 6 exch putinterval str 0 len 6 add getinterval
  354. mark exch status {cleartomark ==}{cleartomark pop}ifelse
  355. } ifelse % already in FontDirectory
  356. } forall % FontTranslateDict
  357. } if % FontTranslateDict known
  358. (*) = flush
  359. restore
  360. "
  361. *End
  362. *% Printer Messages (verbatim from printer):
  363. *Message: "%%[ exitserver: recording persistent data ]%%"
  364. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  365. *Message: "\FontName\ not found, using Courier."
  366. *% Status (format: %%[ status: <one of these> ]%% )
  367. *Status: "idle"
  368. *Status: "busy"
  369. *Status: "waiting"
  370. *Status: "printing"
  371. *Status: "PrinterError: not responding"
  372. *Status: "PrinterError: requires attention"
  373. *Status: "PrinterError: unknown"
  374. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  375. *Source: "Centronics"
  376. *% the following format reflects a bug in revision 14 that
  377. *% reverses the bracket and percents
  378. *% Printer Error (format: [%% PrinterError: <one of these> %%])
  379. *PrinterError: "not responding"
  380. *PrinterError: "requires attention"
  381. *PrinterError: "unknown"
  382. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  383. *% Color Separation Information =====================
  384. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  385. *InkName: ProcessBlack/Process Black
  386. *InkName: CustomColor/Custom Color
  387. *InkName: ProcessCyan/Process Cyan
  388. *InkName: ProcessMagenta/Process Magenta
  389. *InkName: ProcessYellow/Process Yellow
  390. *% For 60 lpi / 300 dpi =====================================================
  391. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  392. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  393. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  394. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  395. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  396. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  397. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  398. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  399. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  400. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  401. *% For 53 lpi / 300 dpi =====================================================
  402. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  403. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  404. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  405. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  406. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  407. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  408. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  409. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  410. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  411. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  412. *% For "IBM Personal Pageprinter" version 47.0
  413. *% Produced by "GETapd.ps" version 2.0 edit 48
  414. *% Converted to meet 4.0 specification
  415. *% Last Edit Date: Sep 15 1992
  416. *% The byte count of this file should be exactly 017611 or 018056
  417. *% depending on the filesystem it resides in.
  418. *% end of PPD file for IBM 4216-020