1994.09.20 03:03 "TIFF CIEL*a*b* Question (with Answer)", by John M Davison

1994.09.22 15:19 "Re: TIFF CIEL*a*b* Question (with Answer)", by Sam Leffler

But don't ship such files outside your office... When using Compression=3 or 4, I'd stick to SamplesPerPixel=1, PhotometricInterpretation=0, and RowsPerStrip=ImageLength!

WHAT? You can't be serious! What if your ImageLength and ImageWidth is 10000, 20000, or more? For G3 compression you should stick to the "8k" rule for RowsPerStrip. For G4 this may ruin your compression rate; if you have only one or two scan lines in a strip, 2D compression does not make much sense, in this case you should be more lax about the "8k" rule, and use at least (say) 100 scan lines per strip.

If you're merely using G3 or G4 as a handy compression scheme, you can set RowsPerStrip to whatever you want. However, Fredrik Lundh was absolutely right: if you want to achieve interchange, set RowsPerStrip=ImageLength.

Many programs treat the FAX data as FAX data, not just as some portion of a TIFF file. This especially true when translating to and from other file formats. And of course, FAX applications want to see a FAX image, and they know nothing of RowsPerStrip.

This unfortunately is true. On the other hand, a strong way to force broken TIFF readers to get fixed is to make the de facto standard for written data use multiple strips. Note that you will also find that many programs cannot handle an entire image written as a single strip/tile. I can't say whether there are more programs that require a single strip or more programs that have a fixed upper bound on the amount of data in a single strip. TIFF/F (the default "style" of G3-encoded data written by the library) is designed so that you can simply concatenate strips of image data to obtain a single, correctly formatted, G3-encoded data stream. This at least makes it a trivial matter to handle multi-strip images.