*PPD-Adobe: "4.1"
*% Adobe PostScript(R) Printer Description File
*% For IBM Color Jetprinter PS 4079
*% Produced by Lexmark International, Inc.
*%
*% Copyright (c) 1993 Lexmark International Inc.  All Rights Reserved.
*% Permission is granted for redistribution of this file as
*% long as this copyright notice is intact and the content
*% of the file is not altered in any way from its original form.
*%
*%
*% WARNING:  If you want to edit this PPD file and use it with Aldus
*%           PageMaker, be sure to use an editor (such as DOS Edit)
*%           that does NOT add an end-of-file marker (hex 1A) when
*%           it stores the file.
*%
*%

*FormatVersion: "4.1"
*FileVersion: "3.0"
*LanguageVersion: English
*PCFileName: "IBM4079.PPD"
*LanguageEncoding: WindowsANSI
*Product: "(IBM Color Jetprinter PS 4079)"
*PSVersion: ""
*ModelName: "IBM Color Jetprinter PS 4079"
*ShortNickName: "IBM Color Jetprinter PS 4079"
*NickName: "IBM Color Jetprinter PS 4079"

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

*OpenGroup: InstallableOptions/Options Installed
*OpenUI *InstalledMemory/Printer Memory - Option: PickOne
*DefaultInstalledMemory: 4Meg
*InstalledMemory 4Meg/4 MB Printer Memory: ""
*InstalledMemory 8Meg/8 MB Printer Memory: ""
*InstalledMemory 12Meg/12 MB Printer Memory: ""
*InstalledMemory 16Meg/16 MB Printer Memory: ""
*CloseUI: *InstalledMemory

*OpenUI *Option2/Printer Software Version: PickOne
*DefaultOption2: 2502
*Option2 2500/250.0x:  ""
*Option2 2502/250.2x:  ""
*CloseUI: *Option2

*CloseGroup: InstallableOptions

*UIConstraints: *Option2 2500 *ColorModel
*UIConstraints: *Option2 2500 *OutputMode
*UIConstraints: *Option2 2500 *PBrightness
*UIConstraints: *Option2 2500 *PContrast

*UIConstraints:  *Screening Standard *MediaWeight

*% === Basic Capabilities ============
*% System Management==Base=4Meg, (6,8,10,12,16Meg with optional ram) ======

*LanguageLevel: "1"
*FreeVM: "369000"
*VMOption 4Meg:     "369000"
*VMOption 8Meg:     "909312"
*VMOption 12Meg:    "1433600"
*VMOption 16Meg:    "2007040"
*ColorDevice: True
*DefaultColorSpace: CMYK
*Extensions: CMYK
*VariablePaperSize: False
*Throughput: "1"
*Password: "0"

*ExitServer: "
count 0 eq
{                       % password not on the stack
  true
}
{                       % check password for validity
  dup
  statusdict begin
  checkpassword
  end %statusdict
  not
} ifelse
{                       % password invalid or missing
  (WARNING! Cannot perform exitserver.) print
  (Invalid password.) print
  (Please contact system support.) print flush
  quit
} if
serverdict begin exitserver
"
*End

*Reset: "
count 0 eq
{                       % password not on the stack
  true
}
{                       % check password for validity
  dup
  statusdict begin
  checkpassword
  end %statusdict
  not
} ifelse
{                       % password invalid or missing
  (WARNING! Cannot perform exitserver.) print
  (Invalid password.) print
  (Please contact system support.) print flush
  quit
} if
serverdict begin exitserver
systemdict /quit get exec
(WARNING! Printer Reset failed.) print flush
"
*End

*% === Resolution ============

*DefaultResolution: 360dpi
*Resolution 360dpi: ""
*?Resolution: "
save
 initgraphics
 0 0 matrix defaultmatrix transform
 0 72 matrix defaultmatrix transform
 3 -1 roll sub dup mul
 3 1 roll exch sub dup mul
 add sqrt round cvi
 (          ) cvs print (dpi) print flush
restore
"
*End

*% === Halftone Information === (For Standard Screening) ===

*ScreenFreq: "60.0"
*ScreenAngle: "24.0"
*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 }"

