*PPD-Adobe: "4.1"
*% 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

*% Tektronix (R) is a registered trademark of Tektronix, Inc.
*% TekColor TM is a trademark of Tektronix, Inc.
*% Phaser TM is a trademark of Tektronix, Inc., for color printers and 
*%  related products.

*FormatVersion: "4.1"
*FileVersion: "1.1"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*PCFileName: "TKP220I1.PPD"
*Product: "(Phaser 220i)"
*PSVersion: "(2013.113) 3"
*ModelName: "Tektronix Phaser 220i"
*ShortNickName: "Tektronix Phaser 220i"
*NickName: "Tektronix Phaser 220i v2013.113"

*% === Installable Options ===========
*OpenGroup: InstallableOptions/Options Installed

*OpenUI *Option1/Memory Configuration: PickOne
*DefaultOption1: None
*Option1 None/Standard 6 MB RAM: ""
*Option1 10Meg/10 MB Total RAM: ""
*Option1 14Meg/14 MB Total RAM: ""
*CloseUI: *Option1

*OpenUI *Option2/Optional Hard Drive: Boolean
*DefaultOption2: False
*Option2 True/Installed: ""
*Option2 False/Not Installed: ""
*CloseUI: *Option2

*OpenUI *Option3/Optional Ethernet Card: Boolean
*DefaultOption3: False
*Option3 True/Installed: ""
*Option3 False/Not Installed: ""
*CloseUI: *Option3

*OpenUI *Option4/Optional Lower Tray: Boolean
*DefaultOption4: False
*Option4 True/Installed: ""
*Option4 False/Not Installed: ""
*CloseUI: *Option4

*CloseGroup: InstallableOptions

*% === Constraints ===================

*UIConstraints: *Option1 None  *VMOption
*UIConstraints: *Option1 10Meg *VMOption None
*UIConstraints: *Option1 10Meg *VMOption 14Meg
*UIConstraints: *Option1 14Meg *VMOption None
*UIConstraints: *Option1 14Meg *VMOption 10Meg
*UIConstraints: *Option4 False *InputSlot Lower
*UIConstraints: *Option4 False *InputSlot AutoSelect

*% === Device Capabilities ============

*LanguageLevel: "2"
*Protocols: BCP

*FreeVM: "614000"
*VMOption None/Standard 6 MB RAM: "614000"
*VMOption 10Meg/10 MB Total RAM: "671360"
*VMOption 14Meg/14 MB Total RAM: "2211456"

*StartEmulator_hpgl: "currentfile /hpgl statusdict /emulate get exec "
*StopEmulator_hpgl: "<1B7F>0"
*ColorDevice: True
*DefaultColorSpace: CMYK
*VariablePaperSize: False

*FileSystem:True
*?FileSystem: "
  save false
   (%disk?%) 
   { currentdevparams dup /Writeable known
      { /Writeable get {pop true} if }  { pop } ifelse 
    } 10 string /IODevice resourceforall
    {(True)}{(False)} ifelse = flush
 restore
 "
*End

*Throughput: "1"
*Password: "()" 
*ExitServer: "
 count 0 eq
 { false } { true exch startjob } ifelse
 not { 
     (WARNING: Cannot modify initial VM.) =
     (Missing or invalid password.) =
     (Please contact the author of this software.) = flush quit
     } if
"
*End

*Reset: "
 count 0 eq
 { false } { true exch startjob } ifelse
 not { 
    (WARNING: Cannot reset printer.) =
    (Missing or invalid password.) =
    (Please contact the author of this software.) = flush quit
    } if
 systemdict /quit get exec
 (WARNING : Printer Reset Failed.) = flush
"
*End

*DefaultResolution: 300dpi
*Resolution 300dpi: "1 dict dup /HWResolution [300 300] put setpagedevice"
*?Resolution: "
  save
    currentpagedevice /HWResolution get
    0 get
    (          ) cvs print
    (dpi)
    = flush
  restore
