*PPD-Adobe: "4.3"
*% =========================================
*% Disclaimer:  The above statement indicates
*% that this PPD was written using the Adobe PPD
*% File Format Specification 4.3, but does not 
*% intend to imply approval and acceptance by
*% Adobe Systems, Inc. 
*% =========================================
*% Copyright 1992-97 Hewlett-Packard Company
*% PPD for HP LaserJet 4000
*% For Windows 95 only 
*% August 8, 1997
*% Release Candidate 1
*% =========================================

*% Version 0.92
*% 1.  Updated query code from Mac PPDs.
*% 2.  Copied Adobe disclaimer from Mac PPDs.
*% 3.  Changed throughput back to 17.
*% 4.  Added more Installed Memory options.
*% 5.  Updated JCLEnd code.
*% 6.  Updated font version numbers for Bookman fonts.

*% Version 0.94 (skipped 0.93 to synch up with Win3.1)
*% 1.  Updated Memory and FreeVM numbers from NT PPDs.
*% 2.  Updated Halftone code from NT PPDs.

*% Version 0.95 
*% 1.  Added DeferredMediaSelection true to custom page size code.

*%=== PPD File Version Information =========
*FileVersion: "0.95"
*FormatVersion: "4.3"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*PCFileName: "HP4000_4.PPD"

*%=== Product Information ==================
*ModelName: "HP LaserJet 4000 Series"
*ShortNickName: "HP LaserJet 4000 Series PS"
*NickName: "HP LaserJet 4000 Series PS"
*Product: "(HP LaserJet 4000 Series)"
*Manufacturer: "HP"
*PSVersion: "(2014.108) 1"

*%=== Device Capabilities ==================
*ColorDevice: False
*DefaultColorSpace: Gray/translate Gray to Grey
*FileSystem: True
*?FileSystem: "
  save false
   (%disk?%)
   { currentdevparams dup /Writeable known
      { /Writeable get {pop true} if }  { pop } ifelse
    } 100 string /IODevice resourceforall
    {(True)}{(False)} ifelse = flush
 restore
"
*End

*LanguageLevel: "2"
*Throughput: "17"
*TTRasterizer: Type42
*?TTRasterizer: "
   save
        42 /FontType resourcestatus
        { pop pop (Type42)} {pop pop (None)} ifelse = flush
   restore
"
*End

*Protocols: PJL TBCP
*VariablePaperSize: True

*SuggestedJobTimeout: "0"
*SuggestedWaitTimeout: "120"
*PrintPSErrors: True

*% This is added to fix Pagemaker and Quark Xpress bugs.
*DefaultResolution: 600x600dpi

*%=== JCL Features ==========================
*JCLBegin: "<1B>%-12345X@PJL JOB<0A>"
*JCLToPSInterpreter: "@PJL ENTER LANGUAGE = POSTSCRIPT <0A>"
*JCLEnd: "<1B>%-12345X@PJL EOJ<0A>"

*JCLOpenUI *JCLResolution/Resolution: PickOne
*OrderDependency: 10 JCLSetup *JCLResolution
*DefaultJCLResolution: 600x600dpi
*JCLResolution 300x300dpi/300 dpi: "@PJL SET RESOLUTION = 300<0A>"
*JCLResolution 600x600dpi/600 dpi: "@PJL SET RESOLUTION = 600<0A>"
*JCLResolution 1200x1200dpi/ProRes 1200: "@PJL SET RESOLUTION = 1200<0A>"
*JCLCloseUI: *JCLResolution

*JCLOpenUI *JCLEconomode/EconoMode: PickOne
*OrderDependency: 10 JCLSetup *JCLEconomode
*DefaultJCLEconomode: PrinterDefault
*JCLEconomode PrinterDefault/Printer's Current Setting: ""
*JCLEconomode Off/Highest Quality: "@PJL SET ECONOMODE = OFF<0A>"
*JCLEconomode On/Save Toner: "@PJL SET ECONOMODE = ON<0A>"
*JCLCloseUI: *JCLEconomode

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

*OpenUI *Option1/Tray 3: Boolean
*DefaultOption1: False
*Option1 True/Installed: ""
*Option1 False/Not Installed: ""
*?Option1: "
   save
        currentpagedevice /InputAttributes get dup
        1 known
        {1 get null ne {(True)}{(False)} ifelse}
        {pop (False)} ifelse = flush
   restore "
*End
*CloseUI: *Option1

