*PPD-Adobe: "4.1"
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1994 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.0"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*PCFileName: "TKP220J1.PPD"
*Product: "(Phaser 220J)"
*PSVersion: "(2013.113) 5"
*ModelName: "Tektronix Phaser 220J"
*ShortNickName: "Tektronix Phaser 220J"
*NickName: "Tektronix Phaser 220J v2013.113"

*% === Options and Constraints =========

*OpenGroup: InstallableOptions/Options Installed
*OpenUI *Option1/Optional Lower Tray: Boolean
*DefaultOption1: False
*Option1 True/Installed: ""
*Option1 False/Not Installed: ""
*CloseUI: *Option1

*OpenUI *Option2/Memory Configuration: PickOne
*DefaultOption2: None
*Option2 None/Standard 6 MB RAM: ""
*Option2 10Meg/10 MB Total RAM: ""
*Option2 14Meg/14 MB Total RAM: ""
*CloseUI: *Option2
*CloseGroup: InstallableOptions

*UIConstraints: *Option1 False *InputSlot Lower

*% ==== Device Capabilities ===============
*LanguageLevel: "2"
*Protocols: BCP
*StartEmulator_hpgl: "currentfile /hpgl statusdict /emulate get exec "
*StopEmulator_hpgl: "<1B7F>0"

*FreeVM: "614000"
*ColorDevice: True
*DefaultColorSpace: CMYK
*VariablePaperSize: False

*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 /PostRenderingEnhanceDetails get
        /OutputMode get = flush restore"
*End
*CloseUI: *OutputMode

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

*% Code in this section both selects an input tray
*OpenUI *InputSlot: PickOne
*OrderDependency: 60 AnySetup *InputSlot
*DefaultInputSlot:Unknown
*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: A4
*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: A4
*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:  A4
*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: A4
*PaperDimension Letter/Letter: "612 792"
*PaperDimension Letter.Perf/Letter Perf: "611 792"
*PaperDimension A4/A4: "595 842"
*PaperDimension A4.Perf/A4 Perf: "594 842"

*RequiresPageRegion All: False


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

*OpenUI *TekColor: PickOne
*OrderDependency: 200 AnySetup *TekColor
*DefaultTekColor: VividBlue/Vivid Blue
*TekColor NoAdjust/None: "mark
  { currentpagedevice /DeviceRenderingInfo get dup
    /Type get 2 ne
    { pop 4 dict begin /Type 2 def currentdict end } if
  
    begin 
      /VirtualColorDevice null def
      /AdjustCIEColors false def
    currentdict end
  
    1 dict begin
      /DeviceRenderingInfo exch def
    currentdict end
  
    setpagedevice
  } stopped cleartomark"
*End

*TekColor VividBlue/Vivid Blue: " mark
  { currentpagedevice /DeviceRenderingInfo get dup
    /Type get 2 ne
    { pop 4 dict begin /Type 2 def currentdict end } if
  
    begin 
      /VirtualColorDevice 2 dict begin
        /Type 3 def
        /ColorTransform /TekBlue def
      currentdict end def
      /AdjustCIEColors false def
    currentdict end
  
    1 dict begin
      /DeviceRenderingInfo exch def
    currentdict end

    setpagedevice
  } stopped cleartomark"
*End

*TekColor SimulateDisplay/Simulate Display: " mark
  { currentpagedevice /DeviceRenderingInfo get dup
    /Type get 2 ne
    { pop 4 dict begin /Type 2 def currentdict end } if
  
    begin 
      /VirtualColorDevice 2 dict begin
        /Type 3 def
        /ColorTransform /TekDisplay def
      currentdict end def
      /AdjustCIEColors false def
    currentdict end
  
    1 dict begin
      /DeviceRenderingInfo exch def
    currentdict end
  
    setpagedevice
  } stopped cleartomark"
*End

*TekColor SimulatePress/Simulate Press: " mark
  { currentpagedevice /DeviceRenderingInfo get dup
    /Type get 2 ne
    { pop 4 dict begin /Type 2 def currentdict end } if
  
    begin 
      /VirtualColorDevice 2 dict begin
        /Type 3 def
        /ColorTransform /SWOP-Coated def
      currentdict end def
      /AdjustCIEColors false def
    currentdict end
  
    1 dict begin
      /DeviceRenderingInfo exch def
    currentdict end
  
    setpagedevice
  
    } stopped cleartomark"
*End

*TekColor UsePrinterSetting/Use Printer Setting: ""

*?TekColor: "
  save
    currentpagedevice
     {/DeviceRenderingInfo get/VirtualColorDevice get} stopped
       {pop pop (Unknown)} {dup null eq {pop (Unknown)} if} ifelse
    = 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 Ryumin-Light-83pv-RKSJ-H: RKSJ "(003.000)" 83pv Disk
*Font Ryumin-Light-Add-H: JIS "(003.000)" Add Disk
*Font Ryumin-Light-Add-RKSJ-H: RKSJ "(003.000)" Add Disk
*Font Ryumin-Light-Add-RKSJ-V: RKSJ "(003.000)" Add Disk
*Font Ryumin-Light-Add-V: JIS "(003.000)" Add Disk
*Font Ryumin-Light-EUC-H: EUC "(003.000)" JIS-83 Disk
*Font Ryumin-Light-EUC-V: EUC "(003.000)" JIS-83 Disk
*Font Ryumin-Light-Ext-H: JIS "(003.000)" Ext Disk
*Font Ryumin-Light-Ext-RKSJ-H: RKSJ "(003.000)" Ext Disk
*Font Ryumin-Light-Ext-RKSJ-V: RKSJ "(003.000)" Ext Disk
*Font Ryumin-Light-Ext-V: JIS "(003.000)" Ext Disk
*Font Ryumin-Light-H: JIS "(003.000)" JIS-83 Disk
*Font Ryumin-Light-NWP-H: JIS "(003.000)" NWP Disk
*Font Ryumin-Light-NWP-V: JIS "(003.000)" NWP Disk
*Font Ryumin-Light-RKSJ-H: RKSJ "(003.000)" JIS-83 Disk
*Font Ryumin-Light-RKSJ-UserGaiji: Special "(003.000)" Special Disk
*Font Ryumin-Light-RKSJ-V: RKSJ "(003.000)" JIS-83 Disk
*Font Ryumin-Light-V: JIS "(003.000)" JIS-83 Disk
*Font Ryumin-Light.Oubun: Special "(003.000)" Special Disk
*Font Ryumin-Light.Roman: Special "(003.000)" Special Disk
*Font Ryumin-Light.Roman83pv: Special "(003.000)" Special Disk
*Font Ryumin-Light.WP-Symbol: Special "(003.000)" Special Disk
*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"


*% The byte count of this file should be exactly 017261 or 017829
*% depending on the filesystem it resides in.
*% end of PPD file for Phaser 220J
