Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#91 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
55/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
c
Domínio
backend

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
C
Estrelas
5
Forks
31
Merge médio
6d 10h
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de OpenPrinting/libppd

Todas as issues de OpenPrinting/libppd

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.