*PPD-Adobe: "4.0"
*%
*% Note:  For use with some ancient applications, e.g., Adobe Separator 3.2,
*%   it may be necessary to make a version of this file with the first line
*%   commented out.
*%
*% PTL SCCS ID "@(#)PPD	1.21  7/20/94";
*%
*FormatVersion: "4.0"
*FileVersion: "1.21"
*LanguageVersion: English
*%
*Product: "(EPL-3000)"
*%
*PSVersion: "(132.07) 2834"
*%
*ModelName: "EPSON EPL-3000 EpsonScript"
*%
*% NickName can be customized by the local system administrator.
*NickName: "EPSON EPL-3000 EpsonScript"
*%
*PCFileName: "ESCRIPT6.PPD"

*%=== Basic Capabilities ===============
*LanguageLevel: "2"
*ColorDevice: False
*DefaultColorSpace: Gray
*Throughput: "4"
*Protocols: TBCP

*% Following numbers may be set for the particular printer (or for each
*%   available memory size) by typing "vmstatus exch sub == pop" for each
*%   memory size, JUST AFTER POWER UP.
*%   The FreeVM number is most useful for intelligent spoolers that can
*%   decide which printer to use, based on the known available memory.
*% The number will of course vary for SelecType settings "USER INDIVIDUAL" vs.
*%   "USER AUTOSENSE", RX-BUFFER SIZE, etc.  Actual usable memory size is
*%   affected by setting of PRINT MODE ("BAND" vs. "PAGE).
*%
*FreeVM: "1395693"
*VMOption None/Minimum PS2 Standard 2.0 MB RAM: "1395693"
*VMOption 3.0MB: "2359943"
*VMOption 5.0MB: "4288448"

*Password: "()"
*ExitServer: " count 0 eq % Is password on stack?
   { false } { true exch startjob } ifelse
     not { (WARNING: Cannot modify initial VM.) =
	   (Missing or invalid password.) =
	   (Please contact author of this software.) = flush quit
         } if"
*End
*Reset: "count 0 eq % Is password on stack?
   { false } { true exch startjob } ifelse
     not { (WARNING: Cannot reset printer.) =
	   (Missing or invalid password.) =
	   (Please contact author of this software.) = flush quit
         } if
    systemdict /quit get exec
    (WARNING:  Printer Reset Failed.) = flush"
*End

*%=== Resolution ======================
*DefaultResolution: 300dpi
*?Resolution: "save currentpagedevice /HWResolution get 0 get
 (          ) cvs print (dpi) = flush restore"
*End

*% PageProtect / "Banding" support.
*%
*% Must be followed by a paper or tray operator to take effect!
*%
*OpenUI *PageProtect/Page Protect: PickOne
*OrderDependency: 5 AnySetup *PageProtect
*DefaultPageProtect: Default
*%
*PageProtect Default/Printer's default: ""
*PageProtect Off: "<</PrintMode 0>> setsystemparams"
*PageProtect On:  "<</PrintMode 1>> setsystemparams"
*CloseUI: *PageProtect

*% Epson RITech (Resolution Improvement Technology)
*%
*OpenUI *Smoothing/Resolution Improve: PickOne
*OrderDependency: 40 AnySetup *Smoothing
*DefaultSmoothing: Default
*% "Printer's default" appears twice for PSPrinter/LW8.0, once for EpsonScript.
*Smoothing Default/Printer's default: "<</REValue 4>> setsystemparams"
*Smoothing Off: "<</REValue 0>> setsystemparams"
*Smoothing Light: "<</REValue 1>> setsystemparams"
*Smoothing Medium: "<</REValue 2>> setsystemparams"
*Smoothing Dark: "<</REValue 3>> setsystemparams"
*?Smoothing: "save [(Off)(Off)(Light)(Medium)(Dark)]
  currentsystemparams /REValue get  1 add  get
  = flush restore"
*End
*CloseUI: *Smoothing


*% User preference of Printer's Default Monochrome Screen.
*% Phoenix Technologies' MultiGray (R) screening for 300dpi has
*%   the *appearance* of a 53 lpi screen at 45 degrees, but with better
*%   grayscale than a standard screen, i.e., less visible contouring.
*% When MultiGray is selected, it overrides *all* user-specified screens.
*%
*OpenUI *MultiGray/Dot Screen: PickOne
*OrderDependency: 60 AnySetup *MultiGray
*DefaultMultiGray: Default
*MultiGray Default/Printer's default: ""
*MultiGray Off/Standard: "
  <</PrefScreenValue 0>> setuserparams currentscreen setscreen"
*End
*MultiGray On/MultiGray: "
  <</PrefScreenValue 1>> setuserparams currentscreen setscreen"
*End
*?MultiGray: "save [(Off)(On)]
  currentuserparams /PrefScreenValue get get
  = flush restore"
*End
*CloseUI: *MultiGray


*% PS Error Sheet
*%
*OpenUI *PSerrorsheet/Error Sheet: PickOne
*OrderDependency: 70 AnySetup *PSerrorsheet
*DefaultPSerrorsheet: Default
*%
*PSerrorsheet Default/Printer's default: ""
*PSerrorsheet Off: "<</DoErrorSheet false>> setsystemparams"
*PSerrorsheet On:  "<</DoErrorSheet true>>  setsystemparams"
*?PSerrorsheet: "save [(Off)(On)]
  currentsystemparams /DoErrorSheet get get
  = flush restore"
*End
*CloseUI: *PSerrorsheet


*% PS Toner Save
*%
*OpenUI *TonerSave/Toner Save: PickOne
*OrderDependency: 80 AnySetup *TonerSave
*DefaultTonerSave: Default
*%
*TonerSave Default/Printer's default: ""
*TonerSave Off: "<</TonerSave false>> setuserparams"
*TonerSave On:  "<</TonerSave true>>  setuserparams"
*?TonerSave: "save [(Off)(On)]
  currentuserparams /TonerSave get get
  = flush restore"
*End
*CloseUI: *TonerSave


*% PS Toner Density
*%
*OpenUI *TonerDensity/Toner Density: PickOne
*OrderDependency: 90 AnySetup *TonerDensity
*DefaultTonerDensity: Default
*%
*TonerDensity Default/Printer's default: "<</TonerDensity 5>> setuserparams"
*TonerDensity Lightest: "<</TonerDensity 0>> setuserparams"
*TonerDensity Light:  "<</TonerDensity 1>> setuserparams"
*TonerDensity Medium: "<</TonerDensity 2>> setuserparams"
*TonerDensity Dark:   "<</TonerDensity 3>> setuserparams"
*TonerDensity Darkest: "<</TonerDensity 4>> setuserparams"
*?TonerDensity: "save [(Lightest)(Light)(Medium)(Dark)(Darkest)]
  currentuserparams /TonerDensity get get
  = flush restore"
*End
*CloseUI: *TonerDensity


*% Halftone Information ===========================
*%
*ScreenFreq: "60"
*ScreenAngle: "45"
*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}"
*End