*DefaultTransfer: Null
*Transfer Null: "{ }"
*Transfer Null.Inverse: "{ 1 exch sub }"
*Transfer Normalized: "{ }"
*Transfer Normalized.Inverse: "{ 1 exch sub }"
*Transfer Red: "{ }"
*Transfer Red.Inverse: "{ 1 exch sub }"
*Transfer Green: "{ }"
*Transfer Green.Inverse: "{ 1 exch sub }"
*Transfer Blue: "{ }"
*Transfer Blue.Inverse: "{ 1 exch sub }"

*OpenUI *MediaColor/Print Quality: PickOne
*OrderDependency: 10 AnySetup *MediaColor
*DefaultMediaColor: None
*MediaColor None/Printer Setting: ""
*MediaColor Draft/Draft: "statusdict begin 3 setprintmethod end"
*MediaColor Transparency/Transparency: "statusdict begin 5 setprintmethod end"
*MediaColor Quality/Quality: "statusdict begin 1 setprintmethod end"
*MediaColor HighQuality/High Quality: "statusdict begin 4 setprintmethod end"
*MediaColor BoldBlack/Bold Black: "statusdict begin 2 setprintmethod end"
*?MediaColor: "
save statusdict begin
[(Quality) (BoldBlack) (Draft) (HighQuality) (Transparency)]
printmethod 1 sub get = flush
end
restore"
*End
*CloseUI: *MediaColor

*OpenUI *Screening/Screening: PickOne
*OrderDependency: 10 AnySetup *Screening
*DefaultScreening: None
*Screening None/Printer Setting: ""
*Screening Standard/Standard: "statusdict begin 1 setscreening end"
*Screening Enhanced/Enhanced: "statusdict begin 2 setscreening end"
*?Screening: "
save statusdict begin
[(Standard) (Enhanced)] screening 1 sub get = flush
end
restore"
*End
*CloseUI: *Screening

*OpenUI *MediaWeight/Color Balance: PickOne
*OrderDependency: 10 AnySetup *MediaWeight
*DefaultMediaWeight: None
*MediaWeight None/Printer Setting: ""
*MediaWeight Off/Off: "statusdict begin 0 setcolorbalance end"
*MediaWeight CoatedPaper/Coated Paper: "statusdict begin 1 setcolorbalance end"
*MediaWeight PlainPaper/Plain Paper: "statusdict begin 2 setcolorbalance end"
*MediaWeight Transparency/Transparency: "statusdict begin 3 setcolorbalance end"
*?MediaWeight: "
save statusdict begin
[(None) (CoatedPaper) (PlainPaper) (Transparency)]
colorbalance get = flush
end
restore"
*End
*CloseUI: *MediaWeight

*OpenUI *OutputMode/Blue Adjust: PickOne
*OrderDependency: 10 AnySetup *OutputMode
*DefaultOutputMode: None
*OutputMode None/Printer Setting: ""
*OutputMode Off/Off: "
statusdict begin /setblueadjust where {pop 0 setblueadjust}if end"
*End
*OutputMode Painted/Line Art & Text: "
statusdict begin /setblueadjust where {pop 1 setblueadjust}if end"
*End
*OutputMode Images/Images: "
statusdict begin /setblueadjust where {pop 2 setblueadjust}if end"
*End
*OutputMode All/All: "
statusdict begin /setblueadjust where {pop 3 setblueadjust}if end"
*End
*CloseUI: *OutputMode

*OpenUI *ColorModel/Color Model: PickOne
*OrderDependency: 10 AnySetup *ColorModel
*DefaultColorModel: None
*ColorModel None/Printer Setting: ""
*ColorModel RGB: "
statusdict begin /setcolormodel where {pop 1 setcolormodel}if end"
*End
*ColorModel CMYK: "
statusdict begin /setcolormodel where {pop 0 setcolormodel}if end"
*End
*CloseUI: *ColorModel

