Age | Commit message (Collapse) | Author |
|
PDF 1.2 and prior treats # in PDF names to be regular characters.
PDF 1.2 and later treats # as escape characters for character hex
codes. Previously illegal hex codes, e.g. #BX, were partially
parsed as escaped hex codes and the illegal remainder parsed as
regular characters. Now illegal hex codes are handled as
consisting entirely of regular characters. Note that character
code 0 is also considered to be an illegal hex code.
|
|
Previously the parser would cut these names short
and then parse the remainder as a separate name.
|
|
Add an option to the structured text device to preserve images.
If the PDF processor does not have ops to process images, then skip
loading them in the interpreter if possible. If the device does not
have any image callbacks, then don't set the image processing ops in
the run device.
This accomplishes the same effect as the device hints were intended
to do, but without needing to expose them to the PDF interpreter
which may not even have a device since we now have multiple PDF op
processors.
|
|
|
|
|
|
|
|
|
|
Do the typecasting in the functions instead, reducing the risk
of function prototype mismatches.
|
|
|
|
Replace fz_print_hash with fz_hash_for_each iterator.
Use string formatting callback.
|
|
That's where it's actually being used.
|
|
Don't depend on stdio.h for our own I/O functions.
|
|
|
|
|
|
There is only one implementation, so don't bother with the abstraction.
Just use pdf_function directly.
|
|
|
|
|
|
|
|
|
|
Previously the default color of ink annotations was red, but
according to the pdf specification the default color should be
colorless transparent if no color is given.
|
|
|
|
|
|
This makes is possible for JNI code to depend on the
library for error handling.
|
|
This allows for overlaps, merges adjacent (mergeable) ranges
and gets us properly searchable results.
This causes 1 diff in the test suites (Bug694353.pdf), which is
due to the fallback font not having a hypen present at UCS 0x2010.
|
|
|
|
A document handler normally only exposes a list of extensions and
mimetypes. Only formats that use some kind of extra detection mechnism
need to supply a recognize() callback, such as xps that can handle
.xps-files unpacked into a directory.
|
|
Remove AdobeCA.p7c from autogenerated files. Just include the
array in the source.
Simplifies makefile dependencies and makes the sizes of each
bit of data easier to look at.
It also paves the way for eventually using objcopy to create binary
objects for the fonts instead of needing to use hexdump.
|
|
|
|
|
|
|
|
|
|
To make it possible to avoid casting in most cases.
|
|
More consistent with the rest of the code.
|
|
In keeping with the rest of the code.
|
|
|
|
Instead of having fz_new_XXXX(ctx, type, ...) macros that call
fz_new_XXXX_of_size etc, use fz_new_derived_...
Clearer naming, and doesn't clash with fz_new_document_writer.
|
|
Moves document_writers into the same style as
fz_new_{image,document,page} etc.
|
|
Move this into the same style as fz_new_document and
fz_new_image.
|
|
Call fz_append_string instead of fz_append_printf for static strings.
Call fz_write_string instead of fz_write_printf for static strings.
|
|
Rename fz_write to fz_write_data.
Rename fz_write_buffer_* and fz_buffer_printf to fz_append_*.
Be consistent in naming:
fz_write_* calls write to fz_output.
fz_append_* calls append to fz_buffer.
Update documentation.
|
|
Still need specialty tools for namedump and cmapdump.
|
|
|
|
|
|
The bug report has an embedded truetype font with 7 different
mac roman cmaps. Only the first one has the expected behavior,
but we were picking up the last one.
|
|
When encoding truetype fonts via the mac roman cmap table, we should be
using the additional entries introduced in PDF 1.5, which are different
from the standard MacRomanEncoding table in the appendix.
|
|
Use TJ array with individual glyph positioning adjustments when possible.
|
|
Loading outlines wants to look up all link destinations, and doing the
normal link destination lookups triggers loading all page objects used.
This means we need to parse a lot of objects, which can be quite slow.
We can load the page tree faster by only looking at intermediate page
tree nodes. If we load the page tree and create a reverse lookup
table for use when loading the outline, we can speed up the time to
run 'mutool show pdfref17.pdf outline' from 900ms to 100ms.
|
|
|
|
Customer request to enable finer control based on which
password authenticates.
|
|
Cope better with errors during rendering - avoid letting the
gstate stack get out of sync.
This avoids us ever getting into the situation of popping
a clip when we should be popping a mask or a group. This was
causing an unexpected case in the painting.
|