blob: b44008ce2e0c881ff5ef7b42cabb4d0e3fef122d [file] [log] [blame]
*PPD-Adobe: "4.0"
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1993 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.
*% End of Copyright statement
*FormatVersion: "4.0"
*FileVersion: "3.3"
*PCFileName: "APPLE230.PPD"
*LanguageVersion: English
*Product: "(LaserWriter)"
*PSVersion: "(23.0) 0"
*ModelName: "Apple LaserWriter"
*NickName: "Apple LaserWriter v23.0"
*% General Information and Defaults ===============
*ColorDevice: False
*DefaultColorSpace: Gray
*FreeVM: "173936"
*LanguageLevel: "1"
*VariablePaperSize: False
*FileSystem: 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
*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: "
{dup mul exch dup mul add 1.0 exch sub }
"
*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 ===================
*% Use these entries to set paper size most of the time, unless there is
*% specific reason to use PageRegion.
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/US Letter: "letter"
*PageSize Legal/US Legal: "legal"
*PageSize LetterSmall/US Letter Small: "lettersmall"
*PageSize LegalSmall/US Legal Small: "legal"
*PageSize A4: "a4"
*PageSize Monarch/Monarch Envelope Edge Fed: "letter"
*PageSize Com10/Com10 Envelope Edge Fed: "letter"
*?PageSize: "
save
[(Letter)(Legal)] statusdict /pagetype get exec
{get} stopped { pop pop (Unknown)} if = flush
restore
"
*End
*CloseUI: *PageSize
*% These entries will set up the frame buffer. Usually used with manual feed.
*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/US Letter: "letter"
*PageRegion Legal/US Legal: "legal"
*PageRegion LetterSmall/US Letter Small: "lettersmall"
*PageRegion LegalSmall/US Legal Small: "legal"
*PageRegion A4: "a4"
*PageRegion Monarch/Monarch Envelope Edge Fed: "letter"
*PageRegion Com10/Com10 Envelope Edge Fed: "letter"
*CloseUI: *PageRegion
*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter/US Letter: "18 8 593 784 "
*ImageableArea Legal/US Legal: "65 37 547 972 "
*ImageableArea LetterSmall/US Letter Small: "31 31 583 761 "
*ImageableArea LegalSmall/US Legal Small: "64 54 548 954 "
*ImageableArea A4:"17 22 578 820 "
*ImageableArea Monarch/Monarch Envelope Edge Fed: "19 269 274 773 "
*ImageableArea Com10/Com10 Envelope Edge Fed: "19 125 292 773 "
*?ImageableArea: "
save
/cvp {( ) cvs print ( ) print } bind def
/upperright {10000 mul floor 10000 div} bind def
/lowerleft {10000 mul ceiling 10000 div} bind def
newpath clippath pathbbox
4 -2 roll exch 2 {lowerleft cvp} repeat
exch 2 {upperright cvp} repeat flush
restore
"
*End
*% These provide the physical dimensions of the paper (by keyword)
*DefaultPaperDimension: Letter
*PaperDimension Letter/US Letter: "612 792"
*PaperDimension Legal/US Legal: "612 1008"
*PaperDimension LetterSmall/US Letter Small: "612 792"
*PaperDimension LegalSmall/US Legal Small: "612 1008"
*PaperDimension A4: "595 842"
*PaperDimension Monarch/Monarch Envelope Edge Fed: "611 792"
*PaperDimension Com10/Com10 Envelope Edge Fed: "610 792"
*RequiresPageRegion All: True
*OpenUI *InputSlot: PickOne
*OrderDependency: 20 AnySetup *InputSlot
*DefaultInputSlot: Cassette
*InputSlot Cassette: ""
*CloseUI: *InputSlot
*OpenUI *ManualFeed/Manual Feed: Boolean
*OrderDependency: 20 AnySetup *ManualFeed
*DefaultManualFeed: False
*ManualFeed True: "statusdict /manualfeed true put"
*ManualFeed False: "statusdict /manualfeed false put"
*?ManualFeed: "
save
statusdict /manualfeed get {(True)}{(False)}ifelse = flush
restore
"
*End
*CloseUI: *ManualFeed
*DefaultOutputOrder: Reverse
*% Font Information =====================
*DefaultFont: Courier
*Font Courier-Bold: Standard "(001.000)" Standard ROM
*Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
*Font Courier-Oblique: Standard "(001.000)" Standard ROM
*Font Helvetica: Standard "(001.001)" Standard ROM
*Font Helvetica-Bold: Standard "(001.001)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
*Font Symbol: Special "(001.001)" Special ROM
*Font Times-Bold: Standard "(001.001)" Standard ROM
*Font Times-BoldItalic: Standard "(001.001)" Standard ROM
*Font Times-Italic: Standard "(001.001)" Standard ROM
*Font Times-Roman: Standard "(001.000)" Standard ROM
*?FontQuery: "
save
/str 100 string dup 0 (fonts/) putinterval def
{
count 1 gt
{
exch dup str 6 94 getinterval cvs
(/) print print (:) print
FontDirectory exch known
{(Yes)}{(No)} ifelse =
}
{exit} ifelse
}bind loop
(*) = flush
restore
"
*End
*?FontList: "
save
FontDirectory { pop == } bind flush forall (*) = 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: "PrinterError: timeout, clearing printer"
*Status: "PrinterError: timeout"
*Status: "PrinterError: paper entry misfeed"
*Status: "PrinterError: no toner cartridge"
*Status: "PrinterError: service call"
*Status: "PrinterError: paper entry misfeed"
*Status: "PrinterError: no paper tray"
*Status: "PrinterError: out of paper"
*Status: "PrinterError: cover open"
*Status: "PrinterError: resetting printer"
*Status: "PrinterError: manual feed timeout"
*Status: "PrinterError: warming up"
*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*Source: "serial9"
*Source: "serial25"
*Source: "AppleTalk"
*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*PrinterError: "timeout, clearing printer"
*PrinterError: "timeout"
*PrinterError: "paper entry misfeed"
*PrinterError: "no toner cartridge"
*PrinterError: "service call"
*PrinterError: "paper entry misfeed"
*PrinterError: "no paper tray"
*PrinterError: "out of paper"
*PrinterError: "cover open"
*PrinterError: "resetting printer"
*PrinterError: "manual feed timeout"
*PrinterError: "warming up"
*%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 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"
*% This patch file inserts a delay before manualfeed to fix a bug
*% in the version 23 LaserWriter.
*JobPatchFile 1/ManualFeedDelay: "
save
/version23-manualfeedpatch where { pop false } { true }ifelse
% we don't do an explicit 'get' since product and version MAY
% be in systemdict or statusdict - this technique gets the lookup
% without failure
statusdict begin
product (LaserWriter) eq % true if LaserWriter
version cvr 23.0 eq % true if version 23
end
and % only install this patch if both are true
and % true only if patch is not installed and is for this printer
% save object and boolean on stack
dup { exch restore }if
% either true OR saveobject false
dup
{
/version23-manualfeedpatch true def
/oldversion23-showpage /showpage load def
/showpage % this showpage will wait extra time if manualfeed is true
{%
statusdict /manualfeed known
{% manualfeed known in statusdict
statusdict /manualfeed get
{% if true then we loop for 5 seconds
usertime 5000 add % target usertime
{ % loop
dup usertime sub 0 lt
{ exit }if
}loop
pop % pop the usertime off the stac
}if
}if
oldversion23-showpage
}bind def
}if
not{ restore }if
"
*End
*% For "LaserWriter" version 23.0
*% Produced by "GETapd.ps" version 2.0 edit 45
*% Converted to meet 4.0 specification
*% Last Edit Date: Aug 11 1993
*% The byte count of this file should be exactly 011416 or 011766
*% depending on the filesystem it resides in.
*% end of PPD file for LaserWriter