*PPD-Adobe: "4.0"
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1993 Adobe Systems Incorporated. 
*% All Rights Reserved. 
*% Permission is granted for redistribution of this file as
*% long as this copyright notice is intact and the contents
*% of the file is not altered in any way from its original form.
*% End of Copyright statement
*FormatVersion: "4.0"
*FileVersion: "1.2"
*LanguageVersion: English
*PCFileName: "APLW3101.PPD"
*Product: "(LaserWriter-Select 310)"
*PSVersion: "(52.5) 0"
*ModelName: "Apple LaserWriter-Select 310"
*NickName: "LaserWriter-Select 310 v52.5"

*% === Options and Constraints =========
*OpenGroup: InstallableOptions/Options Installed
*OpenUI *Option1/Memory Configuration: PickOne
*DefaultOption1: None
*Option1 None/Standard 1.5 MB RAM: ""
*Option1 2.5Meg/2.5 MB Upgrade: ""
*Option1 5.5Meg/5.5 MB Upgrade: ""
*CloseUI: *Option1

*OpenUI *Option2/Optional Cassette: Boolean
*DefaultOption2: False
*Option2 True/Installed: ""
*Option2 False/Not Installed: ""
*CloseUI: *Option2

*OpenUI *Option3/Optional Multipurpose Tray: Boolean
*DefaultOption3: False
*Option3 True/Installed: ""
*Option3 False/Not Installed: ""
*CloseUI: *Option3
*CloseGroup: InstallableOptions

*UIConstraints: *Option2 False *InputSlot Lower
*UIConstraints: *Option3 False *InputSlot Multipurpose

*UIConstraints: *InputSlot Upper *PageSize Com10
*UIConstraints: *InputSlot Upper *PageSize Monarch
*UIConstraints: *InputSlot Upper *PageSize DL
*UIConstraints: *InputSlot Upper *PageSize C5
*UIConstraints: *PageSize Com10 *InputSlot Upper 
*UIConstraints: *PageSize Monarch *InputSlot Upper 
*UIConstraints: *PageSize DL *InputSlot Upper 
*UIConstraints: *PageSize C5 *InputSlot Upper 
*UIConstraints: *InputSlot Lower *PageSize Com10
*UIConstraints: *InputSlot Lower *PageSize Monarch
*UIConstraints: *InputSlot Lower *PageSize DL
*UIConstraints: *InputSlot Lower *PageSize C5
*UIConstraints: *PageSize Com10 *InputSlot Lower 
*UIConstraints: *PageSize Monarch *InputSlot Lower 
*UIConstraints: *PageSize DL *InputSlot Lower 
*UIConstraints: *PageSize C5 *InputSlot Lower 

*UIConstraints: *InputSlot Upper *PageRegion Com10
*UIConstraints: *InputSlot Upper *PageRegion Monarch
*UIConstraints: *InputSlot Upper *PageRegion DL
*UIConstraints: *InputSlot Upper *PageRegion C5
*UIConstraints: *PageRegion Com10 *InputSlot Upper 
*UIConstraints: *PageRegion Monarch *InputSlot Upper 
*UIConstraints: *PageRegion DL *InputSlot Upper 
*UIConstraints: *PageRegion C5 *InputSlot Upper 
*UIConstraints: *InputSlot Lower *PageRegion Com10
*UIConstraints: *InputSlot Lower *PageRegion Monarch
*UIConstraints: *InputSlot Lower *PageRegion DL
*UIConstraints: *InputSlot Lower *PageRegion C5
*UIConstraints: *PageRegion Com10 *InputSlot Lower 
*UIConstraints: *PageRegion Monarch *InputSlot Lower 
*UIConstraints: *PageRegion DL *InputSlot Lower 
*UIConstraints: *PageRegion C5 *InputSlot Lower 

*% ==== Device Capabilities ===============
*LanguageLevel: "1"
*Protocols: BCP
*FreeVM: "203912"
*VMOption None/Standard 1.5 MB RAM: "203912"
*VMOption 2.5Meg/2.5 MB Upgrade: "965220"
*VMOption 5.5Meg/5.5 MB Upgrade: "3992948"
*ColorDevice:  False
*DefaultColorSpace:  Gray
*VariablePaperSize: False
*FileSystem: False
*Throughput: "5"
*Password: "0"
*ExitServer: "
  count 0 eq {  % is the password on the stack?  
  true  }
  {  dup    % potential password
     statusdict /checkpassword get exec not
  } ifelse
  {  %  if no password or not valid
     (WARNING : Cannot perform the exitserver command.) =
     (Password supplied is not valid.) =
      (Please contact the author of this software.) = flush
     quit
  } if
  serverdict /exitserver get exec
