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.
4.3 KiB
Proposal
Why
Drucken funktioniert von macOS und iOS, aber die Ausgabe ist blass, und
driverless AirPrint-Clients erreichen nur IPP-Standardoptionen – Farbmodus
(Vivid), Medientyp und Toner Save sind reine PPD-Optionen und weder im
Druckdialog wählbar noch dauerhaft konfigurierbar. Zusätzlich wirkt die
im Dialog wählbare Option Schwarz/Weiß nicht: Der pdftops-Filter läuft
bei Debian für Brother-Drucker mit dem Poppler-Renderer, der keine
Graustufen erzeugen kann – der Job wird farbig gedruckt.
Messbare Befunde der Testreihe (ein und dieselbe farbige PDF, gleiche Drucker-Queue):
- Nur
BRColorMode=Noneliefert gesättigte Farben → die VorgabeNormalsetzt<</UseCIEColor true>>, die CIE-Umrechnung im Drucker-RIP wäscht die Farben aus.Vivid(setzt ebenfallsUseCIEColor true) undBRPrintQuality=Color(BRColorAdapt) sowieTonerSaveMode=Falsewaren ohne sichtbaren Effekt. print-color-mode=monochromegedruckt farbig → Ursache ist der Poppler-Renderer vonpdftops(sieheWARNING: Grayscale/monochrome could be printed as color with Poppler).- Der macOS-Druck ist identisch zu
lp-Drücken → der Client (ColorSync) ist nicht beteiligt.
What Changes
- Queue-Vorgabe für den Farbmodus kippt von
NormalnachNonein der BR-Script3-PPD (*DefaultBRColorMode):UseCIEColorist damit aus, Farben bleiben gesättigt. Verifiziert per Testdruck. - Die PPD erhält
APPrinterPreset-Einträge, die die für AirPrint verfügbaren IPP-Attribute auf Geräteoptionen abbilden:print-color-mode=monochrome→BRPrintQuality=Black(der Drucker rendert mono, unabhängig vom PDF-Renderer),print-color-mode=color→TonerSaveMode=False,print-qualitydraft/normal/high →TonerSaveModeundCAPT(Fine/SuperFine).
- Neue Umgebungsvariable
PRINTER_OPTIONSimentrypoint.sh: leerzeichengetrenntekey=value-Paare, die perlpadmin -obei jedem Start als Queue-Defaults gesetzt werden – damit überleben PPD-Optionen (z. B.BRMediaType,TonerSaveMode,BRColorMode=Vivid) die Neuerzeugung der Queue. - README: neuer Abschnitt, warum der AirPrint-Dialog nur
IPP-Standardoptionen zeigt und wie PPD-Optionen gesetzt werden (Env-Var,
CUPS-Web-UI,
lp); Troubleshooting „Farben sind blass" mit der durchgeführten Testreihe; Dokumentation der funktionierenden S/W-Abbildung.
Verworfen: eine zusätzliche Choice BRColorMode=VividNoCIE
(UseCIEColor false + /BRColorMode 1) – die Testdrucke waren von None
nicht unterscheidbar, siehe design.md.
Kein Bestandteil: Änderungen am Containerfile (die PPD wird bereits
installiert), am Verbindungs-/Zertifikatsverhalten oder eine
Server-seitige Erzwingung von Graustufen über pdftops-renderer=gs
(ausgeschlossen, weil der Ghostscript-Renderer genau die
PS-Interpreter-Bugs umgeht, die der Poppler-Renderer bei Brother
vermeidet).
Capabilities
New Capabilities
(keine)
Modified Capabilities
printserver/cups:- Neues Requirement „Queue-Defaults sind zur Laufzeit konfigurierbar":
PRINTER_OPTIONSwird bei jedem Start alslpadmin -ogesetzt. - Neues Requirement „Farbausgabe ist standardmäßig gesättigt": Queue
und PPD-Default für
BRColorModesindNone(UseCIEColoraus), sofern nicht durchPRINTER_OPTIONSüberschrieben. - Geändertes Requirement „Hardware options are sent to the printer":
Szenario „Colour or mono" wird um die driverless-Clients erweitert –
print-color-mode=monochromeeines AirPrint-Clients muss zuBRPrintQuality=Blackund damit zu den mono-Parametern im PostScript führen; zusätzlich Szenarien fürprint-quality.
- Neues Requirement „Queue-Defaults sind zur Laufzeit konfigurierbar":
Impact
assets/Brother HL-4150CDN/ppd/BR4150_2.PPD(DefaultBRColorMode, neueAPPrinterPreset-Einträge, ggf. neue Choice) – die Herstellerdatei wird direkt im Repo gepatcht, der Build bleibt unverändert.entrypoint.sh(Auswertung vonPRINTER_OPTIONS, idempotente Queue-Defaults).README.md(Env-Var-Tabelle, „Printing options", Client-Unterstützung, Troubleshooting).- Verhalten für alle Clients (macOS, iOS, Linux): S/W-Auswahl wirkt ab dann geräteitig statt gar nicht; bestehende Ausgabe wird gesättigter.
- Nicht betroffen: Containerfile, Zertifikat/Discovery, Windows-Weg.