*PPD-Adobe: "4.3"
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1995 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.3"
*FileVersion: "1.0"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*Product: "(Phaser 350J)"
*PSVersion: "(2015.105) 11"
*Manufacturer: "Tektronix"
*ModelName: "Tektronix Phaser 350"
*ShortNickName: "Tektronix Phaser 350J"
*NickName: "Tektronix Phaser 350J"
*PCFileName: "TKP350J2.PPD"

*% === Installable Options ===========
*OpenGroup: InstallableOptions/Options Installed

*OpenUI *InstalledMemory/Memory Configuration: PickOne
*DefaultInstalledMemory: None
*InstalledMemory None/Standard 12 MB RAM: ""
*InstalledMemory 24Meg/24 MB Total RAM: ""
*?InstalledMemory: "
 currentsystemparams /RamSize get
 16#100000 div round cvi
 dup 14 lt
 { pop (None) } {2 string cvs print (Meg) } ifelse
 = flush"
*End
*CloseUI: *InstalledMemory

*OpenUI *Option1/Optional Hard Drive: Boolean
*DefaultOption1: False
*Option1 True/Installed: ""
*Option1 False/Not Installed: ""
*?Option1: "
 save false
 (%disk?%)
 { currentdevparams dup /Writeable known
   { /Writeable get {pop true} if }  {pop} ifelse
 } 10 string /IODevice resourceforall
 {(True)}{(False)} ifelse = flush
 restore"
*End
*CloseUI: *Option1

*OpenUI *Option2/Optional Network Card: PickOne
*DefaultOption2: None
*Option2 None/Not Installed: ""
*Option2 P1/EtherTalk, NetWare and TCP/IP: ""
*Option2 P2/TokenTalk, NetWare and TCP/IP: ""
*Option2 P3/LocalTalk and Serial: ""
*?Option2: "
 (%EthernetPhysical%) /IODevice resourcestatus
 {pop pop (P1) }
 {
   (%LocalTalk%) /IODevice resourcestatus
   {pop pop (P3) }
   {
     (%TokenRingPhysical%) /IODevice resourcestatus
     {pop pop (P2) } { (None) } ifelse
   } ifelse
 } ifelse = flush"
*End
*CloseUI: *Option2

*OpenUI *Option3/Optional Lower Tray: Boolean
*DefaultOption3: False
*Option3 True/Installed: ""
*Option3 False/Not Installed: ""
*?Option3: "
currentpagedevice /InputAttributes get 1 known
{ (True) } { (False) } ifelse = flush"
*End
*CloseUI: *Option3

*CloseGroup: InstallableOptions

*% === Constraints ===================

*UIConstraints: *InstalledMemory None *OutputMode Enhanced
*UIConstraints: *InstalledMemory None *Collate True
*UIConstraints: *Option1 False *Collate True
*UIConstraints: *Option3 False *InputSlot Lower
*UIConstraints: *OutputMode Enhanced *InstalledMemory None
*UIConstraints: *Collate True *InstalledMemory None
*UIConstraints: *Collate True *Option1 False
*UIConstraints: *InputSlot Lower *Option3 False
*UIConstraints: *VMOption None *OutputMode Enhanced
*UIConstraints: *VMOption None *Collate True
*UIConstraints: *OutputMode Enhanced *VMOption None
*UIConstraints: *Collate True *VMOption None

*% === Basic Device Capabilities ============

*LanguageLevel: "2"
*Protocols: BCP

*FreeVM: "6100000"
*VMOption None/Standard 12 MB RAM: "6100000"
*VMOption 24Meg/24 MB Total RAM: "16000000"
*ColorDevice: True
*DefaultColorSpace: CMYK
*AccurateScreensSupport: True
*SuggestedJobTimeout: "0"
*SuggestedWaitTimeout: "300"
*SuggestedManualFeedTimeout: "60"
*1284Modes Parallel: Compat Nibble
*1284DeviceID: "
  MANUFACTURER:Tektronix;COMMAND SET:Adobe Level 2 PostScript;
  MODEL:Phaser 350J;CLASS:Printer;DESCRIPTION:
  Phaser 350 Color Page Printer, PostScript Level 2, Letter / A4 Size;
  COMPATIBLE_ID:"
*End
*TTRasterizer: Type42
*?TTRasterizer: "
 save
 42 /FontType resourcestatus
 { pop pop (Type42)} {pop pop (None)} ifelse = flush
 restore
 "
*End

*Emulators:  hpgl
*StartEmulator_hpgl: "currentfile /hpgl statusdict /emulate get exec "
*StopEmulator_hpgl: "<1B7F>0"

*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: "6"
*Password: "(0)"
*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

*% Resolution/Print Quality Selection  ===================

