summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2013-08-28Fix big endian operation of paint code.Robin Watts
Broken in recent optimisations.
2013-08-28Fix bad interaction between incremental update and object streamsPaul Gardiner
The symptoms were that, created annoations were in some cases not saved. Some updated objects withing the document were not being moved into the incremental-save xref section. That in turn was due to nodes within the hierarchy of those objects not having their parent_num field set. The objects falling foul of this problem were those held in object streams. When any one object from a stream is cached, the whole stream is read and all other objects from that stream are also cached, but only the initial one has its parent_num set. This patch ensures that all objects from a stream are accounted for. In fact, for the initially-requested object, we now set parent_num twice, but that is harmless and the code to avoid doing so wouls be an unnecessary complication.
2013-08-27A few updates to signing supportPaul Gardiner
2013-08-26Optimise fz_paint_scan_with_color and fz_paint_spanRobin Watts
2013-08-26Optimise fz_paint_affine_near and similar fnsRobin Watts
This is the single largest hotspot in J11_acrobat.pdf on the pi, by a massive margin. J12_acrobat.pdf hits fz_paint_affine_g2rgb too.
2013-08-26Remove conditional code from draw-paint.cRobin Watts
If we want the alternative versions we can pull them out of git later.
2013-08-26Optimise fz_paint_span_with_color and fz_paint_solid_colorRobin Watts
The 2 biggest hotspots in benchmarking on the Raspberry pi at 1200dpi.
2013-08-26Fix memory leak in new glyph cache code.Robin Watts
Forgot to drop the font.
2013-08-24Support named destinations in remote link annotations.Sebastian Rasmussen
Previously there was a bug when parsing GoToR link annotations that had a named destination. mupdf incorrectly attempted to resolve the destination in the current document. Now the destination name is present in the link objects returned to the application so it can resolve any names for GoToR links in the remote document instead.
2013-08-24Link annotation code rearranged for aesthetic reasons.Sebastian Rasmussen
2013-08-23Look up glyphs by the 'uniXXXX' form if the glyph list duplicates all fail.Tor Andersson
2013-08-22Rework glyph cache to enable partial eviction.Robin Watts
The current code uses a hash table with linear probing. This means that when the cache fills up, we have no alternative but to bin the whole thing (or do an expensive rebuild). Change to using a simple hash table with linked lists of bucket chains, and additional LRU lists. This way we can ditch the oldest glyphs as we need more space.
2013-08-22Add support for writing of xref streamsPaul Gardiner
Use of the feature is currently enabled only in the case that a file that already contains xref streams is being updated incrementally. To do so in that case is necessary because an old-style xref is then not permitted. This fixes bug #694527
2013-08-21Add simple memory use tracking to mudrawRobin Watts
2013-08-21Add -F flag to mudraw to allow format selection.Robin Watts
This allows us to "mudraw -F ppm -o /dev/null" etc.
2013-08-20Use unscaled metrics in xps_measure_font_glyph.Tor Andersson
2013-08-13Signature creationPaul Gardiner
2013-08-13Remove unnecessary parameterPaul Gardiner
2013-08-13Insert the extra layers required for a signature-appearance streamPaul Gardiner
2013-08-13Add support for creating signature-field appearance streamsPaul Gardiner
2013-08-07Use ascender and descender to determine line skipPaul Gardiner
We should use the leading, if present, and if not present we should probably use a value a little greater than the sum of the ascender and descender, but this is definitely a step in the right direction and improves the look of filled-in forms.
2013-08-02Correctly account for alterations to xobject matrix and bboxPaul Gardiner
2013-08-02Handle more color cases in DA handlingPaul Gardiner
2013-08-02Improve naming consistencyPaul Gardiner
2013-07-30For freetext annotations, distinguish device and page space correctly.Paul Gardiner
2013-07-30Change pdf_measure_text to account for the borders around charactersPaul Gardiner
Prevously the true bounds of the glyph were used which didn't account for the total area blocked out by a character
2013-07-29Add support for freetext annotationsPaul Gardiner
This initial commit doesn't entirely complete the task: 1) There are a couple of ucs<->winansi conversions left out, 2) The text displayed by the appearance string can slightly overflow the annotation rectangle.
2013-07-29A few updates to the pdf devicePaul Gardiner
Ensure that only base14 fonts are used Set BaseFont using the name from the font Use WinAnsiEncoding Derive the font size from the trm matrix
2013-07-26Reword mutool usage text.Tor Andersson
2013-07-26Narrow definition of whitespace according to XML spec.Robin Watts
Thanks to Tor for finding the correct definitions for me.
2013-07-26Silence 'set but not used' warnings.Tor Andersson
2013-07-26Clean up whitespace.Tor Andersson
2013-07-26Add OpenXPS mime-type to fz_open_document.Tor Andersson
2013-07-25Fix mutool poster operation.Robin Watts
2013-07-25Bug 694402: Fix various SVG output problemsRobin Watts
Images were missing a space, hence giving errors. SVG text gets confused by leading (and repeated) whitespace, so elide it.
2013-07-24Fix memory overwrites when plotting glyphs that are completely clipped.Robin Watts
This bug has been in here for ages, but was masked by a bug in the gel clipping that was fixed by Tor earlier.
2013-07-24Fix leak of pdf_field_value.Robin Watts
pdf_js_setup_event strdups the field value, then nothing ever uses it again.
2013-07-24Bug 694429: Fix potential overflows in sprintf in pdfextractRobin Watts
Thanks to Pengsu Cheng for pointing out the problem.
2013-07-24Fix MIN/MAX confusion in edge list clipping.Tor Andersson
The case with infinite scissor didn't work.
2013-07-22Collect together all code to do with appearance-stream creationPaul Gardiner
2013-07-22Bug 694431: Fix potential infinite loop.Robin Watts
Thanks to "willus" for pointing out this problem.
2013-07-19Initial work on progressive loadingRobin Watts
We are testing this using a new -p flag to mupdf that sets a bitrate at which data will appear to arrive progressively as time goes on. For example: mupdf -p 102400 pdf_reference17.pdf Details of the scheme used here are presented in docs/progressive.txt
2013-07-12Set /Parent entry when inserting a page into the page tree.Tor Andersson
2013-07-12Throw exception on invalid page objects when looking up page numbers.Tor Andersson
Also handle exceptions when parsing link destinations.
2013-07-11Silence a few warnings.Tor Andersson
2013-07-11Fix pdf_count_pages_before_kid to cope with /Page with /Count in.Robin Watts
2013-07-11Remove depth counter from page/resources lookups.Robin Watts
Instead of just relying on a depth count (which can easily be fooled by poor but valid files) use mark/unmark based schemes for pdf_lookup_inherited_page_item and pdf_lookup_page_number.
2013-07-11Hoist count skipping up to before we recurse.Tor Andersson
2013-07-11Implement dynamic page tree lookups.Tor Andersson
No more caching a flattened page tree in doc->page_objs/refs. No more flattening of page resources, rotation and boxes. Smart page number lookup by following Parent links. Naive implementation of insert and delet page that doesn't rebalance the trees. Requires existing page tree to hook into, cannot be used to create a page tree from scratch.
2013-07-04Update pdf_write_document to support incremental updatePaul Gardiner