*OpenUI *PBrightness/Image Brightness: PickOne
*OrderDependency: 10 AnySetup *PBrightness
*DefaultPBrightness: None
*PBrightness None/Printer Setting: ""
*PBrightness 0: "
statusdict begin /setimagebrightness where {0 setimagebrightness}if end"
*End
*PBrightness +5: "
statusdict begin /setimagebrightness where {5 setimagebrightness}if end"
*End
*PBrightness +10: "
statusdict begin /setimagebrightness where {10 setimagebrightness}if end"
*End
*PBrightness +15: "
statusdict begin /setimagebrightness where {15 setimagebrightness}if end"
*End
*PBrightness +20: "
statusdict begin /setimagebrightness where {20 setimagebrightness}if end"
*End
*PBrightness +25: "
statusdict begin /setimagebrightness where {25 setimagebrightness}if end"
*End
*PBrightness +30: "
statusdict begin /setimagebrightness where {30 setimagebrightness}if end"
*End
*PBrightness +35: "
statusdict begin /setimagebrightness where {35 setimagebrightness}if end"
*End
*PBrightness +40: "
statusdict begin /setimagebrightness where {40 setimagebrightness}if end"
*End
*PBrightness +45: "
statusdict begin /setimagebrightness where {45 setimagebrightness}if end"
*End
*PBrightness +50: "
statusdict begin /setimagebrightness where {50 setimagebrightness}if end"
*End
*CloseUI: *PBrightness

*OpenUI *PContrast/Image Contrast: PickOne
*OrderDependency: 10 AnySetup *PContrast
*DefaultPContrast: None
*PContrast None/Printer Setting: ""
*PContrast 0: "
statusdict begin /setimagecontrast where {0 setimagecontrast}if end"
*End
*PContrast +5: "
statusdict begin /setimagecontrast where {5 setimagecontrast}if end"
*End
*PContrast +10: "
statusdict begin /setimagecontrast where {10 setimagecontrast}if end"
*End
*PContrast +15: "
statusdict begin /setimagecontrast where {15 setimagecontrast}if end"
*End
*PContrast +20: "
statusdict begin /setimagecontrast where {20 setimagecontrast}if end"
*End
*PContrast +25: "
statusdict begin /setimagecontrast where {25 setimagecontrast}if end"
*End
*PContrast +30: "
statusdict begin /setimagecontrast where {30 setimagecontrast}if end"
*End
*PContrast +35: "
statusdict begin /setimagecontrast where {35 setimagecontrast}if end"
*End
*PContrast +40: "
statusdict begin /setimagecontrast where {40 setimagecontrast}if end"
*End
*PContrast +45: "
statusdict begin /setimagecontrast where {45 setimagecontrast}if end"
*End
*PContrast +50: "
statusdict begin /setimagecontrast where {50 setimagecontrast}if end"
*End
*CloseUI: *PContrast


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

*% Use these entries to set paper size, unless there is
*% specific reason to use PageRegion or PaperTray.
*OpenUI *PageSize:  PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/Letter: "statusdict begin /letter true setpapersize end"
*PageSize Legal/Legal: "statusdict begin /legal true setpapersize end"
*PageSize B5/B5: "statusdict begin /b5 true setpapersize end"
*PageSize A4/A4: "statusdict begin /a4 true setpapersize end"
*PageSize Executive/Executive: "statusdict begin /executivepage true setpapersize end"
*PageSize A3/A3: "statusdict begin /a3 true setpapersize end"
*PageSize Tabloid/Tabloid: "statusdict begin /11x17 true setpapersize end"
*PageSize Comm10/C10 Envelope: "statusdict begin /4.125x9.5envelope false setpapersize end 0 297 translate 270 rotate"
*PageSize DL/DL Envelope: "statusdict begin /110x220envelope false setpapersize end 0 311 translate 270 rotate"
*?PageSize: "
save statusdict begin
  9 dict begin
  /letter (Letter) def
  /legal (Legal) def
  /b5 (B5) def
  /a4 (A4) def
  /executivepage (Executive) def
  /a3 (A3) def
  /11x17 (Tabloid) def
  /4.125x9.5envelope (Envelope.297.684/C10 Envelope) def
  /110x220envelope (Envelope.312.624/DL Envelope) def
  defaultpagesize pop
  { load exec } stopped not
          {= flush}
          {(Unknown) = flush}
  ifelse
  end             %temp
end             %statusdict
restore
"
*End
*CloseUI: *PageSize