*OpenUI *Option2/Tray 4: Boolean
*DefaultOption2: False
*Option2 True/Installed: ""
*Option2 False/Not Installed: ""
*?Option2: "
   save
        currentpagedevice /InputAttributes get dup
        4 known
        {4 get null ne {(True)}{(False)} ifelse}
        {pop (False)} ifelse
        = flush
   restore "
*End
*CloseUI: *Option2

*OpenUI *Option3/Duplex Unit: Boolean
*DefaultOption3: False
*Option3 True/Installed: ""
*Option3 False/Not Installed: ""
*?Option3: "
   save
        currentpagedevice /Duplex known
        {(True)}{(False)}ifelse = flush
   restore "
*End
*CloseUI: *Option3

*OpenUI *Option4/Printer Hard Disk: Boolean
*DefaultOption4: False
*Option4 True/Installed: ""
*Option4 False/Not Installed: ""
*?Option4: "
  save 
    false
   (%disk?%)
   { currentdevparams dup /Writeable known
      { /Writeable get {pop true} if }  { pop } ifelse
    } 100 string /IODevice resourceforall
    {(True)}{(False)} ifelse = flush
 restore
"
*End
*CloseUI: *Option4

*OpenUI *Option5/Envelope Feeder: Boolean
*DefaultOption5: False
*Option5 True/Installed: ""
*Option5 False/Not Installed: ""
*?Option5: "
   save
        currentpagedevice /InputAttributes get
        2 get 
        null ne {(True)}{(False)} ifelse = flush
   restore
"
*End 
*CloseUI: *Option5

*OpenUI *InstalledMemory/Total Memory: PickOne
*DefaultInstalledMemory: 4MB
*InstalledMemory 4MB/4 - 7 MB: ""
*InstalledMemory 8MB/8 - 11 MB: ""
*InstalledMemory 12MB/12 - 19 MB: ""
*InstalledMemory 20MB/20 - 27 MB: ""
*InstalledMemory 28MB/28 - 35 MB: ""
*InstalledMemory 36MB/36 MB or more: ""
*?InstalledMemory: "
  save
    currentsystemparams /RamSize get 
    524288 div ceiling cvi 2 div
    /size exch def
    size 36 ge 
      {(36MB)} 
       {size 28 ge 
          {(28MB)}
          {size 20 ge
             {(20MB)}
             {size 12 ge
                {(12MB)}
                {size 8 ge
                   {(8MB)}
                   {(4MB)} ifelse
             } ifelse
          } ifelse
       } ifelse
    } ifelse = flush
  restore
"
*End
*CloseUI: *InstalledMemory
*CloseGroup: InstallableOptions

*FreeVM: "2200000"
*VMOption 4MB/4 - 7 MB: "2200000"
*VMOption 8MB/8 - 11 MB: "6000000"
*VMOption 12MB/12 - 19 MB: "9400000"
*VMOption 20MB/20 - 27 MB: "17000000"
*VMOption 28MB/28 - 35 MB: "24500000"
*VMOption 36MB/36 MB or more: "32000000"

*%=== UI Constraints =============================
*% If A than not B
*UIConstraints: *Option1 False *InputSlot Lower
*UIConstraints: *Option2 False *InputSlot LargeCapacity
*UIConstraints: *Option3 False *Duplex DuplexNoTumble
*UIConstraints: *Option3 False *Duplex DuplexTumble
*UIConstraints: *Option4 False *Collate True
*UIConstraints: *Option5 False *InputSlot Envelope

*UIConstraints: *JCLResolution 1200dpi *HPHalftone Standard

*% Don't allow these paper sizes/types in the Envelope Feeder
*UIConstraints: *PageSize Letter *InputSlot Envelope
*UIConstraints: *PageSize Legal *InputSlot Envelope
*UIConstraints: *PageSize Executive *InputSlot Envelope
*UIConstraints: *PageSize A4 *InputSlot Envelope
*UIConstraints: *PageSize A5 *InputSlot Envelope
*UIConstraints: *PageSize B5 *InputSlot Envelope
*UIConstraints: *MediaType Transparency *InputSlot Envelope

*UIConstraints: *PageRegion Letter *InputSlot Envelope
*UIConstraints: *PageRegion Legal *InputSlot Envelope
*UIConstraints: *PageRegion Executive *InputSlot Envelope
*UIConstraints: *PageRegion A4 *InputSlot Envelope
*UIConstraints: *PageRegion A5 *InputSlot Envelope
*UIConstraints: *PageRegion B5 *InputSlot Envelope

