-
Implement a TokenFilter class and refactor Pl_QPDFTokenizer to use a TokenFilter class called ContentNormalizer. Pl_QPDFTokenizer is now a general filter that passes data through a TokenFilter.
-
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
-
Remove a redundant method that was equal to another one with additional arguments. This breaks binary compatibility, but there are other ABI breaking changes in the upcoming release, so now is the time to do it.
-
This is for protection against future ABI breaking changes.
-
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.
-
This tokenizes outer parts of the file, page content streams, and object streams. It is for exercising the tokenizer in isolation and is being introduced before reworking the lexical layer of qpdf.
-
This is useful only for debugging the linearization code.
-
Some file names had `...` in their name, which causes problems on some systems.
-
Specify qpdf libraries before external ones. Specify LDFLAGS before libraries. This should eliminate remaining cases of qpdf builds favoring previously installed versions.
-
Use 0 instead of NULL in a cast.
-
Different compilers want different choices of headers for std::abs. It's easier to just to not use it.