"
*End
*Reset: "
  count 0 eq {  % is the password on the stack?
  true  }
  {  dup    % potential password
     statusdict /checkpassword get exec not
  } ifelse
  {  %  if no password or not valid
     (WARNING : Cannot reset printer.) =
     (Password supplied is not valid.) =
     (Please contact the author of this software.) = flush
     quit
  } if
  serverdict /exitserver get exec
  systemdict /quit get exec
  (WARNING : Printer Reset Failed.) = flush
"
*End
*DefaultResolution: 300dpi
*?Resolution: "
  save
  initgraphics
  matrix defaultmatrix dup
  0 get dup mul exch 1 get dup mul add sqrt
  72 mul round cvi
  (          ) cvs print (dpi) = flush
  restore
"
*End

*% Halftone Information ===============
*ScreenFreq: "60.0"
*ScreenAngle: "45.0"
*DefaultScreenProc: Dot
*ScreenProc Dot: "
  { abs exch abs 2 copy add
  1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub }
  { dup mul exch dup mul add 1 exch sub } ifelse }
"
*End
*ScreenProc Line: "{ pop }"
*ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"

*DefaultTransfer: Null
*Transfer Null: "{ }"
*Transfer Null.Inverse: "{ 1 exch sub }"

*% Paper Handling ===================
*% Code in this section selects a tray and sets up a frame buffer.
*OpenUI *PageSize:  PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/US Letter: "statusdict begin lettertray end"
*PageSize Legal/US Legal: "statusdict begin legaltray end"
*PageSize A4: "statusdict begin a4tray end"
*PageSize A5: "statusdict begin a5tray end"
*PageSize B5: "statusdict begin b5tray end"
*PageSize LetterSmall/US Letter Small: "statusdict begin lettertray end"
*PageSize LegalSmall/US Legal Small: "statusdict begin legaltray end"
*PageSize A4Small/A4 Small: "statusdict begin a4tray end"
*PageSize Executive: "statusdict begin executivetray end"
*PageSize Com10/Com10 Envelope: "statusdict begin com10tray end"
*PageSize Monarch/Monarch Envelope: "statusdict begin monarchtray end"
*PageSize C5/C5 Envelope: "statusdict begin c5tray end"
*PageSize DL/DL Envelope: "statusdict begin dltray end"
*?PageSize: "
save
10 dict
  dup /lettertray (Letter) put
  dup /legaltray (Legal) put
  dup /a4tray (A4) put
  dup /a5tray (A5) put
  dup /b5tray (B5) put
  dup /executivetray (Executive) put
  dup /com10tray (Com10) put
  dup /monarchtray (Monarch) put
  dup /c5tray (C5) put
  dup /dltray (DL) put
  statusdict begin papersize end
  3 1 roll  {get} stopped {(Unknown)}if
  exch  not { print (.Transverse) }if
  = flush
restore
"
*End
*CloseUI: *PageSize

*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/US Letter: "letter"
*PageRegion Legal/US Legal: "legal"
*PageRegion A4: "a4"
*PageRegion A5: "a5"
*PageRegion B5: "b5"
*PageRegion LetterSmall/US Letter Small: "lettersmall"
*PageRegion LegalSmall/US Legal Small: "legal"
*PageRegion A4Small/A4 Small: "a4small"
*PageRegion Executive: "executivepage"
*PageRegion Com10/Com10 Envelope: "com10"
*PageRegion Monarch/Monarch Envelope: "monarch"
*PageRegion C5/C5 Envelope: "c5"
*PageRegion DL/DL Envelope: "dl"
*CloseUI: *PageRegion

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter/US Letter: "9.84 9.12 593.28 775.68 "
*ImageableArea Legal/US Legal: "25.9201 251.04 578.64 982.32 "
*ImageableArea A4: "6.0 7.9201 581.76 826.56 "
*ImageableArea A5: "8.88 10.8 408.0 581.28 "
*ImageableArea B5: "9.1201 9.6 500.4 713.52 "
*ImageableArea LetterSmall/US Letter Small: "31 31 583 761 "
*ImageableArea A4Small/A4 Small: "29 31 567 812 "
*ImageableArea LegalSmall/US Legal Small: "64 54 548 954 "
*ImageableArea Executive: "7.2 12.0 506.16 742.08 "
*ImageableArea Com10/Com10 Envelope: "8.64 11.52 284.88 673.68 "
*ImageableArea Monarch/Monarch Envelope: "11.52 11.04 264.72 526.8 "
*ImageableArea C5/C5 Envelope: "10.8 12.0 448.32 639.6 "
*ImageableArea DL/DL Envelope: "9.6 14.4 301.2 614.16 "
*?ImageableArea: "
 save
   /cvp { (                ) cvs print ( ) print } bind def
   /upperright {10000 mul floor 10000 div} bind def
   /lowerleft {10000 mul ceiling 10000 div} bind def
   newpath clippath pathbbox
   4 -2 roll exch 2 {lowerleft cvp} repeat
   exch 2 {upperright cvp} repeat flush
 restore