*% Don't allow envelopes or transparencies in Tray 2
*UIConstraints: *PageSize Env10 *InputSlot Middle
*UIConstraints: *PageSize EnvMonarch *InputSlot Middle
*UIConstraints: *PageSize EnvDL *InputSlot Middle
*UIConstraints: *PageSize EnvC5 *InputSlot Middle
*UIConstraints: *MediaType Transparency *InputSlot Middle

*UIConstraints: *PageRegion Env10 *InputSlot Middle
*UIConstraints: *PageRegion EnvMonarch *InputSlot Middle
*UIConstraints: *PageRegion EnvDL *InputSlot Middle
*UIConstraints: *PageRegion EnvC5 *InputSlot Middle

*% Don't allow envelopes or transparencies in Tray 3
*UIConstraints: *PageSize Env10 *InputSlot Lower
*UIConstraints: *PageSize EnvMonarch *InputSlot Lower
*UIConstraints: *PageSize EnvDL *InputSlot Lower
*UIConstraints: *PageSize EnvC5 *InputSlot Lower
*UIConstraints: *MediaType Transparency *InputSlot Lower

*UIConstraints: *PageRegion Env10 *InputSlot Lower
*UIConstraints: *PageRegion EnvMonarch *InputSlot Lower
*UIConstraints: *PageRegion EnvDL *InputSlot Lower
*UIConstraints: *PageRegion EnvC5 *InputSlot Lower

*% Don't allow envelopes or transparencies in Tray 4
*UIConstraints: *PageSize Env10 *InputSlot LargeCapacity
*UIConstraints: *PageSize EnvMonarch *InputSlot LargeCapacity
*UIConstraints: *PageSize EnvDL *InputSlot LargeCapacity
*UIConstraints: *PageSize EnvC5 *InputSlot LargeCapacity
*UIConstraints: *MediaType Transparency *InputSlot LargeCapacity

*UIConstraints: *PageRegion Env10 *InputSlot LargeCapacity
*UIConstraints: *PageRegion EnvMonarch *InputSlot LargeCapacity
*UIConstraints: *PageRegion EnvDL *InputSlot LargeCapacity
*UIConstraints: *PageRegion EnvC5 *InputSlot LargeCapacity

*% Don't allow A5, envelopes, transparencies or labels to be duplexed
*UIConstraints: *PageSize A5 *Duplex DuplexNoTumble
*UIConstraints: *PageSize Env10 *Duplex DuplexNoTumble
*UIConstraints: *PageSize EnvMonarch *Duplex DuplexNoTumble
*UIConstraints: *PageSize EnvDL *Duplex DuplexNoTumble
*UIConstraints: *PageSize EnvC5 *Duplex DuplexNoTumble
*UIConstraints: *PageSize EnvISOB5 *Duplex DuplexNoTumble
*UIConstraints: *MediaType Transparency *Duplex DuplexNoTumble
*UIConstraints: *MediaType Labels *Duplex DuplexNoTumble

*UIConstraints: *PageRegion A5 *Duplex DuplexNoTumble
*UIConstraints: *PageRegion Env10 *Duplex DuplexNoTumble
*UIConstraints: *PageRegion EnvMonarch *Duplex DuplexNoTumble
*UIConstraints: *PageRegion EnvDL *Duplex DuplexNoTumble
*UIConstraints: *PageRegion EnvC5 *Duplex DuplexNoTumble
*UIConstraints: *PageRegion EnvISOB5 *Duplex DuplexNoTumble

*UIConstraints: *PageSize A5 *Duplex DuplexTumble
*UIConstraints: *PageSize Env10 *Duplex DuplexTumble
*UIConstraints: *PageSize EnvMonarch *Duplex DuplexTumble
*UIConstraints: *PageSize EnvDL *Duplex DuplexTumble
*UIConstraints: *PageSize EnvC5 *Duplex DuplexTumble
*UIConstraints: *PageSize EnvISOB5 *Duplex DuplexTumble
*UIConstraints: *MediaType Transparency *Duplex DuplexTumble
*UIConstraints: *MediaType Labels *Duplex DuplexTumble

*UIConstraints: *PageRegion A5 *Duplex DuplexTumble
*UIConstraints: *PageRegion Env10 *Duplex DuplexTumble
*UIConstraints: *PageRegion EnvMonarch *Duplex DuplexTumble
*UIConstraints: *PageRegion EnvDL *Duplex DuplexTumble
*UIConstraints: *PageRegion EnvC5 *Duplex DuplexTumble
*UIConstraints: *PageRegion EnvISOB5 *Duplex DuplexTumble

