*% Adobe Systems Printer Description File
*% For "QMS-PS 1500" version 49.2
*% Produced by "BuildPPD.ps" version 3.0 edit 58
*% Date: 7/3/90      by Rob Dominguez for QMS
*FormatVersion: "3.0"
*FileVersion: "1.0"
*LanguageVersion: English

*Product: "(QMS-PS 1500)"
*PSVersion: "(49.2) 0"
*NickName: "QMS-PS 1500"

*% General Information and Defaults ===============
*FreeVM: "1514846"
*ColorDevice: False
*VariablePaperSize: False
*FileSystem: True
*?FileSystem: "/initializedisk where{pop(True)}{(False)} ifelse = flush"
*Throughput: "8"
*Password: "0"
*ExitServer: "
 count 0 eq {  % is the password on the stack?
   true
 }{
   dup % potential password
   statusdict begin checkpassword end 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 begin exitserver
"
*End
*% Please edit; some printers cannot be reset through software:
*%Reset: "
 count 0 eq {  % is the password on the stack?
   true
 }{
   dup % potential password
   statusdict begin checkpassword end 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 begin exitserver
 systemdict /quit get exec
 (WARNING : Printer Reset Failed.) = flush
"
*End

*DefaultResolution: 300dpi
*?Resolution: "
save
 initgraphics
 0 0 moveto currentpoint matrix defaultmatrix transform
 0 72 lineto currentpoint matrix defaultmatrix transform
 3 -1 roll sub dup mul
 3 1 roll exch sub dup mul
 add sqrt 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 }"
*% Please edit the Normalized Transfer functions and remove this comment.
*% It is not really possible to have a Normalized Transfer function
*% that will work across all printers, since many variables affect
*% the output, including (but not limited to) the intensity of the laser,
*% type of film used, processor chemistry, paper, inks, press, etc.
*%Transfer Normalized: "{ <Insert your favorite Normalized Transfer function here> }"
*%Transfer Normalized.Inverse: "{ <ditto> }"

*% Paper Handling ===================

*% Use these entries to set paper size most of the time, unless there is
*% specific reason to use PageRegion or PaperTray.
*DefaultPageSize: Letter
*PageSize Letter: "statusdict begin lettertray end"
*PageSize Legal: "statusdict begin legaltray end"
*PageSize A4: "statusdict begin a4tray end"
*?PageSize: "
save statusdict begin
 12 dict begin
  /lettertray (Letter) def /legaltray (Legal) def
  /11x17tray (Tabloid) def /ledgertray (Ledger) def
  /a3tray (A3) def /a4tray (A4) def
  /a5tray (A5) def /b4tray (B4) def
  /b5tray (B5) def /executivetray (Executive) def
  papersize {
    {load exec} stopped not{= flush}if
  }{
    {load exec} stopped not{print (.Transverse) = flush}{(Unknown) = flush}ifelse
  }ifelse
 end
end restore
"
*End

*% These entries will set up the frame buffer. Usually used with manual feed.
*DefaultPageRegion: Letter
*PageRegion Letter: "letter"
*PageRegion Legal: "legal"
*PageRegion A4: "a4"

*% These entries will invoke a particular tray--error may occur if tray is not inserted.
*% These errors should be trapped by software and a message displayed
*DefaultPaperTray: None
*PaperTray Letter: "statusdict begin lettertray end"
*PaperTray Legal: "statusdict begin legaltray end"
*PaperTray A4: "statusdict begin a4tray end"
*?PaperTray: "
save statusdict begin
 20 dict begin
  /lettertray (Letter) def /legaltray (Legal) def
  /11x17tray (Tabloid) def /ledgertray (Ledger) def
  /a3tray (A3) def /a4tray (A4) def
  /a5tray (A5) def /b4tray (B4) def
  /b5tray (B5) def
  papersize {
    {load exec} stopped not{= flush}if
  }{
    {load exec} stopped not{print (.Transverse) = flush}if
  }ifelse
 end
end restore
"
*End

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter: "17 17 592 773 "
*ImageableArea Legal: "17 19 592 990 "
*ImageableArea A4: "20 10 572 821 "
*?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 A4: "595 842"

*% Edit the following line if necessary.
*DefaultOutputBin: Upper
*DefaultInputSlot: Upper
*InputSlot Upper: "statusdict begin 0 setpapertray end"
*InputSlot Lower: "statusdict begin 1 setpapertray end"
*%InputSlot Lower: "statusdict begin 2 setpapertray end"
*%InputSlot 3: This case does not exist
*%?InputSlot: "
save statusdict begin
 5 dict begin
*% Edit by hand: values differ from one printer to another:
  /0 (Upper) def
  /1 (Middle) def
  /2 (Lower) def
  /3 (others) def
  papertray
    {( ) cvs cvn load exec} stopped not{= flush}if
 end
end restore
"
*End

*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"

*% The following will require some hand editing:
*DefaultOutputOrder: Normal
*OutputOrder Normal: ""
*OutputOrder Reverse: ""

*DefaultCollator: None
*DefaultSorter: None
*DefaultDuplex: None

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

*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.001)"
*Font AvantGarde-BookOblique: Standard "(001.001)"
*Font AvantGarde-Demi: Standard "(001.001)"
*Font AvantGarde-DemiOblique: Standard "(001.001)"
*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.004)"
*Font Courier-Bold: Standard "(001.004)"
*Font Courier-BoldOblique: Standard "(001.004)"
*Font Courier-Oblique: Standard "(001.004)"
*Font Helvetica: Standard "(001.001)"
*Font Helvetica-Bold: Standard "(001.001)"
*Font Helvetica-BoldOblique: Standard "(001.001)"
*Font Helvetica-Condensed: Standard "(001.001)"
*Font Helvetica-Condensed-Bold: Standard "(001.001)"
*Font Helvetica-Condensed-BoldObl: Standard "(001.001)"
*Font Helvetica-Condensed-Oblique: Standard "(001.001)"
*Font Helvetica-Oblique: Standard "(001.001)"
*Font NewCenturySchlbk-Bold: Standard "(001.002)"
*Font NewCenturySchlbk-BoldItalic: Standard "(001.001)"
*Font NewCenturySchlbk-Italic: Standard "(001.001)"
*Font NewCenturySchlbk-Roman: Standard "(001.002)"
*Font Palatino-Bold: Standard "(001.001)"
*Font Palatino-BoldItalic: Standard "(001.001)"
*Font Palatino-Italic: Standard "(001.002)"
*Font Palatino-Roman: Standard "(001.001)"
*Font Symbol: Special "(001.001)"
*Font Times-Bold: Standard "(001.001)"
*Font Times-BoldItalic: Standard "(001.001)"
*Font Times-Italic: Standard "(001.001)"
*Font Times-Roman: Standard "(001.001)"
*Font ZapfChancery-MediumItalic: Standard "(001.002)"
*Font ZapfDingbats: Special "(001.000)"
*?FontQuery: "
save  4 dict begin /sv exch def
/str (fonts/                              ) def
/st2 128 string def
{
 count 0 gt {
   dup st2 cvs (/) print print (:) print
   dup FontDirectory exch known {pop (Yes)}{
    str exch st2 cvs dup length /len exch def
    6 exch putinterval str 0 len 6 add getinterval mark exch
    { } st2 filenameforall counttomark 0 gt {
     cleartomark (Yes)}{cleartomark (No)}ifelse
   }ifelse = flush
 }{ exit } ifelse
} bind loop
(*) = flush
sv end restore
"
*End