"
*End

*% Halftone Information ===============
*ScreenFreq: "60.0"
*ScreenAngle: "68.0"
*DefaultScreenProc: TekHalftone
*ScreenProc TekHalftone: "
 mark 
  { /DefaultHalftone /Halftone findresource /GraySpotFunction get
    exch
  } stopped pop cleartomark
"
*End

*SpotFunctionLine: "{ pop }"
*SpotFunctionEllipse: "{ 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 }"

*% Print Quality Selection  ===================

*OpenUI *OutputMode/Print Quality: PickOne
*OrderDependency: 40 AnySetup *OutputMode
*DefaultOutputMode: Standard
*OutputMode Standard: "
  mark
  {
    3 dict begin
      /HWResolution [300 300] def
      /PostRenderingEnhance true def
      /PostRenderingEnhanceDetails 1 dict begin
        /OutputMode (Standard) def
      currentdict end def
    currentdict end setpagedevice
  } stopped cleartomark"
*End
*OutputMode Enhanced: "
  mark
  {
    3 dict begin
      /HWResolution [300 300] def
      /PostRenderingEnhance true def
      /PostRenderingEnhanceDetails 1 dict begin
        /OutputMode (Enhanced) def
      currentdict end def
    currentdict end setpagedevice
  } stopped cleartomark"
*End
*OutputMode HighResolution/High Resolution: "
  mark
  {
    3 dict begin
      /HWResolution [300 600] def
      /PostRenderingEnhance true def
      /PostRenderingEnhanceDetails 1 dict begin
        /OutputMode (Enhanced) def
      currentdict end def
    currentdict end setpagedevice
  } stopped cleartomark"
*End
*?OutputMode: "save
  currentpagedevice /HWResolution get 1 get 600 eq
  { (HighResolution) }
  { currentpagedevice /PostRenderingEnhanceDetails get /OutputMode get } ifelse
  = flush restore"
*End
*CloseUI: *OutputMode

*% Tray Selection ===================

*% Code in this section both selects an input tray
*OpenUI *InputSlot: PickOne
*OrderDependency: 60 AnySetup *InputSlot
*DefaultInputSlot:AutoSelect
*InputSlot Lower: "
  mark
  {
    2 dict begin
      /InputAttributes 1 dict begin /Priority [1] def currentdict end def
      /TraySwitch false def
     currentdict end setpagedevice
  } stopped cleartomark
  "
*End
*InputSlot Upper: "
  mark
  {
    2 dict begin
      /InputAttributes 1 dict begin /Priority [0] def currentdict end def
      /TraySwitch false def
     currentdict end setpagedevice
  } stopped cleartomark
  "
*End

*InputSlot AutoSelect: "
  mark
  {
    2 dict begin 
      /InputAttributes 1 dict begin /Priority [1 0] def currentdict end def
      /TraySwitch true def
     currentdict end setpagedevice
  } stopped cleartomark
  "
*End

*?InputSlot: "
save
  3 dict
  dup /0 (Upper) put
  dup /1 (Lower) put
  dup /2 (AutoSelect) put
  currentpagedevice /InputAttributes get
  dup /Priority known
  { /Priority get dup length 2 eq {pop 2}{0 get} ifelse (      ) cvs cvn get }
  {
    dup length 1 eq
    { {pop} forall (       ) cvs cvn get }
    { pop pop (Unknown) } ifelse
  } ifelse
  = flush
restore
"
*End
*CloseUI: *InputSlot

*DefaultOutputBin:  OnlyOne
*DefaultOutputOrder:  Reverse

*% Paper Handling ===================

