*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: ]%% ) *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: ; source: ]%% ) *Source: "serial9" *Source: "serial25" *Source: "AppleTalk" *% Printer Error (format: %%[ PrinterError: ]%%) *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