2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-05 04:47:53 +00:00
Commit Graph

1264 Commits

Author SHA1 Message Date
Kurt Pfeifle
315c3e7dbc Enhancements to AppImage
Enhance 'build-appimage' script:

- add initial comment block and comments for all major steps in the
  script for the benefit of casual users of the script
- 'configure' to build HTML + PDF documentation
- do not remove the man pages from the AppDir (will be used by custom
  AppRun script)
- use a bigger icon
- use '-g' for appimagetool so it can figure out the 'updateinfo' string
  on Travis CI
- output big fat warning to users who build AppImage in non-"Trusty"
  environments

Add 'AppStream' metadata file

This serves to satisfy desktop environments who want to automatically
create menu entries, show screenshots and display software descriptions.

Note, this file (qpdf.appdata.xml) may need more tweaking since the
Freedesktop folks aren't exactly sure themselves how their 'standard'
should exactly look like, and they changed their validation tools
quite a bit over the recent years in incompatible ways...

Extended and enhanced customized AppRun script

- Add a '--ai-usage' invokation param to the AppImage which serves as
  a starting point to explore the other embedded options
- Support displaying of manual pages by running AppImage with added
  parameter '--man ...'
- Also include HTML/PDF documentation, READMEs and licenses into AppImage
- Support for more parameters: '--list-man', '--list-pdf', '--list-readme',
  '--list-license', '--list-html', '--list-exe', '--pdf', '--readme',
  '--license', '--html' and '--show-apprun'