*DefaultTransfer: Null
*Transfer Null: "{}"
*Transfer Null.Inverse: "{1 exch sub}"

*% === Paper Handling ===================
*% Use these PageSize entries to set paper size unless there is specific reason
*%   to use PageRegion, such as when using manual feed.  (PageSize is used
*%   when "Paper from" is set to "Auto Select" or "Automatic".)
*OpenUI *PageSize: PickOne
*OrderDependency: 20 AnySetup *PageSize
*%
*% This may be set to whatever is the most common PageSize at a site.
*%   (Per-job PageSize is not stored with the job by all Mac applications.)
*DefaultPageSize: A4
*%
*PageSize A4: "statusdict /a4tray get exec"
*PageSize A5: "statusdict /a5tray get exec"
*PageSize B5: "statusdict /b5tray get exec"
*PageSize Letter: "statusdict /lettertray get exec"
*PageSize Legal: "statusdict /legaltray get exec"
*PageSize HalfLetter/Half Letter: "statusdict /halflettertray get exec"
*PageSize Executive: "statusdict /executivetray get exec"
*PageSize Govlgl/Government Legal: "statusdict /glgtray get exec"
*PageSize Govltr/Government Letter: "statusdict /glttray get exec"
*PageSize F4: "statusdict /f4tray get exec"
*PageSize Monarch: "statusdict /monarchtray get exec"
*PageSize Comm10/Commercial-10: "statusdict /com10tray get exec"
*PageSize DL: "statusdict /dlenvelopetray get exec"
*PageSize C5: "statusdict /c5tray get exec"
*PageSize C6: "statusdict /c6tray get exec"
*PageSize ISOB5/International B5: "statusdict /enb5tray get exec"
*?PageSize: "save
 19 dict
   dup /a4 (A4) put
   dup /a5 (A5) put
   dup /b5 (B5) put
   dup /letter (Letter) put
   dup /legal (Legal) put
   dup /halfletter (HalfLetter) put
   dup /executivepage (Executive) put
   dup /glg (Govlgl) put
   dup /glt (Govltr) put
   dup /f4 (F4) put
   dup /monarch (Monarch) put
   dup /com10 (Comm10) put
   dup /dlenvelope (DL) put
   dup /c5 (C5) put
   dup /c6 (C6) put
   dup /enb5 (ISOB5) put
   paperdict {
     /pindex get 
     currentsystemparams /PaperSize get  eq
     { exit } { pop} ifelse
   } forall
  count 0 eq { (Unknown) }{ get } ifelse =
  flush restore"
