Files
printserver/assets/Brother HL-4150CDN/ppd
juergen 30670de93b
ci/woodpecker/push/build Pipeline was successful
fix pale colours and map driverless print options
Set *DefaultBRColorMode: None in the vendor PPD so every job sends
<</UseCIEColor false>>: Brother's Normal/Vivid modes enable the printer's
own CIE conversion, which washed the colours out.

Add six APPrinterPreset entries mapping print-color-mode and
print-quality from driverless (AirPrint/IPP) clients onto the Brother
device options; they use the notation CUPS generates itself (Apple
metadata as 'key value' pairs, PPD options as '*Name Value'), because
key=value strings are silently discarded. print-quality is 3/4/5.

Add the PRINTER_OPTIONS env var: whitespace-separated key=value pairs
applied as queue defaults on every start via lpadmin -o, validated
against the queue's PPD, with warnings instead of a failed startup.

Document all of it in the README. The VividNoCIE candidate was dropped
after test prints showed no difference from None. Archive the OpenSpec
change and sync the printserver/cups spec with the two new
requirements.
2026-10-20 08:28:08 +02:00
..

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
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.