pdf-association/arlington-pdf-model

TransferFunction in HalftoneType1 dictionary

bdoubrov opened this issue · 1 comments

Currently TransferFunction is required in Halftone1 dictionary, if fn:IsRequired(parent::@HalftoneType==5) . However, the exact wording in 32k is more elaborate:

This entry shall be present if the dictionary is a component of a Type 5 halftone (see 10.6.5.6, "Type 5 halftones") and represents either a nonprimary or nonstandard primary colour component (see 10.5, "Transfer functions").

This is further discussed in https://github.com/pdf-association/pdfa-twg/issues/13 in cases of PDF/A-4 and PDF/X-6. As the question of primary/nonprimary/nonstandard primary colorants really depends on the output device, I would suggest either adding another predicate for this case or using fn:ImplementationDependent.

I don't want to use fn:ImplementationDependent unless the spec explicitly says that which it doesn't.

There are also related(ish) predicates: fn:HasProcessColorants, fn:KeyNameIsColorant and fn:HasSpotColorants which all imply some form of implicit knowledge about process, device or output colorants (which may not be the same thing!). The phrasing of "primary" color and "process" color also appears to be inconsistent (are they the same or overlapping?). The spec is pretty messy in this area...