*% These don't work with the 4.0 driver.
*% Duplicate UIConstraints are provided for backwards compatibility.
*NonUIConstraints: *CustomPageSize True *Duplex DuplexNoTumble
*NonUIConstraints: *CustomPageSize True *Duplex DuplexTumble
*NonUIConstraints: *CustomPageSize True *InputSlot Envelope
*UIConstraints: *CustomPageSize True *DuplexNoTumble
*UIConstraints: *CustomPageSize True *DuplexTumble
*UIConstraints: *CustomPageSize True *InputSlot Envelope

*%=== Fit to Page ==========================
*OpenUI *HPPaperPolicy/Fit to Page: PickOne
*OrderDependency: 10 AnySetup *HPPaperPolicy
*DefaultHPPaperPolicy: PromptUser
*HPPaperPolicy PromptUser/Prompt User: "
   <</DeferredMediaSelection true>> setpagedevice"
*End
*HPPaperPolicy NearestSizeAdjust/Nearest Size and Scale: "
   <</DeferredMediaSelection false
     /Policies << /PageSize 3 >> >> setpagedevice"
*End
*HPPaperPolicy NearestSizeNoAdjust/Nearest Size and Crop: "
   <</DeferredMediaSelection false
     /Policies << /PageSize 5 >> >> setpagedevice"
*End
*CloseUI: *HPPaperPolicy

*%=== Paper Sizes =================
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/Letter: "
    <</PageSize [612 792] /ImagingBBox null>> setpagedevice"
*End
*PageSize Legal/Legal: "
    <</PageSize [612 1008] /ImagingBBox null>> setpagedevice"
*End
*PageSize Executive/Executive: "
    <</PageSize [522 756] /ImagingBBox null>> setpagedevice"
*End
*PageSize A4/A4: "
    <</PageSize [595 842] /ImagingBBox null>> setpagedevice"
*End
*PageSize A5/A5: "
    <</PageSize [420 595] /ImagingBBox null>> setpagedevice"
*End
*PageSize B5/B5 (JIS): "
    <</PageSize [516 729] /ImagingBBox null>> setpagedevice"
*End
*PageSize Env10/Com-10: "
    <</PageSize [297 684] /ImagingBBox null>> setpagedevice"
*End
*PageSize EnvMonarch/Monarch: "
    <</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*End
*PageSize EnvDL/DL: "
    <</PageSize [312 624] /ImagingBBox null>> setpagedevice"
*End
*PageSize EnvC5/C5: "
    <</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*End
*PageSize EnvISOB5/B5 (ISO): "
    <</PageSize [499 709] /ImagingBBox null>> setpagedevice"
*End
*?PageSize: "
   save
   currentpagedevice /PageSize get aload pop
   2 copy gt {exch} if 
   (Unknown) 
   11 dict
   dup [499 709] (EnvISOB5) put
   dup [312 624] (EnvDL) put
   dup [459 649] (EnvC5) put
   dup [279 540] (EnvMonarch) put
   dup [297 684] (Env10) put
   dup [516 729] (B5) put
   dup [420 595] (A5) put
   dup [595 842] (A4) put
   dup [522 756] (Executive) put
   dup [612 1008] (Legal) put
   dup [612 792] (Letter) 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: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "
    <</PageSize [612 792] /ImagingBBox null>> setpagedevice"
*End
*PageRegion Legal/Legal: "
    <</PageSize [612 1008] /ImagingBBox null>> setpagedevice"
*End
*PageRegion Executive/Executive: "
    <</PageSize [522 756] /ImagingBBox null>> setpagedevice"
*End
*PageRegion A4/A4: "
    <</PageSize [595 842] /ImagingBBox null>> setpagedevice"
*End
*PageRegion A5/A5: "
    <</PageSize [420 595] /ImagingBBox null>> setpagedevice"
*End
*PageRegion B5/B5 (JIS): "
    <</PageSize [516 729] /ImagingBBox null>> setpagedevice"
*End
*PageRegion Env10/Com-10: "
    <</PageSize [297 684] /ImagingBBox null>> setpagedevice"
*End
*PageRegion EnvMonarch/Monarch: "
    <</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*End
*PageRegion EnvDL/DL: "
    <</PageSize [312 624] /ImagingBBox null>> setpagedevice"
