*PPD-Adobe: "4.0"
*% Adobe Systems PostScript(R) Printer Description File
*% For "QMS 1660 Print System Level 2" versions 2011.22
*% Date: 7 April 1994
*% Modified: 05/24/94

*FormatVersion: "4.0"
*FileVersion: "1.0"
*LanguageVersion: English
*PCFileName: "QMS16602.PPD"

*% QMS Defaults==========
*MiserMode: True

*Product: "(QMS 1660 Print System)"
*PSVersion: "(2011.22) 13"
*ModelName: "QMS 1660 Level 2"
*NickName: "QMS 1660 Level 2"


*% General Information and Defaults ===============
*LanguageLevel: "2"
*AcceptsTrueType: True
*FreeVM: "800000"
*% ColorDevice: True
*VariablePaperSize: False
*EndOfDocument: True
*FileSystem: True
*?FileSystem: "
save
  statusdict /diskonline get exec {(True)}{(False)} ifelse = flush
restore
"
*End
*Throughput: "16"
*Password: "0"
*ExitServer: "
 count 0 eq
 { false } { true exch startjob } ifelse
 not { 
     (WARNING : Cannot perform the exitserver command.) = 
     (Password supplied is not valid.) = 
     (Please contact the author of this software.) = flush quit
     } if
"
*End
*Reset: "
 count 0 eq
 { false } { true exch startjob } ifelse
 not {
    (WARNING: Cannot reset printer.) =
    (Missing or invalid password.) =
    (Please contact the author of this software.) = flush quit
    } if
 systemdict /quit get exec
 (WARNING : Printer Reset Failed.) = flush
"
*End

*% Halftone Information ===============
*ScreenFreq: "60.0"
*ScreenAngle: "45.0"
*DefaultScreenProc: Dot
*ScreenProc Dot: "
{ 1.4 0.24 
  { 2 
   { 3 1 roll add dup 1.0 gt { 2.0 sub } if 
   } repeat 
   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 
  } exec 
}
"
*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 ===================

*DefaultResolution: 600dpi
*SetResolution 1200dpi: "statusdict begin 1200 setresolution end"
*End
*SetResolution 600dpi: "statusdict begin 600 setresolution end"
*End
*SetResolution 300dpi: "statusdict begin 300 setresolution end"
*End

*SetJobResolution 300x300dpi: "statusdict begin 300 setresolution end"
*SetJobResolution 600x600dpi: "statusdict begin 600 setresolution end"
*SetJobResolution 1200x600dpi: "statusdict begin 1200 setresolution end"
*End

*?Resolution: "
save
  statusdict begin resolution end
  128 string cvs dup print (x) print print (dpi) = flush
restore
"
*End

*OpenUI *PageSize: PickOne
*OrderDependency: 15 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter: "
    2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Legal: "
    2 dict dup /PageSize [612 1008] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Executive: "
    2 dict dup /PageSize [522 757] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Tabloid: "
    2 dict dup /PageSize [792 1224] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Universal: "
    2 dict dup /PageSize [842 1224] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Full11x17: "
    2 dict dup /PageSize [816 1253] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize A3: "
    2 dict dup /PageSize [842 1191] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize A4: "
    2 dict dup /PageSize [596 842] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize A5: "
    2 dict dup /PageSize [420 595] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Postcard: "
    2 dict dup /PageSize [297 420] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize B4: "
    2 dict dup /PageSize [729 1032] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize B5: "
    2 dict dup /PageSize [516 729] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize B6: "
    2 dict dup /PageSize [363 516] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize 12x19: "
    2 dict dup /PageSize [864 1368] put dup /ImagingBBox null put setpagedevice"
*End
*?PageSize: "
 save
   currentpagedevice /PageSize get aload pop
   2 copy gt {exch} if 
   (Unknown) 
   6 dict
   dup [612 792] (Letter) put
   dup [612 1008] (Legal) put
   dup [522 757] (Executive) put
   dup [842 1224] (Universal) put
   dup [792 1224] (Tabloid) put
   dup [816 1253] (Full11x17) put
   dup [842 1191] (A3) put
   dup [596 842] (A4) put
   dup [420 595] (A5) put
   dup [297 420] (Postcard) put
   dup [729 1032] (B4) put
   dup [516 729] (B5) put
   dup [363 516] (B6) put
   dup [864 1368] (12x19) put
 { exch aload pop 4 index sub abs 5 le exch 
   5 index sub abs 5 le and 
      {exch pop exit} {pop} ifelse
   } bind forall
   = flush pop pop
restore 
"
*End
*CloseUI: *PageSize

