*% Adobe PostScript(R) Printer Description File
*% For "QMS-PS 800" version 46.1
*% Produced by "GETapd.ps" version 2.0 edit 47
*%
*% Copyright 1988 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.
*%
*% The byte count of this file should be exactly 008957.
*%
*% Date: <2/3/1988>
*FormatVersion: "2.0"
*FileVersion: "1.1"
*LanguageVersion: English
*% General Information and Defaults ===============
*ColorDevice: False
*FileSystem: False
*?FileSystem: "/initializedisk where{pop(True)}{(False)} ifelse = flush"
*Throughput: "8"
*Password: "0"
*ExitServer: "serverdict begin count 0 eq{0}if exitserver"
*FreeVM: "412988"
*Reset: "
systemdict /quit get exec
(WARNING : Printer Reset Failed.) = flush
"
*End
*VariablePaperSize: False
*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 }"
*Transfer Normalized: "
{
mark
1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0
counttomark dup 3 add -1 roll exch
2 sub mul dup floor cvi
dup 3 1 roll sub
exch dup
3 add index exch 2 add index dup
4 1 roll
sub mul add
counttomark 1 add 1 roll
cleartomark
} bind"
*End
*Transfer Normalized.Inverse: "
{
mark
0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0
counttomark dup 3 add -1 roll exch
2 sub mul dup floor cvi
dup 3 1 roll sub
exch dup
3 add index exch 2 add index dup
4 1 roll
sub mul add
counttomark 1 add 1 roll
cleartomark
} bind"
*End
*% 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: "letter"
*PageSize Legal: "legal"
*PageSize A4: "a4"
*PageSize B5: "b5"
*?PageSize: "
save statusdict begin
/papersize where{ pop
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}if
}ifelse
end
}{
/pagetype where{pop[(Letter)(Legal)]pagetype dup 1 gt{pop 1}if get = flush}if
}ifelse
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"
*PageRegion B5: "b5"
*DefaultPaperTray: None
*PaperTray Letter: "statusdict begin lettertray end"
*PaperTray Legal: "statusdict begin legaltray end"
*PaperTray A4: "statusdict begin a4tray end"
*PaperTray B5: "statusdict begin b5tray end"
*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter: "18 8 593 784"
*ImageableArea Legal: "18 194 593 990"
*ImageableArea A4: "18 18 577 824"
*ImageableArea B5: "8 14 506 715"
*?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"
*DefaultOutputBin: Upper
*DefaultInputSlot: 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"
*% 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: timeout, clearing printer"
*Status: "PrinterError: paper entry misfeed"
*Status: "PrinterError: warming up"
*Status: "PrinterError: no toner cartridge"
*Status: "PrinterError: service call"
*Status: "PrinterError: cover open"
*Status: "PrinterError: resetting printer"
*Status: "PrinterError: out of paper"
*Status: "PrinterError: timeout"
*Status: "PrinterError: manual feed timeout"
*Status: "PrinterError: no paper tray"
*ColorSepScreenProc ProcessCyan.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessMagenta.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessYellow.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessBlack.60lpi/60 lpi: "
{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
*ColorSepScreenProc CustomColor.60lpi/60 lpi: "
{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