*End
*PageRegion EnvC5/C5: "
    <</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*End
*PageRegion EnvISOB5/B5 (ISO): "
    <</PageSize [499 709] /ImagingBBox null>> setpagedevice"
*End
*CloseUI: *PageRegion

*DefaultImageableArea: Letter
*ImageableArea Letter/Letter: "12.24 12.06 599.76 780.06"
*ImageableArea Legal/Legal: "12.24 12.06 599.76 996.06"
*ImageableArea Executive/Executive: "13.32 12.06 508.68 744.06"
*ImageableArea A4/A4: "13.44 12.06 581.76 829.74"
*ImageableArea A5/A5: "12.00 12.00 408.00 583.00"
*ImageableArea B5/B5 (JIS): "12.50 12.50 503.50 716.50"
*ImageableArea Env10/Com-10: "12.12 12.06 284.76 672.06"
*ImageableArea EnvMonarch/Monarch: "12.72 12.06 266.16 528.06"
*ImageableArea EnvDL/DL: "13.80 12.06 297.96 611.58"
*ImageableArea EnvC5/C5: "12.60 12.06 446.52 637.02"
*ImageableArea EnvISOB5/B5 (ISO): "13.20 12.06 485.52 696.54"
*?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

*DefaultPaperDimension: Letter 
*PaperDimension Letter/Letter: "612 792"
*PaperDimension Legal/Legal: "612 1008"
*PaperDimension Executive/Executive: "522 756"
*PaperDimension A4/A4: "595 842"
*PaperDimension A5/A5: "420 595"
*PaperDimension B5/B5 (JIS): "516 729"
*PaperDimension Env10/Com-10: "297 684"
*PaperDimension EnvMonarch/Monarch: "279 540"
*PaperDimension EnvDL/DL: "312 624"
*PaperDimension EnvC5/C5: "459 649"
*PaperDimension EnvISOB5/B5 (ISO): "499 709"

*LandscapeOrientation: Plus90

*%=== Media Type ===========================
*OpenUI *MediaType/Media Type: PickOne
*OrderDependency: 20 AnySetup *MediaType
*DefaultMediaType: None
*MediaType None/None:  "
    <</MediaType null>> setpagedevice"
*End
*MediaType Plain/Plain:  "
    <</MediaType (Plain)>> setpagedevice"
*End
*MediaType Preprinted/Preprinted:  "
    <</MediaType (Preprinted)>> setpagedevice"
*End
*MediaType Letterhead/Letterhead:  "
    <</MediaType (Letterhead)>> setpagedevice"
*End
*MediaType Transparency/Transparency:  "
    <</MediaType (Transparency)>> setpagedevice"
*End
*MediaType Prepunched/Prepunched:  "
    <</MediaType (Prepunched)>> setpagedevice"
*End
*MediaType Labels/Labels:  "
    <</MediaType (Labels)>> setpagedevice"
*End
*MediaType Bond/Bond:  "
    <</MediaType (Bond)>> setpagedevice"
*End
*MediaType Recycled/Recycled:  "
    <</MediaType (Recycled)>> setpagedevice"
*End
*MediaType Color/Color:  "
    <</MediaType (Color)>> setpagedevice"
*End
*MediaType Cardstock/Card Stock:  "
    <</MediaType (Card Stock)>> setpagedevice"
*End
*MediaType Rough/Rough:  "
    <</MediaType (Rough)>> setpagedevice"
*End
*?MediaType: "
   save
    currentpagedevice /InputAttributes get dup
    /Priority get
    0 get get
    /MediaType get
    (Rough) anchorsearch
      {pop pop (Rough)} if  
    = flush
   restore
"
*End
*CloseUI: *MediaType

*%=== Custom Paper Support =================
*%Orientation and Margin (offsets) values are not utilized

*MaxMediaWidth: "612"
*MaxMediaHeight: "1008"
*HWMargins: 16 16 16 16
*CustomPageSize True: "
        pop pop pop 
        <</DeferredMediaSelection true /PageSize [ 7 -2 roll ]
        /ImagingBBox null >>
        setpagedevice
"
*End

*ParamCustomPageSize Width: 1 points 216 612
*ParamCustomPageSize Height: 2 points 360 1008
*ParamCustomPageSize WidthOffset: 3 points 0 0
*ParamCustomPageSize HeightOffset: 4 points 0 0
*ParamCustomPageSize Orientation: 5 int 0 0

*RequiresPageRegion All: True