*DefaultResolution: 300x300dpi

*OpenUI *OutputMode/Print Quality: PickOne
*OrderDependency: 40.0 AnySetup *OutputMode
*DefaultOutputMode: Standard
*OutputMode FastColor/Fast Color: "
  <3c7e343f5038663d264e554e446573513c426c406c6e30665f24343147434c673521462
   5214644745a2441526f4071426b285d7324337e3e6376782065786563>cvx exec"
*End
*OutputMode Standard/Standard: "
  <3c7e343f5038663d264e554e446573513c426c406c6e3147434c2a3147434c673521462
   5214644745a2441526f4071426b285d7324337e3e6376782065786563>cvx exec"
*End
*OutputMode Enhanced/Enhanced  600x300: "
  <3c7e343f5038663d264e554e446573513c426c406c6e32443f672d3147434c673521462
   5214644745a2441526f4071426b285d7324337e3e6376782065786563>cvx exec"
*End
*?OutputMode: "
  save
  <3c7e343f503e593146505f24462a27636643693d3e433147434c323b666c47634137394
   c682e35696b362d712f2365403b5d52644131395d2b4073296734415375552f403a732e5
   e4154686374414d3653553b49736f66436973693644662d5c31415454254b2b4435382d2
   b4435382d24337e3e6376782065786563>cvx exec
  = flush restore"
*End

*CloseUI: *OutputMode

*% Halftone Information =================

*DefaultHalftoneType: 9
*ScreenFreq: "60.0"
*ScreenAngle: "0.0"
*DefaultScreenProc: Dot
*ScreenProc Dot: "
 {180 mul cos exch 180 mul cos add 2 div} bind"
*End
*DefaultTransfer: Null
*Transfer Null: "{ }"
*Transfer Null.Inverse: "{ 1 exch sub } bind"

*% Tray Selection ============

*OpenUI *InputSlot: PickOne
*OrderDependency: 42.0 AnySetup *InputSlot
*DefaultInputSlot: Paper
*InputSlot Upper: "
  (<<) cvx exec
    /MediaPosition 0
    /MediaType null
    /TraySwitch false
    /ManualFeed false
  (>>) cvx exec setpagedevice"
*End
*InputSlot Lower: "
  (<<) cvx exec
    /MediaPosition 1
    /MediaType null
    /TraySwitch false
    /ManualFeed false
  (>>) cvx exec setpagedevice"
*End
*InputSlot Paper: "
  (<<) cvx exec
    /MediaPosition null
    /MediaType (Paper)
    /TraySwitch true
    /ManualFeed false
  (>>) cvx exec setpagedevice"
*End
*InputSlot Transparency: "
  (<<) cvx exec
      /MediaPosition null
      /MediaType (Transparency)
      /TraySwitch true
      /ManualFeed false
  (>>) cvx exec setpagedevice"
*End
*InputSlot ManualPaper/Manual Paper: "
  (<<) cvx exec
    /MediaPosition null
    /MediaType (Paper)
    /TraySwitch false
    /ManualFeed true
  (>>) cvx exec setpagedevice"
*End
*InputSlot ManualTransparency/Manual Transparency: "
  (<<) cvx exec
    /MediaPosition null
    /MediaType (Transparency)
    /TraySwitch false
    /ManualFeed true
  (>>) cvx exec setpagedevice"
*End
*?InputSlot: "
  save
  currentpagedevice /MediaPosition get
  dup null eq
  { pop currentpagedevice /MediaType get
    dup null eq
    { pop (Upper) }
    { dup (Paper) eq
      { pop currentpagedevice /ManualFeed get
        { (ManualPaper) }
        { (Paper) } ifelse
      }
      {
        (Transparency) eq
        { currentpagedevice /ManualFeed get
          { (ManualTransparency) }
          { (Transparency) } ifelse
        }
        { (Unknown) } ifelse
      } ifelse
    } ifelse
  }
  {
    dup 0 eq
    { pop (Upper) }
    { 1 eq
      { (Lower) }
      { (Unknown) } ifelse
    } ifelse
  } ifelse
  = flush restore"
*End
*CloseUI: *InputSlot

*% 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: 44.0 AnySetup *PageSize
*DefaultPageSize: A4
*PageSize Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null
  (>>) cvx exec setpagedevice"
*End
*PageSize A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null
  (>>) cvx exec setpagedevice"