*% These entries will set up the frame buffer. Usually used with manual feed.
*DefaultPageRegion: Letter
*PageRegion Letter: "
    2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Legal: "
    2 dict dup /PageSize [612 1008] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Executive: "
    2 dict dup /PageSize [522 757] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Tabloid: "
    2 dict dup /PageSize [792 1224] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Universal: "
    2 dict dup /PageSize [842 1224] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Full11x17: "
    2 dict dup /PageSize [816 1253] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion A3: "
    2 dict dup /PageSize [842 1191] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion A4: "
    2 dict dup /PageSize [596 842] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion A5: "
    2 dict dup /PageSize [420 595] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Postcard: "
    2 dict dup /PageSize [297 420] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion B4: "
    2 dict dup /PageSize [729 1032] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion B5: "
    2 dict dup /PageSize [516 729] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion B6: "
    2 dict dup /PageSize [363 516] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion 12x19: "
    2 dict dup /PageSize [864 1368] put dup /ImagingBBox null put setpagedevice"
*End

*OpenUI *PaperTray: PickOne
*OrderDependency: 20 AnySetup *PaperTray
*PaperTray Letter: "statusdict begin lettertray end"
*PaperTray Legal: "statusdict begin legaltray end"
*PaperTray Executive: "statusdict begin executivetray end"
*PaperTray Tabloid: "statusdict begin 11x17tray end"
*PaperTray Universal: "statusdict begin universaltray end"
*PaperTray Full11x17: "statusdict begin full11x17tray end"
*PaperTray A3: "statusdict begin a3tray end"
*PaperTray A4: "statusdict begin a4tray end"
*PaperTray A5: "statusdict begin a5tray end"
*PaperTray Postcard: "statusdict begin postcardtray end"
*PaperTray B4: "statusdict begin b4tray end"
*PaperTray B5: "statusdict begin b5tray end"
*PaperTray B6: "statusdict begin b6tray end"
*PaperTray 12x19: "statusdict begin 12x19tray end"
*?PaperTray: "
 save statusdict begin
  15 dict begin
   /letter (Letter) def 
   /legal (Legal) def
   /executivepage (Executive) def
   /11x17 (Tabloid) def 
   /universal (Universal) def
   /fullledger (FullLedger) def
   /a3 (A3) def 
   /a4 (A4) def
   /a5 (A5) def
   /postcard (postcard) def 
   /b4 (B4) def 
   /b5 (B5) def 
   /b6 (B6) def 
   /12x19 (12x19) def 
   papersize {
     {load exec} stopped not{= flush}if
   }{
     {load exec} stopped not{= flush}{(Unknown) = flush}ifelse
   }ifelse
  end
 end restore
"
*End
*CloseUI: *PaperTray

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter: "10 10 598 780 "
*ImageableArea Legal: "10 14 600 998 "
*ImageableArea Executive: "10 14 510 746 "
*ImageableArea Tabloid: "10 14 780 1214 "
*ImageableArea Universal: "10 14 830 1214 "
*ImageableArea Full11x17: "10 14 802 1242 "
*ImageableArea A3: "10 14 830 1181 "
*ImageableArea A4: "10 10 581 830 "
*ImageableArea A5: "10 10 405 583 "
*ImageableArea Postcard: "10 10 282 405 "
*ImageableArea B4: "10 14 717 1021 "
*ImageableArea B5: "10 10 501 717 "
*ImageableArea B6: "10 14 352 506 "
*ImageableArea 12x19: "10 14 870 1354 "
*?ImageableArea: "
 save /cvp { cvi (            ) cvs print ( ) print } bind def
  newpath clippath pathbbox
  4 -2 roll exch 2 {ceiling cvp} repeat
  exch 2 {floor cvp} repeat flush
 restore
"
*End

*% These provide the physical dimensions of the paper (by keyword)
*DefaultPaperDimension: Letter
*PaperDimension Letter: "612 792"
*PaperDimension Legal: "612 1008"
*PaperDimension Executive: "522 756"
*PaperDimension Tabloid: "792 1224"
*PaperDimension Universal: "842 1224"
*PaperDimension Full11x17: "816 1253"
*PaperDimension A3: "842 1191"
*PaperDimension A4: "596 842"
*PaperDimension A5: "420 595"
*PaperDimension Postcard: "297 420"
*PaperDimension B4: "729 1032"
*PaperDimension B5: "516 729"
*PaperDimension B6: "363 516"
*PaperDimension 12x19: "864 1368"

*DefaultOutputBin: Upper

*DefaultInputSlot: Standard
*InputSlot Standard: "statusdict begin 1 setpapertray end"
*InputSlot Lower: "statusdict begin 2 setpapertray end"
*InputSlot Optional: "statusdict begin 3 setpapertray end"
*?InputSlot: "
 save statusdict begin
  3 dict begin
   /1 (Standard) def
   /2 (Lower) def
   /3 (Optional) def
   papertray 
     {( ) cvs cvn load exec} stopped not{= flush}if
  end
 end restore
"
*End

*CloseGroup: PaperHandling

*%DefaultManualFeed: None
*DefaultManualFeed: False
*?ManualFeed: "
  statusdict /manualfeed get
  {(True)}{(False)}ifelse = flush"
