Age | Commit message (Collapse) | Author |
|
|
|
The calc.pdf specific version of pdf_jsimp is no longer needed and hence
dropped.
|
|
|
|
This also provides a way to test whether interactive methods
are supported.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To achieve sufficient accuracy, non-integer font sizes were being used,
which MuPDF can handle, but may be illegal. The text matrix is the better
method.
|
|
|
|
|
|
|
|
ensures that saving before the user fills out the field will put sensible contents in the file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I forgot to free the stack in the reworked page loading. Fixed
here. Thanks to Zeniko for pointing it out.
|
|
We were mapping from one enum range to another, and then using
the unmapped value.
|
|
Avoid recursion in pdf_load_page_tree_node.
Avoid recursion (most of the time) in pdf_read_xref_sections.
|
|
The test in mupdf for 'is more than one tile needed' is wrong,
as it assumes that tile bboxes start at 0. Fix that, and
everything else should work OK.
|
|
Use this to reintroduce "Document Properties..." in mupdf viewer.
|
|
Most of the changes mupdfclean makes to a file are purely textual
(streams are decompressed etc), but some objects can undergo changes
due to being read in, and then written out. Notably in this class
are floats. For instance, the mediabox in Bug689189.pdf contains
2125.984, which when written out with the current code gives 2125.98.
This is enough of a difference to cause rendering changes.
By upping the precision (instead of %g use, %1.9g) we get better
results; we now output 2125.9839, which is much closer (and in fact
has the same float representation when read back in).
This drastically reduces the differences between a rendering of
Bug689189.pdf and the uncompressed version, but we still have
differences - in shadings, it seems.
|
|
Don't reset the size of arrays until we have successfully resized them.
|
|
While debugging Bug 692943, I spotted a case where we can attempt to
unlock the file while we don't hold the file lock due to an error
being thrown while we momentarily drop that lock. Simple solution
is to add a new fz_try()/fz_catch() to retake the lock in such
an error circumstance.
|
|
Put the logf call in it's own statement to fix a stupid header file
bug.
|
|
|
|
Previously we attempted to honour page rotation values, which is
technically against the spec.
|
|
It seems that JPX images can be supplied in indexed format, with
both a palette internal to the jpx stream, and a palette in the
PDF. Googling seems to suggest that the internal palette should
be ignored in this case, and the external palette applied.
Fortunately, since OpenJPEG-1.5 there is a flag that can be used
to tell OpenJPEG not to decode palettes. We update the code here
to spot that there is an external palette, and to set this flag.
|
|
Looks like my launch annotation code was incorrect, hence giving
the empty string for all FZ_LINK_LAUNCH types; fixed here.
|
|
Move fz_stroke_state from being a simple structure whose contents
are copied repeatedly to being a dynamically allocated reference
counted object so we can cope with large numbers of entries in
the dash array.
|
|
When we fail to be able to cache an object, we warn and return NULL.
An indirection cycle should probably be treated the same way.
From SumatraMuPDF.patch - Many thanks.
|
|
Spotted from SumatraMuPDF.patch. Many thanks.
|
|
|
|
Debug printing functions: debug -> print.
Accessors: get noun attribute -> noun attribute.
Find -> lookup when the returned value is not reference counted.
pixmap_with_rect -> pixmap_with_bbox.
We are reserving the word "find" to mean lookups that give ownership
of objects to the caller. Lookup is used in other places where the
ownership is not transferred, or simple values are returned.
The rename is done by the sed script in scripts/rename3.sed
|
|
|
|
|
|
When bitshifting by a negative amount, we should shift right; thanks
to Sebras' work in this area, I spotted that we are attempting to
shift right by a negative number.
|
|
Floating point numbers are now clamped, division by zero is
approximated by minimum or maximum value and NaN results in 1.0.
|
|
Add some function documentation to fitz.h.
Add fz_ prefix to runetochar, chartorune, runelen etc. Change
fz_runetochar to avoid passing unnecessary pointer.
|
|
|
|
Attempt to separate public API from internal functions.
|