Age | Commit message (Collapse) | Author |
|
There is a regression for 2325_-_JPX_image_with_padding_rejected.pdf.
Object 3 in that document is a JPX-encoded image. Its EOC marker is
preceded by two extra bytes of data, 0x80 0x80. This makes the file
broken according to the JPEG 2000 specification.
Acrobat Reader and the Kakadu JPX decoder accepts this file without
issues, so OpenJPEG 2.1.0 added code to fix this (bug 226, commit
005e75bdc). That fix detects exactly two bytes of 0x80 0x80, a rather
brittle fix. Adding more padding or changing the padding byte values
is not accepted. Adding more padding is acceptable to Acrobat Reader
and Kakadu. An unrelated fix for another problem has since broken
OpenJPEG's support for this broken image.
|
|
|
|
|
|
|
|
|
|
This requires subclasses of Device to implement its full interface.
It also makes the compiler complain if there is a difference between
the interface in Device and its subclasses. The drawback is that
all Devices are required to implement all methods, but that is an
easy hurdle to overcome. This change found the discrepancies between
the Device, NativeDevice and TraceDevice interfaces fixed in the
previous commits.
|
|
Several previous updates to the Device interface required updates
to TraceDevice but were forgotten.
|
|
|
|
|
|
|
|
|
|
Abstract methods in interfaces offer no implementation and are
implicitly declared public, making a public access modifier
redundant.
|
|
|
|
|
|
|
|
|
|
Ensure that the generated libmupdf includes all library
dependencies within it. This makes life easier for people linking
MuPDF into their own projects as there is just one lib to include
rather than a range of them that vary according to condfiguration.
Fix 64bit Memento builds of libpkcs7.
Remove double definitions of jpeg_get_small etc that are now
shown up because of the libraries being merged into one.
|
|
|
|
Offer signing support only if we have libcrypto.
|
|
|
|
|
|
|
|
Follow bin2coff layout for hexdumped data instead of trying to emulate
the objcopy layout (which seems to break for the android tools).
Only use the basename of the resource in hexdump / bin2coff.
Ifdef on HAVE_OBJCOPY instead of _WIN32.
|
|
|
|
|
|
The macro is only set when building the pkcs7-helper library, so cannot
be used by client code. Build stub functions when compiling the
pkcs7-openssl helper library without libcrypto.
|
|
|
|
|
|
|
|
The intent is for a user to iterate over the annotations on a page calling
pdf_update_annot for each one. If this function returns true, then the
annotation has changed since the last time it was called, and the user
needs to re-render.
pdf_update_page is a simple loop over the annotations on a page, for use
if you only care about page level granularity.
Users should no longer look at or change the pdf_annot.has_new_ap field.
|
|
|
|
We need to do this, because much can change on saving, objects renumbered
and moved, and we could run into inconsistencies between the file and
in-memory information. This function was already reopening in the case
of saving back to the same file, but in other cases.
|
|
|
|
|
|
|
|
|
|
All the "Sign" button does for now is recreate the appearance stream.
|
|
|
|
|
|
Create a matrix that transforms a page with resolution and rotation,
and grid fits the resulting bounding box.
|
|
|
|
|
|
Several things irk me about passing values as const pointers:
* They can be NULL, which is not a valid value.
* They require explicit temporary variables for storage.
* They don't compose easily in a legible manner, requiring
weird pointer passing semantics where the variable being assigned
is hidden as an argument in the innermost function call.
* We can't change the value through the pointer, requiring yet more
local variables to hold copies of the input value.
In the device interface where we pass a matrix to a function, we often
find ourselves making a local copy of the matrix so we can concatenate
other transforms to it. This copying is a lot of unnecessary busywork
that I hope to eventually avoid by laying the groundwork with this
commit.
This is a rather large API change, so I apologize for the inconvenience,
but I hope the end result and gain in legibility will be worth the pain.
|
|
|
|
Updates the input point coordinates, and also returns a quad with
appropriate UI handles.
|
|
|
|
Since the function no longer returns ownership of the string, use the
common naming convention.
|
|
|
|
The Dingbats and Symbol fonts have not been changed.
|
|
|