*End
*ManualFeed True: "statusdict begin /manualfeed true store end"
*ManualFeed False: "statusdict begin /manualfeed false store end"


*DefaultOutputOrder: Normal


*OpenUI *Collate:  Boolean
*OrderDependency:  40 AnySetup *Collate
*DefaultCollate: True
*Collate True:  "1 dict dup /Collate true put setpagedevice"
*Collate False:  "1 dict dup /Collate false put setpagedevice"
*?Collate:"
save
  currentpagedevice /Collate get
  {(True)}{(False)}ifelse = flush restore"
*End
*CloseUI: *Collate

*% Font Information =====================

*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.002)"
*Font AvantGarde-BookOblique: Standard "(001.002)"
*Font AvantGarde-Demi: Standard "(001.003)"
*Font AvantGarde-DemiOblique: Standard "(001.003)"
*Font Bookman-Demi: Standard "(001.001)"
*Font Bookman-DemiItalic: Standard "(001.001)"
*Font Bookman-Light: Standard "(001.001)"
*Font Bookman-LightItalic: Standard "(001.001)"
*Font Courier: Standard "(001.005)"
*Font Courier-Bold: Standard "(001.005)"
*Font Courier-BoldOblique: Standard "(001.005)"
*Font Courier-Oblique: Standard "(001.005)"
*Font Helvetica: Standard "(001.002)"
*Font Helvetica-Bold: Standard "(001.002)"
*Font Helvetica-BoldOblique: Standard "(001.002)"
*Font Helvetica-Condensed: Standard "(001.001)"
*Font Helvetica-Condensed-Bold: Standard "(001.002)"
*Font Helvetica-Condensed-BoldObl: Standard "(001.002)"
*Font Helvetica-Condensed-Oblique: Standard "(001.001)"
*Font Helvetica-Narrow: Standard "(001.002)"
*Font Helvetica-Narrow-Bold: Standard "(001.002)"
*Font Helvetica-Narrow-BoldOblique: Standard "(001.002)"
*Font Helvetica-Narrow-Oblique: Standard "(001.002)"
*Font Helvetica-Oblique: Standard "(001.002)"
*Font NewCenturySchlbk-Bold: Standard "(001.007)"
*Font NewCenturySchlbk-BoldItalic: Standard "(001.004)"
*Font NewCenturySchlbk-Italic: Standard "(001.003)"
*Font NewCenturySchlbk-Roman: Standard "(001.004)"
*Font Palatino-Bold: Standard "(001.002)"
*Font Palatino-BoldItalic: Standard "(001.002)"
*Font Palatino-Italic: Standard "(001.002)"
*Font Palatino-Roman: Standard "(001.001)"
*Font Symbol: Special "(001.003)"
*Font Times-Bold: Standard "(001.002)"
*Font Times-BoldItalic: Standard "(001.004)"
*Font Times-Italic: Standard "(001.002)"
*Font Times-Roman: Standard "(001.002)"
*Font ZapfChancery-MediumItalic: Standard "(001.003)"
*Font ZapfDingbats: Special "(001.002)"
*?FontQuery: "
 save
   { count 1 gt
      { exch dup 127 string cvs (/) print print (:) print
        /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
      } { exit } ifelse 
   } bind loop
   (*) = flush
 restore
"
*End

*?FontList: "
save
  (*) {cvn ==} 128 string /Font resourceforall
  (*) = 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"

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

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)

*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 53 lpi / 300 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45"
*ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "45"

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

*%  For 71 lpi / 600 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45"
*ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45"
*ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "45"
*ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "45"
*ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "45"

*ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "71"
*ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "71"
*ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71"
*ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "71"
*ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "71"

*%  For 71 lpi / 1200 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.71lpi.1200dpi/71 lpi / 1200 dpi: "45"
*ColorSepScreenAngle CustomColor.71lpi.1200dpi/71 lpi / 1200 dpi: "45"
*ColorSepScreenAngle ProcessCyan.71lpi.1200dpi/71 lpi / 1200 dpi: "45"
*ColorSepScreenAngle ProcessMagenta.71lpi.1200dpi/71 lpi / 1200 dpi: "45"
*ColorSepScreenAngle ProcessYellow.71lpi.1200dpi/71 lpi / 1200 dpi: "45"

*ColorSepScreenFreq ProcessBlack.71lpi.1200dpi/71 lpi / 1200 dpi: "71"
*ColorSepScreenFreq CustomColor.71lpi.1200dpi/71 lpi / 1200 dpi: "71"
*ColorSepScreenFreq ProcessCyan.71lpi.1200dpi/71 lpi / 1200 dpi: "71"
*ColorSepScreenFreq ProcessMagenta.71lpi.1200dpi/71 lpi / 1200 dpi: "71"
*ColorSepScreenFreq ProcessYellow.71lpi.1200dpi/71 lpi / 1200 dpi: "71"


*% end of PPD file for QMS 1660 Print System
