Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table 401: Solidities and CxF spectral data are mutually exclusive #466

Open
bertvankerckhove opened this issue Sep 10, 2024 · 10 comments
Open
Labels
enhancement New feature or request PDF/X-6 PDF/X-6 [ISO 15930-9:2020] PDF/X-next Next version of PDF/X (after PDF/X-6)

Comments

@bertvankerckhove
Copy link

ISO 32000-2:2020 Table 401 says:

In the text for MixingHints

“In addition, each key in the Solidities dictionary referenced from the
MixingHints dictionary shall not also be present in the SpectralData
dictionary within the same output intent.
NOTE 2 This is because it would not be clear which one is to be used, so
only allowing one place where such data are present avoids the
conflict.”

In the text for SpectralData

“In addition, each key in this dictionary shall not also be present in the
Solidities dictionary referenced from the MixingHints dictionary
within the same output intent.
NOTE 4 This is because it would not be clear which one is to be used, so by
only allowing one place where such data are present it avoids the
conflict.”

In other words a PDF colorant can have a solidity (inverse of transparency) or there can be spectral data but not both.
The argument for this mutual exclusivity is mentioned in the notes. The spectral data can in some cases be used to calculate transparency of a colorant used in printing in function of wavelength.
This results of this calculation could be inconsistent with the colorant transparency/solidity as indicated in the MixingHints/Solidities.
To exclude this potential inconsistency ISO 32000-2 forbids to have both solidity and spectral data for a PDF colorant.

This limits important use cases:

• Spectral data can in some cases be used to calculate transparency of a colorant (e.g. when there are spectral reflectance measurement data for patches over clear substrate and over black) but not always (e.g when there are only measurement data for patches on clear substrate). In such a case the solidity/transparency for the colorant in the Solidities can be used as an approximate transparency averaged over wavelength.
• PDF files can be used in multiple applications, some of these applications may be CxF capable, other applications may not be CxF capable.

Having both solidities and CxF data for a colorant in the PDF would allow CxF capable applications to use to render the PDF with the highest accuracy while non CxF capable applications can render a reasonable approximation.

This limitation on Solidities versus CxF does not eliminate the risk of inconsistency of CxF data with other data in the PDF. As a matter of fact an even larger inconsistency is possible between the CxF data and the alternate color space representation of a spot color. Here the spectral reflectance measurement data in the CxF of the 100% patch of a colorant would need to be consistent with the Lab data of the colorant in the alternate colorspace.

Since the mutual exclusion clauses for Solidities and SpectralData blocks important use cases while not being effective to exclude inconsistency, we suggest to relax the limitation by indicating there should be consistency between SpectralData, Solidities and alternate color space representation of PDF colorants while not excluding presence of such data.
(Checking consistency is something that preflight applications can take care of.)

@bertvankerckhove bertvankerckhove added the bug Something isn't correct label Sep 10, 2024
@petervwyatt
Copy link
Member

If we were to consider this change, then we first need to change PDF/X-6 to ensure that all existing PDF/X-6 files will remain valid according to the current restricted definition in ISO 32000-2:2020 - and only then PDF 2.0 could be relaxed...
@lrosenthol @DietrichSeggern

@bertvankerckhove
Copy link
Author

PDF/X-6 does not say anything about consistency between CxF and Solidities, therefore there is no change required in PDF/X-6.
Note that PDF/X-6 also does not say anything about consistency between CxF and alternate color space representation of spot colors.

@petervwyatt
Copy link
Member

PDF/X-6 doesn't need to explicitly mention anything since it automatically "inherits" all "shall" requirements from ISO 32000-2:2020.

My concern is that we do not want to invalidate any existing PDF/X-6 files, nor do we want to have a situation where PDF/X-6 processors processing PDF/X-6 files with different CxF rules could result in appearance differences (as the primary goal of PDF/X-6 is to avoid visual differences). Hence we need to avoid PDF/X-6 to including this technical change - that would need to be a new standard.

@petervwyatt petervwyatt added PDF/X-6 PDF/X-6 [ISO 15930-9:2020] PDF/X-next Next version of PDF/X (after PDF/X-6) labels Sep 11, 2024
@petervwyatt petervwyatt added enhancement New feature or request and removed bug Something isn't correct labels Sep 19, 2024
@pdf-association pdf-association deleted a comment Oct 23, 2024
@DietrichSeggern
Copy link

IMO we cannot just allow both entries without specifying under what circumstances which wins over the other.

It is also not straightforward for a preflight application to check consistency between the two. But even if that would be the case you would have to have a corresponding "shall" statement in either PDF/X-6 or PDF 2.0 and I think we all agree that the first would be better.

So, in any case I agree with Peter that we would first have to adjust PDF/X.

@DietrichSeggern
Copy link

@bertvankerckhove you are right that the limitation should at some point be relaxed, but I think it should at the same time be explicit about what wins when.
It would be good to understand whether this a concrete customer/project request or more an desirable extension to be prepared for the future?

@Lieven-Plettinck
Copy link

This is what PDF/X-6 says about CxF.

6.19 Spectral Data (CxF)
If spectral data is present, a conforming processor may choose to use it for processing the colourants
with which it is associated.
A conforming writer should ensure that the spectral data present in the file is consistent with the values
in the Output Intent ICC profile.

