*% Adobe Systems Printer Description File
*% For "QMS-PS 815 MR" version 52.4
*% Produced by "BuildPPD.ps" version 3.0 edit 58
*% Date: 8/3/90
*FormatVersion: "3.0"
*FileVersion: "1.0"
*LanguageVersion: English
*% General Information and Defaults ===============
*FreeVM: "433174"
*ColorDevice: False
*VariablePaperSize: False
*FileSystem: False
*?FileSystem: "/initializedisk where{pop(True)}{(False)} ifelse = flush"
*% Edit *Throughput and remove this comment:
*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
*%----------- ME:1 July 91 - Adding multiple resolution support -------------
*SetJobResolution 300x300dpi: "statusdict begin 300 setresolution end"
*SetJobResolution 600x600dpi: "statusdict begin 600 setresolution end"
*%---------------------------------------------------------------------------
*?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.
*% Windows uses this
*Transfer Normalized: "{ }"
*%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. Windows uses this
*DefaultPageSize: Letter
*%------------------------ GY:29 July 91 - Changed ---------------------------
*%PageSize Letter: "statusdict begin letter end"
*%PageSize Legal: "statusdict begin legal end"
*%PageSize A4: "statusdict begin a4 end"
*%PageSize B5: "statusdict begin b5 end"
*PageSize Letter: "letter"
*PageSize Legal: "legal"
*PageSize Executive: "statusdict begin executivepage end"
*PageSize A4: "a4"
*PageSize B5: "b5"
*%----------------------------------------------------------------------------
*PageSize Envelope.monarch/3 7/8 Inch x 7 1/2 Inch Envelope: "statusdict begin monarch end"
*PageSize Envelope.com10/4 1/8 Inch x 9 1/2 Inch Envelope: "statusdict begin com10 end"
*PageSize Envelope.dl/110 mm x 220 mm Envelope: "statusdict begin dl end"
*PageSize Envelope.c5/162 mm x 229 mm Envelope: "statusdict begin c5 end"
*?PageSize: "
save statusdict begin
12 dict begin
/letter (Letter) def
/legal (Legal) def
/a4 (A4) def
/b5 (B5) def
/executivepage (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.
*% Used with windows
*DefaultPageRegion: Letter
*PageRegion Letter: "letter"
*PageRegion Legal: "legal"
*PageRegion A4: "a4"
*PageRegion B5: "b5"
*%------------------------ ME:24 July 91 - Changed ---------------------------
*%PageRegion Executive: "executivepage"
*PageRegion Executive: "statusdict begin executivepage end"
*%----------------------------------------------------------------------------
*PageRegion Envelope.monarch/3 7/8 Inch x 7 1/2 Inch Envelope: "statusdict begin monarch end"
*PageRegion Envelope.com10/4 1/8 Inch x 9 1/2 Inch Envelope: "statusdict begin com10 end"
*PageRegion Envelope.dl/110 mm x 220 mm Envelope: "statusdict begin dl end"
*PageRegion Envelope.c5/162 mm x 229 mm Envelope: "statusdict begin c5 end"
*% 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 Executive: "statusdict begin executivetray end"
*PaperTray A4: "statusdict begin a4tray end"
*PaperTray B5: "statusdict begin b5tray 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: "15 13 597 779 "
*ImageableArea Legal: "15 14 597 995 "
*ImageableArea A4: "16 11 579 831 "
*ImageableArea B5: "18 12 497 717 "
*ImageableArea Executive: "18 18 486 720"
*ImageableArea Envelope.monarch/3 7/8 Inch x 7 1/2 Inch Envelope: "0 0 279 540"
*ImageableArea Envelope.com10/4 1/8 Inch x 9 1/2 Inch Envelope: "0 0 297 684"
*ImageableArea Envelope.dl/110 mm x 220 mm Envelope: "0 0 312 624"
*ImageableArea Envelope.c5/162 mm x 229 mm Envelope: "0 0 459 649"
*?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"
*PaperDimension B5: "516 729"
*PaperDimension Executive: "522 756"
*PaperDimension Envelope.monarch/3 7/8 Inch x 7 1/2 Inch Envelope: "279 540"
*PaperDimension Envelope.com10/4 1/8 Inch x 9 1/2 Inch Envelope: "297 684"
*PaperDimension Envelope.dl/110 mm x 220 mm Envelope: "312 624"
*PaperDimension Envelope.c5/162 mm x 229 mm Envelope: "459 649"
*%WindowsAuto: "% windows auto"
*% Edit the following line if ecessary.
*DefaultOutputBin: Upper
*DefaultInputSlot: None
*%InputSlot Lower: "statusdict begin 2 setpapertray end"
*%InputSlot Upper: "statusdict begin 1 setpapertray end"
*%InputSlot Envelope: "statusdict begin 3 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:
/2 (Lower) def
/1 (Upper) def
/3 (Envelope) 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: ""
*DefaultFont: Courier
*Font AGaramond-Bold: Standard "(001.000)"
*Font AGaramond-BoldItalic: Standard "(001.000)"
*Font AGaramond-Italic: Standard "(001.000)"
*Font AGaramond-Regular: Standard "(001.000)"
*Font AGaramond-Semibold: Standard "(001.000)"
*Font AGaramond-SemiboldItalic: Standard "(001.000)"
*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 "(002.003)"
*Font Courier-Bold: Standard "(002.003)"
*Font Courier-BoldOblique: Standard "(002.003)"
*Font Courier-Oblique: Standard "(002.003)"
*Font Helvetica: Standard "(001.006)"
*Font Helvetica-Bold: Standard "(001.007)"
*Font Helvetica-BoldOblique: Standard "(001.007)"
*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.006)"
*Font Helvetica-Narrow-Bold: Standard "(001.007)"
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)"
*Font Helvetica-Narrow-Oblique: Standard "(001.006)"
*Font Helvetica-Oblique: Standard "(001.006)"
*Font NewCenturySchlbk-Bold: Standard "(001.006)"
*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.007)"
*Font Times-Bold: Standard "(001.007)"
*Font Times-BoldItalic: Standard "(001.009)"
*Font Times-Italic: Standard "(001.007)"
*Font Times-Roman: Standard "(001.007)"
*Font ZapfChancery-MediumItalic: Standard "(001.003)"
*Font ZapfDingbats: Special "(001.002)"
*?FontQuery: "
save 2 dict begin /sv exch def
/str 128 string def
{
count 0 gt {
dup str cvs (/) print print (:) print
FontDirectory exch known {(Yes)}{(No)}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
(*) = 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"
*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*% Please edit list below and remove % from each line as appropriate:
*Source: "serial25"
*Source: "AppleTalk"
*Source: "Centronics"
*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*% Please edit list below and remove % from each line as appropriate:
*%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.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 ===============================