*%=== Paper Sources ====================
*OpenUI *InputSlot: PickOne
*OrderDependency: 20 AnySetup *InputSlot
*DefaultInputSlot: Middle
*InputSlot Upper/Tray 1: "
    <</ManualFeed false /MediaPosition 3>> setpagedevice"
*End
*InputSlot ManualFeed/Tray 1 (Manual): "
    <</ManualFeed true>> setpagedevice"
*End
*InputSlot Middle/Tray 2: "
    <</ManualFeed false /MediaPosition 0>> setpagedevice"
*End
*InputSlot Lower/Tray 3: "
    <</ManualFeed false /MediaPosition 1>> setpagedevice"
*End
*InputSlot LargeCapacity/Tray 4: "
    <</ManualFeed false /MediaPosition 4>> setpagedevice"
*End
*InputSlot Envelope/Envelope Feeder: "
    <</ManualFeed false /MediaPosition 2>> setpagedevice"
*End
*?InputSlot: "
   save
      currentpagedevice /InputAttributes get /Priority get
      aload pop pop pop pop
      [(Middle) (Lower) (Envelope) (Upper) (LargeCapacity)] exch get = flush
   restore
"
*End
*CloseUI: *InputSlot

*%=== Halftone Information =================
*ScreenFreq: "85.0"
*ScreenAngle: "45.0"

*ResScreenFreq 300x300dpi/300 dpi: "60.0"
*ResScreenAngle 300x300dpi/300 dpi: "45.0"
*ResScreenFreq 600x600dpi/600 dpi: "85.0"
*ResScreenAngle 600x600dpi/600 dpi: "45.0"

*DefaultHalftoneType:    9
*AccurateScreensSupport: False

*OpenUI *HPHalftone/Levels of Gray: PickOne
*OrderDependency: 10 DocumentSetup *HPHalftone
*DefaultHPHalftone: PrinterDefault
*HPHalftone PrinterDefault/Printer's Current Setting: ""
*HPHalftone Enhanced/Enhanced: "
   << /Install {
     currentpagedevice /HWResolution get
     dup 0 get 600 eq exch 1 get 600 eq and
     { /EnhancedColorRendering600 } { /EnhancedColorRendering } ifelse
     /ColorRendering findresource setcolorrendering
     /EnhancedHalftone /Halftone findresource sethalftone
     { } settransfer false setstrokeadjust
   }
   >> setpagedevice
   currentpagedevice /HWResolution get dup 0 get 600 eq exch 1 get 600 eq and
   {
       << /PostRenderingEnhance true
            /PostRenderingEnhanceDetails << /REValue 0 /Type 8 >>
       >> setpagedevice
   } if
   /setscreen { pop pop pop } def
   /setcolorscreen { pop pop pop pop pop pop pop pop pop pop pop pop } def
   /sethalftone { pop } def 
"
*End
*HPHalftone Standard/Standard: "
    currentpagedevice /HWResolution get 0 get 1200 ne currentpagedevice /PreRenderingEnhance known
    {currentpagedevice /PreRenderingEnhance get not and} if
    {
      << /Install 
      {
        currentpagedevice /HWResolution get
        dup 0 get 600 eq exch 1 get 600 eq and dup currentpagedevice /PostRenderingEnhance get
        currentpagedevice /PostRenderingEnhanceDetails get /REValue get 0 ne and { {/DefaultColorRenderingRE600} {/DefaultColorRenderingRE} ifelse}
        { {/DefaultColorRendering600} {/DefaultColorRendering} ifelse} ifelse /ColorRendering findresource setcolorrendering
        { /DefaultHalftone600 } {/DefaultHalftone} ifelse /Halftone findresource sethalftone
        {} settransfer false setstrokeadjust
      } >> setpagedevice
      currentpagedevice /HWResolution get dup 0 get 600 eq exch 1 get 600 eq and 
      {
        << /PostRenderingEnhance true /PostRenderingEnhanceDetails << /REValue 0 /Type 8 >> >> setpagedevice
      } if
    } if
"
*End
*?HPHalftone: "
   save
      currenthalftone /HalftoneType get 9 eq 
     {(Enhanced)} {(Standard)} ifelse = flush
   restore
"
*End
*CloseUI: *HPHalftone

*%=== Duplex ====================================
*OpenUI *Duplex/Duplex:  PickOne
*OrderDependency: 50 AnySetup *Duplex
*DefaultDuplex: None
*Duplex None/Off (1-Sided): "
    <</Duplex false>> setpagedevice"