- Support 'fix-pdf' and 'zlib-' as sub-commands (not just as symlinks)
2018-02-24 21:03:52 -05:00
Jay Berkenbilt
079711a479 Add release notes for qpdf 8.0.0 2018-02-21 20:07:16 -05:00
Jay Berkenbilt
f5265924da Reorganize README-maintainer
Update this to be a more accurate reflection of what I actually do and
to make it a better and more usable checklist.
2018-02-21 11:43:04 -05:00
Jay Berkenbilt
6a0fb71e10 Move README-maintainer back to regular text
This is how I work with the file, so this format is most convenient
for me.
2018-02-21 09:11:15 -05:00
Jay Berkenbilt
3092366936 make_windows_releases: build 32 bit first, build msvc first
Build in the order that is most likely to detect failures earlier.
2018-02-21 09:05:34 -05:00
Jay Berkenbilt
ca0d190812 Have make_dist infer the version 2018-02-21 07:03:17 -05:00
Jay Berkenbilt
82cae01a76 Bump version number and soname
Bump to an alpha release. This version is not being widely released
but is being used to push the new shared library version through the
debian packaging system and to test out github releases.
2018-02-20 21:31:38 -05:00
Jay Berkenbilt
b3dfbe3cd7 Document new command-line flags 2018-02-20 21:31:38 -05:00
Jay Berkenbilt
e429a2e170 Describe content normalization edge cases in manual 2018-02-20 21:13:08 -05:00
Jay Berkenbilt
30380b64e3 Add docker file for building app image
The official, signed AppImage will be build locally for now for
security of my key, but I still want it to be built in a clean,
controlled environment based off a suitably old Linux distribution for
maximal portability in the AppImage.
2018-02-20 20:54:31 -05:00
Jay Berkenbilt
ac4cca7c26 Change AppImage name back from QPDF to qpdf
Hopefully this is it.
2018-02-19 11:08:16 -05:00
Jay Berkenbilt
7a457f7edf Change AppImage name back from qpdf to QPDF 2018-02-19 09:36:47 -05:00
Jay Berkenbilt
00bd6a271d Streamline Windows release process 2018-02-18 22:39:00 -05:00
Jay Berkenbilt
4bb3046f0b Properly handle strings with PDF Doc Encoding (fixes #179)
The QPDF_String::getUTF8Val() method was not treating strings that
weren't explicitly Unicode as PDF Doc Encoded. This only affects
characters in the range 0x80 through 0xa0.
2018-02-18 21:06:27 -05:00
Jay Berkenbilt
2780a1871d Add C API for checking PDF files 2018-02-18 21:06:27 -05:00
Jay Berkenbilt
b72a38bf5f Reorganize some test cases
Too many test cases were "miscellaneous".
2018-02-18 21:06:27 -05:00
Jay Berkenbilt
d0e99f195a More robust handling of type errors
Give objects descriptions and context so it is possible to issue
warnings instead of fatal errors for attempts to access objects of the
wrong type.
2018-02-18 21:06:27 -05:00
Jay Berkenbilt
c2e16827b6 Replace "file position" with "offset" in error messages
Sometimes it's an offset in an object stream or a content stream, so
file position is confusing in some cases.
2018-02-18 21:06:27 -05:00
Jay Berkenbilt
52e024f701 Include omitted object description in error message 2018-02-18 21:06:27 -05:00
Jay Berkenbilt
cb3b705cf9 Include filename in object stream parse error 2018-02-18 21:06:27 -05:00
Jay Berkenbilt
21b7481b0e Push members of QPDFObjectHandle into a Members object
As in other cases, this is to enable adding new member variables in
the future without breaking ABI compatibility.
2018-02-18 21:06:27 -05:00
Jay Berkenbilt
e410b0fe0d Simplify TokenFilter interface
Expose Pl_QPDFTokenizer, and have it do more of the work of managing
the token filter's pipeline.
2018-02-18 21:05:47 -05:00
Jay Berkenbilt
1fdd86a049 Move Pl_QPDFTokenizer to public interface 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
5708b5d0aa Add additional interface for filtering page contents 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
fd02944e19 Clean up comment 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
510d45d00d General comment in ChangeLog 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
5136238f2a Detect and report bad tokens in content normalization 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
30709935af Filter tokens example 2018-02-18 21:05:47 -05:00
Jay Berkenbilt
9910104442 Implement TokenFilter and refactor Pl_QPDFTokenizer
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.
2018-02-18 21:05:46 -05:00
Jay Berkenbilt
b8723e97f4 Add coalesce contents capability 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
25988e8d10 Bug fix: content normalizer should not add trailing newline
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.
2018-02-18 21:05:46 -05:00
Jay Berkenbilt
cc108a7f1b Use pipePageContents in tokenizer test 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
6afe83978f Switch from parseContentStream to parsePageContents 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
fcd611b61e Refactor parseContentStream 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
05ff619b09 Remove redundant method
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.
2018-02-18 21:05:46 -05:00
Jay Berkenbilt
55ee55394c Use inline image token in content parser 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
ba453ba4ff Use space tokens in tokenizer filter 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
ec538792fa Use inline image token type in tokenizer filter 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
5b5f45e9dd Remove lexer rewrite notes from TODO 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
fefe25030e Inline image token type 2018-02-18 21:05:46 -05:00
Jay Berkenbilt
2699ecf13e Push QPDFTokenizer members into a nested structure
This is for protection against future ABI breaking changes.
2018-02-18 21:05:46 -05:00
Jay Berkenbilt
d97474868d Lexer enhancements: EOF, comment, space
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.
2018-02-18 20:18:40 -05:00
Jay Berkenbilt
bb9e91adbd Create isolated tokenizer tests
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.
2018-02-18 20:18:40 -05:00
Jay Berkenbilt
ebd5ed63de Add option to save pass 1 of lineariziation
This is useful only for debugging the linearization code.
2018-02-18 20:18:40 -05:00
Jay Berkenbilt
a0fd8875aa Fix typo in travis file 2018-02-18 20:17:08 -05:00
Jay Berkenbilt
cef637d8e1 Fix typo in manual page (fixes #181) 2018-02-18 20:09:18 -05:00
Jay Berkenbilt
c8dc484fdf Tweak release instructions, support signed AppImage 2018-02-18 20:09:18 -05:00
Jay Berkenbilt
894fc8ef2f Remove junk from logo ps file 2018-02-18 00:17:48 -05:00
Jay Berkenbilt
d98651c5af Fix website address 2018-02-18 00:12:41 -05:00
Jay Berkenbilt
4f47f924a1 Add logo and build status to README 2018-02-18 00:07:20 -05:00