*End
*CloseUI: *PageSize


*% These entries set up the frame buffer.  Usually used with manual feed.
*%   (These are intended to be ignored if emitted before InputSlot for
*%   this printer.  I.e., InputSlot will override a preceding PageRegion.)
*OpenUI *PageRegion: PickOne
*OrderDependency: 14 AnySetup *PageRegion
*%
*DefaultPageRegion: A4
*%
*PageRegion A4: "a4"
*PageRegion A5: "a5"
*PageRegion B5: "b5"
*PageRegion Letter: "letter"
*PageRegion Legal: "legal"
*PageRegion HalfLetter/Half Letter: "halfletter"
*PageRegion Executive: "executivepage"
*PageRegion Govlgl/Government Legal: "glg"
*PageRegion Govltr/Government Letter: "glt"
*PageRegion F4: "f4"
*PageRegion Monarch: "monarch"
*PageRegion Comm10/Commercial-10: "com10"
*PageRegion DL: "dlenvelope"
*PageRegion C5: "c5"
*PageRegion C6: "c6"
*PageRegion ISOB5/International B5: "enb5"
*CloseUI: *PageRegion


*% These entries provide the imageable areas of the media option keywords.
*%
*DefaultImageableArea: A4
*%
*ImageableArea A4: "12 10 582 833"
*ImageableArea A5: "12 13 407 582"
*ImageableArea B5: "12 10 504 716"
*ImageableArea Letter: "12 9 599 784"
*ImageableArea Legal: "12 8 599 1000"
*ImageableArea HalfLetter/Half Letter: "12 13 383 599"
*ImageableArea Executive: "12 13 509 743"
*ImageableArea Govlgl/Government Legal: "12 13 599 923"
*ImageableArea Govltr/Government Letter: "12 13 563 743"
*ImageableArea F4: "12 13 582 923"
*ImageableArea Monarch: "12 13 266 527"
*ImageableArea Comm10/Commercial-10: "12 13 284 671"
*ImageableArea DL: "12 13 299 611"
*ImageableArea C5: "12 13 446 636"
*ImageableArea C6: "12 13 310 447"
*ImageableArea ISOB5/International B5: "12 13 486 696"

*?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 media, by option keyword.
*%
*DefaultPaperDimension: A4
*%
*PaperDimension A4: "595 841"
*PaperDimension A5: "419 595"
*PaperDimension B5: "516 728"
*PaperDimension Letter: "612 792"
*PaperDimension Legal: "612 1008"
*PaperDimension HalfLetter/Half Letter: "396 612"
*PaperDimension Executive: "521 755"
*PaperDimension Govlgl/Government Legal: "612 936"
*PaperDimension Govltr/Government Letter: "576 756"
*PaperDimension F4: "595 935"
*PaperDimension Monarch: "278 540"
*PaperDimension Comm10/Commercial-10: "296 684"
*PaperDimension DL: "311 623"
*PaperDimension C5: "459 648"
*PaperDimension C6: "323 459"
*PaperDimension ISOB5/International B5: "498 708"


*% This controls the "Paper from" driver dialog.
*OpenUI *InputSlot: PickOne
*OrderDependency: 15 AnySetup *InputSlot
*DefaultInputSlot: Upper
*%
*% The "Automatic" default causes tray-selection based on PageSize.
*% Default appears to be "Automatic" for EpsonScript Driver, and equivalently,
*%   "Auto Select" for PSPrinter/LW8.0 .  I.e., DefaultInputSlot is ignored.
*InputSlot Upper/Standard Bin: "0 statusdict /setpapertray get exec
  <</ManualFeed false >> setpagedevice"
*End
*InputSlot Manual/Manual Feed: "0 statusdict /setpapertray get exec
  <</ManualFeed true >> setpagedevice"