*% Code in this section both selects a tray and sets up a frame buffer.
*OpenUI *PageSize: PickOne
*OrderDependency: 100 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/Letter: "
    2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize Letter.Perf/Letter Perf: "
    2 dict dup /PageSize [611 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize A4/A4: "
    2 dict dup /PageSize [595 842] put dup /ImagingBBox null put setpagedevice"
*End
*PageSize A4.Perf/A4 Perf: "
    2 dict dup /PageSize [594 842] put dup /ImagingBBox null put setpagedevice"
*End
*?PageSize: "
 save
   currentpagedevice /PageSize get aload pop
   2 copy gt {exch} if 
   (Unknown) 
  4 dict
   dup [612 792] (Letter) put
   dup [611 792] (Letter Perf) put
   dup [595 842] (A4) put
   dup [594 842] (A4 Perf) put
   { exch aload pop 4 index sub abs 5 le exch 
   5 index sub abs 5 le and 
      {exch pop exit} {pop} ifelse
   } bind forall
   = flush pop pop
restore 
"
*End
*CloseUI: *PageSize

*OpenUI *PageRegion:  PickOne
*OrderDependency: 120 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "
    2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion Letter.Perf/Letter Perf: "
    2 dict dup /PageSize [611 792] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion A4/A4: "
    2 dict dup /PageSize [595 842] put dup /ImagingBBox null put setpagedevice"
*End
*PageRegion A4.Perf/A4 Perf: "
    2 dict dup /PageSize [594 842] put dup /ImagingBBox null put setpagedevice"
*End
*CloseUI: *PageRegion

*DefaultImageableArea:  Letter
*ImageableArea Letter/Letter: "14.1733 59.6476 597.853 777.247"  
*ImageableArea Letter.Perf/Letter Perf: "14.1733 14.2933 597.853 777.493"  
*ImageableArea A4/A4: "14.1733 59.6476 582.493 827.648"
*ImageableArea A4.Perf/A4 Perf: "14.1733 14.2933 582.493 827.893"
*?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/Letter: "612 792"
*PaperDimension Letter.Perf/Letter Perf: "611 792"
*PaperDimension A4/A4: "595 842"
*PaperDimension A4.Perf/A4 Perf: "594 842"

*AccurateScreensSupport: True
*RequiresPageRegion All: True


*% TekColor Selections  ===================

*OpenUI *TekColor: PickOne
*OrderDependency: 200 AnySetup *TekColor
*DefaultTekColor: VividBlue/Vivid Blue
*TekColor NoAdjust/None: "mark
  { 1 dict begin
      /DeviceRenderingInfo 1 dict begin
        /Type 2 def
      currentdict end def
    currentdict end
  
    setpagedevice
  } stopped cleartomark"
*End

*TekColor VividBlue/Vivid Blue: " mark
  { 1 dict begin
      /DeviceRenderingInfo 2 dict begin
        /Type 2 def
        /VirtualColorDevice 2 dict begin
          /Type 3 def
          /ColorTransform /TekBlue def
        currentdict end def
      currentdict end def
    currentdict end

    setpagedevice
  } stopped cleartomark"
*End

*TekColor SimulateDisplay/Simulate Display: " mark
  { 1 dict begin
      /DeviceRenderingInfo 2 dict begin
        /Type 2 def
        /VirtualColorDevice 2 dict begin
          /Type 3 def
          /ColorTransform /TekDisplay def
        currentdict end def
      currentdict end def
    currentdict end
  
    setpagedevice
  } stopped cleartomark"
*End

*TekColor SimulatePress/Simulate Press: " mark
  { 1 dict begin
      /DeviceRenderingInfo 2 dict begin
        /Type 2 def
        /VirtualColorDevice 2 dict begin
          /Type 3 def
          /ColorTransform /SWOP-Coated def
        currentdict end def
      currentdict end def
    currentdict end
  
    setpagedevice
  } stopped cleartomark"
*End
  
*TekColor UsePrinterSetting/Use Printer Setting: ""

*?TekColor: "
save
  { currentpagedevice /DeviceRenderingInfo get
    /VirtualColorDevice get
    dup null eq
    { pop (None) }
    { /ColorTransform get
      3 dict begin
        /TekBlue           (Vivid Blue)       def
        /TekDisplay        (Simulate Display) def
        /SWOP-Coated       (Simulate Press)   def
      currentdict end
      exch get
    } ifelse
  } stopped
  { % error in PostScript code execution
    pop pop (Unknown)
  } if
  = flush
restore
"
*End

*CloseUI: *TekColor

*% Font Information =====================
*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.002)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.002)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.003)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.003)" Standard ROM
*Font Bookman-Demi: Standard "(001.003)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.003)" Standard ROM
*Font Bookman-Light: Standard "(001.003)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.003)" Standard ROM
*Font Courier: Standard "(002.003)" Standard ROM
*Font Courier-Bold: Standard "(002.003)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.003)" Standard ROM
*Font Courier-Oblique: Standard "(002.003)" Standard ROM
*Font Helvetica: Standard "(001.006)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007)" Standard ROM
*Font Helvetica-Condensed: Standard "(001.001)" Standard ROM
*Font Helvetica-Condensed-Bold: Standard "(001.002)" Standard ROM
*Font Helvetica-Condensed-BoldObl: Standard "(001.002)" Standard ROM
*Font Helvetica-Condensed-Oblique: Standard "(001.001)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.006)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.007)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.006)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.008)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.006)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.005)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.006)" Standard ROM
*Font Palatino-Bold: Standard "(001.005)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.005)" Standard ROM
*Font Palatino-Italic: Standard "(001.005)" Standard ROM
*Font Palatino-Roman: Standard "(001.005)" Standard ROM
*Font Symbol: Special "(001.007)" Special ROM
*Font Times-Bold: Standard "(001.007)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009)" Standard ROM
*Font Times-Italic: Standard "(001.007)" Standard ROM
*Font Times-Roman: Standard "(001.007)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.006)" Standard ROM
*Font ZapfDingbats: Special "(001.004)" Special ROM