"
*End

*% These provide the physical dimensions of the paper (by keyword)
*DefaultPaperDimension: Letter
*PaperDimension Letter/US Letter: "612 792"
*PaperDimension Legal/US Legal: "612 1008"
*PaperDimension A4: "595 842"
*PaperDimension A5: "420 595"
*PaperDimension B5: "516 729"
*PaperDimension LetterSmall/US Letter Small: "612 792"
*PaperDimension LegalSmall/US Legal Small: "612 1008"
*PaperDimension A4Small/A4 Small: "595 842"
*PaperDimension Executive: "540 720"
*PaperDimension Com10/Com10 Envelope: "297 684"
*PaperDimension Monarch/Monarch Envelope: "279 540"
*PaperDimension C5/C5 Envelope: "459 649"
*PaperDimension DL/DL Envelope: "312 624"

*OpenUI *ManualFeed/Manual Feed: Boolean
*OrderDependency: 20 AnySetup *ManualFeed
*DefaultManualFeed: False
*ManualFeed True: "statusdict /manualfeed true put"
*ManualFeed False: "statusdict /manualfeed false put"
*?ManualFeed: "
  save
  statusdict /manualfeed get
  {(True)}{(False)}ifelse = flush
  restore
"
*End
*CloseUI: *ManualFeed

*RequiresPageRegion Multipurpose: True

*OpenUI *InputSlot: PickOne
*OrderDependency: 20 AnySetup *InputSlot
*DefaultInputSlot: Upper
*InputSlot Upper/Main Cassette: "0 statusdict /setpapertray get exec"
*InputSlot Multipurpose/Multipurpose Tray: "
  1 statusdict /setpapertray get exec"
*End
*InputSlot Lower/Optional Cassette: "2 statusdict /setpapertray get exec"
*?InputSlot: "
save
  [ (Upper) (Multipurpose) (Lower) ] statusdict /papertray get exec
  {get exec} stopped { pop pop (Unknown) } if = flush
restore
"
*End
*CloseUI: *InputSlot

*DefaultOutputBin:  OnlyOne
*DefaultOutputOrder:  Normal

*% Font Information =====================
*DefaultFont: Courier
*Font Courier: Standard "(002.004)" Standard ROM
*Font Courier-Bold: Standard "(002.004)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.004)" Standard ROM
*Font Courier-Oblique: Standard "(002.004)" Standard ROM
*Font Helvetica: Standard "(001.006S)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Times-Bold: Standard "(001.007S)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
*Font Times-Italic: Standard "(001.007S)" Standard ROM
*Font Times-Roman: Standard "(001.007S)" Standard ROM
*?FontQuery: "
  save
  /str 100 string dup 0 (fonts/) putinterval def
  { count 1 gt
    {  exch dup str 6 94 getinterval cvs
       (/) print dup print (:) print exch
       FontDirectory exch known
       { pop (Yes) }
       { length 6 add str 0 3 -1 roll getinterval
         mark exch status
         {cleartomark (Yes)}{cleartomark (No)} ifelse
       } ifelse =
    }
    {exit} ifelse
  }bind loop
  (*) = flush
  restore
"
*End
*?FontList: "
  save
  FontDirectory { pop == } bind forall flush
  (*) = flush
  restore
"
*End

*% Printer Messages (verbatim from printer):
*Message: "%%[ exitserver: permanent state may be changed ]%%"
*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
*Message: "\FontName\ not found, using Courier"

*% Status (format: %%[ status: <one of these> ]%% )
*Status: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"
*Status: "PrinterError: warming up"
*Status: "PrinterError: cover open"
*Status: "PrinterError: service call"
*Status: "PrinterError: paper jam"
*Status: "PrinterError: service call"

*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*Source: "serial9"
*Source: "Centronics"

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*PrinterError: "warming up"
*PrinterError: "cover open"
*PrinterError: "service call"
*PrinterError: "paper jam"

*%DeviceAdjustMatrix: "[1 0 0 1 0 0]"

*% Color Separation Information =====================
*DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
*InkName: ProcessBlack/Process Black
*InkName: CustomColor/Custom Color
*InkName: ProcessCyan/Process Cyan
*InkName: ProcessMagenta/Process Magenta
*InkName: ProcessYellow/Process Yellow

*%  For 60 lpi / 300 dpi  ===============================
*ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi:"45"
*ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "45"

*ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi:"60"
*ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"

*% Produced by "bldppd41.ps" version 4.0 edit 9
*% Last Edit Date: May 21 1993
*% The byte count of this file should be exactly 013104 or 013489
*% depending on the filesystem it resides in.
*% end of PPD file for LaserWriter-Select 310

