*PPD-Adobe: "4.0"
*% QMS Inc. PostScript(R) Printer Description File

*FormatVersion: "4.0"
*FileVersion: "2.0"
*PCFileName: "QMSCS230.PPD"
*LanguageVersion: English
*Product: "(QMS ColorScript 230)"
*PSVersion: "(2011.22) 10"
*ModelName: "QMS ColorScript 230"
*NickName: "QMS ColorScript 230 v2011.22"

*% General Information and Defaults ===============

*FreeVM: "700000"
*LanguageLevel: "2"
*ColorDevice: True
*DefaultColorSpace: CMYK
*VariablePaperSize: False
*FileSystem: True
*?FileSystem: "/initializedisk where{pop(True)}{(False)} ifelse = flush"
*Throughput: "1"

*Password: "0"

*ExitServer: "
  count 0 eq {  % is the password on the stack?
    true 
  }{
    dup	% potential password
    statusdict begin checkpassword end not 
  } ifelse 
  {  %  if no password or not valid 
    (WARNING : Cannot perform the exitserver command.) = 
    (Password supplied is not valid.) = 
    (Please contact the author of this software.) = flush
    quit 
  } if 
  serverdict begin exitserver
"
*End

*Reset: "(WARNING : Cannot reset printer.) = "

*OpenUI *ColorRenderDict/Color Rendering Dictionaries: PickOne
*OrderDependency: 50 AnySetup *ColorRenderDict
*DefaultColorRenderDict: 1
*ColorRenderDict 1/Default: "% Use default CRD"    
*ColorRenderDict 2/Photographic: "/Photographic /ColorRendering findresource setcolorrendering"    
*ColorRenderDict 3/Colorimetric: "/Colorimetric /ColorRendering findresource setcolorrendering"    
*ColorRenderDict 4/Business: "/Business /ColorRendering findresource setcolorrendering"    
*CloseUI: *ColorRenderDict

*OpenUI *HalftoneType/Halftones: PickOne
*OrderDependency: 50 AnySetup *HalftoneType
*DefaultHalftoneType: 1
*HalftoneType 1/Default:"% Use default halftone "
*HalftoneType 2/Presentation:"/Presentation /Halftone findresource sethalftone "
*HalftoneType 3/Proofing - 4 color:"/Proofing4Color /Halftone findresource sethalftone "
*HalftoneType 4/Proofing - 3 color:"/Proofing3Color /Halftone findresource sethalftone "
*HalftoneType 5/Traditional 53LPI x (C15,M75,Y45,K45):"/Traditional /Halftone findresource sethalftone "
*HalftoneType 6/Aligned 53LPI x 45:"/53x45 /Halftone findresource sethalftone "
*HalftoneType 7/Aligned 60LPI x 54:"/60x54 /Halftone findresource sethalftone "
*CloseUI: *HalftoneType

*OpenUI *Setups/Standard setups: PickOne
*OrderDependency: 55 AnySetup *Setups
*DefaultProcset: 1
*Setups 1/None: "% None"    
*Setups 2/Photographic: "
  /Photographic /ColorRendering findresource setcolorrendering
  /Proofing4Color /Halftone findresource sethalftone
"
*End
*Setups 3/Standard: "
  /Colorimetric /ColorRendering findresource setcolorrendering
  /Presentation /Halftone findresource sethalftone
"
*End    
*CloseUI: *Setups

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

*% Halftone Information ===============
*ScreenFreq: "53.0"
*ScreenAngle: "45.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 }"

*% 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: 30 AnySetup *PageSize

*DefaultPageSize: Letter
*PageSize Letter/Letter 8.5x11in: "statusdict begin letter end"
*PageSize Legal/Legal 8.5x14in: "statusdict begin legal end"
*PageSize Tabloid/Tabloid 11x17in: "statusdict begin 11x17 end"
*PageSize WB/Super-WB 12.6x18.3in: "statusdict begin wb end"
*PageSize A3/A3 297x420mm: "statusdict begin a3 end"
*PageSize A4/A4 210x297mm: "statusdict begin a4 end"
*?PageSize: "
 save statusdict begin
  12 dict begin
   /lettertray (Letter) def
   /legaltray (Legal) def
   /11x17tray (Tabloid) def
   /wbtray (WB) def
   /a3tray (A3) def
   /a4tray (A4) def
   papersize {
     {load exec} stopped not{= flush}if
   }{
     {load exec} stopped not{print (.Transverse) = flush}{(Unknown) = flush}ifelse
   }ifelse
  end
 end 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 8.5x11in: "letter"
