*PPD-Adobe: "4.1"
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1993 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.1"
*FileVersion: "1.0"
*PCFileName: "LHPr60_1.PPD"
*LanguageVersion: English
*Product: "(Linotype)"
*PSVersion: "(52.3) 906"
*ModelName: "Linotronic Pr60"
*NickName: "Linotronic Pr60 v52.3"

*% General Information and Defaults ===============
*FreeVM: "1068498"
*LanguageLevel: "1"
*Extensions: FileSystem CMYK
*ColorDevice: False
*DefaultColorSpace: Gray
*VariablePaperSize: True
*FileSystem: True
*?FileSystem: "
save
  statusdict /diskonline get exec {(True)}{(False)} ifelse = flush
restore
"
*End
*Password: "0"
*ExitServer: "
  count 0 eq {  % is the password on the stack?
    true
  }{
    dup    % potential password
    statusdict /checkpassword get exec 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 /exitserver get exec
"
*End

*Reset: "
  count 0 eq {  % is the password on the stack?
    true
  }{
    dup    % potential password
    statusdict /checkpassword get exec not
  } ifelse
  {  %  if no password or not valid
    (WARNING : Cannot reset printer.) =
    (Password supplied is not valid.) =
    (Please contact the author of this software.) = flush
    quit
  } if
  serverdict /exitserver get exec
  systemdict /quit get exec
  (WARNING : Printer Reset Failed.) = flush
"
*End

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

*DefaultResolution: 600dpi
*?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: "85"
*ScreenAngle: "45"
*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 }"

*AccurateScreensSupport: True

*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: "612 792 1 statusdict /setpage get exec"
*PageSize Legal: "612 1008 1 statusdict /setpage get exec"
*PageSize A4: "595 842 1 statusdict /setpage get exec"
*PageSize A3: "842 1191 1 statusdict /setpage get exec"
*PageSize Letter.Transverse: "792 612 0 statusdict /setpage get exec"
*PageSize A4.Transverse: "842 595 0 statusdict /setpage get exec"
*?PageSize: "
save
	mark statusdict /pageparams get exec exch pop
  6 dict
	dup [595 842] (A4.Transverse) put
	dup [612 792] (Letter.Transverse) put
  dup [792 612] (Letter) put
	dup [842 595] (A4) put
  dup [1008 612] (Legal) put
  dup [1191 842] (A3) put
	3 -1 roll 1 eq { pop } { exch pop }ifelse
	(Unknown) exch
	{ exch aload pop
		4 index eq exch 5 index eq and
		{ exch pop exit } { pop } ifelse
	} bind forall = flush cleartomark
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: "612 792 1 statusdict /setpage get exec"
*PageRegion Legal: "612 1008 1 statusdict /setpage get exec"
*PageRegion A3: "842 1191 1 statusdict /setpage get exec"
*PageRegion A4: "595 842 1 statusdict /setpage get exec"
*PageRegion Letter.Transverse: "792 612 0 statusdict /setpage get exec"
*PageRegion A4.Transverse: "842 595 0 statusdict /setpage get exec"
*CloseUI: *PageRegion

*% The following entries provide information about specific paper keywords.
*DefaultImageableArea: Letter
*ImageableArea Letter: "0 0 612 792"
*ImageableArea Legal: "0 0 612 1008"
*ImageableArea A3: "0 0 842 1190"
*ImageableArea A4: "0 0 595 842"
*ImageableArea Letter.Transverse: "0 0 612 792"
*ImageableArea A4.Transverse: "0 0 595 842"
*?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: Letter
*PaperDimension Letter: "612 792"
*PaperDimension Legal: "612 1008"
*PaperDimension A3: "842 1191"
*PaperDimension A4: "595 842"
*PaperDimension Letter.Transverse: "612 792"
*PaperDimension A4.Transverse: "595 842"

*%=== Custom Page Sizes ==================================

*% These entries provide the code and parameter ranges for a user
*% to set up a custom page size.
*CustomPageSize True: "exch pop statusdict /setpageparams get exec"
*ParamCustomPageSize Width: 1 points 1 842
*ParamCustomPageSize Height: 2 points 1 1191
*ParamCustomPageSize WidthOffset/Margins: 3 points 0 842
*ParamCustomPageSize HeightOffset: 4 points 0 0
*ParamCustomPageSize Orientation: 5 int 0 1
*CenterRegistered: False
*MaxMediaWidth: "842"
*?CurrentMediaWidth: "save statusdict /mediawidth get exec = flush restore"
*MaxMediaHeight: "1191"
*?CurrentMediaHeight: "save statusdict /medialength get exec = flush restore"

*% === Imagesetter Information ===========================
*OpenGroup: Imagesetter
*OpenUI *MirrorPrint/Mirror: Boolean
*OrderDependency: 50 AnySetup *MirrorPrint
*DefaultMirrorPrint: False
*MirrorPrint True: "statusdict /mirrorprint true put"
*MirrorPrint False: "statusdict /mirrorprint false put"
*?MirrorPrint: "
save
  statusdict /mirrorprint get {(True)}{(False)}ifelse = flush
restore
"
*End
*CloseUI: *MirrorPrint

*OpenUI *NegativePrint/Negative: Boolean
*OrderDependency: 50 AnySetup *NegativePrint
*DefaultNegativePrint: False
*NegativePrint True: "statusdict /negativeprint true put"
*NegativePrint False: "statusdict /negativeprint false put"
*?NegativePrint: "
save
  statusdict /negativeprint get {(True)}{(False)}ifelse = flush