*End
*?InputSlot: "
 save
 currentpagedevice /ManualFeed get
   {(Manual)}  {
  1 dict
   dup /0 (Upper) put
   statusdict /papertray get exec
   {get} stopped {pop pop (Unknown)} if
 } ifelse
 = flush restore"
*End
*CloseUI: *InputSlot

*% Font Information =====================
*%
*% Note:  "Helvetica", "Palatino" and "Times" are registered trademarks of
*%   Linotype AG and/or its subsidiaries.  The PostScript interpreter
*%   addressed by this PPD will substitute the comparable Bitstream font
*%   families "Swiss", "Zapf Calligraphic", and "Dutch", respectively,
*%   for PostScript references to the former three names.
*%
*DefaultFont: Courier
*Font AvantGarde-Book:		      Standard "(002)" Standard ROM
*Font AvantGarde-BookOblique:	      Standard "(002)" Standard ROM
*Font AvantGarde-Demi:		      Standard "(002)" Standard ROM
*Font AvantGarde-DemiOblique:	      Standard "(002)" Standard ROM
*Font Bookman-Demi:		      Standard "(002)" Standard ROM
*Font Bookman-DemiItalic:	      Standard "(002)" Standard ROM
*Font Bookman-Light:		      Standard "(002)" Standard ROM
*Font Bookman-LightItalic:	      Standard "(002)" Standard ROM
*Font Courier:			      Standard "(002)" Standard ROM
*Font Courier-Bold:		      Standard "(002)" Standard ROM
*Font Courier-BoldOblique:	      Standard "(002)" Standard ROM
*Font Courier-Oblique:		      Standard "(002)" Standard ROM
*Font Helvetica:		      Standard "(002)" Standard ROM
*Font Helvetica-Bold:		      Standard "(002)" Standard ROM
*Font Helvetica-BoldOblique:	      Standard "(002)" Standard ROM
*Font Helvetica-Narrow:		      Standard "(002)" Standard ROM
*Font Helvetica-Narrow-Bold:	      Standard "(002)" Standard ROM
*Font Helvetica-Narrow-BoldOblique:   Standard "(002)" Standard ROM
*Font Helvetica-Narrow-Oblique:	      Standard "(002)" Standard ROM
*Font Helvetica-Oblique:	      Standard "(002)" Standard ROM
*Font NewCenturySchlbk-Bold:	      Standard "(002)" Standard ROM
*Font NewCenturySchlbk-BoldItalic:    Standard "(002)" Standard ROM
*Font NewCenturySchlbk-Italic:	      Standard "(002)" Standard ROM
*Font NewCenturySchlbk-Roman:	      Standard "(002)" Standard ROM
*Font Palatino-Bold:		      Standard "(002)" Standard ROM
*Font Palatino-BoldItalic:	      Standard "(002)" Standard ROM
*Font Palatino-Italic:		      Standard "(002)" Standard ROM
*Font Palatino-Roman:		      Standard "(002)" Standard ROM
*Font Symbol:			      Standard "(002)" Standard ROM
*Font Times-Bold:		      Standard "(002)" Standard ROM
*Font Times-BoldItalic:		      Standard "(002)" Standard ROM
*Font Times-Italic:		      Standard "(002)" Standard ROM
*Font Times-Roman:		      Standard "(002)" Standard ROM
*Font ZapfChancery-MediumItalic:      Standard "(002)" Standard ROM
*Font ZapfDingbats:		      Standard "(002)" Standard ROM
*% 

*?FontQuery: "save
 /str 100 string dup 0 (fonts/) putinterval def
 {
   count 1 gt
   {
     exch dup str 6 94 getinterval cvs
     (/) print dup print (:) print exch
     FontDirectory exch known
     { pop (Yes) }
 {
   length 6 add str 0 3 -1 roll getinterval
   mark exch status
       {cleartomark (Yes)}{cleartomark (No)} ifelse
     } ifelse = flush
   }
   {exit} ifelse
 }bind loop
 (*) = flush
restore"
*End

*?FontList: "save
  FontDirectory { pop == } bind forall flush
(*) = 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: "initializing"

*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*Source: "Serial"
*Source: "LocalTalk"
*Source: "Parallel"

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*%   (Printer Errors are reported via the LCD display on the printer.)

*% 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: "18.43"
*ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
*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.43"
*ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.43"
*ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"

*% end of PPD file for EPSON EPL-3000 EpsonScript.