*PPD-Adobe: "4.1"
*% Adobe PostScript(R) Printer Description File
*% For IBM LaserPrinter 4039
*% For use with Adobe's and similar printer drivers
*% Produced by Lexmark International, Inc.
*%
*% Copyright (c) 1993 Lexmark International Inc. All Rights Reserved.
*% Permission is granted for redistribution of this file as
*% long as this copyright notice is intact and the content
*% of the file is not altered in any way from its original form.
*%
*%
*LanguageLevel: "1"
*Protocols: PJL
*FreeVM: "175000"
*ColorDevice: False
*DefaultColorSpace: Gray
*VariablePaperSize: False
*Throughput: "8"
*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
*% === Job Control Language ==
*JCLBegin: "<1B>%-12345X"
*JCLToPSInterpreter: "@PJL ENTER LANGUAGE = Postscript <0A>"
*JCLEnd: "<1B>%-12345X"
*OpenUI *Smoothing/Smoothing: PickOne
*DefaultSmoothing: None
*OrderDependency: 40 AnySetup *Smoothing
*Smoothing None/Printer Setting: ""
*Smoothing True/On: "1 statusdict /setdoret get exec"
*Smoothing False/Off: "0 statusdict /setdoret get exec"
*?Smoothing: "
save
[(False)(True)(True)(True)(Unknown)] statusdict /doret get exec
dup 3 gt{pop 4}if get = flush
restore
"
*End
*CloseUI: *Smoothing
*% === 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: Factory
*Transfer Factory: "
{ statusdict begin doenhancedhalftone resolution end 600 eq and
{ dup 0.28 lt
{ 0.6 exp 1.2 mul }
{ dup mul .478426 mul .521574 add }
ifelse
}
{ 0.85 exp }
ifelse }"
*End
*Transfer Factory.Inverse: "
{ statusdict begin doenhancedhalftone resolution end 600 eq and
{ dup 0.28 lt
{ 0.6 exp 1.2 mul }
{ dup mul .478426 mul .521574 add }
ifelse
}
{ 0.85 exp }
ifelse
1 exch sub }"
*End
*% === Paper Handling ===================
*LandscapeOrientation: Plus90
*% Code in this section selects a tray and sets up a frame buffer.
*% This code should be used with Auto Tray Select
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/Letter: "userdict begin /lmp {lettertray}def end"
*PageSize Legal/Legal: "userdict begin /lmp {legaltray}def end"
*PageSize Executive/Executive: "userdict begin lmp {executivetray}def end"
*PageSize A4/A4: "userdict begin /lmp {a4tray}def end"
*PageSize A5/A5: "userdict begin /lmp {a5tray}def end"
*PageSize B5/B5: "userdict begin /lmp {b5tray}def end"
*PageSize Monarch/Monarch Envelope: "
userdict begin /lmf {3.875x7.5envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 279 540 translate 180 rotate}def}ifelse end"
*End
*PageSize C9/9 Envelope 3 7/8 x 8 7/8 in: "
userdict begin /lmf {3.875x8.875envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 279 639 translate 180 rotate}def}ifelse end"
*End
*PageSize Comm10/C10 Envelope: "
userdict begin /lmf {4.125x9.5envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 297 684 translate 180 rotate}def}ifelse end"
*End
*PageSize DL/DL Envelope: "
userdict begin /lmf {110x220envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 312 624 translate 180 rotate}def}ifelse end"
*End
*PageSize C5/C5 Envelope: "
userdict begin /lmf {162x229envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 459 649 translate 180 rotate}def}ifelse end"
*End
*PageSize ISOB5/B5 Envelope 176 x 250 mm: "
userdict begin /lmf {176x250envelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 499 709 translate 180 rotate}def}ifelse end"
*End
*PageSize Other/Other Envelope 8 1/2 x 14 in: "
userdict begin /lmf {otherenvelopetray}def
systemdict /undef known {/lmp {lmf}def}
{/lmp {lmf 612 1007 translate 180 rotate}def}ifelse end"
*End
*?PageSize: "
save
13 dict
dup /letter (Letter) put
dup /legal (Legal) put
dup /executivepage (Executive) put
dup /a4 (A4) put
dup /a5 (A5) put
dup /b5 (B5) put
dup /3.875x7.5envelope (Monarch) put
dup /3.875x8.875envelope (C9) put
dup /4.125x9.5envelope (Comm10) put
dup /110x220envelope (DL) put
dup /162x229envelope (C5) put
dup /176x250envelope (B5 Envelope) put
dup /otherenvelope (Other Envelope) put
statusdict /papersize get exec
3 1 roll {get} stopped {(Unknown)}if
exch not { print (.Transverse) }if
= flush
restore
"
*End
*CloseUI: *PageSize
*% These entries will set up the frame buffer.
*% Usually used with input slots other than AutoSelect.
*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "
userdict begin /lmp {letter}def
/lexas where {pop lexas {/lmp {lettertray}def}if}if end"
*End
*PageRegion Legal/Legal: "
userdict begin /lmp {legal}def
/lexas where {pop lexas {/lmp {legaltray}def}if}if end "
*End
*PageRegion Executive/Executive: "
userdict begin /lmp {executivepage}def
/lexas where {pop lexas {/lmp {executivetray}def}if}if end"
*End
*PageRegion A4/A4: "
userdict begin /lmp {a4}def
/lexas where {pop lexas {/lmp {a4tray}def}if}if end"
*End
*PageRegion A5/A5: "
userdict begin /lmp {a5}def
/lexas where {pop lexas {/lmp {a5tray}def}if}if end"
*End
*PageRegion B5/B5: "
userdict begin /lmp {b5}def
/lexas where {pop lexas {/lmp {b5tray}def}if}if end"
*End
*PageRegion Monarch/Monarch Envelope: "
userdict begin /lmf {3.875x7.5envelope}def
/lexas where {pop lexas {/lmf {3.875x7.5envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 279 540 translate 180 rotate}def}ifelse end"
*End
*PageRegion C9/9 Envelope 3 7/8 x 8 7/8 in: "
userdict begin /lmf {3.875x8.875envelope}def
/lexas where {pop lexas {/lmf {3.875x8.875envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 279 639 translate 180 rotate}def}ifelse end"
*End
*PageRegion Comm10/C10 Envelope: "
userdict begin /lmf {4.125x9.5envelope}def
/lexas where {pop lexas {/lmf {4.125x9.5envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 297 684 translate 180 rotate}def}ifelse end"
*End
*PageRegion DL/DL Envelope: "
userdict begin /lmf {110x220envelope}def
/lexas where {pop lexas {/lmf {110x220envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 312 624 translate 180 rotate}def}ifelse end"
*End
*PageRegion C5/C5 Envelope: "
userdict begin /lmf {162x229envelope}def
/lexas where {pop lexas {/lmf {162x229envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 459 649 translate 180 rotate}def}ifelse end"
*End
*PageRegion ISOB5/B5 Envelope 176 x 250 mm: "
userdict begin /lmf {176x250envelope}def
/lexas where {pop lexas {/lmf {176x250envelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 499 709 translate 180 rotate}def}ifelse end"
*End
*PageRegion Other/Other Envelope 8 1/2 x 14 in: "
userdict begin /lmf {otherenvelope}def
/lexas where {pop lexas {/lmf {otherenvelopetray}def}if}if
systemdict /undef known
{/lmp {lmf}def}{/lmp {lmf 612 1007 translate 180 rotate}def}ifelse end"
*End
*CloseUI: *PageRegion
*% Font Information ==============(5/28/92)============================
*DefaultFont: Courier
*Font Courier: Standard "(001.000)" Standard ROM
*Font Courier-Bold: Standard "(001.000)" Standard ROM
*Font Courier-Oblique: Standard "(001.000)" Standard ROM
*Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
*Font Times-Roman: Standard "(001.000)" Standard ROM
*Font Times-Bold: Standard "(001.000)" Standard ROM
*Font Times-Italic: Standard "(001.000)" Standard ROM
*Font Times-BoldItalic: Standard "(001.000)" Standard ROM
*Font Helvetica: Standard "(001.000)" Standard ROM
*Font Helvetica-Bold: Standard "(001.000)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.000)" Standard ROM
*Font Symbol: Special "(001.000)" Standard ROM
*Font AvantGarde-Book: Standard "(001.000)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.000)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.000)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.000)" Standard ROM
*Font Bookman-Demi: Standard "(001.000)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.000)" Standard ROM
*Font Bookman-Light: Standard "(001.000)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.000)" Standard ROM
*Font Helvetica-Light: Standard "(001.000)" Standard ROM
*Font Helvetica-LightOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Black: Standard "(001.000)" Standard ROM
*Font Helvetica-BlackOblique: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.000)" Standard ROM
*Font Palatino-Roman: Standard "(001.000)" Standard ROM
*Font Palatino-Bold: Standard "(001.000)" Standard ROM
*Font Palatino-Italic: Standard "(001.000)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.000)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.000)" Standard ROM
*Font ZapfDingbats: Special "(001.000)" Special ROM
*?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):
*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"
*ColorSepScreenProc ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "
{1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch
1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch
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
*% For 71 lpi / 600 dpi ===============================