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.

350 lines
12 KiB

  1. *PPD-Adobe: "4.0"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% Copyright 1987-1993 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: "3.3"
  11. *PCFileName: "APPLE230.PPD"
  12. *LanguageVersion: English
  13. *Product: "(LaserWriter)"
  14. *PSVersion: "(23.0) 0"
  15. *ModelName: "Apple LaserWriter"
  16. *NickName: "Apple LaserWriter v23.0"
  17. *% General Information and Defaults ===============
  18. *ColorDevice: False
  19. *DefaultColorSpace: Gray
  20. *FreeVM: "173936"
  21. *LanguageLevel: "1"
  22. *VariablePaperSize: False
  23. *FileSystem: False
  24. *Throughput: "8"
  25. *Password: "0"
  26. *ExitServer: "
  27. count 0 eq { % is the password on the stack?
  28. true
  29. }{
  30. dup % potential password
  31. statusdict /checkpassword get exec not
  32. } ifelse
  33. { % if no password or not valid
  34. (WARNING : Cannot perform the exitserver command.) =
  35. (Password supplied is not valid.) =
  36. (Please contact the author of this software.) = flush
  37. quit
  38. } if
  39. serverdict /exitserver get exec
  40. "
  41. *End
  42. *Reset: "
  43. count 0 eq { % is the password on the stack?
  44. true
  45. }{
  46. dup % potential password
  47. statusdict /checkpassword get exec not
  48. } ifelse
  49. { % if no password or not valid
  50. (WARNING : Cannot reset printer.) =
  51. (Password supplied is not valid.) =
  52. (Please contact the author of this software.) = flush
  53. quit
  54. } if
  55. serverdict /exitserver get exec
  56. systemdict /quit get exec
  57. (WARNING : Printer Reset Failed.) = flush
  58. "
  59. *End
  60. *DefaultResolution: 300dpi
  61. *?Resolution: "
  62. save
  63. initgraphics
  64. 0 0 moveto currentpoint matrix defaultmatrix transform
  65. 0 72 lineto currentpoint matrix defaultmatrix transform
  66. 3 -1 roll sub dup mul
  67. 3 1 roll exch sub dup mul
  68. add sqrt round cvi
  69. ( ) cvs print (dpi) = flush
  70. restore
  71. "
  72. *End
  73. *% Halftone Information ===============
  74. *ScreenFreq: "60.0"
  75. *ScreenAngle: "45.0"
  76. *DefaultScreenProc: Dot
  77. *ScreenProc Dot: "
  78. {dup mul exch dup mul add 1.0 exch sub }
  79. "
  80. *End
  81. *ScreenProc Line: "{ pop }"
  82. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  83. *DefaultTransfer: Null
  84. *Transfer Null: "{ }"
  85. *Transfer Null.Inverse: "{ 1 exch sub }"
  86. *% Paper Handling ===================
  87. *% Use these entries to set paper size most of the time, unless there is
  88. *% specific reason to use PageRegion.
  89. *OpenUI *PageSize: PickOne
  90. *OrderDependency: 30 AnySetup *PageSize
  91. *DefaultPageSize: Letter
  92. *PageSize Letter/US Letter: "letter"
  93. *PageSize Legal/US Legal: "legal"
  94. *PageSize LetterSmall/US Letter Small: "lettersmall"
  95. *PageSize LegalSmall/US Legal Small: "legal"
  96. *PageSize A4: "a4"
  97. *PageSize Monarch/Monarch Envelope Edge Fed: "letter"
  98. *PageSize Com10/Com10 Envelope Edge Fed: "letter"
  99. *?PageSize: "
  100. save
  101. [(Letter)(Legal)] statusdict /pagetype get exec
  102. {get} stopped { pop pop (Unknown)} if = flush
  103. restore
  104. "
  105. *End
  106. *CloseUI: *PageSize
  107. *% These entries will set up the frame buffer. Usually used with manual feed.
  108. *OpenUI *PageRegion: PickOne
  109. *OrderDependency: 40 AnySetup *PageRegion
  110. *DefaultPageRegion: Letter
  111. *PageRegion Letter/US Letter: "letter"
  112. *PageRegion Legal/US Legal: "legal"
  113. *PageRegion LetterSmall/US Letter Small: "lettersmall"
  114. *PageRegion LegalSmall/US Legal Small: "legal"
  115. *PageRegion A4: "a4"
  116. *PageRegion Monarch/Monarch Envelope Edge Fed: "letter"
  117. *PageRegion Com10/Com10 Envelope Edge Fed: "letter"
  118. *CloseUI: *PageRegion
  119. *% The following entries provide information about specific paper keywords.
  120. *DefaultImageableArea: Letter
  121. *ImageableArea Letter/US Letter: "18 8 593 784 "
  122. *ImageableArea Legal/US Legal: "65 37 547 972 "
  123. *ImageableArea LetterSmall/US Letter Small: "31 31 583 761 "
  124. *ImageableArea LegalSmall/US Legal Small: "64 54 548 954 "
  125. *ImageableArea A4:"17 22 578 820 "
  126. *ImageableArea Monarch/Monarch Envelope Edge Fed: "19 269 274 773 "
  127. *ImageableArea Com10/Com10 Envelope Edge Fed: "19 125 292 773 "
  128. *?ImageableArea: "
  129. save
  130. /cvp {( ) cvs print ( ) print } bind def
  131. /upperright {10000 mul floor 10000 div} bind def
  132. /lowerleft {10000 mul ceiling 10000 div} bind def
  133. newpath clippath pathbbox
  134. 4 -2 roll exch 2 {lowerleft cvp} repeat
  135. exch 2 {upperright cvp} repeat flush
  136. restore
  137. "
  138. *End
  139. *% These provide the physical dimensions of the paper (by keyword)
  140. *DefaultPaperDimension: Letter
  141. *PaperDimension Letter/US Letter: "612 792"
  142. *PaperDimension Legal/US Legal: "612 1008"
  143. *PaperDimension LetterSmall/US Letter Small: "612 792"
  144. *PaperDimension LegalSmall/US Legal Small: "612 1008"
  145. *PaperDimension A4: "595 842"
  146. *PaperDimension Monarch/Monarch Envelope Edge Fed: "611 792"
  147. *PaperDimension Com10/Com10 Envelope Edge Fed: "610 792"
  148. *RequiresPageRegion All: True
  149. *OpenUI *InputSlot: PickOne
  150. *OrderDependency: 20 AnySetup *InputSlot
  151. *DefaultInputSlot: Cassette
  152. *InputSlot Cassette: ""
  153. *CloseUI: *InputSlot
  154. *OpenUI *ManualFeed/Manual Feed: Boolean
  155. *OrderDependency: 20 AnySetup *ManualFeed
  156. *DefaultManualFeed: False
  157. *ManualFeed True: "statusdict /manualfeed true put"
  158. *ManualFeed False: "statusdict /manualfeed false put"
  159. *?ManualFeed: "
  160. save
  161. statusdict /manualfeed get {(True)}{(False)}ifelse = flush
  162. restore
  163. "
  164. *End
  165. *CloseUI: *ManualFeed
  166. *DefaultOutputOrder: Reverse
  167. *% Font Information =====================
  168. *DefaultFont: Courier
  169. *Font Courier-Bold: Standard "(001.000)" Standard ROM
  170. *Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
  171. *Font Courier-Oblique: Standard "(001.000)" Standard ROM
  172. *Font Helvetica: Standard "(001.001)" Standard ROM
  173. *Font Helvetica-Bold: Standard "(001.001)" Standard ROM
  174. *Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
  175. *Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
  176. *Font Symbol: Special "(001.001)" Special ROM
  177. *Font Times-Bold: Standard "(001.001)" Standard ROM
  178. *Font Times-BoldItalic: Standard "(001.001)" Standard ROM
  179. *Font Times-Italic: Standard "(001.001)" Standard ROM
  180. *Font Times-Roman: Standard "(001.000)" Standard ROM
  181. *?FontQuery: "
  182. save
  183. /str 100 string dup 0 (fonts/) putinterval def
  184. {
  185. count 1 gt
  186. {
  187. exch dup str 6 94 getinterval cvs
  188. (/) print print (:) print
  189. FontDirectory exch known
  190. {(Yes)}{(No)} ifelse =
  191. }
  192. {exit} ifelse
  193. }bind loop
  194. (*) = flush
  195. restore
  196. "
  197. *End
  198. *?FontList: "
  199. save
  200. FontDirectory { pop == } bind flush forall (*) = flush
  201. restore
  202. "
  203. *End
  204. *% Printer Messages (verbatim from printer):
  205. *Message: "%%[ exitserver: permanent state may be changed ]%%"
  206. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  207. *Message: "\FontName\ not found, using Courier"
  208. *% Status (format: %%[ status: <one of these> ]%% )
  209. *Status: "idle"
  210. *Status: "busy"
  211. *Status: "waiting"
  212. *Status: "printing"
  213. *Status: "PrinterError: timeout, clearing printer"
  214. *Status: "PrinterError: timeout"
  215. *Status: "PrinterError: paper entry misfeed"
  216. *Status: "PrinterError: no toner cartridge"
  217. *Status: "PrinterError: service call"
  218. *Status: "PrinterError: paper entry misfeed"
  219. *Status: "PrinterError: no paper tray"
  220. *Status: "PrinterError: out of paper"
  221. *Status: "PrinterError: cover open"
  222. *Status: "PrinterError: resetting printer"
  223. *Status: "PrinterError: manual feed timeout"
  224. *Status: "PrinterError: warming up"
  225. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  226. *Source: "serial9"
  227. *Source: "serial25"
  228. *Source: "AppleTalk"
  229. *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
  230. *PrinterError: "timeout, clearing printer"
  231. *PrinterError: "timeout"
  232. *PrinterError: "paper entry misfeed"
  233. *PrinterError: "no toner cartridge"
  234. *PrinterError: "service call"
  235. *PrinterError: "paper entry misfeed"
  236. *PrinterError: "no paper tray"
  237. *PrinterError: "out of paper"
  238. *PrinterError: "cover open"
  239. *PrinterError: "resetting printer"
  240. *PrinterError: "manual feed timeout"
  241. *PrinterError: "warming up"
  242. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  243. *% Color Separation Information =====================
  244. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  245. *InkName: ProcessBlack/Process Black
  246. *InkName: CustomColor/Custom Color
  247. *InkName: ProcessCyan/Process Cyan
  248. *InkName: ProcessMagenta/Process Magenta
  249. *InkName: ProcessYellow/Process Yellow
  250. *% For 60 lpi / 300 dpi =====================================================
  251. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  252. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  253. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  254. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  255. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  256. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  257. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  258. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  259. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  260. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  261. *% For 53 lpi / 300 dpi =====================================================
  262. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  263. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  264. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  265. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  266. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  267. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  268. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  269. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  270. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  271. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  272. *% This patch file inserts a delay before manualfeed to fix a bug
  273. *% in the version 23 LaserWriter.
  274. *JobPatchFile 1/ManualFeedDelay: "
  275. save
  276. /version23-manualfeedpatch where { pop false } { true }ifelse
  277. % we don't do an explicit 'get' since product and version MAY
  278. % be in systemdict or statusdict - this technique gets the lookup
  279. % without failure
  280. statusdict begin
  281. product (LaserWriter) eq % true if LaserWriter
  282. version cvr 23.0 eq % true if version 23
  283. end
  284. and % only install this patch if both are true
  285. and % true only if patch is not installed and is for this printer
  286. % save object and boolean on stack
  287. dup { exch restore }if
  288. % either true OR saveobject false
  289. dup
  290. {
  291. /version23-manualfeedpatch true def
  292. /oldversion23-showpage /showpage load def
  293. /showpage % this showpage will wait extra time if manualfeed is true
  294. {%
  295. statusdict /manualfeed known
  296. {% manualfeed known in statusdict
  297. statusdict /manualfeed get
  298. {% if true then we loop for 5 seconds
  299. usertime 5000 add % target usertime
  300. { % loop
  301. dup usertime sub 0 lt
  302. { exit }if
  303. }loop
  304. pop % pop the usertime off the stac
  305. }if
  306. }if
  307. oldversion23-showpage
  308. }bind def
  309. }if
  310. not{ restore }if
  311. "
  312. *End
  313. *% For "LaserWriter" version 23.0
  314. *% Produced by "GETapd.ps" version 2.0 edit 45
  315. *% Converted to meet 4.0 specification
  316. *% Last Edit Date: Aug 11 1993
  317. *% The byte count of this file should be exactly 011416 or 011766
  318. *% depending on the filesystem it resides in.
  319. *% end of PPD file for LaserWriter