*End
*?PageSize: "
  save currentpagedevice /PageSize get aload pop 
  2 copy gt {exch} if (Unknown)
  (<<) cvx exec
  [612 792] (Letter)
  [595 842] (A4) (>>) cvx exec
  { 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

*% These entries will set up the frame buffer. Usually used with manual feed.
*OpenUI *PageRegion: PickOne
*OrderDependency: 46.0 AnySetup *PageRegion
*DefaultPageRegion: A4
*PageRegion Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null
  (>>) cvx exec setpagedevice"
*End
*PageRegion A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null
  (>>) cvx exec setpagedevice"
*End
*CloseUI: *PageRegion

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: A4
*ImageableArea Letter: "14.16 25.8 597.84 777.96"
*ImageableArea A4: "13.4401 25.8001 581.76 827.88"
*?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: "612 792"
*PaperDimension A4: "595 842"

*DefaultOutputOrder: Normal
*RequiresPageRegion All: True

*OpenUI *Collate/Quick Collate: Boolean
*OrderDependency: 48.0 AnySetup *Collate
*DefaultCollate: False
*Collate False: "
  (<<) cvx exec
    /Collate false
  (>>) cvx exec setpagedevice"
*End
*Collate True: "
  (<<) cvx exec
    /Collate true
  (>>) cvx exec setpagedevice"
*End
*?Collate: "
  save
  currentpagedevice /Collate get {(True)}{(False)}ifelse
  = flush restore"
*End
*CloseUI: *Collate

*% TKColor Selections  ===================

*OpenUI *TKColor/Color Correction: PickOne
*OrderDependency: 50.0 AnySetup *TKColor
*DefaultTKColor: VividColor/Vivid Color
*TKColor NoAdjust/None: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice null
    (>>) cvx exec
  (>>) cvx exec setpagedevice"
*End
*TKColor VividColor/Vivid Color: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 3
        /ColorTransform /TekBlue
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor SimulateDisplay/Simulate Display: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 3
        /ColorTransform /TekDisplay
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor SWOPPress/SWOP Press: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 3
        /ColorTransform /SWOP-Coated
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor EuroscalePress/Euroscale Press: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 3
        /ColorTransform /Euroscale-Coated
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor CommercialPress/Commercial Press: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 3
        /ColorTransform /Commercial-Coated
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor Monochrome: "
  (<<) cvx exec
    /DeviceRenderingInfo (<<) cvx exec
      /Type 2
      /VirtualColorDevice (<<) cvx exec
        /Type 1
        /ColorTransform /Gray
      (>>) cvx exec
    (>>) cvx exec
   (>>) cvx exec setpagedevice"
*End
*TKColor UsePrinterSetting/Use Printer Setting: ""
*?TKColor: "save
  { currentpagedevice /DeviceRenderingInfo get
    /VirtualColorDevice get
    dup null eq
    { pop (NoAdjust) }
    { /ColorTransform get
      (<<) cvx exec
        /TekBlue           (VividColor)
        /TekDisplay        (SimulateDisplay)
        /SWOP-Coated       (SWOPPress)
        /Euroscale-Coated  (EuroscalePress)
        /Commercial-Coated (CommercialPress)
        /Gray              (Monochrome)
      (>>) cvx exec
      exch get
    } ifelse
  } stopped
  { % error in PostScript code execution
    pop pop (Unknown)
  } if
  = flush restore"
*End
*CloseUI: *TKColor

*OpenUI *TKImageSmoothing/Image Smoothing: Boolean
*OrderDependency: 54.0 AnySetup *TKImageSmoothing
*DefaultTKImageSmoothing: False
*TKImageSmoothing False: "
  false /RRCustomProcs /ProcSet findresource /setforceinterpolate get exec"
*End
*TKImageSmoothing True: "
  true /RRCustomProcs /ProcSet findresource /setforceinterpolate get exec"
*End
*?TKImageSmoothing: "
  save
  /RRCustomProcs /ProcSet findresource /currentforceinterpolate get exec
  {(True)}{(False)} ifelse
  = flush restore"
*End
*CloseUI: *TKImageSmoothing

*% Font Information =====================
*DefaultFont: Courier
*Font CGBM-PropRoman: Special "(003.000)" Special ROM
*Font Courier: Standard "(002.004S)" Standard ROM
*Font Courier-Bold: Standard "(002.004S)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
*Font Courier-Oblique: Standard "(002.004S)" Standard ROM
*Font GothicBBB-Medium-83pv-RKSJ-H: RKSJ "(003.004)" 83pv ROM
*Font GothicBBB-Medium-90ms-RKSJ-H: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-90ms-RKSJ-V: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-90pv-RKSJ-H: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-90pv-RKSJ-V: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-Add-H: JIS "(003.004)" Add ROM
*Font GothicBBB-Medium-Add-RKSJ-H: RKSJ "(003.004)" Add ROM
*Font GothicBBB-Medium-Add-RKSJ-V: RKSJ "(003.004)" Add ROM
*Font GothicBBB-Medium-Add-V: JIS "(003.004)" Add ROM
*Font GothicBBB-Medium-EUC-H: EUC "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-EUC-V: EUC "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-Ext-H: JIS "(003.004)" Ext ROM
*Font GothicBBB-Medium-Ext-RKSJ-H: RKSJ "(003.004)" Ext ROM
*Font GothicBBB-Medium-Ext-RKSJ-V: RKSJ "(003.004)" Ext ROM
*Font GothicBBB-Medium-Ext-V: JIS "(003.004)" Ext ROM
*Font GothicBBB-Medium-H: JIS "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-NWP-H: JIS "(003.004)" NWP ROM
*Font GothicBBB-Medium-NWP-V: JIS "(003.004)" NWP ROM
*Font GothicBBB-Medium-RKSJ-H: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-RKSJ-V: RKSJ "(003.004)" JIS-83 ROM
*Font GothicBBB-Medium-V: JIS "(003.004)" JIS-83 ROM
*Font Helvetica: Standard "(001.006S)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
*Font RLKL-PropRoman: Special "(003.000)" Special ROM
*Font Ryumin-Light-83pv-RKSJ-H: RKSJ "(003.003)" 83pv ROM
*Font Ryumin-Light-90ms-RKSJ-H: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-90ms-RKSJ-V: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-90pv-RKSJ-H: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-90pv-RKSJ-V: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-Add-H: JIS "(003.003)" Add ROM
*Font Ryumin-Light-Add-RKSJ-H: RKSJ "(003.003)" Add ROM
*Font Ryumin-Light-Add-RKSJ-V: RKSJ "(003.003)" Add ROM
*Font Ryumin-Light-Add-V: JIS "(003.003)" Add ROM
*Font Ryumin-Light-EUC-H: EUC "(003.003)" JIS-83 ROM
*Font Ryumin-Light-EUC-V: EUC "(003.003)" JIS-83 ROM
*Font Ryumin-Light-Ext-H: JIS "(003.003)" Ext ROM
*Font Ryumin-Light-Ext-RKSJ-H: RKSJ "(003.003)" Ext ROM
*Font Ryumin-Light-Ext-RKSJ-V: RKSJ "(003.003)" Ext ROM
*Font Ryumin-Light-Ext-V: JIS "(003.003)" Ext ROM
*Font Ryumin-Light-H: JIS "(003.003)" JIS-83 ROM
*Font Ryumin-Light-Hankaku: JIS "(003.003)" JIS-83 ROM
*Font Ryumin-Light-NWP-H: JIS "(003.003)" NWP ROM
*Font Ryumin-Light-NWP-V: JIS "(003.003)" NWP ROM
*Font Ryumin-Light-RKSJ-H: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-RKSJ-V: RKSJ "(003.003)" JIS-83 ROM
*Font Ryumin-Light-Roman: Special "(003.003)" Special ROM
*Font Ryumin-Light-V: JIS "(003.003)" JIS-83 ROM
*Font Ryumin-Light-WP-Symbol: Special "(003.003)" Special ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Times-Bold: Standard "(001.007S)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
*Font Times-Italic: Standard "(001.007S)" Standard ROM
*Font Times-Roman: Standard "(001.007S)" Standard 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

*DefaultColorSep: ProcessBlack.60lpi.300x300dpi/60 lpi / 300x300 dpi

*%  For 60 lpi / 300x300 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.60lpi.300x300dpi/60 lpi / 300x300 dpi: "0.0"
*ColorSepScreenAngle CustomColor.60lpi.300x300dpi/60 lpi / 300x300 dpi: "0.0"
*ColorSepScreenAngle ProcessCyan.60lpi.300x300dpi/60 lpi / 300x300 dpi: "0.0"
*ColorSepScreenAngle ProcessMagenta.60lpi.300x300dpi/60 lpi / 300x300 dpi: "0.0"
*ColorSepScreenAngle ProcessYellow.60lpi.300x300dpi/60 lpi / 300x300 dpi: "0.0"

*ColorSepScreenFreq ProcessBlack.60lpi.300x300dpi/60 lpi / 300x300 dpi: "60"
*ColorSepScreenFreq CustomColor.60lpi.300x300dpi/60 lpi / 300x300 dpi: "60"
*ColorSepScreenFreq ProcessCyan.60lpi.300x300dpi/60 lpi / 300x300 dpi: "60"
*ColorSepScreenFreq ProcessMagenta.60lpi.300x300dpi/60 lpi / 300x300 dpi: "60"
*ColorSepScreenFreq ProcessYellow.60lpi.300x300dpi/60 lpi / 300x300 dpi: "60"

*% The byte count of this file should be exactly 018473 or 019072
*% depending on the filesystem it resides in.
*% end of PPD file for Tektronix Phaser 350J
