Skip to content

Latest commit

 

History

History
37 lines (23 loc) · 1.73 KB

README.md

File metadata and controls

37 lines (23 loc) · 1.73 KB

Note

Background

  • PDF's LZWDecode filter comes with the optional parameter EarlyChange.
  • The type of this parameter is int and the defined values are 0 and 1.
  • The default value is 1.

This parameter implies two variants of lzw. (See the PDF spec).

compress/lzw:

  • the algorithm implied by EarlyChange value 1
  • provides both Reader and Writer.

x/image/tiff/lzw:

  • the algorithm implied by EarlyChange value 0
  • provides a Reader, lacks a Writer

In addition PDF expects a leading clear_table marker right at the beginning which is not something compress/lzw takes into account.

There are numerous PDF Writers out there and for arbitrary PDF files using the LZWDecode filter the following can be observed:

  • Some PDF writers do not write the EOD (end of data) marker.
  • Some PDF writers do not write the final bits after the EOD marker.

Goal

An extended version of compress/lzw with reliable support for GIF, TIFF and PDF.