*% These entries will set up the frame buffer. Usually used with manual feed.
*OpenUI *PageRegion:  PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "letter"
*PageRegion Legal/Legal: "legal"
*PageRegion B5/B5: "b5"
*PageRegion A4/A4: "a4"
*PageRegion Executive/Executive: "executivepage"
*PageRegion A3/A3: "a3"
*PageRegion Tabloid/Tabloid: "11x17"
*PageRegion Comm10/C10 Envelope: "4.125x9.5envelope 0 297 translate 270 rotate"
*PageRegion DL/DL Envelope: "110x220envelope 0 311 translate 270 rotate"
*CloseUI: *PageRegion

*DefaultImageableArea: Letter
*ImageableArea Letter/Letter:       "12 27 603 781"
*ImageableArea Legal/Legal:         "12 26 603 997"
*ImageableArea B5/B5:               "12 28 507 716"
*ImageableArea A4/A4:               "11 26 587 831"
*ImageableArea Executive/Executive: "12 30 512 745"
*ImageableArea A3/A3:               "12 29 832 1177"
*ImageableArea Tabloid/Tabloid:     "12 24 782 1213"
*% TM, LM, Physical Page Height-BM, Physical Page Width-RM
*ImageableArea Comm10/C10 Envelope: "11 12 265 675"
*ImageableArea DL/DL Envelope:      "10 12 291 613"
*?ImageableArea: "
save
  /cvp { cvi (            ) cvs print ( ) print } bind def
  newpath clippath pathbbox
  4 -2 roll exch 2 {ceiling cvp} repeat
   exch 2 {floor cvp} repeat flush
restore
"
*End

*% These provide the physical dimensions of the paper (by keyword)
*DefaultPaperDimension: Letter
*PaperDimension Letter/Letter:       "612 792"
*PaperDimension Legal/Legal:         "612 1008"
*PaperDimension B5/B5:               "518 727"
*PaperDimension A4/A4:               "597 842"
*PaperDimension Executive/Executive: "522 756"
*PaperDimension A3/A3:               "842 1188"
*PaperDimension Tabloid/Tabloid:     "792 1224"
*PaperDimension Comm10/C10 Envelope: "297 684"
*PaperDimension DL/DL Envelope:      "311 623"

*OpenUI *InputSlot:  PickOne
*OrderDependency: 20 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*InputSlot AutoSelect: ""
*CloseUI: *InputSlot

*DefaultOutputOrder: Reverse
*OutputOrder Reverse: ""

*% === Font Information =======================

*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.000)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.000)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.000)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.000)" Standard ROM
*Font Bookman-Demi: Standard "(001.000)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.000)" Standard ROM
*Font Bookman-Light: Standard "(001.000)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.000)" Standard ROM
*Font Courier: Standard "(001.000)" Standard ROM
*Font Courier-Bold: Standard "(001.000)" Standard ROM
*Font Courier-Oblique: Standard "(001.000)" Standard ROM
*Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica: Standard "(001.000)" Standard ROM
*Font Helvetica-Bold: Standard "(001.000)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.000)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.000)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.000)" Standard ROM
*Font Palatino-Roman: Standard "(001.000)" Standard ROM
*Font Palatino-Bold: Standard "(001.000)" Standard ROM
*Font Palatino-Italic: Standard "(001.000)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.000)" Standard ROM
*Font Symbol: Special "(001.000)" Special ROM
*Font Times-Roman: Standard "(001.000)" Standard ROM
*Font Times-Bold: Standard "(001.000)" Standard ROM
*Font Times-Italic: Standard "(001.000)" Standard ROM
*Font Times-BoldItalic: Standard "(001.000)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.000)" Standard ROM
*Font ZapfDingbats: Special "(001.000)" Special ROM
*?FontQuery: "
save
4 dict begin
/sv exch def /str (fonts/                              ) def /st2 30 string def
  { count 0 gt
    { dup FontDirectory exch known {pop 1}
      { str exch st2 cvs dup length /len exch def
        6 exch putinterval str 0 len 6 add getinterval mark exch
        { } st2 filenameforall counttomark 0 gt
        { cleartomark 1}{cleartomark 0}ifelse
      }ifelse
      print flush
    }
    { exit } ifelse
  } bind loop
sv end restore
"
*End