*?FontList: "
save  2 dict begin /sv exch def
/str 128 string def
FontDirectory { pop == } bind forall flush
/filenameforall where {
pop save (fonts/*) {
 dup length 6 sub 6 exch getinterval cvn ==
} bind str filenameforall flush restore
} if
(*) = flush
sv end restore
"
*End

*% Printer Messages (verbatim from printer):
*% Please edit list below and remove % from each line as appropriate:
*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> ]%% )
*% Please edit list below and remove % from each line as appropriate:
*Status: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"
*Status: "PrinterError: poor paper stack set"
*Status: "PrinterError: toner cover open"
*Status: "PrinterError: poor fusing set"
*Status: "PrinterError: poor developer set"
*Status: "PrinterError: tray cover open"
*Status: "PrinterError: optical error"
*Status: "PrinterError: out of paper"
*Status: "PrinterError: opc synchronous mark error"
*Status: "PrinterError: engine controller memory error"
*Status: "PrinterError: fusing error"
*Status: "PrinterError: timeout, clearing printer"
*Status: "PrinterError: paper exit misfeed"
*Status: "PrinterError: paper entry misfeed, upper tray"
*Status: "PrinterError: paper entry misfeed, lower tray"
*Status: "PrinterError: paper transport jam"
*Status: "PrinterError: out of toner"
*Status: "PrinterError: opc belt bad"
*Status: "PrinterError: opc belt bad and out of toner"
*Status: "PrinterError: main motor error"

*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*% Please edit list below and remove % from each line as appropriate:
*Source: "serial9"
*Source: "serial25"
*Source: "AppleTalk"
*Source: "Centronics"
*%Source: "other"

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*% Please edit list below and remove % from each line as appropriate:
*PrinterError: "poor paper stack set"
*PrinterError: "toner cover open"
*PrinterError: "poor fusing set"
*PrinterError: "poor developer set"
*PrinterError: "tray cover open"
*PrinterError: "optical error"
*PrinterError: "out of paper"
*PrinterError: "opc synchronous mark error"
*PrinterError: "engine controller memory error"
*PrinterError: "fusing error"
*PrinterError: "timeout, clearing printer"
*PrinterError: "paper exit misfeed"
*PrinterError: "paper entry misfeed, upper tray"
*PrinterError: "paper entry misfeed, lower tray"
*PrinterError: "paper transport jam"
*PrinterError: "out of toner"
*PrinterError: "opc belt bad"
*PrinterError: "opc belt bad and out of toner"
*PrinterError: "main motor error"

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

*% Color Separation Information =====================

*% All Color Separation numbers for all resolutions are included here.
*% Please edit the following sections and remove unnecessary sections
*% leaving only those that make sense for this particular device.
*% You will need to uncomment those lines.

*% Also, edit the entry below specifying which frequency is the
*% default:
*DefaultColorSep: ProcessBlack.128lpi.1270dpi/128 lpi / 1270 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: "15"
*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"

*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"

*%  For 53 lpi / 300 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"

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

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

*%ColorSepScreenAngle ProcessBlack.71lpi.400dpi/71 lpi / 400 dpi: "45.0"
*%ColorSepScreenAngle CustomColor.71lpi.400dpi/71 lpi / 400 dpi: "45.0"
*%ColorSepScreenAngle ProcessCyan.71lpi.400dpi/71 lpi / 400 dpi: "71.5651"
*%ColorSepScreenAngle ProcessMagenta.71lpi.400dpi/71 lpi / 400 dpi: "18.4349"
*%ColorSepScreenAngle ProcessYellow.71lpi.400dpi/71 lpi / 400 dpi: "0.0"

*%ColorSepScreenFreq ProcessBlack.71lpi.400dpi/71 lpi / 400 dpi: "70.7107"
*%ColorSepScreenFreq CustomColor.71lpi.400dpi/71 lpi / 400 dpi: "70.7107"
*%ColorSepScreenFreq ProcessCyan.71lpi.400dpi/71 lpi / 400 dpi: "63.2456"
*%ColorSepScreenFreq ProcessMagenta.71lpi.400dpi/71 lpi / 400 dpi: "63.2456"
*%ColorSepScreenFreq ProcessYellow.71lpi.400dpi/71 lpi / 400 dpi: "66.6667"

*%  For 47 lpi / 400 dpi  ===============================

*%ColorSepScreenAngle ProcessBlack.47lpi.400dpi/47 lpi / 400 dpi: "45.0"
*%ColorSepScreenAngle CustomColor.47lpi.400dpi/47 lpi / 400 dpi: "45.0"
*%ColorSepScreenAngle ProcessCyan.47lpi.400dpi/47 lpi / 400 dpi: "71.5651"
*%ColorSepScreenAngle ProcessMagenta.47lpi.400dpi/47 lpi / 400 dpi: "18.4349"
*%ColorSepScreenAngle ProcessYellow.47lpi.400dpi/47 lpi / 400 dpi: "0.0"

*%ColorSepScreenFreq ProcessBlack.47lpi.400dpi/47 lpi / 400 dpi: "47.1405"
*%ColorSepScreenFreq CustomColor.47lpi.400dpi/47 lpi / 400 dpi: "47.1405"
*%ColorSepScreenFreq ProcessCyan.47lpi.400dpi/47 lpi / 400 dpi: "42.1637"
*%ColorSepScreenFreq ProcessMagenta.47lpi.400dpi/47 lpi / 400 dpi: "42.1637"
*%ColorSepScreenFreq ProcessYellow.47lpi.400dpi/47 lpi / 400 dpi: "44.4444"



*% please insert any patches here.

*% end of PPD file for QMS-PS 1500