Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

libppd remaps print-color-mode=bi-level, no 1-bit PWG output possible

Ouverte
#91 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
c
Domaine
backend

Piste de recherche

Start in ppd/ppd-cache.c at the linked lines 386–395 and trace how ColorModel=FastGray maps to print-color-mode; compare the 1-bit PWG raster settings in the PPD example with the resulting Ghostscript arguments. Done means print-color-mode=bi-level preserves 1-bit output. The report also links a separate libcupsfilters issue, so check whether that dependency affects this behavior.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Describe the bug

If the printer reports support for 1-bit bi-level raster (print-color-mode=bi-level, pwg-raster-document-type=black_1), libppd will remap -o print-color-mode=bi-level to =monochrome, because the ippeve generator uses ColorModel=FastGray for 1-bit output, but libppd remaps FastGray to print-color-mode=monochrome instead of =bi-level.

https://github.com/OpenPrinting/libppd/blob/4afdca97f4d416d2a19345bf53b613095a69f679/ppd/ppd-cache.c#L386-L395

To Reproduce

PPD file has:

*cupsFilter2: "image/pwg-raster image/pwg-raster 100 -"
*OpenUI *ColorModel: PickOne
*OrderDependency: 10 AnySetup *ColorModel
*en_US.Translation ColorModel/Color Mode: ""
*ColorModel Gray: "<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
*ColorModel FastGray: "<</cupsColorSpace 3/cupsBitsPerColor 1/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
*en_US.ColorModel Gray/Grayscale: ""
*DefaultColorModel: FastGray
*CloseUI: *ColorModel

I'm printing with: lp -d testp_l -o ColorModel=FastGray -o print-color-mode=bi-level -o page-ranges=1 document-a4.pdf

And the result:

D [22/Oct/2026:16:53:03 +0300] [Job 36] cfFilterGhostscript: Ghostscript command line: gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dUsePDFX3Profile -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=cups -sMediaClass=PwgRaster -sOutputType=automatic -r300x300 -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=18 -dcupsBorderlessScalingFactor=0.0000 -dcupsInteger1=1 -dcupsInteger2=1 -scupsRenderingIntent=auto -scupsPageSizeName=A4 -dcupsManualCopies -I/usr/share/cups/fonts -sOutputICCProfile=sgray.icc -c -f -_

Second bug, in libcupsfilters: https://github.com/OpenPrinting/libcupsfilters/issues/298

Langage dominant
C
Étoiles
5
Forks
31
Merge moyen
6 j 10 h
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de OpenPrinting/libppd

Toutes les issues de OpenPrinting/libppd

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.