*PageRegion Legal/Legal 8.5x14in: "legal"
*PageRegion Tabloid/Tabloid 11x17in: "11x17"
*PageRegion WB/Super-WB 12.6x18.3in: "wb"
*PageRegion A3/A3 297x420mm: "a3"
*PageRegion A4/A4 210x297mm: "a4"
*CloseUI: *PageRegion


*% These entries will invoke a particular tray--error may occur if tray is not inserted.
*% These errors should be trapped by software and a message displayed
*DefaultPaperTray: None
*PaperTray Letter/Letter 8.5x11in: "statusdict begin lettertray end"
*PaperTray Legal/Legal 8.5x14in: "statusdict begin legaltray end"
*PaperTray Tabloid/Tabloid 11x17 in: "statusdict begin 11x17tray end"
*PaperTray WB/Super-WB 12.6x18.3in: "statusdict begin wbtray end "
*PaperTray A3/A3 297x420mm: "statusdict begin a3tray end"
*PaperTray A4/A4 210x297mm: "statusdict begin a4tray end"
*?PaperTray: "
 save statusdict begin
  20 dict begin
   /lettertray (Letter) def
   /legaltray (Legal) def
   /11x17tray (Tabloid) def
   /wbtray (WB) def
   /a3tray (A3) def
   /a4tray (A4) def
   papersize {
     {load exec} stopped not{= flush}if
   }{
     {load exec} stopped not{print (.Transverse) = flush}if
   }ifelse
  end
 end restore
"
*End

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter/Letter 8.5x11in: "10.3 17.3 601.7 740.9 "
*ImageableArea Legal/Legal 8.5x14in: "10.3 17.3 601.7 957 "
*ImageableArea Tabloid/Tabloid 11x17in: "10.1 17.5 781.9 1172.9 "
*ImageableArea WB/Super-WB 12.6x18.3in: " 27.0 30.4 879.5 1267.2 "
*ImageableArea A3/A3 297x420mm: "10.0 16.0 831.7 1139.7 "
*ImageableArea A4/A4 210x297mm: "9.5 16.9 585.5 790.9 "
*?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)
*PaperDimension Letter: "612 792"
*PaperDimension Legal: "612 1008"
*PaperDimension Tabloid: "792 1224"
*PaperDimension WB: "907 1318"
*PaperDimension A3: "842 1190"
*PaperDimension A4: "595 842"

*DefaultOutputBin: OnlyOne
*DefaultOutputOrder: Reverse

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

*OpenUI *ManualFeed: Boolean
*OrderDependency: 20 AnySetup *ManualFeed
*DefaultManualFeed: False
*ManualFeed True: "statusdict begin /manualfeed true store end"
*ManualFeed False: "statusdict begin /manualfeed false store end"
*?ManualFeed: "
  statusdict /manualfeed get
  {(True)}{(False)}ifelse = flush"
*End
*CloseUI: *ManualFeed

*DefaultCollator: None
*DefaultSorter: None
*DefaultDuplex: None

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