restore
"
*End
*CloseUI: *NegativePrint
*CloseGroup: Imagesetter

*RequiresPageRegion All: True
*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 /manualfeed true put"
*ManualFeed False: "statusdict /manualfeed false put"
*?ManualFeed: "
save
 statusdict /manualfeed get {(True)}{(False)}ifelse = flush
restore
"
*End
*CloseUI: *ManualFeed

*% Font Information =====================
*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.001)" Standard Disk
*Font AvantGarde-BookOblique: Standard "(001.001)" Standard Disk
*Font AvantGarde-Demi: Standard "(001.001)" Standard Disk
*Font AvantGarde-DemiOblique: Standard "(001.001)" Standard Disk
*Font Bookman-Demi: Standard "(001.001)" Standard Disk
*Font Bookman-DemiItalic: Standard "(001.001)" Standard Disk
*Font Bookman-Light: Standard "(001.001)" Standard Disk
*Font Bookman-LightItalic: Standard "(001.001)" Standard Disk
*Font Courier: Standard "(002.002)" Standard ROM
*Font Courier-Bold: Standard "(002.002)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.002)" Standard ROM
*Font Courier-Oblique: Standard "(002.002)" 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-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.002)" Standard Disk
*Font NewCenturySchlbk-BoldItalic: Standard "(001.001)" Standard Disk
*Font NewCenturySchlbk-Italic: Standard "(001.001)" Standard Disk
*Font NewCenturySchlbk-Roman: Standard "(001.002)" Standard Disk
*Font Palatino-Bold: Standard "(001.000)" Standard Disk
*Font Palatino-BoldItalic: Standard "(001.000)" Standard Disk
*Font Palatino-Italic: Standard "(001.000)" Standard Disk
*Font Palatino-Roman: Standard "(001.000)" Standard Disk
*Font Symbol: Special "(001.003)"Standard 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.002)" Standard Disk
*Font ZapfDingbats: Special "(001.000)" Standard Disk

*?FontQuery: "
save
 /str 100 string dup 0 (fonts/) putinterval def
 {
   count 1 gt
   {
     exch dup str 6 94 getinterval cvs
     (/) print dup print (:) print exch
     FontDirectory exch known
     { pop (Yes) }
      {
        length 6 add str 0 3 -1 roll getinterval
        mark exch status
       {cleartomark (Yes)}{cleartomark (No)} ifelse
     } ifelse =
   }
   {exit} ifelse
 }bind loop
 (*) = flush
restore
"
*End

*?FontList: "
save
  FontDirectory { pop == } bind forall flush
  /filenameforall where
  {
    pop (fonts/*)
    { dup length 6 sub 6 exch getinterval cvn == } bind
    128 string filenameforall flush
  } if
  (*) = 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: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"
*Status: "PrinterError: recorder idle"
*Status: "PrinterError: recorder busy"
*Status: "PrinterError: recorder offline or film problem"
*Status: "PrinterError: recorder not responding"
*Status: "PrinterError: cassette full"
*Status: "PrinterError: recorder active"
*Status: "PrinterError: knife not in end position"
*Status: "PrinterError: cassette error"
*Status: "PrinterError: change cassette"
*Status: "PrinterError: knife error"
*Status: "PrinterError: no cassette"
*Status: "PrinterError: end of film"
*Status: "PrinterError: halt at end of job"

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

*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
*PrinterError: "recorder idle"
*PrinterError: "recorder busy"
*PrinterError: "recorder offline or film problem"
*PrinterError: "recorder not responding"
*PrinterError: "cassette full"
*PrinterError: "recorder active"
*PrinterError: "knife not in end position"
*PrinterError: "cassette error"
*PrinterError: "change cassette"
*PrinterError: "knife error"
*PrinterError: "no cassette"
*PrinterError: "end of film"
*PrinterError: "halt at end of job"

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

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

*DefaultColorSep: ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi

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

*%  For 85 lpi / 600 dpi  (5,5,2,6,6,2,20/3,0) =====================

*ColorSepScreenAngle ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "75"
*ColorSepScreenAngle ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "15"
*ColorSepScreenAngle ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "0.0"

*ColorSepScreenFreq ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "85"
*ColorSepScreenFreq CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "85"
*ColorSepScreenFreq ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "85"
*ColorSepScreenFreq ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "85"
*ColorSepScreenFreq ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "85"

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

*ColorSepScreenAngle ProcessBlack.75lpi.600dpi/75 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.75lpi.600dpi/75 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.75lpi.600dpi/75 lpi / 600 dpi: "75.5651"
*ColorSepScreenAngle ProcessMagenta.75lpi.600dpi/75 lpi / 600 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.75lpi.600dpi/75 lpi / 600 dpi: "0.0"

*ColorSepScreenFreq ProcessBlack.75lpi.600dpi/75 lpi / 600 dpi: "75"
*ColorSepScreenFreq CustomColor.75lpi.600dpi/75 lpi / 600 dpi: "75"
*ColorSepScreenFreq ProcessCyan.75lpi.600dpi/75 lpi / 600 dpi: "75"
*ColorSepScreenFreq ProcessMagenta.75lpi.600dpi/75 lpi / 600 dpi: "75"
*ColorSepScreenFreq ProcessYellow.75lpi.600dpi/75 lpi / 600 dpi: "75"

*% Produced by "bldppd41.ps" version 4.0 edit 8
*% The byte count of this file should be exactly 013724 or 014131
*% depending on the filesystem it resides in.
*% end of PPD file for Linotype
