*PPD-Adobe: "4.3"
*%================================================
*%	Copyright(C) 1997 Brother Industries, Ltd.
*%	"Brother HS-5300 series BR-Script2"
*%================================================

*%==== General Information Keywords ========================
*FormatVersion: "4.3"
*FileVersion: "0.07"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*PCFileName: "BROHS53.PPD"
*Product: "(Brother HS-5000 series)"
*PSVersion: "(2011.110) 2"
*ModelName: "Brother HS-5300 BR-Script2"
*NickName: "Brother HS-5300 BR-Script2"
*%==== Basic Device Capabilities =============
*LanguageLevel: "2"
*TTRasterizer: Type42
*Protocols: TBCP PJL
*ColorDevice: True
*DefaultColorSpace: CMYK
*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: "4"

*%==== Installable Options ===================

*OpenGroup: InstallableOptions/Options Installed

*OpenUI *InstalledMemory/Printer Memory: PickOne
*DefaultInstalledMemory: 24Meg
*InstalledMemory 24Meg/24 MB: ""
*InstalledMemory 32Meg/32 MB: ""  
*InstalledMemory 48Meg/48 MB: ""
*InstalledMemory 64Meg/64 MB: ""
*InstalledMemory 80Meg/80 MB: ""
*InstalledMemory 96Meg/96 MB: ""
*InstalledMemory 112Meg/112 MB: ""
*CloseUI: *InstalledMemory

*CloseGroup: InstallableOptions

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

*JCLOpenUI *JCLSleep1/Econo Power Save [min.]: PickOne
*DefaultJCLSleep1: PrinterDefault
*OrderDependency: 10 JCLSetup  *JCLSleep1
*JCLSleep1 PrinterDefault/Printer Default: ""
*JCLSleep1 2minutes/2: "@PJL SET ECONOPWTIME = 2<0A>"
*JCLSleep1 10minutes/10: "@PJL SET ECONOPWTIME = 10<0A>"
*JCLSleep1 30minutes/30: "@PJL SET ECONOPWTIME = 30<0A>"
*JCLCloseUI: *JCLSleep1

*JCLOpenUI *JCLSleep2/Power Save [min.]: PickOne
*DefaultJCLSleep2: PrinterDefault
*OrderDependency: 20 JCLSetup  *JCLSleep2
*JCLSleep2 PrinterDefault/Printer Default: ""
*JCLSleep2 2minutes/2: "@PJL SET TIMEOUTSLEEP = 2<0A>"
*JCLSleep2 10minutes/10: "@PJL SET TIMEOUTSLEEP = 10<0A>"
*JCLSleep2 30minutes/30: "@PJL SET TIMEOUTSLEEP = 30<0A>"
*JCLCloseUI: *JCLSleep2
*%==== Media Selection ======================

