Age | Commit message (Collapse) | Author |
|
|
|
We want to turn pdf_page into a thin wrapper around a pdf_obj, so that
any updates to the underlying PDF objects will be reflected without
having to reload the pdf_page.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Allows testing of SUPPORT_GPROOF builds on windows.
|
|
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.
|
|
|
|
Font names changed with the update of the base 14 fonts
to the latest release from URW. The project file
had to be updated with the new names. Also the Droid
font names had changed so generate.bat was updated.
|
|
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.
|
|
|
|
|
|
|
|
|