Print via Brother BR-Script3 PostScript instead of the vendor driver

The HL-4150CDN emulates PostScript 3, so CUPS converts client documents to PostScript and forwards them to socket://<ip>:9100. The official BR-Script3 PPD turns device options (tray, duplex, colour, media type, toner save, ...) into setpagedevice instructions. This drops the i386 multiarch runtime and the broken Brother vendor filter chain, and removes the unused Brother Linux packages from the repo.
This commit is contained in:
juergen committed 2026-10-18 16:54:33 +02:00
1 parent 6f3162849b
commit 30c685e085
22 files changed
+1070 -273

No files matched your search

BIN
View File
Binary file not shown.
Binary file not shown.
@@ -1,38 +0,0 @@
1. Login as a superuser ( or use "sudo" option if it is required )
2. Install LPR driver and cupswrapper driver
Turn on the printer and connect the USB cable.
Open the terminal and go to the directory where the drivers are.
Install LPR driver.The install process may take some time. Please wait until it is complete.
Command (for dpkg) : dpkg -i --force-all (lpr-drivername)
Install cupswrapper driver.The install process may take some time. Please wait until it is complete.
Command (for dpkg) : dpkg -i --force-all (cupswrapper-drivername)
Check if the LPR driver and cupswrapper driver are installed
Command (for dpkg) : dpkg -l | grep Brother
3. Depending on the connection type you are using (USB or Network), follow one of the steps below.
(for USB Connection)
Open a web browser and go to "http://localhost:631/printers".
Check if the Device URI of your printer is "usb://Brother/(your printer's model name)"
If the device URI is different from the example above, please go to "Modify Printer" of your printer to select proper device and driver.
If your printer is not listed on "http://localhost:631/printers", please go to "http://localhost:631/admin" and click "Add printer" and select proper device and driver.
(for Network Connection)
Open a web browser and go to "http://localhost:631/printers".
Click "Modify Printer" and set following parameters.
- "LPD/LPR Host or Printer" or "AppSocket/HP JetDirect" for Device
- lpd://(Your printer's IP address)/binary_p1 for Device URI
- Brother for Make/Manufacturer Selection
- Your printer's name for Model/Driver Selection
4. Try a test print
Open a text editor, write something and select "print" from the menu.
Binary file not shown.
@@ -1,20 +0,0 @@
# Step 1. Enter this command to extract the downloaded file:
Command: `gunzip linux-brprinter-installer-*.*.*-*.gz`
e.g. `gunzip linux-brprinter-installer-2.2.6-0.gz`
# Step 2. Get superuser authorization with the "su" command or "sudo su" command.
# Step 3. Run the tool:
Command: `bash linux-brprinter-installer-*.*.*-* Brother machine name`
e.g. `bash linux-brprinter-installer-2.1.1-1 HL-4150CDN`
# Step 4. The driver installation will start. Follow the installation screen directions.
When you see the message "Will you specify the DeviceURI ?",
For USB Users: Choose N(No)
For Network Users: Choose Y(Yes) and DeviceURI number.
The install process may take some time. Please wait until it is complete.
@@ -1,38 +0,0 @@
1. Login as a superuser ( or use "sudo" option if required).
2. Install the driver.
Turn on the printer and connect the usb, network or parallel cable.
Go to the directory where the driver is.
Install LPR driver.The install process may take some time. Please wait until it is complete.
Command : dpkg -i --force-all (lpr-drivername)
Check if the LPR driver is installed.
Command : dpkg -l | grep Brother
3. Confirm/Configure a file according to your connection.
Check the configuration filename for your distribution.
Example:
openSUSE, Ubuntu, Debian : /etc/printcap
Redhat, fedora, Mandriva : /etc/printcap.local
Edit the file according to your connection.
For USB Connection (Default)
Check if the parameter of ":lp" is ":lp=/dev/usb/lp0"
For Network Connection
replace ":lp" line to the following 2 lines
:rm=(ip address of your printer)\
:rp=lp\
For Parallel Connection
replace ":lp" line to the following line
:lp=/dev/lp0\
Restart the print system.
Command (for lpr): /etc/init.d/lpr restart
Command (for lprng) : /etc/init.d/lprng restart
4. Try a test print.
+680
View File
@@ -0,0 +1,680 @@
*PPD-Adobe: "4.3"
*%================================================
*% Copyright(C) 2010 Brother Industries, Ltd.
*% "Brother HL-4150CDN BR-Script3"
*%================================================
*%==== General Information Keywords ========================
*FormatVersion: "4.3"
*FileVersion: "1.01"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*Manufacturer: "Brother"
*PCFileName: "BR4150_2.PPD"
*Product: "(Brother HL-4150CDN)"
*PSVersion: "(3010.106) 3"
*ShortNickName: "Brother HL-4150CDN BR-Script3"
*ModelName: "Brother HL-4150CDN BR-Script3"
*NickName: "Brother HL-4150CDN BR-Script3"
*%==== Basic Device Capabilities =============
*LanguageLevel: "3"
*TTRasterizer: Type42
*ColorDevice: True
*DefaultColorSpace: CMYK
*FileSystem: True
*?FileSystem:"
save
/devname (%disk0%) def
/ret false def
0 1 7{
devname exch 48 add 5 exch put
devname devstatus {
0 ne {/ret true def}if
pop pop pop pop pop pop pop
}if
}for
ret {(True)}{(False)} ifelse = flush
restore
"
*End
*Throughput: "20"
*FreeVM: "2700000"
*%==== Emulations and Protocols ==========
*Protocols: PJL TBCP
*SuggestedJobTimeout: "0"
*SuggestedWaitTimeout: "300"
*PrintPSErrors: True
*%==== PostScript Patches ==========
*%*JobPatchFile 1: "statusdict/setusbbinary known{statusdict begin true setusbbinary end}if"
*%==== JCL Features ==========================
*JCLBegin: "<1B>%-12345X@PJL JOB<0A>"
*JCLToPSInterpreter: "@PJL ENTER LANGUAGE = POSTSCRIPT <0A>"
*JCLEnd: "<1B>%-12345X@PJL EOJ <0A><1B>%-12345X"
*%==== Installable Options ===================
*OpenGroup: InstallableOptions/Options Installed
*OpenUI *OptionTrays/Number of Input Trays: PickOne
*DefaultOptionTrays: 2Trays
*OptionTrays 1Trays/ 1: ""
*OptionTrays 2Trays/ 2: ""
*?OptionTrays:"
save
<</BRFeeder 1>>setpagedevice currentpagedevice/BRFeeder get
1 eq{(2Trays)}{(1Trays)}ifelse
= flush
restore
"
*End
*CloseUI: *OptionTrays
*CloseGroup: InstallableOptions
*UIConstraints: *OptionTrays 1Trays *InputSlot Tray2
*UIConstraints: *InputSlot Tray2 *OptionTrays 1Trays
*%==== Media Selection ======================
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: A4
*PageSize Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageSize Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageSize Executive/Executive: "<< /PageSize [522 756] /ImagingBBox null >> setpagedevice"
*PageSize A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageSize A5/A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice"
*PageSize A5L/A5 Long Edge: "<< /PageSize [595 419] /ImagingBBox null >> setpagedevice"
*PageSize A6/A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice"
*PageSize Env10/Com-10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageSize EnvMonarch/Monarch: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*PageSize EnvDL/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*PageSize EnvDLRotated/DL Long Edge: "<< /PageSize [624 312] /ImagingBBox null >> setpagedevice"
*PageSize EnvC5/C5: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*PageSize EnvISOB5/B5 : "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice"
*PageSize EnvISOB6/B6 : "<< /PageSize [354 499] /ImagingBBox null >> setpagedevice"
*PageSize B5/JIS B5: "<< /PageSize [515.0 727.0] /ImagingBBox null >> setpagedevice"
*PageSize B6/JIS B6: "<< /PageSize [363.0 515.0] /ImagingBBox null >> setpagedevice"
*PageSize 3x5/3x5: "<< /PageSize [216 360] /ImagingBBox null >> setpagedevice"
*PageSize FanFoldGermanLegal/Folio: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice"
*CloseUI: *PageSize
*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: A4
*PageRegion Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageRegion Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageRegion Executive/Executive: "<< /PageSize [522 756] /ImagingBBox null >> setpagedevice"
*PageRegion A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageRegion A5/A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice"
*PageRegion A5L/A5 Long Edge: "<< /PageSize [595 419] /ImagingBBox null >> setpagedevice"
*PageRegion A6/A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice"
*PageRegion Env10/Com-10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageRegion EnvMonarch/Monarch: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*PageRegion EnvDL/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*PageRegion EnvDLRotated/DL Long Edge: "<< /PageSize [624 312] /ImagingBBox null >> setpagedevice"
*PageRegion EnvC5/C5: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*PageRegion EnvISOB5/B5 : "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice"
*PageRegion EnvISOB6/B6 : "<< /PageSize [354 499] /ImagingBBox null >> setpagedevice"
*PageRegion B5/JIS B5: "<< /PageSize [515.0 727.0] /ImagingBBox null >> setpagedevice"
*PageRegion B6/JIS B6: "<< /PageSize [363.0 515.0] /ImagingBBox null >> setpagedevice"
*PageRegion 3x5/3x5: "<< /PageSize [216 360] /ImagingBBox null >> setpagedevice"
*PageRegion FanFoldGermanLegal/Folio: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice"
*CloseUI: *PageRegion
*DefaultImageableArea: A4
*ImageableArea Letter/Letter: "12.0 12.12 599.88 780.0"
*ImageableArea Legal/Legal: "12.0 12.12 599.88 996.0"
*ImageableArea Executive/Executive: "11.99 12.12 510.0 744.0"
*ImageableArea A4/A4: "12.0 12.24 583.08 829.92"
*ImageableArea A5/A5: "12.0 11.88 407.4 582.96"
*ImageableArea A5L/A5 Long Edge: "12.0 11.88 407.4 582.96"
*ImageableArea A6/A6: "12.0 12.6 285.48 408.0"
*ImageableArea Env10/Com-10: "12.0 12.12 284.88 672.0"
*ImageableArea EnvMonarch/Monarch: "12.0 12.12 266.76 528.0"
*ImageableArea EnvDL/DL: "12.0 12.24 299.88 612.0"
*ImageableArea EnvDLRotated/DL Long Edge: "17.76 12.12 606.24 300.0"
*ImageableArea EnvC5/C5: "12.0 12.24 446.76 636.96"
*ImageableArea EnvISOB5/B5 : "12.0 12.48 486.72 696.96"
*ImageableArea EnvISOB6/B6 : "12.0 12.24 342.12 486.96"
*ImageableArea B5/JIS B5: "12.0 12.48 502.92 714.96"
*ImageableArea B6/JIS B6: "12.0 12.00 350.88 503.00"
*ImageableArea 3x5/3x5: "12.0 12.12 204.00 348.00"
*ImageableArea FanFoldGermanLegal/Folio: "12.0 12.12 599.88 924.0"
*%==== Information About Media Sizes ========
*DefaultPaperDimension: A4
*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 A5L/A5 Long Edge: "420 595"
*PaperDimension A6/A6: "297 420"
*PaperDimension Env10/Com-10: "297 684"
*PaperDimension EnvMonarch/Monarch: "279 540"
*PaperDimension EnvDL/DL: "312 624"
*PaperDimension EnvDLRotated/DL Long Edge: "624 312"
*PaperDimension EnvC5/C5: "459 649"
*PaperDimension EnvISOB5/B5 : "499 709"
*PaperDimension EnvISOB6/B6 : "354 499"
*PaperDimension B5/JIS B5: "516 729"
*PaperDimension B6/JIS B6: "363 516"
*PaperDimension 3x5/3x5: "216 360"
*PaperDimension FanFoldGermanLegal/Folio: "612 936"
*%==== Custom Page Sizes ====================
*NonUIOrderDependency: 40 AnySetup *CustomPageSize
*VariablePaperSize: True
*LeadingEdge Short: ""
*LeadingEdge Long: ""
*DefaultLeadingEdge: Short
*MaxMediaWidth: "612"
*MaxMediaHeight: "1152"
*HWMargins: 13 13 13 13
*CustomPageSize True: "
<</BRCustomPageSize true>> setpagedevice
exch pop exch pop 0 eq{exch}if
<< /PageSize [ 5 -2 roll ] /ImagingBBox null >>
setpagedevice
"
*End
*ParamCustomPageSize Width: 1 points 198 612
*ParamCustomPageSize Height: 2 points 328 1152
*ParamCustomPageSize WidthOffset: 3 points 0 0
*ParamCustomPageSize HeightOffset: 4 points 0 0
*ParamCustomPageSize Orientation: 5 int 0 1
*%==== 5.12 Finishing Features =================================
*%%%%% Resolution and Appearance Control %%%%%
*DefaultResolution: 600dpi
*OpenUI *CAPT/Print Quality:PickOne
*OrderDependency: 10 AnySetup *CAPT
*DefaultCAPT: Fine
*CAPT Fine/Normal (600 x 600 dpi): "<</BRApt 0 /HWResolution [600 600]>> setpagedevice"
*CAPT SuperFine/Fine (2400 dpi class): "<</BRApt 2 /HWResolution [600 600]>> setpagedevice"
*?CAPT: "
currentpagedevice /BRApt get 2 eq
{(SuperFine)}
{
currentpagedevice/HWResolution get 0 get 600 eq{(Fine)}{(Draft)}ifelse
}ifelse = flush
"
*End
*CloseUI: *CAPT
*%==== 5.13 Media Handling Features ============================
*OpenUI *BRMediaType/Media Type: PickOne
*OrderDependency: 28 AnySetup *BRMediaType
*DefaultBRMediaType:Plain
*BRMediaType Plain/Plain Paper: "<</MediaType (REGULAR)>>setpagedevice"
*BRMediaType Thin/Thin Paper: "<</MediaType (THIN)>>setpagedevice"
*BRMediaType Thick/Thick Paper: "<</MediaType (THICK)>>setpagedevice"
*BRMediaType ThickPaper2/Thicker Paper: "<</MediaType (THICK2)>>setpagedevice"
*BRMediaType BOND/Bond Paper: "<</MediaType (BOND)>>setpagedevice"
*BRMediaType Env/Envelopes: "<</MediaType (ENVELOPES)>>setpagedevice"
*BRMediaType EnvThick/Env. Thick: "<</MediaType (ENVTHICK)>>setpagedevice"
*BRMediaType EnvThin/Env. Thin: "<</MediaType (ENVTHIN)>>setpagedevice"
*BRMediaType Recycled/Recycled Paper: "<</MediaType (RECYCLED)>>setpagedevice"
*BRMediaType Label/Label: "<</MediaType (LABEL)>>setpagedevice"
*BRMediaType Glossy/Glossy Paper: "<</MediaType (GLOSSY)>>setpagedevice"
*CloseUI: *BRMediaType
*OpenUI *InputSlot: PickOne
*OrderDependency: 29 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*InputSlot AutoSelect/Auto Select: "<</ManualFeed false /BRTraysw true >> setpagedevice"
*InputSlot Tray1/Tray1: "<</ManualFeed false /BRTraysw false /BRFeeder 0>> setpagedevice"
*InputSlot Tray2/Tray2: "<</ManualFeed false /BRTraysw false /BRFeeder 1>> setpagedevice"
*InputSlot MPTray/MP Tray: "<</ManualFeed false /BRTraysw false /BRFeeder 4>> setpagedevice"
*CloseUI: *InputSlot
*RequiresPageRegion All:True
*OpenUI *ManualFeed/Manual Feed: Boolean
*OrderDependency: 19 AnySetup *ManualFeed
*DefaultManualFeed: False
*ManualFeed True: "<</ManualFeed true>> setpagedevice"
*ManualFeed False: "<</ManualFeed false>> setpagedevice"
*CloseUI: *ManualFeed
*%=== Duplex ================================
*OpenUI *Duplex: PickOne
*OrderDependency: 25 AnySetup *Duplex
*DefaultDuplex: None
*Duplex DuplexTumble: "<</Duplex true /Tumble true>>setpagedevice"
*Duplex DuplexNoTumble: "<</Duplex true /Tumble false>>setpagedevice"
*Duplex None: "<</Duplex false /Tumble false>>setpagedevice"
*CloseUI: *Duplex
*%=== Output Bin =============================
*DefaultOutputBin: OnlyOne
*% === Collate ==========
*%=== JobHold ================================
*OpenUI *BRJobHold/Secure Print: PickOne
*OrderDependency: 21 AnySetup *BRJobHold
*DefaultBRJobHold: None
*BRJobHold None/Off: "<</BRHold 0>>setpagedevice"
*BRJobHold Private/On: "<</BRHold 2 /BRHoldType 1>>setpagedevice"
*CloseUI: *BRJobHold
*OpenUI *BRJobPIN/Password: PickOne
*OrderDependency: 22 AnySetup *BRJobPIN
*DefaultBRJobPIN: HoldKey0
*BRJobPIN HoldKey0/0000: "<</BRHoldKey 0>> setpagedevice"
*BRJobPIN HoldKey1/1002: "<</BRHoldKey 1002>> setpagedevice"
*BRJobPIN HoldKey2/2833: "<</BRHoldKey 2833>> setpagedevice"
*BRJobPIN HoldKey3/3410: "<</BRHoldKey 3410>> setpagedevice"
*BRJobPIN HoldKey4/4791: "<</BRHoldKey 4791>> setpagedevice"
*BRJobPIN HoldKey5/0052: "<</BRHoldKey 0052>> setpagedevice"
*BRJobPIN HoldKey6/9612: "<</BRHoldKey 9612>> setpagedevice"
*BRJobPIN HoldKey7/0438: "<</BRHoldKey 0438>> setpagedevice"
*BRJobPIN HoldKey8/7328: "<</BRHoldKey 7328>> setpagedevice"
*BRJobPIN HoldKey9/0001: "<</BRHoldKey 0001>> setpagedevice"
*CloseUI: *BRJobPIN
*OpenUI *BRUser/User Name: PickOne
*OrderDependency: 91 AnySetup *BRUser
*DefaultBRUser: UserSystem
*BRUser UserSystem/System Name: "
"
*End
*CloseUI: *BRUser
*OpenUI *BRJobName/Job Name: PickOne
*OrderDependency: 92 AnySetup *BRJobName
*DefaultBRJobName: JobNameSystem
*BRJobName JobNameSystem/System Name: ""
*BRJobName JobName1/1: "%%BRTitle: 1
"
*End
*BRJobName JobName2/2: "%%BRTitle: 2
"
*End
*BRJobName JobName3/3: "%%BRTitle: 3
"
*End
*BRJobName JobName4/4: "%%BRTitle: 4
"
*End
*BRJobName JobName5/5: "%%BRTitle: 5
"
*End
*BRJobName JobName6/6: "%%BRTitle: 6
"
*End
*BRJobName JobName7/7: "%%BRTitle: 7
"
*End
*BRJobName JobName8/8: "%%BRTitle: 8
"
*End
*BRJobName JobName9/9: "%%BRTitle: 9
"
*End
*CloseUI: *BRJobName
*OpenUI *TonerSaveMode/Toner Save: Boolean
*DefaultTonerSaveMode: False
*OrderDependency: 10 AnySetup *TonerSaveMode
*TonerSaveMode False/Off: "
statusdict/tonersave known{statusdict begin false tonersave end}if
"
*End
*TonerSaveMode True/On: "
statusdict/tonersave known{statusdict begin true tonersave end}if
"
*End
*CloseUI: *TonerSaveMode
*OpenUI *Sleep/Sleep Time [Min.]: PickOne
*DefaultSleep: PrinterDefault
*OrderDependency: 10 AnySetup *Sleep
*Sleep PrinterDefault/Printer Default: ""
*Sleep 2minutes/2: "statusdict/powersavetime known{statusdict begin 2 powersavetime end}if"
*Sleep 10minutes/10: "statusdict/powersavetime known{statusdict begin 10 powersavetime end}if"
*Sleep 30minutes/30: "statusdict/powersavetime known{statusdict begin 30 powersavetime end}if"
*CloseUI: *Sleep
*%==== BR-Script Color Original UI ==================================
*OpenUI *BRPrintQuality/Colour/Mono: PickOne
*OrderDependency: 15 AnySetup *BRPrintQuality
*DefaultBRPrintQuality: Auto
*BRPrintQuality Auto/Auto: "
<</BRProcessColor 4 /BRHrc 0>>setpagedevice
<</BRColorAdapt true>>setpagedevice
<</BRRenderMode false>>setpagedevice"
*BRPrintQuality Color/Colour: "
<</BRProcessColor 4 /BRHrc 0>>setpagedevice
<</BRColorAdapt false>>setpagedevice
<</BRRenderMode false>>setpagedevice"
*BRPrintQuality Black/Mono: "
<</BRProcessColor 1>>setpagedevice
<</BRColorAdapt false>>setpagedevice
<</BRRenderMode true>>setpagedevice"
*?BRPrintQuality: "
save
currentpagedevice /BRProcessColor get 1 eq
{(Black)}{(Color)}ifelse
= flush
restore
"
*End
*CloseUI: *BRPrintQuality
*% Color Mode Information ===============
*OpenUI *BRColorMode/Colour Mode: PickOne
*OrderDependency: 131.0 AnySetup *BRColorMode
*DefaultBRColorMode: Normal
*BRColorMode Normal/Normal: "
<</UseCIEColor true>>setpagedevice
<</BRColorMode 0>>setpagedevice
"
*End
*BRColorMode Vivid/Vivid: "
<</UseCIEColor true>>setpagedevice
<</BRColorMode 1>>setpagedevice
"
*End
*BRColorMode None/None: "
<</UseCIEColor false>>setpagedevice
"
*End
*CloseUI: *BRColorMode
*% Improve Gray Color Information ===============
*OpenUI *BRImprovedGray/Improve Grey Colour: PickOne
*OrderDependency: 132.0 AnySetup *BRImprovedGray
*DefaultBRImprovedGray: True
*BRImprovedGray True/On: "
<</BRImprovedGray true>>setpagedevice
"
*End
*BRImprovedGray False/Off: "
<</BRImprovedGray false>>setpagedevice
"
*End
*CloseUI: *BRImprovedGray
*% UCRGCR Information ===============
*OpenUI *UCRGCRForImage/Enhance Black Printing: Boolean
*OrderDependency: 133 AnySetup *ScreenLock
*DefaultUCRGCRForImage: False
*UCRGCRForImage False/Off: "
statusdict begin false ucrgcrforimage end
"
*End
*UCRGCRForImage True/On: "
statusdict begin true ucrgcrforimage end
"
*End
*CloseUI: *UCRGCRForImage
*% Halftone Screen Lock Information ===============
*OpenUI *ScreenLock/Halftone Screen Lock: Boolean
*OrderDependency: 90 AnySetup *ScreenLock
*DefaultScreenLock: True
*ScreenLock True/On: "
<</HalftoneMode 1>>setuserparams
"
*End
*ScreenLock False/Off: "
<</HalftoneMode 0>>setuserparams
"
*End
*CloseUI: *ScreenLock
*% Reduced Image ===============
*OpenUI *BRReducedImage/High Quality Image Printing: Boolean
*OrderDependency: 131.0 AnySetup *BRReducedImage
*DefaultBRReducedImage: False
*BRReducedImage False/Off: "
<</BRReduceImage true>>setpagedevice
"
*End
*BRReducedImage True/On: "
<</BRReduceImage false>>setpagedevice
"
*End
*CloseUI: *BRReducedImage
*% Improve Print Output ===============
*OpenUI *ImprovePrintOutput/Improve Print Output: PickOne
*OrderDependency: 135.0 AnySetup *ImprovePrintOutput
*DefaultImprovePrintOutput: None
*ImprovePrintOutput None/Off: "
<</BRReducePaperCurl false /BRImproveTonerFixing false>>setpagedevice
"
*End
*ImprovePrintOutput ReducePaperCurl/Reduce Paper Curl: "
<</BRReducePaperCurl true /BRImproveTonerFixing false>>setpagedevice
"
*End
*ImprovePrintOutput ImproveTonerFixing/Improve Toner Fixing: "
<</BRReducePaperCurl false /BRImproveTonerFixing true>>setpagedevice
"
*End
*CloseUI: *ImprovePrintOutput
*%==== 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 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 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
*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 ==================================
*Password: "0"
*ExitServer: "
serverdict begin 0 exitserver
"
*End
*Reset: "
clear cleardictstack
serverdict begin 0 exitserver
systemdict /quit get exec
"
*End
+41
View File
@@ -0,0 +1,41 @@
# BR-Script3 PPD — Brother HL-4150CDN
`BR4150_2.PPD` is Brother's official **BR-Script3** (PostScript 3) PPD for the
HL-4150CDN.
## Provenance
Extracted from the vendor Windows driver in `../Windows/`:
```
Y10B_C1-ps-win8-64-103-en.EXE (ZIP self-extracting archive)
└── eng/BR4150_2.PPD
```
```sh
unzip -j "Y10B_C1-ps-win8-64-103-en.EXE" "eng/BR4150_2.PPD"
```
The archive also contains PPDs for the related BR4140 and BR4570 models; only
the HL-4150CDN PPD is used here. Line endings were normalised from CRLF to LF.
## Why this file
The HL-4150CDN emulates PCL6 and BR-Script3 (PostScript 3). This PPD encodes
every device setting as PostScript `setpagedevice`, for example:
| PPD option | Emitted PostScript |
| --- | --- |
| `InputSlot Tray2` | `<</ManualFeed false /BRTraysw false /BRFeeder 1>> setpagedevice` |
| `InputSlot MPTray` | `<</ManualFeed false /BRTraysw false /BRFeeder 4>> setpagedevice` |
| `Duplex DuplexNoTumble` | `<</Duplex true /Tumble false>>setpagedevice` |
| `BRPrintQuality Black` | `<</BRProcessColor 1>>… <</BRRenderMode true>>setpagedevice` |
| `BRColorMode Normal` | `<</UseCIEColor true>>… <</BRColorMode 0>>setpagedevice` |
| `BRMediaType Recycled` | `<</MediaType (RECYCLED)>>setpagedevice` |
CUPS's `pstops` filter injects the selected option code, and the PPD's
`*JCLBegin` / `*JCLToPSInterpreter` / `*JCLEnd` entries wrap the job in PJL.
This lets the HL-4150CDN be driven with a plain PostScript queue, so the
container does **not** need Brother's 32-bit Linux CUPS wrapper/filter
(`brlpdwrapperhl4150cdn`) or its Ghostscript rasterisation step.