*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.006)"
*Font AvantGarde-BookOblique: Standard "(001.006)"
*Font AvantGarde-Demi: Standard "(001.007)"
*Font AvantGarde-DemiOblique: Standard "(001.007)"
*Font Bookman-Demi: Standard "(001.003)"
*Font Bookman-DemiItalic: Standard "(001.003)"
*Font Bookman-Light: Standard "(001.003)"
*Font Bookman-LightItalic: Standard "(001.003)"
*Font Courier: Standard "(002.004)"
*Font Courier-Bold: Standard "(002.004)"
*Font Courier-BoldOblique: Standard "(002.004)"
*Font Courier-Oblique: Standard "(002.004)"
*Font Helvetica: Standard "(001.006)"
*Font Helvetica-Bold: Standard "(001.007)"
*Font Helvetica-BoldOblique: Standard "(001.007)"
*Font Helvetica-Condensed: Standard "(001.001)"
*Font Helvetica-Condensed-Bold: Standard "(001.002)"
*Font Helvetica-Condensed-BoldObl: Standard "(001.002)"
*Font Helvetica-Condensed-Oblique: Standard "(001.001)"
*Font Helvetica-Narrow: Standard "(001.006)"
*Font Helvetica-Narrow-Bold: Standard "(001.007)"
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)"
*Font Helvetica-Narrow-Oblique: Standard "(001.006)"
*Font Helvetica-Oblique: Standard "(001.006)"
*Font NewCenturySchlbk-Bold: Standard "(001.009)"
*Font NewCenturySchlbk-BoldItalic: Standard "(001.007)"
*Font NewCenturySchlbk-Italic: Standard "(001.006)"
*Font NewCenturySchlbk-Roman: Standard "(001.007)"
*Font Palatino-Bold: Standard "(001.005)"
*Font Palatino-BoldItalic: Standard "(001.005)"
*Font Palatino-Italic: Standard "(001.005)"
*Font Palatino-Roman: Standard "(001.005)"
*Font Symbol: Special "(001.007)"
*Font Times-Bold: Standard "(001.007)"
*Font Times-BoldItalic: Standard "(001.009)"
*Font Times-Italic: Standard "(001.007)"
*Font Times-Roman: Standard "(001.007)"
*Font ZapfChancery-MediumItalic: Standard "(001.007)"
*Font ZapfDingbats: Special "(001.004)"
*Font Aachen-Bold: Standard "(001.001)"
*Font BrushScript: Standard "(001.001)"
*Font Cooper-Black: Standard "(001.001)"
*Font CooperBlack-Italic: Standard "(001.001)"
*Font FreestyleScript: Standard "(001.001)"
*Font Garamond-Bold: Standard "(001.001)"
*Font Garamond-BoldItalic: Standard "(001.001)"
*Font Garamond-Light: Standard "(001.001)"
*Font Garamond-LightItalic: Standard "(001.001)"
*Font Helvetica-Black: Standard "(001.001)"
*Font Helvetica-BlackOblique: Standard "(001.001)"
*Font Helvetica-Light: Standard "(001.001)"
*Font Helvetica-LightOblique: Standard "(001.001)"
*Font Hobo: Standard "(001.001)"
*Font LetterGothic: Standard "(001.001)"
*Font LetterGothic-Bold: Standard "(001.001)"
*Font LetterGothic-BoldSlanted: Standard "(001.001)"
*Font LetterGothic-Slanted: Standard "(001.001)"
*Font Optima: Standard "(001.001)"
*Font Optima-Bold: Standard "(001.001)"
*Font Optima-BoldOblique: Standard "(001.001)"
*Font Optima-Oblique: Standard "(001.001)"
*Font ParkAvenue: Standard "(001.001)"
*Font Revue: Standard "(001.001)"
*Font Stencil: Standard "(001.001)"
*Font UniversityRoman: Standard "(001.001)"

*?FontQuery: "
save  4 dict begin /sv exch def
/str (fonts/                              ) def
/st2 128 string def
{
  count 0 gt {
    dup st2 cvs (/) print print (:) print
    dup FontDirectory exch known {pop (Yes)}{
     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 (Yes)}{cleartomark (No)}ifelse
    }ifelse = flush
  }{ exit } ifelse
} bind loop
(*) = flush
sv end restore
"
*End

*?FontList: "
save  2 dict begin /sv exch def
/str 128 string def
FontDirectory { pop == } bind forall flush
/filenameforall where { 
 pop save (fonts/*) { 
  dup length 6 sub 6 exch getinterval cvn == 
 } bind str filenameforall flush restore
} if 
(*) = flush
sv end 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: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"

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

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)

*DeviceAdjustMatrix: "[1 0 0 1 0 0]"

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

*DefaultColorSep: ProcessBlack.53lpi.300dpi/53 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: "45"
*ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"

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

*%  For 53 lpi / 300 dpi  ===============================

*ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"

*ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
*ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
*ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
*ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
*ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"

*% end of PPD file for QMS ColorScript 230
