revert-colour-mode-default implementation

This commit is contained in:
juergen committed 2026-10-20 15:44:49 +02:00
1 parent 0b1276843f
commit b22e82a8c2
3 files changed
+37 -32

No files matched your search

+27 -20
View File
@@ -209,7 +209,7 @@ The BR-Script3 PPD exposes the HL-4150CDN's hardware options. Common ones:
| Paper source | `InputSlot` | `AutoSelect`, `Tray1`, `Tray2`, `MPTray` |
| Two-sided printing | `Duplex` | `None`, `DuplexNoTumble` (long edge), `DuplexTumble` (short edge) |
| Colour / mono | `BRPrintQuality` | `Auto`, `Color`, `Black` |
| Colour mode | `BRColorMode` | `Normal`, `Vivid`, `None` (default) |
| Colour mode | `BRColorMode` | `Normal` (default), `Vivid`, `None` |
| Media type | `BRMediaType` | `Plain`, `Thin`, `Thick`, `Recycled`, `Glossy`, `Label`, envelopes, … |
| Print quality | `CAPT` | `Fine` (600×600), `SuperFine` (2400 dpi class) |
| Toner save | `TonerSaveMode` | `True`, `False` |
@@ -252,11 +252,8 @@ Client-specified values always win over the preset.
### Changes to the vendor PPD
`assets/Brother HL-4150CDN/ppd/BR4150_2.PPD` is Brother's original file plus
two additions, each marked with a `%` comment in the file:
one addition, marked with a `%` comment in the file:
- **`*DefaultBRColorMode: None` instead of `Normal`.** `Normal` and `Vivid` both
set `<</UseCIEColor true>>`; the printer's own CIE conversion washes the
colours out (see [Colours are printed pale / washed out](#colours-are-printed-pale--washed-out)).
- **Six `APPrinterPreset` entries** mapping `print-color-mode`
(color/monochrome) and `print-quality` (draft/normal/high) onto
`BRPrintQuality`, `CAPT` and `TonerSaveMode`. CUPS applies such presets for
@@ -273,6 +270,10 @@ two additions, each marked with a `%` comment in the file:
whitespace, so `key=value` becomes the option *name* and the lookup fails).
Note that IPP `print-quality` is `3` (draft), `4` (normal), `5` (high).
Every other PPD value, including the colour-mode default
`BRColorMode: Normal`, is the vendor original — the container does not tune
colour output (see [Colours are printed pale / washed out](#colours-are-printed-pale--washed-out)).
## Client support
| Platform | Path | Notes |
@@ -459,27 +460,33 @@ changing anything on the server.
### Colours are printed pale / washed out
Symptom: colour printouts look desaturated compared to the same PDF printed
directly from the Mac, or with Brother's own driver.
Symptom: colour printouts through the container look desaturated compared to
the same PDF printed through the Mac's local (Brother) driver.
Cause: the PPD colour mode `Normal` (Brother's default) makes the printer's
PostScript interpreter apply its own CIE conversion (`<</UseCIEColor true>>`),
which washes colours out. `Vivid` sets `UseCIEColor` as well, so it does not
help either; `BRPrintQuality` (`BRColorAdapt`) and `TonerSaveMode` made no
visible difference in a side-by-side test. The container therefore ships the
PPD with `*DefaultBRColorMode: None` (`UseCIEColor` off), which produces
saturated output.
Cause: a known limitation, not a switchable setting. Tested side by side on
the HL-4150CDN, the PPD colour-mode options make **no visible difference**:
`BRColorMode None` — which switches the printer's CIE conversion off via
`<</UseCIEColor false>>` — prints the same as the vendor default `Normal`,
and `Vivid`, `BRPrintQuality` (`BRColorAdapt`) and `TonerSaveMode` change
nothing either. (An earlier version of this container defaulted to `None` on
the theory that the printer's CIE conversion caused the washout; before/after
test prints disproved that, and the default is the vendor original again.) The
gap comes from the conversion path: the local driver applies its own
client-side colour management, while the container converts the job
server-side to PostScript without it. No server-side lever is currently
known.
Check and, if needed, override the current default:
For colour-critical output, print through the local driver. The remaining
server-adjacent checks are:
```sh
podman exec printserver lpoptions -p <queue> -l | grep BRColorMode # expect *None
podman exec printserver lp -d <queue> -o BRColorMode=None test.pdf
podman exec printserver lpoptions -p <queue> -l | grep BRColorMode # expect *Normal
podman exec printserver lp -d <queue> -o BRColorMode=Vivid test.pdf # optional experiment
```
If output is still pale with `BRColorMode=None`, check the printer's own menu
(Toner → Toner Save off) and make sure `BRMediaType` matches the media in the
tray.
Also check the printer's own menu (Toner → Toner Save off) and make sure
`BRMediaType` matches the media in the tray — both affect the print, though
neither closes the saturation gap.
Black-and-white is a related but separate path: `print-color-mode=monochrome`
from a driverless client is mapped by the PPD presets onto