*End
*Duplex DuplexNoTumble/Flip on Long Edge (Standard): "
    <</Duplex true /Tumble false>> setpagedevice"
*End
*Duplex DuplexTumble/Flip on Short Edge: "
    <</Duplex true /Tumble true>> setpagedevice"
*End
*?Duplex: "
   save
      currentpagedevice /Duplex known
      false ne
      {  currentpagedevice /Duplex get
        { currentpagedevice /Tumble get
            {(DuplexTumble)}{(DuplexNoTumble)}ifelse
         } { (None)}    ifelse 
     }{(None)}  ifelse = flush
   restore
"
*End 
*CloseUI: *Duplex

*%=== Resolution Enhancement  ========================
*OpenUI *Smoothing/Resolution Enhancement: PickOne
*OrderDependency: 20 DocumentSetup *Smoothing
*DefaultSmoothing: PrinterDefault
*Smoothing PrinterDefault/Printer's Current Setting: ""
*Smoothing On/On: "
<< /PostRenderingEnhance true
     /PostRenderingEnhanceDetails << /REValue 2 /Type 8 >>
>> setpagedevice"
*End

*Smoothing Off/Off: "
<< /PostRenderingEnhance true
     /PostRenderingEnhanceDetails << /REValue 0 /Type 8 >>
>> setpagedevice"
*End
*?Smoothing: "
   save
    currentpagedevice /PostRenderingEnhanceDetails get /REValue get
    [(Off) (On) (On) (On)]  exch get print
   restore
"
*End
*CloseUI: *Smoothing

*% === Enable/Disable Collate via PostScript ==========
*OpenUI *Collate/Collate:  Boolean
*OrderDependency: 20 AnySetup *Collate
*DefaultCollate: False
*Collate True/On (turn off in application): "
    <</Collate true>> setpagedevice"
*End
*Collate False/Off: "
    <</Collate false>> setpagedevice"
*End
*?Collate: "
   save
    currentpagedevice /Collate get
    {(True)}{(False)}ifelse = flush
   restore
"
*End
*CloseUI: *Collate

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

*%=== Color Control ========================
*DefaultColorSep: ProcessBlack.85lpi.600dpi
*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.300x300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle CustomColor.60lpi.300x300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessCyan.60lpi.300x300dpi/60 lpi / 300 dpi: "15"
*ColorSepScreenAngle ProcessMagenta.60lpi.300x300dpi/60 lpi / 300 dpi: "75"
*ColorSepScreenAngle ProcessYellow.60lpi.300x300dpi/60 lpi / 300 dpi: "0"

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

*%  For 85 lpi / 600 dpi  (5,5,2,6,6,2,20/3,0) =====================
*ColorSepScreenAngle ProcessBlack.85lpi.600x600dpi/85 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.85lpi.600x600dpi/85 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.85lpi.600x600dpi/85 lpi / 600 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.85lpi.600x600dpi/85 lpi / 600 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.85lpi.600x600dpi/85 lpi / 600 dpi: "0.0"