The spirit of this clause that usage of CxF is entirely optional but that CxF data should be consistent with other PDF data used in rendering.

The “may” in the first sentence says that a conforming processor is free to use or ignore the CxF data under all conditions.
So some PDF/X-6 compatible applications may be CxF savvy and use the spectral data e.g to render the PDF (or other purposes not relevant for this discussion) . Other PDF/X-6 applications
can ignore the spectral data and render the PDF using other PDF data (a combination of ICC profiles, alternate color space representations for spot colors, Solidities, PrintingOrder, etc…)
In the light of the above clause Dietrich’s remark that a specification is needed that says what gets priority, CxF or solidities, under which circumstances does not make sense since this would effectively force the use of CxF under certain conditions.

The 2nd sentence says that a writer should ensure that CxF spectral data is consistent with the output intent ICC profile.
It says nothing about consistency between CxF spectral data and Solidities because these are made mutually exclusive in ISO32000-2.
However, nothing is said about consistency between CxF spectral data and alternate color space representation of spot colors.
Although this is potentially a major source of inconsistency. This seems to be overlooked in both ISO 32000-2 and PDF/X-6?

So the path forward that seems to make most sense is

  1. take away the mutual exclusivity of CxF and Solidities in ISO 32000-2
  2. add a “should” clause in PDF/X-6 for consistency of CxF versus Solidities
  3. add a “should” clause in PDF/X-6 for consistency of CxF versus alternate color space representations of spot colors

To answer Dietrich's other question: there is customer demand to have PDFs with both Solidities+PrintingOrder and CxF.

@petervwyatt
Copy link
Member

The PDF TWG will discuss this issue on 7 Nov here in Prague (please join us if you can!) so we can further discuss during the 2 Dec ISO TC 130 WG 2 meeting w.r.t. the current in-process PDF/X-6 dated revision.

@lrosenthol
Copy link
Contributor

At the time that we added support for CxF to PDF, CxF was still new and not fully proven in the industry - let alone with PDF - and so we took the safest route based on what we knew at the time. And it's gotten us far enough to learn that we need to make changes. So be it.

However, to support @DietrichSeggern - we cannot make ANY changes in the current text UNLESS we have something that fully describes "who wins" and "how to determine inconsistency" in all cases. If the printing industry (e.g. @bertvankerckhove @Lieven-Plettinck ), who understands customer & technical requirements, can provide some specific wording for those scenarios, then I am sure we can work out a workable solution for all.

@petervwyatt
Copy link
Member

PDF TWG agree that PDF/X-6 must NOT support this change. To be discussed in TC 130 WG 2.

@Lieven-Plettinck
Copy link

Consistency

The CxF data for a certain PDF colorant contain a series of spectral reflectance measurements of patches. There are one or more patches of a tint of the colorant printed over the clear substrate. There are optionally one or more patches of a tint of the colorant over black.

1-Taking the spectral measurement of 100% of the tint of the colorant over clear substrate allows to calculate absolute colorimetric coordinates for the 100% tint of the colorant printed on the substrate. Combining this with the substrate absolute color coordinates that can be calculated from the spectral measurement of the patch of 0% of the colorant on substrate, allows to calculate relative colorimetric coordinates of the 100% tint of the colorant on clear substrate.

Above results should be consistent with the alternate color space representation of the colorant in the PDF in the Separation or DeviceN colorspace i.e. leading to the same device independent color coordinates.

2-Taking the spectral measurements of the tints of the colorant printed on clear substrate and on black allows to calculate the transparency (or the reverse the solidity) of a colorant in function of wavelength. From this an average, wavelength independent, transparency or solidity can be calculated. This result should be consistent with the value in the Solidities dictionary.

I hope above text already helps to understand better what consistency means.
It is still vague in the sense that there is no math defined to do the calculations. For bullet 1 above, there are ISO standards.
For bullet 2 I am not aware of any standards and there may be different algorithms used by different systems.
It is also vague in the sense that no criteria are defined (do values have to be exactly the same? or smaller than some deltaE value? etc...)
It is a good question if it is realistic and valuable to be more precise than what the current PDF/X-6 standard does: just stating that data need to be consistent without detailing how to calculate consistency.

Who wins

I still don't understand why it is needed to specify which data set wins.
The whole point is that usage of CxF is optional.

If it would be stated that CxF (being the richer data set) wins over Solidites and alternate colorspace, we would make CxF support mandatory for every PDF/X-6 processor.

If it would be stated that Solidities and alternate colorspace wins over CxF, any PDF/X-6 processor would be prevented from using CxF.

But maybe a way out of this contradiction is to state:

  • a PDF/X-6 processor without CxF support uses Solidities+altenate color space (obviously).
  • a PDF/X-6 processor with CxF support is free to use either CxF or Solidities+altenate color space as long as data are consistent. As soon as data is not consistent, Solidities+altenate color space wins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PDF/X-6 PDF/X-6 [ISO 15930-9:2020] PDF/X-next Next version of PDF/X (after PDF/X-6)
Projects
None yet
Development

No branches or pull requests

5 participants