2003.11.26 05:02 "[Tiff] tiff2pdf contribution", by Finlayson, Ross
I decided to do nothing about halftoning and thresholding. I looked to TIFF 5.0 for further explanation of the Thresholding field, basically its concept is that 1 means ordered dither, 2 means randomized dither, and 3-65535 means private, non-interchange use.
There still might be some information in HalftoneHints, headroom and footroom, but I think that field is overloaded by ReferenceBlackWhite, DotRange, and also MinSampleValue and MaxSampleValue in some images against the suggestion of the specification that MinSampleValue and MaxSampleValue only be used for histogram purposes, I have done nothing about them. Suggestions about proper handling of those fields is appreciated.
I was able to copy over the ICC profile. Also, TransferFunctions are observed. The tristimulus XYZ coordinates of the white point and primary full saturations (?) are generated for CalGray, CalRGB, and Lab of PDF from the xy chromaticities of the WhitePoint and PrimaryChromaticities of TIFF. The default white point for Lab is CIE D50, the underpowered print white point suggested to be D65 for bright high contrast monitor display.
I still have a problem with data that is encoded in ITU/Fax L*a*b* and already compressed with JPEG. The program does not uncompress the JPEG and the PDF requires, in a way, unsigned samples for the a* (red<->green) and b* (blue<->yellow) L*a*b* components. For non-lossy data the program shifts the a* and b* samples. I think I can use a transfer function for that, (0.5 exch lt [1.0 exch sub] [0.5 add] ifelse), but it's not implemented. The PDF 1.4 specification organization is very similar to PostScript Level II.
I put it in CVS, I haven't actually tried it on any images with transfer functions, or colorimetric RGB. That's what bug reports and revisions are for. There's a bug in the realize palette function, palette images should be compressed with Deflate anyways. Support could be added for Photoshop new JPEG images. Also it can't handle separated planar configuration JPEG, OJPEG, or YCbCr images. I'll try and get a man page formatted for tomorrow and be done.