Age | Commit message (Collapse) | Author |
|
|
|
The mark & sweep pass of garbage collection, and resolving indirect objects when grafting objects
was following the full chain of indirect references. In the unusual case where a numbered object
is itself only an indirect reference to another object, this intermediate numbered object would
be missed both when marking for garbage collection, and when copying objects for grafting.
Add a function to resolve only one step for these two uses.
The following is an example of a file that would break during garbage collection if we
follow full indirect reference chains:
%PDF-1.3
1 0 obj
<</Type/Catalog /Foo[2 0 R 3 0 R]>>
endobj
2 0 obj
4 0 R
endobj
3 0 obj
5 0 R
endobj
4 0 obj
<</Length 1>>
stream
A
endstream
endobj
5 0 obj
<</Length 1>>
stream
B
endstream
endobj
|
|
The generation number is only needed for decryption, and is assumed
to be zero or irrelevant for all other uses.
Store the original object number and generation in the xref slot, so
that we can decrypt them even when the objects have been renumbered,
without needing to pass the original object number around through
the stream loading APIs.
|
|
|
|
Affects pdfclean, pdfmerge, and pdfposter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The implementation assumed that a variable contained a number of
32-bit words when it actually contained the number of bytes hence
fz_clear_pixmap_with_value() touched memory outside of the samples
array.
|
|
The PDF repair code suffered an buffer index overflow while searching
the buffer of file data if the file (and hence the buffer) was
sufficiently small. This also happened while attempting to open a path
pointing to a directory as they are treated as zero byte files.
|
|
|
|
|
|
|
|
Import fonts from v1.004.
|
|
We had moved the ctm into the display device, which meant it
no longer transformed the bounds given to the list device to
do scissoring. Move it back.
Same fix for muraster.
|
|
In an earlier commit, I changed some of the band writing functions
to take the band starting offset, rather than the band number. This
was done to accomodate the idea of rendering the page in bands of
different heights.
Sadly, it seems I didn't push this all the way through, and had
different band writing functions still taking the band number.
Fix all the band writing functions to be consistent.
|
|
Broken due to recent API changes.
Also retire SUPPORT_GPROOF in favour of FZ_ENABLE_GPRF.
|
|
Regardless of whether rendering in background thread or not the
filename and the page number should be printed.
|
|
|
|
|
|
|
|
|
|
The values returned from the pdf_annot_{contents, author, date}
functions should not be altered, hence make it const.
|
|
GSView will make use of the details about the annotations including
the author, the date and which annotation the annotation is in
reply to. This commit provides the interface to do this easily.
|
|
The old definition for the RETURN macro relied on it either
being on a non-standard C compiler, or it being used at
the start of a block. Fix with a better macro.
|
|
|
|
Remap glyphs using presentation form code points rather than having
a separate vertical variant of the CJK font using truetype collections.
Recreate DroidSansFallback fonts from original source,
extend the glyph coverage from DroidSans,
subset the glyphs to match CJK CID collections,
and optimize the outlines using fontcrunch.
|
|
|
|
|
|
|
|
Previously 1 and 3 component images with alpha were not handled
correctly.
|
|
Commit 4a4e6adae4c1a0e9ab3b6fad477edfe26c1a2aca introduced a typo
when doing the int -> size_t conversion. This caused a coverity
warning which is now fixed.
|
|
|
|
The argument processing was expecting an argument after I.
|
|
Silly typo.
|
|
A cutdown mudraw that only copes with simple raster output.
|
|
|
|
The fonts are now under the SIL Open Font License!
Converted with AFDKO tool 'tx': tx -cff +F +S +T -b -n -gx $EXCL -a *.t1
$EXCL is the list of PUA glyphs used by PCL that we don't need in mupdf.
The Dingbats and Symbol fonts have only been regenerated from the old version,
since there are no new glyphs (but several problems) in the newest version.
|
|
|
|
|
|
To return the proper size from fz_bound_display_list, which has been
broken since the begin_page device call was removed.
|
|
Allows us to remove the out parameter 'transform' from fz_begin_page.
|
|
This stops Bug693111.pdf giving errors.
|
|
It was incorrectly missing the alpha in the header writing code.
|
|
Previously the API assumed that all bands had to be the same
height. By moving the multiplication into the caller, we can
lift that assumption.
|