*ColorSepScreenFreq ProcessBlack.85lpi.600x600dpi/85 lpi / 600 dpi: "84.8528"
*ColorSepScreenFreq CustomColor.85lpi.600x600dpi/85 lpi / 600 dpi: "84.8528"
*ColorSepScreenFreq ProcessCyan.85lpi.600x600dpi/85 lpi / 600 dpi: "94.8683"
*ColorSepScreenFreq ProcessMagenta.85lpi.600x600dpi/85 lpi / 600 dpi: "94.8683"
*ColorSepScreenFreq ProcessYellow.85lpi.600x600dpi/85 lpi / 600 dpi: "30.0"
*ColorSepScreenProc ProcessYellow.85lpi.600x600dpi/85 lpi / 600 dpi: "
{1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch
1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch
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

*%  For 106 lpi /300 dpi  ===============================
*ColorSepScreenAngle ProcessBlack.106lpi.300x300dpi/106 lpi /300 dpi: "45.0"
*ColorSepScreenAngle CustomColor.106lpi.300x300dpi/106 lpi /300 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.106lpi.300x300dpi/106 lpi /300 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.106lpi.300x300dpi/106 lpi /300 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.106lpi.300x300dpi/106 lpi /300 dpi: "0.0"
     
*ColorSepScreenFreq ProcessBlack.106lpi.300x300dpi/106 lpi /300 dpi: "106.066"
*ColorSepScreenFreq CustomColor.106lpi.300x300dpi/106 lpi /300 dpi: "106.066"
*ColorSepScreenFreq ProcessCyan.106lpi.300x300dpi/106 lpi /300 dpi: "94.8683"
*ColorSepScreenFreq ProcessMagenta.106lpi.300x300dpi/106 lpi /300 dpi: "94.8683"
*ColorSepScreenFreq ProcessYellow.106lpi.300x300dpi/106 lpi /300 dpi: "100.0"

*%  For 106 lpi /600 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.106lpi.600x600dpi/106 lpi /600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.106lpi.600x600dpi/106 lpi /600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.106lpi.600x600dpi/106 lpi /600 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.106lpi.600x600dpi/106 lpi /600 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.106lpi.600x600dpi/106 lpi /600 dpi: "0.0"
     
*ColorSepScreenFreq ProcessBlack.106lpi.600x600dpi/106 lpi /600 dpi: "106.066"
*ColorSepScreenFreq CustomColor.106lpi.600x600dpi/106 lpi /600 dpi: "106.066"
*ColorSepScreenFreq ProcessCyan.106lpi.600x600dpi/106 lpi /600 dpi: "94.8683"
*ColorSepScreenFreq ProcessMagenta.106lpi.600x600dpi/106 lpi /600 dpi: "94.8683"
*ColorSepScreenFreq ProcessYellow.106lpi.600x600dpi/106 lpi /600 dpi: "100.0"
      
*%=== Font Information =====================
*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
*Font Bookman-Demi: Standard "(001.004S)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
*Font Bookman-Light: Standard "(001.004S)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.004S)" Standard 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 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 NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
*Font Palatino-Bold: Standard "(001.005S)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
*Font Palatino-Italic: Standard "(001.005S)" Standard ROM
*Font Palatino-Roman: Standard "(001.005S)" Standard 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
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" 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: "warming up"/warming up
*Status: "idle"/idle
*Status: "busy"/busy
*Status: "waiting"/waiting
*Status: "printing"/printing
*Status: "initializing"/initializing
*Status: "printing test page"/printing test page 

*Status: "PrinterError: cover open or no toner cartridge"/cover open or no toner cartridge 
*Status: "PrinterError: cover open"/cover open
*Status: "PrinterError: needs attention"/needs attention 
*Status: "PrinterError: no toner cartridge"/no toner cartridge
*Status: "PrinterError: warming up"/warming up 
*Status: "PrinterError: manual feed"/manual feed 
*Status: "PrinterError: out of paper"/out of paper 
*Status: "PrinterError: Paper Jam"/Paper Jam 
*Status: "PrinterError: paper jam"/paper jam 
*Status: "PrinterError: page protect needed"/page protect needed
*Status: "PrinterError: out of memory"/out of memory 
*Status: "PrinterError: output bin full"/output bin full 
*Status: "PrinterError: resetting printer"/resetting printer
*Status: "PrinterError: toner is low"/toner is low 
*Status: "PrinterError: off line"/off line

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%) 
*PrinterError: "cover open or no toner cartridge"/cover open or no toner cartridge
*PrinterError: "cover open"/cover open 
*PrinterError: "needs attention"/needs attention
*PrinterError: "no toner cartridge"/no toner cartridge 
*PrinterError: "warming up"/warming up
*PrinterError: "manual feed"/manual feed 
*PrinterError: "out of paper"/out of paper 
*PrinterError: "Paper Jam"/Paper Jam 
*PrinterError: "paper jam"/paper jam
*PrinterError: "page protect needed"/page protect needed 
*PrinterError: "out of memory"/out of memory 
*PrinterError: "output bin full"/output bin full 
*PrinterError: "resetting printer"/resetting printer 
*PrinterError: "toner is low"/toner is low 
*PrinterError: "off line"/off line

*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*Source: "BiTronics"/BiTronics
*Source: "other I/O"/other I/O
*Source: "AppleTalk"/AppleTalk
*Source: "APPLETALK"/AppleTalk
*Source: "ATALK"/AppleTalk
*Source: "LocalTalk"/LocalTalk
*Source: "Parallel"/Parallel
*Source: "EtherTalk"/EtherTalk
*Source: "NOVELL"/NOVELL
*Source: "DLC/LLC"/DLC/LLC
*Source: "ETALK"/EtherTalk
*Source: "TCP/IP"/TCP/IP

*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

*% ================================
*% For "HP LaserJet 4000" version 2014.108
*% ================================