*?FontList: "
FontDirectory { pop == } forall
/filenameforall where {
 pop save (fonts/*) {
  dup length 6 sub 6 exch getinterval ==
 } 128 string filenameforall restore
} if
(*) print flush
"
*End

*% Printer Messages (verbatim from printer):
*Message: "%%[ exitserver: permanent state may be changed ]%%"
*Message: "%%[ Flushing: rest of job (to EOF) is ignored ]%%"
*Message: "\FontName\ not found, using Courier"

*% Status (format: %%[ status: <one of these> ]%% )
*Status: "Idle"
*Status: "Busy"
*Status: "Waiting"
*Status: "Printing"
*Status: "Initializing"
*Status: "Printing start page"
*Status: "PrinterError: Printer Busy"
*Status: "PrinterError: Paper Jam"
*Status: "PrinterError: Wrong Paper Length"
*Status: "PrinterError: Cover Open"
*Status: "PrinterError: Wrong Paper Size"
*Status: "PrinterError: Paper Out or Feed Failure"
*Status: "PrinterError: Memory Full Error"
*Status: "PrinterError: Default Storage Error"
*Status: "PrinterError: Ioerror"
*Status: "PrinterError: Black Ink Cartridge Empty"
*Status: "PrinterError: Yellow Ink Cartridge Empty"
*Status: "PrinterError: Magenta Ink Cartridge Empty"
*Status: "PrinterError: Cyan Ink Cartridge Empty"
*Status: "PrinterError: Black Ink Cart. Missing"
*Status: "PrinterError: Yellow Ink Cart. Missing"
*Status: "PrinterError: Magenta Ink Cart. Missing"
*Status: "PrinterError: Cyan Ink Cart. Missing"
*Status: "PrinterError: Service Error"

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

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*PrinterError: "Paper Jam"
*PrinterError: "Wrong Paper Length"
*PrinterError: "Cover Open"
*PrinterError: "Wrong Paper Size"
*PrinterError: "Paper Out or Feed Failure"
*PrinterError: "Memory Full Error"
*PrinterError: "Default Storage Error"
*PrinterError: "Ioerror"
*PrinterError: "Black Ink Cartridge Empty"
*PrinterError: "Yellow Ink Cartridge Empty"
*PrinterError: "Magenta Ink Cartridge Empty"
*PrinterError: "Cyan Ink Cartridge Empty"
*PrinterError: "Black Ink Cart. Missing"
*PrinterError: "Yellow Ink Cart. Missing"
*PrinterError: "Magenta Ink Cart. Missing"
*PrinterError: "Cyan Ink Cart. Missing"
*PrinterError: "Service Error"

*% Color Separation Information =====================

*DefaultColorSep: ProcessBlack.60lpi/60 lpi

*InkName: ProcessCyan/Process Cyan
*InkName: ProcessMagenta/Process Magenta
*InkName: ProcessYellow/Process Yellow
*InkName: ProcessBlack/Process Black

*ColorSepScreenAngle ProcessCyan.60lpi/60 lpi: "15"
*ColorSepScreenAngle ProcessMagenta.60lpi/60 lpi: "75"
*ColorSepScreenAngle ProcessYellow.60lpi/60 lpi: "0"
*ColorSepScreenAngle ProcessBlack.60lpi/60 lpi: "45"

*ColorSepScreenFreq ProcessCyan.60lpi/60 lpi: "60"
*ColorSepScreenFreq ProcessMagenta.60lpi/60 lpi: "60"
*ColorSepScreenFreq ProcessYellow.60lpi/60 lpi: "60"
*ColorSepScreenFreq ProcessBlack.60lpi/60 lpi: "60"

*ColorSepScreenProc ProcessCyan.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessMagenta.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessYellow.60lpi/60 lpi: "
{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
*ColorSepScreenProc ProcessBlack.60lpi/60 lpi: "
{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

*ColorSepTransfer ProcessCyan.60lpi/60 lpi: "{ }"
*ColorSepTransfer ProcessMagenta.60lpi/60 lpi: "{ }"
*ColorSepTransfer ProcessYellow.60lpi/60 lpi: "{ }"
*ColorSepTransfer ProcessBlack.60lpi/60 lpi: "{ }"

*% End of PPD file for IBM Color Jetprinter PS 4079