mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
The PostScript interpreter that reads EPS and PostScript .ai files accepts a FlateDecode or LZWDecode filter with Predictor 2 at BitsPerComponent 1, 2, 4, 8 and 16, but undid the horizontal differencing only at 8 bits. At the other depths the filter gave back the stored differences, and the image drew them instead of its samples. The predictor is now undone at every depth it accepts, as ISO 32000-1 §7.4.4.4 describes: each component adds the same component of the pixel to its left, within its bit width, and each row starts again. 16-bit components add as big-endian 16-bit numbers. The padding bits at the end of a row stay as they are, and 8-bit data takes the same path as before. The PNG predictors are unchanged. Docs: docs/target-app-parity.md.