From: Till Kamppeter <till.kamppeter@gmail.com>
To: Solomon Peachy <pizza@shaftnet.org>, Michael Sweet <msweet@msweet.org>
Cc: "printing-architecture@lists.linux-foundation.org"
<printing-architecture@lists.linux-foundation.org>,
Jay Berkenbilt <ejb@ql.org>, Vikrant Malik <vikrant@iitk.ac.in>
Subject: Re: [Printing-architecture] Make use of extended color spaces on IPP printers
Date: Sun, 9 May 2021 11:20:57 +0200 [thread overview]
Message-ID: <46c7d30c-b28d-1585-e4b6-49aa22b9efc2@gmail.com> (raw)
In-Reply-To: <YJc9BYPyXoSyi8X/@shaftnet.org>
On 09/05/2021 03:38, Solomon Peachy wrote:
>> 7. As the PPD generator does not add choices for the extended color modes to
>> the ColorModel option (see (1)) we need to somehow add the info of how to
>> upgrade the color depth and color space for print-quality=high in (3) and
>> which is the highest color depth/space supported by the printer for (5). So
>> we let the PPD generator add a line like "*cupsHighQuality: 16bit,AdobeRGB"
>> (exact content depends on what the printer supports).
>
> It is is mistake to think about colorspace conversions in terms of
> "print quality" and as such something that can be "upgraded". Instead,
> one should think about it in terms of "correctness".
>
OK< then I will only upgrade from 8 to 16 bit (for the rasterizing of a
standard vector-graphics-PDF) when the user requests "high" quality and
the printer supports it.
My problem now is the following use cases:
1. A user wants to print photos in best possible (wide gammut) color
reproduction quality. So he either sets his camera to produce AdobeRGB
JPEGs or he shoots RAW and saves the processed RAW images in
16-bit-per-color AdobeRGB. He sends his images out of his photo
editor/manager to the printer, but the application sends print jobs in
PDF. So we get a raster-only PDF with the raster data embedded being
16-bit AdobeRGB (assuming that the printer supports it as the
application's print dialog does a get-printer-attributes request and so
knows what the printer supports).
In this case in the CUPS filtering process we have to discover at first
whether the incoming PDF is raster-only. In this case we would not
render it but pass it through pclmtoraster to extract the raster data
with its color space info (AdobeRGB). We do not convert this to sRGB or
anything else, but pass on a Raster file in AdobeRGB.
Question here: Do we need to discover that the PDF is raster-only and
then use pclmtoraster? Or can we simply do the standard rendering
(GhostScript, Poppler, or MuPDF) and tell the renderer (by command line
for example) that we want AdobeRGB output? Would the renderer pass on
the AdobeRGB data without conversion, especially not doing AdobeRGB ->
sRGB -> AdobeRGB?
2. Another user wants to write a review of mobile phone providers,
containing pictures and logos of the candidates (one of them is
T-Mobile). In order to avoid the providers feeling stepped on their toes
he wants to have best color reproduction. So he creates the print output
(which is in PDF) in AdobeRGB as he knows that the printer supports it.
My question: Now how can the CUPS filters auto-discover that the PDF is
in AdobeRGB and therefore the PDF needs to get rasterized in AdobeRGB?
Is there some tool for that? Some special call of GhostScript or QPDF?
Or can I uncompress the PDF and then search it for "/ColorSpace" keys?
Also how to rasterize if there are some sRGB and some AdobeRGB pieces in it?
Till
next prev parent reply other threads:[~2021-05-09 9:20 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-27 17:46 [Printing-architecture] Human-readable strings for standard IPP options/choices/attributes/propertirs Till Kamppeter
2021-04-27 18:02 ` Michael Sweet
2021-04-27 18:10 ` Till Kamppeter
2021-04-28 8:17 ` Till Kamppeter
2021-04-28 11:43 ` Michael Sweet
2021-05-07 18:52 ` [Printing-architecture] Make use of extended color spaces on IPP printers Till Kamppeter
2021-05-07 19:53 ` Michael Sweet
2021-05-07 22:11 ` Till Kamppeter
2021-05-08 0:04 ` Michael Sweet
2021-05-08 23:52 ` Solomon Peachy
2021-05-09 1:24 ` Michael Sweet
2021-05-09 2:24 ` Solomon Peachy
2021-05-09 2:54 ` Michael Sweet
2021-05-09 8:20 ` Till Kamppeter
2021-05-09 13:41 ` Michael Sweet
2021-05-09 14:03 ` Solomon Peachy
2021-05-09 20:32 ` Michael Sweet
2021-05-09 19:26 ` Till Kamppeter
2021-05-09 20:34 ` Michael Sweet
2021-05-09 20:43 ` Till Kamppeter
2021-05-09 21:03 ` Michael Sweet
2021-05-08 22:45 ` Till Kamppeter
2021-05-09 1:38 ` Solomon Peachy
2021-05-09 9:20 ` Till Kamppeter [this message]
2021-05-09 13:49 ` Michael Sweet
2021-05-09 20:14 ` Till Kamppeter
2021-05-09 20:55 ` Michael Sweet
2021-05-09 21:31 ` Till Kamppeter
2021-05-10 1:08 ` Michael Sweet
2021-05-27 18:04 ` Till Kamppeter
2021-05-27 19:04 ` Solomon Peachy
2021-05-28 12:59 ` Michael Sweet
2021-05-29 19:19 ` Till Kamppeter
2021-05-29 22:32 ` Michael Sweet
2021-05-30 19:56 ` Till Kamppeter
2021-05-30 20:53 ` Michael Sweet
2021-05-30 21:50 ` Till Kamppeter
2021-05-31 3:12 ` Michael Sweet
[not found] ` <d5082b23-8eb7-be84-db5c-42bdde3ba5ac@canonical.com>
2021-05-31 13:24 ` Michael Sweet
2021-05-31 15:03 ` Till Kamppeter
2021-05-31 18:13 ` Michael Sweet
2021-05-31 19:38 ` Till Kamppeter
2021-06-01 0:54 ` Michael Sweet
2021-05-25 17:43 ` Till Kamppeter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46c7d30c-b28d-1585-e4b6-49aa22b9efc2@gmail.com \
--to=till.kamppeter@gmail.com \
--cc=ejb@ql.org \
--cc=msweet@msweet.org \
--cc=pizza@shaftnet.org \
--cc=printing-architecture@lists.linux-foundation.org \
--cc=vikrant@iitk.ac.in \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.