*OpenUI *PageSize: PickOne
*OrderDependency: 70 AnySetup *PageSize
*DefaultPageSize:  Letter
*PageSize Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageSize Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageSize A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageSize Envelope.297.684/Comm #10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageSize Envelope.312.624/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*PageSize Envelope.459.649/C5: "<< /PageSize [459 649] /ImagingBBox null >> setpagedevice"
*?PageSize: "/sr save def
statusdict begin
mark
[612 792](Letter)
[612 1008](Legal)
[595 842](A4)
[297 684](Envelope.297.684/Com #10)
[312 624](Envelope.312.624/DL)
[459 649](Envelope.459.649/C5)
currentpagedevice begin PageSize 
0 1 49
{	pop dup 4 -1 roll dup 0 get dup 3 -1 roll 1 get dup
	5 -1 roll dup 0 get dup 3 -1 roll 1 get dup
	1 add exch 1 sub 
	5 -1 roll le exch 5 -1 roll ge and
	5 1 roll
	1 add exch 1 sub
	4 -1 roll le exch 3 -1 roll ge and
	and
	{	pop
		1 dict begin
		/a exch def
		a = flush 
		end exit
	}
	{	exch pop
	}ifelse
}for
cleartomark end sr restore 
"
*End
*CloseUI: *PageSize

*OpenUI *PageRegion: PickOne
*OrderDependency: 80 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageRegion Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageRegion A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageRegion Envelope.297.684/Comm #10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageRegion Envelope.312.624/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*PageRegion Envelope.459.649/C5: "<< /PageSize [459 649] /ImagingBBox null >> setpagedevice"
*CloseUI: *PageRegion

*DefaultImageableArea: Letter
*ImageableArea Letter/Letter: "12.0 17.88 599.88 774.0"
*ImageableArea Legal/Legal: "12.0 17.88 599.88 990.0"
*ImageableArea A4/A4: "12.0 17.88 582.88 824.0"
*ImageableArea Envelope.297.684/Comm #10: "12.0 17.88 284.88 612.0"
*ImageableArea Envelope.312.624/DL: "12.0 17.88 299.88 552.0"
*ImageableArea Envelope.459.649/C5: "12.0 17.88 446.88 577.0"
*?ImageableArea: "
/sr save def
/pr
{{ceiling exch ceiling}
 {floor exch floor}ifelse
 psub psub
}def
/psub {cvi =string cvs print ( ) print} def
initgraphics clippath pathbbox
4 2 roll true pr false pr flush
sr restore
"
*End

*%==== Information About Media Sizes ========

*DefaultPaperDimension: Letter
*PaperDimension Letter/Letter: "612 792"
*PaperDimension Legal/Legal: "612 1008"
*PaperDimension A4/A4: "595 842"
*PaperDimension Envelope.297.684/Comm #10: "297 684"
*PaperDimension Envelope.312.624/DL: "312 624"
*PaperDimension Envelope.459.649/C5: "459 649"
*End
*MaxMediaWidth: "612"
*HWMargins: 18 18 18 18

*%==== Custom Page SIzes ====================

*CustomPageSize True: "
      pop
      pop
      pop
     3 dict begin
     /DeferredMediaSelection true def
     2 array astore /PageSize exch def
     /ImagingBBox null def
     currentdict end setpagedevice
"
*End
*ParamCustomPageSize Width: 1 points 198 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

*%==== 5.13 Media Handling Features ============================
*OpenUI *BRMediaType/Media Type: PickOne
*OrderDependency: 90 AnySetup *BRMediaType
*DefaultBRMediaType: Plain
*BRMediaType Recommended/Recommended Paper: "
currentpagedevice /InputAttributes get 0 get
begin /MediaType(Regular)store end
currentpagedevice /InputAttributes get 1 known{
 currentpagedevice /InputAttributes get 1 get
 begin /MediaType(Regular)store end
}if
"
*End
*BRMediaType Plain/Plain Paper: "
currentpagedevice /InputAttributes get 0 get
begin /MediaType(Other)store end
currentpagedevice /InputAttributes get 1 known{
 currentpagedevice /InputAttributes get 1 get
 begin /MediaType(Other)store end
}if
"
*End
*BRMediaType Thick/Thick Paper: "
currentpagedevice /InputAttributes get 0 get
begin /MediaType(Thick)store end
currentpagedevice /InputAttributes get 1 known{
 currentpagedevice /InputAttributes get 1 get
 begin /MediaType(Thick)store end
}if
"
*End
*BRMediaType Transparency/Transparency: "
currentpagedevice /InputAttributes get 0 get
begin /MediaType(Transparency)store end
currentpagedevice /InputAttributes get 1 known{
 currentpagedevice /InputAttributes get 1 get
 begin /MediaType(Transparency)store end
}if
"
*End
*?BRMediaType: "save (Unknown) = flush restore"
*End
*CloseUI: *BRMediaType

*OpenUI *InputSlot: PickOne
*OrderDependency: 50 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*InputSlot AutoSelect/Auto: "<</BRTraysw true >> setpagedevice"
*InputSlot Upper/Feeder1: "<</BRTraysw false /BRFeeder 0>> setpagedevice"
*InputSlot Lower/Feeder2: "<</BRTraysw false /BRFeeder 1>> setpagedevice"
*?InputSlot: "
	(Unknown) = flush
"
*End
*CloseUI: *InputSlot

*RequiresPageRegion All:True

*DefaultOutputBin: OnlyOne

*OpenUI *ManualFeed: Boolean
*OrderDependency: 60 AnySetup *ManualFeed
*DefaultManualFeed: False
*ManualFeed True:  "
<</ManualFeed true>> setpagedevice
"
*End
*ManualFeed False: "
<</ManualFeed false>> setpagedevice
"
*End
*?ManualFeed: "save
   currentpagedevice /ManualFeed get
  {(True)}{(False)}ifelse = flush 
restore"
*End
*CloseUI: *ManualFeed


*%==== 5.17 Gray Levels and Halftoninig ========================
*AccurateScreenSupport: False
*ScreenFreq:  "60.0"
*ScreenAngle: "0.0"
*DefaultScreenProc: Dot
*ScreenProc Dot: "{1.0 add 180 mul 1 add sin 0.001 add exch 1.0 add 180 mul 2 add sin mul}"

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

*%==== 5.18 Color Issues =======================================
*% BlackSubstitution -> Original UI

*%==== 5.19 Color Separation Keywords ==========================
*DefaultColorSep: ProcessBlack
*ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
*ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
*ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
*ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
*ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "66.6667"
*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"
*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"
*ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "0.0"
*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"
*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"
*End

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


*%==== 5.20 Font Related Keywords ==============================
*DefaultFont: Courier
*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 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 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 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 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 ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Special ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Alaska: Standard "(001.005)" Standard ROM
*Font AlaskaExtrabold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Bold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Oblique: Standard "(001.005)" Standard ROM
*Font ClevelandCondensed: Standard "(001.005)" Standard ROM
*Font Connecticut: Standard "(001.005)" Standard ROM
*Font Guatemala-Antique: Standard "(001.005)" Standard ROM
*Font Guatemala-Bold: Standard "(001.005)" Standard ROM
*Font Guatemala-Italic: Standard "(001.005)" Standard ROM
*Font Guatemala-BoldItalic: Standard "(001.005)" Standard ROM
*Font LetterGothic: Standard "(001.005)" Standard ROM
*Font LetterGothic-Bold: Standard "(001.005)" Standard ROM
*Font LetterGothic-Oblique: Standard "(001.005)" Standard ROM
*Font Maryland: Standard "(001.005)" Standard ROM
*Font Oklahoma: Standard "(001.005)" Standard ROM
*Font Oklahoma-Bold: Standard "(001.005)" Standard ROM
*Font Oklahoma-Oblique: Standard "(001.005)" Standard ROM
*Font Oklahoma-BoldOblique: Standard "(001.005)" Standard ROM
*Font Utah: Standard "(001.005)" Standard ROM
*Font Utah-Bold: Standard "(001.005)" Standard ROM
*Font Utah-Oblique: Standard "(001.005)" Standard ROM
*Font Utah-BoldOblique: Standard "(001.005)" Standard ROM
*Font UtahCondensed: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Bold: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Oblique: Standard "(001.004)" Standard ROM
*Font UtahCondensed-BoldOblique: Standard "(001.005)" Standard ROM
*Font BermudaScript: Standard "(001.005)" Standard ROM
*Font Germany: Standard "(001.005)" Standard ROM
*Font SanDiego: Standard "(001.005)" Standard ROM
*Font US-Roman: Standard "(001.005)" Standard ROM
*?FontQuery: "
save
count 1 gt
  {exch dup dup
   =string cvs (/) print print (:) print
   FontDirectory exch known
     {pop(Yes)}
     {(fonts/)AppendName exch pop mark exch
      {}=string filenameforall counttomark
      0 gt
        {cleartomark(Yes)}
        {cleartomark(No)}ifelse
     }ifelse
   =
  }if
  (*) = flush
restore
"
*End
*?FontList: "
save
  FontDirectory{pop ==}forall
  (fonts/*)
  {dup length 6 sub 6 exch getinterval cvn ==
  }=string filenameforall
  (*) = flush
restore
"
*End


*%==== 5.21 Printer Messages ===================================
*% 
*% Printer Message 
*%
*PrinterError: "service call"
*PrinterError: "cover open"
*PrinterError: "end of ink"
*PrinterError: "out of maintenance paper"
*PrinterError: "out of paper"
*PrinterError: "paper jam"
*PrinterError: "manual feed time out"
*PrinterError: "load paper letter size"
*PrinterError: "load paper legal size"
*PrinterError: "load paper B5 size"
*PrinterError: "load paper A4 size"
*PrinterError: "offline"

*Status: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"
*Status: "PrinterError: service call"
*Status: "PrinterError: cover open"
*Status: "PrinterError: end of ink"
*Status: "PrinterError: out of paper"
*Status: "PrinterError: paper jam"
*Status: "PrinterError: manual feed time out"
*Status: "PrinterError: load paper letter size"
*Status: "PrinterError: load paper legal size"
*Status: "PrinterError: load paper B5 size"
*Status: "PrinterError: load paper A4 size"
*Status: "PrinterError: offline"

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

*Message: "%%[ exitserver: permanent state may be changed ]%%"
*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
*Message: "\FontName\ not found, using BR-03B."
*%==== 5.22 System Management ==================================
*FreeVM: "2700000"
*VMOption 24Meg/24 MB: "2700000"
*VMOption 32Meg/32 MB: "3500000"
*VMOption 48Meg/48 MB: "6000000"
*VMOption 64Meg/64 MB: "10000000"
*VMOption 80Meg/80 MB: "16000000"
*VMOption 96Meg/96 MB: "20000000"
*VMOption 112Meg/112 MB: "24000000"
*Password: "0"
*ExitServer: "
	serverdict begin 0 exitserver
"
*End
*Reset: "
	clear cleardictstack
	serverdict begin 0 exitserver
	systemdict /quit get exec
 "
*End

*%==== BR-Script Original UI  ==================================

*OpenUI *BRProcessColor/Color/Mono: PickOne 
*OrderDependency: 40 AnySetup *BRProcessColor
*DefaultBRProcessColor: Color
*BRProcessColor Color/Color: "<</BRProcessColor 3>>setpagedevice"
*BRProcessColor Black/Mono: "<</BRProcessColor 1>>setpagedevice"
*?BRProcessColor: "
	save
	currentpagedevice /BRProcessColor get 1 eq 
	{(Black)}{(Color)}ifelse
	= flush
	restore
"
*End
*CloseUI: *BRProcessColor

*OpenUI *ColorAdjust/Color Matching: PickOne
*OrderDependency: 110 DocumentSetup *ColorAdjust
*DefaultColorAdjust: VIVID
*ColorAdjust NONE/Off: "
%ColorAdjust NONE
<<
/EndPage
[ currentpagedevice /EndPage get aload pop 0 /setgray cvx ] cvx bind
/BRLut 0
>> setpagedevice
"
*End
*ColorAdjust VIVID/Graph/Text(Vivid): "
%ColorAdjust VIVID
<<
/EndPage
[ currentpagedevice /EndPage get aload pop 0 /setgray cvx ] cvx bind
/BRLut 1
>> setpagedevice
"
*End
*ColorAdjust PHOTO/Photo(Match Monitor): "
userdict begin
<<
/EndPage
[ currentpagedevice /EndPage get aload pop 0 /setgray cvx ] cvx bind
/BRLut 2
>> setpagedevice

/bd{
bind def
} bind def

/ld{load def}bd

%/DefaultColorRendering /ColorRendering findresource setcolorrendering

/HS1PS2DispCMMSpace
[/CIEBasedABC 3 dict begin
	/DecodeLMN [ {1.8 exp}bind dup dup ] def
	/MatrixLMN [
	0.3870 0.2074 0.0125
	0.3251 0.6806 0.0838
	0.2521 0.112 0.7286
	] def
	/WhitePoint [0.9642 1 0.8249] def
	currentdict end
 ] def

 /$c HS1PS2DispCMMSpace def

 /setrgbcolor { currentcolorspace 0 get /CIEBasedABC eq 
		{}
		{HS1PS2DispCMMSpace setcolorspace} ifelse
	setcolor
} bd 

/minimumINK {
	2 copy gt { exch pop } { pop } ifelse
} bd

/$$$___setcmykcolor { 
	/hs1ps2K exch def /hs1ps2Y exch def /hs1ps2M exch def /hs1ps2C exch def
	currentcolorspace 0 get /CIEBasedABC eq 
		{}
		{HS1PS2DispCMMSpace setcolorspace} ifelse 
	1 1 hs1ps2K hs1ps2C add minimumINK sub
	1 1 hs1ps2K hs1ps2M add minimumINK sub
	1 1 hs1ps2K hs1ps2Y add minimumINK sub setcolor
} bd

/currentrgbcolor
{
	currentcolorspace $c eq
	{ currentcolor }
	{ systemdict /currentrgbcolor get exec } ifelse
}
bd

/$$$___currentcmykcolor
{
	currentcolorspace $c eq {
		currentcolor
		1 sub neg 3 1 roll
		1 sub neg 3 1 roll
		1 sub neg 3 1 roll
		3 copy add add 3 eq { 1 } { 0 } ifelse
	}{
		systemdict /currentcmykcolor get exec
	} ifelse
} bd

/sethsbcolor{
	/DeviceRGB setcolorspace systemdict /sethsbcolor get exec
} bd

/currenthsbcolor{
	currentcolorspace 0 get /CIEBasedABC eq {
		currentcolor systemdict /setrgbcolor get exec
		systemdict /currenthsbcolor get exec
	}{
		systemdict /currenthsbcolor get exec
	} ifelse
}bd

/colorimage {
	dup 3 eq{
		save
		/hs1ps2imagedict 12 dict def
		hs1ps2imagedict begin
			/save exch def
			/ImageType 1 def
			/nComp exch def
			/MultipleDataSources 1 index def
				{ nComp array astore } if
			/DataSource exch def
			/ImageMatrix exch def
			/BitsPerComponent exch def
			/Height exch def
			/Width exch def
			/Decode [ 0 1 0 1 0 1 ] def
			/Interpolate false def
		end
		currentcolorspace 0 get /CIEBasedABC eq 
			{}
			{HS1PS2DispCMMSpace setcolorspace} ifelse
		hs1ps2imagedict systemdict /image get exec
		hs1ps2imagedict /save get
		restore
	}
	{
		dup 999 eq 
		2 index {8}{5}ifelse index 8 eq and
		{	% cmyk
			pop
			save
			/hs1ps2imagedict 19 dict def
			hs1ps2imagedict begin
				/save exch def
				/ImageType 1 def
				/nComp 3 def
				/MultipleOriginalDataSources 1 index def
				{
					dup type /arraytype eq
					{
						/MultipleDataSources true def
						/DataSource
						[
							{
								hs1ps2imagedict begin
									DataOriginalSource 0 get exec
										/DataR	exch def
									DataOriginalSource 1 get exec
										/DataG	exch def
									DataOriginalSource 2 get exec
										/DataB	exch def
									DataOriginalSource 3 get exec
									dup length 1 sub 
									[ DataR DataG DataB ] 
									{
										0 1 3 index 
										{
											1 index 1 index get
											4 index 2 index get
											add	255	exch sub dup 0 lt 
												{pop 0} if
											2 index 3 1 roll put
										}for
										pop
									} forall
									pop pop
									DataR
								end
							} bind 
							{
								hs1ps2imagedict /DataG get
							}
							{
								hs1ps2imagedict /DataB get
							}
						] bind def
					}
					{
						dup type /stringtype eq 
						{
							4 { 0 () /SubFileDecode filter 4 1 roll } repeat
						}if
						/MultipleDataSources false def
						/DataRetBuf 3 string def
						/DataSource
						{
							hs1ps2imagedict /DataOriginalSource get
							dup 0 get read not {0} if
							exch dup 1 get read not {0} if
							exch dup 2 get read not {0} if
							exch 3 get read not {0} if
							4 1 roll	% k c m y
							3 { 3 index add 255 exch sub dup 0 lt 
								{pop 0} if 3 1 roll } repeat
							hs1ps2imagedict /DataRetBuf get
							dup 2 4 -1 roll put
							dup 1 4 -1 roll put
							dup 0 4 -1 roll put
							exch pop
						} bind def
					}ifelse
					4 array astore 
				}
				{
					dup type /arraytype eq
					{
						/MultipleDataSources false def
						/DataSource
						{
							hs1ps2imagedict /DataOriginalSource get exec
							dup length 1 sub
							0 4 3 -1 roll
							{
								1 index 1 index get	%() i c
								2 index 2 index 3 add get	%() i c k

								pstack

								add	255	exch sub dup 0 lt 
									{pop 0} if				%() i r
								2 index 2 index 4 idiv 3 mul
								3 -1 roll put %() i r () i

								1 index 1 index 1 add get			%() i m
								2 index 2 index 3 add get	%() i m k
								add	255	exch sub dup 0 lt 
									{pop 0} if				%() i g
								2 index 2 index 4 idiv 3 mul 1 add
								3 -1 roll put %() i g () i

								1 index 1 index 2 add get			%() i y
								2 index 2 index 3 add get	%() i y k
								add	255	exch sub dup 0 lt 
									{pop 0} if				%() i b
								exch 4 idiv 3 mul 2 add exch 2 index
								3 1 roll put	%() b i ()
							}for
							dup length 4 idiv 3 mul 0 exch getinterval
						} bind def
					}
					{
						dup type /stringtype eq 
						{
							0 () /SubFileDecode filter
						}if
						/MultipleDataSources false def
						/DataRetBuf 3 string def
						/DataSource
						{
							hs1ps2imagedict /DataOriginalSource get
							dup read not {0} if
							exch dup read not {0} if
							exch dup read not {0} if
							exch read not {0} if
							4 1 roll	% k c m y
							3 { 3 index add 255 exch sub dup 0 lt 
								{pop 0} if 3 1 roll } repeat
							hs1ps2imagedict /DataRetBuf get
							dup 2 4 -1 roll put
							dup 1 4 -1 roll put
							dup 0 4 -1 roll put
							exch pop
						} bind def
					}ifelse
				}ifelse
				/DataOriginalSource exch def
				/ImageMatrix exch def
				/BitsPerComponent exch def
				/Height exch def
				/Width exch def
				/Decode [ 0 1 0 1 0 1 ] def
				/Interpolate false def
			end
			currentcolorspace 0 get /CIEBasedABC eq 
				{}
				{HS1PS2DispCMMSpace setcolorspace} ifelse
			hs1ps2imagedict systemdict /image get exec
			hs1ps2imagedict /save get
			restore
		}
		{
			systemdict /colorimage get exec
		} ifelse
	} ifelse
}bd

/image { 
	dup type /dicttype eq {
		dup /Decode get length 2 idiv dup  3 eq {
			pop
			currentcolorspace 0 get /CIEBasedABC eq 
				{}
				{HS1PS2DispCMMSpace setcolorspace} ifelse
			systemdict /image get exec
		} 
		{
			999 eq {
				currentcolorspace 0 get /CIEBasedABC eq 
				{}
				{HS1PS2DispCMMSpace setcolorspace} ifelse
				dup /Width get exch
				dup /Height get exch
				dup /BitsPerComponent get exch
				dup /ImageMatrix get exch
				dup /DataSource get exch
				/MultipleDataSources get
				{
					aload pop
					true
				}
				{
					false
				}ifelse
				4
				colorimage
			}
			{
				systemdict /image get exec
			}ifelse
		}ifelse
	}
	{
		systemdict /image get exec
	}ifelse
} bd
end
"
*End
*?ColorAdjust: ""
*End
*CloseUI: *ColorAdjust

*OpenUI *ScreenLock/Halftone Screen Lock: Boolean
*OrderDependency: 100 AnySetup *ScreenLock
*DefaultScreenLock: True
*ScreenLock True/On: "
<</BRScreenLock true >> setpagedevice
"
*End
*ScreenLock False/Off: "
<</BRScreenLock false >> setpagedevice
"
*End
*?ScreenLock: "
	save currentpagedevice /BRScreenLock get
	{(True)}{(False)} ifelse
	= flush
	restore
"
*End
*CloseUI: *ScreenLock

*OpenUI *Enhancement/Enhancement: Boolean
*OrderDependency: 120 AnySetup *Enhancement
*DefaultEnhancement: False
*Enhancement True/On: "
currentpagedevice /InputAttributes get 0 get /MediaType get(Transparency)eq{
 <</BRPrintQuality 0>>setpagedevice
}
{
 currentpagedevice /HWResolution get 0 get cvi 300 eq{
  <</BRPrintQuality 5 >> setpagedevice
 }
 {
  <</BRPrintQuality 2 >> setpagedevice
 }ifelse
}ifelse
"
*End
*Enhancement False/Off: "
currentpagedevice /InputAttributes get 0 get /MediaType get(Transparency)eq{
 <</BRPrintQuality 2>>setpagedevice
}
{
 <</BRPrintQuality 0 >> setpagedevice
}ifelse
"
*End
*?Enhancement: "save (Unknown) = flush restore"
*CloseUI: *Enhancement

*%==== 5.14 Finishing Features =================================
*OpenUI *Resolution: PickOne
*OrderDependency: 30 AnySetup *Resolution
*DefaultResolution: 300dpi
*Resolution 300dpi: "<</HWResolution [300 300] >> setpagedevice"
*Resolution 600dpi: "<</HWResolution [600 600] >> setpagedevice"
*?Resolution: "
/sr save def
	initgraphics
	matrix defaultmatrix 0 get 72 mul round cvi 
	=string cvs print (dpi)= flush
sr restore
"
*End
*CloseUI: *Resolution