2 *% Adobe Systems PostScript(R) Printer Description File
\r
3 *% Copyright 1987-1993 Adobe Systems Incorporated.
\r
4 *% All Rights Reserved.
\r
5 *% Permission is granted for redistribution of this file as
\r
6 *% long as this copyright notice is intact and the contents
\r
7 *% of the file is not altered in any way from its original form.
\r
8 *% End of Copyright statement
\r
9 *FormatVersion: "4.0"
\r
11 *LanguageVersion: English
\r
12 *PCFileName: "APLW3101.PPD"
\r
13 *Product: "(LaserWriter-Select 310)"
\r
14 *PSVersion: "(52.5) 0"
\r
15 *ModelName: "Apple LaserWriter-Select 310"
\r
16 *NickName: "LaserWriter-Select 310 v52.5"
\r
18 *% === Options and Constraints =========
\r
19 *OpenGroup: InstallableOptions/Options Installed
\r
20 *OpenUI *Option1/Memory Configuration: PickOne
\r
21 *DefaultOption1: None
\r
22 *Option1 None/Standard 1.5 MB RAM: ""
\r
23 *Option1 2.5Meg/2.5 MB Upgrade: ""
\r
24 *Option1 5.5Meg/5.5 MB Upgrade: ""
\r
27 *OpenUI *Option2/Optional Cassette: Boolean
\r
28 *DefaultOption2: False
\r
29 *Option2 True/Installed: ""
\r
30 *Option2 False/Not Installed: ""
\r
33 *OpenUI *Option3/Optional Multipurpose Tray: Boolean
\r
34 *DefaultOption3: False
\r
35 *Option3 True/Installed: ""
\r
36 *Option3 False/Not Installed: ""
\r
38 *CloseGroup: InstallableOptions
\r
40 *UIConstraints: *Option2 False *InputSlot Lower
\r
41 *UIConstraints: *Option3 False *InputSlot Multipurpose
\r
43 *UIConstraints: *InputSlot Upper *PageSize Com10
\r
44 *UIConstraints: *InputSlot Upper *PageSize Monarch
\r
45 *UIConstraints: *InputSlot Upper *PageSize DL
\r
46 *UIConstraints: *InputSlot Upper *PageSize C5
\r
47 *UIConstraints: *PageSize Com10 *InputSlot Upper
\r
48 *UIConstraints: *PageSize Monarch *InputSlot Upper
\r
49 *UIConstraints: *PageSize DL *InputSlot Upper
\r
50 *UIConstraints: *PageSize C5 *InputSlot Upper
\r
51 *UIConstraints: *InputSlot Lower *PageSize Com10
\r
52 *UIConstraints: *InputSlot Lower *PageSize Monarch
\r
53 *UIConstraints: *InputSlot Lower *PageSize DL
\r
54 *UIConstraints: *InputSlot Lower *PageSize C5
\r
55 *UIConstraints: *PageSize Com10 *InputSlot Lower
\r
56 *UIConstraints: *PageSize Monarch *InputSlot Lower
\r
57 *UIConstraints: *PageSize DL *InputSlot Lower
\r
58 *UIConstraints: *PageSize C5 *InputSlot Lower
\r
60 *UIConstraints: *InputSlot Upper *PageRegion Com10
\r
61 *UIConstraints: *InputSlot Upper *PageRegion Monarch
\r
62 *UIConstraints: *InputSlot Upper *PageRegion DL
\r
63 *UIConstraints: *InputSlot Upper *PageRegion C5
\r
64 *UIConstraints: *PageRegion Com10 *InputSlot Upper
\r
65 *UIConstraints: *PageRegion Monarch *InputSlot Upper
\r
66 *UIConstraints: *PageRegion DL *InputSlot Upper
\r
67 *UIConstraints: *PageRegion C5 *InputSlot Upper
\r
68 *UIConstraints: *InputSlot Lower *PageRegion Com10
\r
69 *UIConstraints: *InputSlot Lower *PageRegion Monarch
\r
70 *UIConstraints: *InputSlot Lower *PageRegion DL
\r
71 *UIConstraints: *InputSlot Lower *PageRegion C5
\r
72 *UIConstraints: *PageRegion Com10 *InputSlot Lower
\r
73 *UIConstraints: *PageRegion Monarch *InputSlot Lower
\r
74 *UIConstraints: *PageRegion DL *InputSlot Lower
\r
75 *UIConstraints: *PageRegion C5 *InputSlot Lower
\r
77 *% ==== Device Capabilities ===============
\r
81 *VMOption None/Standard 1.5 MB RAM: "203912"
\r
82 *VMOption 2.5Meg/2.5 MB Upgrade: "965220"
\r
83 *VMOption 5.5Meg/5.5 MB Upgrade: "3992948"
\r
85 *DefaultColorSpace: Gray
\r
86 *VariablePaperSize: False
\r
91 count 0 eq { % is the password on the stack?
\r
93 { dup % potential password
\r
94 statusdict /checkpassword get exec not
\r
96 { % if no password or not valid
\r
97 (WARNING : Cannot perform the exitserver command.) =
\r
98 (Password supplied is not valid.) =
\r
99 (Please contact the author of this software.) = flush
\r
102 serverdict /exitserver get exec
\r
106 count 0 eq { % is the password on the stack?
\r
108 { dup % potential password
\r
109 statusdict /checkpassword get exec not
\r
111 { % if no password or not valid
\r
112 (WARNING : Cannot reset printer.) =
\r
113 (Password supplied is not valid.) =
\r
114 (Please contact the author of this software.) = flush
\r
117 serverdict /exitserver get exec
\r
118 systemdict /quit get exec
\r
119 (WARNING : Printer Reset Failed.) = flush
\r
122 *DefaultResolution: 300dpi
\r
126 matrix defaultmatrix dup
\r
127 0 get dup mul exch 1 get dup mul add sqrt
\r
129 ( ) cvs print (dpi) = flush
\r
134 *% Halftone Information ===============
\r
135 *ScreenFreq: "60.0"
\r
136 *ScreenAngle: "45.0"
\r
137 *DefaultScreenProc: Dot
\r
139 { abs exch abs 2 copy add
\r
140 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub }
\r
141 { dup mul exch dup mul add 1 exch sub } ifelse }
\r
144 *ScreenProc Line: "{ pop }"
\r
145 *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
\r
147 *DefaultTransfer: Null
\r
148 *Transfer Null: "{ }"
\r
149 *Transfer Null.Inverse: "{ 1 exch sub }"
\r
151 *% Paper Handling ===================
\r
152 *% Code in this section selects a tray and sets up a frame buffer.
\r
153 *OpenUI *PageSize: PickOne
\r
154 *OrderDependency: 30 AnySetup *PageSize
\r
155 *DefaultPageSize: Letter
\r
156 *PageSize Letter/US Letter: "statusdict begin lettertray end"
\r
157 *PageSize Legal/US Legal: "statusdict begin legaltray end"
\r
158 *PageSize A4: "statusdict begin a4tray end"
\r
159 *PageSize A5: "statusdict begin a5tray end"
\r
160 *PageSize B5: "statusdict begin b5tray end"
\r
161 *PageSize LetterSmall/US Letter Small: "statusdict begin lettertray end"
\r
162 *PageSize LegalSmall/US Legal Small: "statusdict begin legaltray end"
\r
163 *PageSize A4Small/A4 Small: "statusdict begin a4tray end"
\r
164 *PageSize Executive: "statusdict begin executivetray end"
\r
165 *PageSize Com10/Com10 Envelope: "statusdict begin com10tray end"
\r
166 *PageSize Monarch/Monarch Envelope: "statusdict begin monarchtray end"
\r
167 *PageSize C5/C5 Envelope: "statusdict begin c5tray end"
\r
168 *PageSize DL/DL Envelope: "statusdict begin dltray end"
\r
172 dup /lettertray (Letter) put
\r
173 dup /legaltray (Legal) put
\r
174 dup /a4tray (A4) put
\r
175 dup /a5tray (A5) put
\r
176 dup /b5tray (B5) put
\r
177 dup /executivetray (Executive) put
\r
178 dup /com10tray (Com10) put
\r
179 dup /monarchtray (Monarch) put
\r
180 dup /c5tray (C5) put
\r
181 dup /dltray (DL) put
\r
182 statusdict begin papersize end
\r
183 3 1 roll {get} stopped {(Unknown)}if
\r
184 exch not { print (.Transverse) }if
\r
189 *CloseUI: *PageSize
\r
191 *OpenUI *PageRegion: PickOne
\r
192 *OrderDependency: 40 AnySetup *PageRegion
\r
193 *DefaultPageRegion: Letter
\r
194 *PageRegion Letter/US Letter: "letter"
\r
195 *PageRegion Legal/US Legal: "legal"
\r
196 *PageRegion A4: "a4"
\r
197 *PageRegion A5: "a5"
\r
198 *PageRegion B5: "b5"
\r
199 *PageRegion LetterSmall/US Letter Small: "lettersmall"
\r
200 *PageRegion LegalSmall/US Legal Small: "legal"
\r
201 *PageRegion A4Small/A4 Small: "a4small"
\r
202 *PageRegion Executive: "executivepage"
\r
203 *PageRegion Com10/Com10 Envelope: "com10"
\r
204 *PageRegion Monarch/Monarch Envelope: "monarch"
\r
205 *PageRegion C5/C5 Envelope: "c5"
\r
206 *PageRegion DL/DL Envelope: "dl"
\r
207 *CloseUI: *PageRegion
\r
209 *% The following entries provide information about specific paper keywords.
\r
210 *DefaultImageableArea: Letter
\r
211 *ImageableArea Letter/US Letter: "9.84 9.12 593.28 775.68 "
\r
212 *ImageableArea Legal/US Legal: "25.9201 251.04 578.64 982.32 "
\r
213 *ImageableArea A4: "6.0 7.9201 581.76 826.56 "
\r
214 *ImageableArea A5: "8.88 10.8 408.0 581.28 "
\r
215 *ImageableArea B5: "9.1201 9.6 500.4 713.52 "
\r
216 *ImageableArea LetterSmall/US Letter Small: "31 31 583 761 "
\r
217 *ImageableArea A4Small/A4 Small: "29 31 567 812 "
\r
218 *ImageableArea LegalSmall/US Legal Small: "64 54 548 954 "
\r
219 *ImageableArea Executive: "7.2 12.0 506.16 742.08 "
\r
220 *ImageableArea Com10/Com10 Envelope: "8.64 11.52 284.88 673.68 "
\r
221 *ImageableArea Monarch/Monarch Envelope: "11.52 11.04 264.72 526.8 "
\r
222 *ImageableArea C5/C5 Envelope: "10.8 12.0 448.32 639.6 "
\r
223 *ImageableArea DL/DL Envelope: "9.6 14.4 301.2 614.16 "
\r
226 /cvp { ( ) cvs print ( ) print } bind def
\r
227 /upperright {10000 mul floor 10000 div} bind def
\r
228 /lowerleft {10000 mul ceiling 10000 div} bind def
\r
229 newpath clippath pathbbox
\r
230 4 -2 roll exch 2 {lowerleft cvp} repeat
\r
231 exch 2 {upperright cvp} repeat flush
\r
236 *% These provide the physical dimensions of the paper (by keyword)
\r
237 *DefaultPaperDimension: Letter
\r
238 *PaperDimension Letter/US Letter: "612 792"
\r
239 *PaperDimension Legal/US Legal: "612 1008"
\r
240 *PaperDimension A4: "595 842"
\r
241 *PaperDimension A5: "420 595"
\r
242 *PaperDimension B5: "516 729"
\r
243 *PaperDimension LetterSmall/US Letter Small: "612 792"
\r
244 *PaperDimension LegalSmall/US Legal Small: "612 1008"
\r
245 *PaperDimension A4Small/A4 Small: "595 842"
\r
246 *PaperDimension Executive: "540 720"
\r
247 *PaperDimension Com10/Com10 Envelope: "297 684"
\r
248 *PaperDimension Monarch/Monarch Envelope: "279 540"
\r
249 *PaperDimension C5/C5 Envelope: "459 649"
\r
250 *PaperDimension DL/DL Envelope: "312 624"
\r
252 *OpenUI *ManualFeed/Manual Feed: Boolean
\r
253 *OrderDependency: 20 AnySetup *ManualFeed
\r
254 *DefaultManualFeed: False
\r
255 *ManualFeed True: "statusdict /manualfeed true put"
\r
256 *ManualFeed False: "statusdict /manualfeed false put"
\r
259 statusdict /manualfeed get
\r
260 {(True)}{(False)}ifelse = flush
\r
264 *CloseUI: *ManualFeed
\r
266 *RequiresPageRegion Multipurpose: True
\r
268 *OpenUI *InputSlot: PickOne
\r
269 *OrderDependency: 20 AnySetup *InputSlot
\r
270 *DefaultInputSlot: Upper
\r
271 *InputSlot Upper/Main Cassette: "0 statusdict /setpapertray get exec"
\r
272 *InputSlot Multipurpose/Multipurpose Tray: "
\r
273 1 statusdict /setpapertray get exec"
\r
275 *InputSlot Lower/Optional Cassette: "2 statusdict /setpapertray get exec"
\r
278 [ (Upper) (Multipurpose) (Lower) ] statusdict /papertray get exec
\r
279 {get exec} stopped { pop pop (Unknown) } if = flush
\r
283 *CloseUI: *InputSlot
\r
285 *DefaultOutputBin: OnlyOne
\r
286 *DefaultOutputOrder: Normal
\r
288 *% Font Information =====================
\r
289 *DefaultFont: Courier
\r
290 *Font Courier: Standard "(002.004)" Standard ROM
\r
291 *Font Courier-Bold: Standard "(002.004)" Standard ROM
\r
292 *Font Courier-BoldOblique: Standard "(002.004)" Standard ROM
\r
293 *Font Courier-Oblique: Standard "(002.004)" Standard ROM
\r
294 *Font Helvetica: Standard "(001.006S)" Standard ROM
\r
295 *Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
\r
296 *Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
\r
297 *Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
\r
298 *Font Symbol: Special "(001.007S)" Special ROM
\r
299 *Font Times-Bold: Standard "(001.007S)" Standard ROM
\r
300 *Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
\r
301 *Font Times-Italic: Standard "(001.007S)" Standard ROM
\r
302 *Font Times-Roman: Standard "(001.007S)" Standard ROM
\r
305 /str 100 string dup 0 (fonts/) putinterval def
\r
307 { exch dup str 6 94 getinterval cvs
\r
308 (/) print dup print (:) print exch
\r
309 FontDirectory exch known
\r
311 { length 6 add str 0 3 -1 roll getinterval
\r
313 {cleartomark (Yes)}{cleartomark (No)} ifelse
\r
324 FontDirectory { pop == } bind forall flush
\r
330 *% Printer Messages (verbatim from printer):
\r
331 *Message: "%%[ exitserver: permanent state may be changed ]%%"
\r
332 *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
\r
333 *Message: "\FontName\ not found, using Courier"
\r
335 *% Status (format: %%[ status: <one of these> ]%% )
\r
339 *Status: "printing"
\r
340 *Status: "warming up"
\r
341 *Status: "PrinterError: warming up"
\r
342 *Status: "PrinterError: cover open"
\r
343 *Status: "PrinterError: service call"
\r
344 *Status: "PrinterError: paper jam"
\r
345 *Status: "PrinterError: service call"
\r
347 *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
\r
349 *Source: "Centronics"
\r
351 *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
\r
352 *PrinterError: "warming up"
\r
353 *PrinterError: "cover open"
\r
354 *PrinterError: "service call"
\r
355 *PrinterError: "paper jam"
\r
357 *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
\r
359 *% Color Separation Information =====================
\r
360 *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
\r
361 *InkName: ProcessBlack/Process Black
\r
362 *InkName: CustomColor/Custom Color
\r
363 *InkName: ProcessCyan/Process Cyan
\r
364 *InkName: ProcessMagenta/Process Magenta
\r
365 *InkName: ProcessYellow/Process Yellow
\r
367 *% For 60 lpi / 300 dpi ===============================
\r
368 *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
\r
369 *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi:"45"
\r
370 *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "45"
\r
371 *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "45"
\r
372 *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "45"
\r
374 *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
\r
375 *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
\r
376 *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
\r
377 *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi:"60"
\r
378 *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
\r
380 *% Produced by "bldppd41.ps" version 4.0 edit 9
\r
381 *% Last Edit Date: May 21 1993
\r
382 *% The byte count of this file should be exactly 013104 or 013489
\r
383 *% depending on the filesystem it resides in.
\r
384 *% end of PPD file for LaserWriter-Select 310
\r