*?FontQuery: "
 save
   { count 1 gt
      { exch dup 127 string cvs (/) print print (:) print
        /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
      } { exit } ifelse 
   } bind loop
   (*) = flush
 restore
"
*End

*?FontList: "
save
  (*) {cvn ==} 128 string /Font resourceforall
  (*) = 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: "printer is warming up"
*Status: "idle"
*Status: "printing"
*Status: "PrinterError: printer is not ready"
*Status: "PrinterError: upper media tray empty"
*Status: "PrinterError: lower media tray empty"
*Status: "PrinterError: media tray empty"
*Status: "PrinterError: paper misfeed"
*Status: "PrinterError: ribbon empty"
*Status: "PrinterError: ribbon jam"
*Status: "PrinterError: ribbon low"
*Status: "PrinterError: illegal ribbon"
*Status: "PrinterError: cover open"
*Status: "PrinterError: pickup failed, check cover"
*Status: "PrinterError: print head too warm"
*Status: "PrinterError: internal engine error"
*Status: "PrinterError: print engine failure"

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

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*PrinterError: "printer is not ready"
*PrinterError: "upper media tray empty"
*PrinterError: "lower media tray empty"
*PrinterError: "media tray empty"
*PrinterError: "paper misfeed"
*PrinterError: "ribbon empty"
*PrinterError: "ribbon jam"
*PrinterError: "ribbon low"
*PrinterError: "illegal ribbon"
*PrinterError: "cover open"
*PrinterError: "pickup failed, check cover"
*PrinterError: "print head too warm"
*PrinterError: "internal engine error"
*PrinterError: "print engine failure"

*%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: "68.0"
*ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "68.0"
*ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "68.0"
*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "68.0"
*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "68.0"

*ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60.0"
*ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60.0"
*ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60.0"
*ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60.0"
*ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60.0"

*% end of PPD file for Phaser 220i
