summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2016-04-19Add mutool mergeMichael Vrhel
This commit adds a page merging tool. The tool demonstrates the use of object grafting. The object grafting function recursively goes through the object to add all referenced objects. A map is maintained to ensure that objects that have already been copied are not copied again.
2016-04-18Fix broken documents after sanitizeRobin Watts
The DP and BDC operators, are used in the form: <NAME> <PROPERTIES> <OPERATOR> where <PROPERTIES> can either be a name (that can be looked up to get a dictionary) or an inline dictionary. What the spec doesn't say is that the two are not interchangeable. If you resolve the name to an inline dict, then insert it, Acrobat will give an error for some (but not all) cases. The interpreter currently resolves any references, and passes the resolved version into the operator handling function. This precludes us outputting the original form. We therefore update it to pass both the raw and the cooked versions in. This has no effect on MuPDFs own handling of anything, it just enables the buffer device to output a correct stream.
2016-04-18Fix corruption of file using sanitize.Robin Watts
When sanitizing a file, while cleaning with decompression, I was seeing a flate problem reported. The issue is that pdf_open_filter was passing pdf_open_raw_filter the orig_num as both num and orig_num. This was causing us to find an fz_buffer attached to the (wrong) xref entry and to open that instead of the underlying stream. The fix is to propogate num a bit further.
2016-04-18Fix leak of pdf_obj.Robin Watts
Use pdf_dict_put_drop rather than pdf_dict_put to avoid leaking int pdf_obj.
2016-04-12Fix some warnings.Robin Watts
Remove some bonkers conditions arising (presumably) as a result of search and replace.
2016-04-12Silence some warnings in release builds.Robin Watts
2016-04-12Fix PDF annotations not appearing after creation.Robin Watts
Caused by a mismatch in the annotation creation/loading code.
2016-04-11Bug 696696: Avoid leak when cleaning with sanitize.Robin Watts
If we rewrite a page content stream, and then drop that entire page we shouldn't leak the buffer. Or to put it another way, when we change the obj for an xref entry, ditch the cached stm_buf.
2016-04-06epub: Avoid passing 'em' argument explicitly.Tor Andersson
It's implicit in the 'top' box.
2016-04-06epub: Handle font-size in nested inline elements.Tor Andersson
Point to the box struct rather than its style, so we can look at its resolved em size. Also make sure to resolve em sizes for inline boxes.
2016-04-06epub: Fix vertical-align: text-top and text-bottom.Tor Andersson
2016-04-06epub: Skip root box during layout so we don't apply page margins twice.Tor Andersson
2016-04-06epub: Remove debug logging printfs.Tor Andersson
2016-04-06Split encoded ligatures (as from PDF) properly in text extraction.Tor Andersson
2016-04-06epub: Try to keep to one fz_text per paragraph.Tor Andersson
We will need to split if the color changes, or an image is spliced in. List item bullets also get their own fz_text element.
2016-04-06epub: Change order of arguments to fz_draw_html.Tor Andersson
2016-04-05Add 'Low Memory' mode to Mutool draw.Robin Watts
If used, PDF objects are cleared at the end of each page, and the store size is set to 1 byte, avoiding the caching of images. This trades repeated decoding of images/reading of file objects for memory usage. The purpose of this is to enable measurements to be made on the minimum possible memory level.
2016-04-05Add threaded operation to mudraw.Robin Watts
2016-04-05epub: Don't conflate dimensioned lengths with untyped numbers.Tor Andersson
2016-04-05Handle many-to-one and many-to-many clusters in structured text extraction.Tor Andersson
2016-04-05epub: Respect HTML 'dir' attribute.Tor Andersson
Default to "ltr" (unhelpfully, but that's the spec). Handle ltr, rtl, and auto values.
2016-04-05Clean up bidi enum names.Tor Andersson
And use the same enum for both the internal bidi code and the layout code.
2016-04-04Fixed signed/unsigned comparison warnings.Robin Watts
2016-04-04Fix multi-threaded leak of style context.Robin Watts
Either the style context shouldn't be shared, or it shouldn't be incremented when we clone it. Sharing it seems correct to me, but we should protect reading it against simultaneous changes.
2016-04-04epub: Add harfbuzz bypass for fonts without opentype tables.Tor Andersson
In certain simple circumstances, we can bypass harfbuzz shaping and gain a lot of performance.
2016-04-04epub: Simplify harfbuzz glyph cluster mapping and positioning.Tor Andersson
Remove the need for type punning, and make it behave more robustly for indic languages.
2016-04-04Always set glyph_count!Tor Andersson
We were setting it to zero if not building a bbox table, which caused havoc with the advance width caching.
2016-04-04Add glyph names to trace device output.Tor Andersson
2016-04-04epub: Add stripped Charis SIL font to use as the default font for EPUB.Tor Andersson
2016-04-04Fix typo in pdfwrite top-level matrix.Tor Andersson
2016-03-31Initialize pdf write options to zero in pdfclean.Tor Andersson
2016-03-31Initialize disabled document writing flags to zeroSebastian Rasmussen
Also remove redundant assignments. Fixes http://bugs.ghostscript.com/show_bug.cgi?id=695968
2016-03-31Clean up some whitespace.Tor Andersson
2016-03-31html: Tweak how builtin font families are loaded.Tor Andersson
2016-03-30Use the font bbox for bounding empty glyphs.Robin Watts
This avoids the displaylist device not playing back space glyphs.
2016-03-30Use fz_new_document for pdf and html docs.Robin Watts
In particular for html docs we were getting the refcount wrong, causing us to leak on closedown.
2016-03-30HTML Layout: avoid problems with emitting text several times.Robin Watts
If a "word" of HTML is split into several fragments by the string walker (due to glyphs not being available in the same font) then we'd previously have walked too much of the string when pulling glyphs out of the harfbuzz buffer. Only walk as much as we should.
2016-03-29Fix typo in "Tweak html-layout harfbuzz code" commit.Tor Andersson
2016-03-29pdf-crypt: Crypt filer keys must be at least of length 40.Sebastian Rasmussen
This is stated in table 3.22 in PDF Reference 1.7. Fixes valgrind errors for SIGABRT-090214-045131-116.pdf from bug 695040.
2016-03-29epub: Fix sign inversion in harfbuzz y-offsets.Tor Andersson
Combining marks were being offset in the wrong direction vertically.
2016-03-29bmp: Optimize reading of bitmap image data.Sebastian Rasmussen
2016-03-29bmp: Add support for decoding 24-bit RLE images.Sebastian Rasmussen
2016-03-29bmp: Add support for extra alpha mask.Sebastian Rasmussen
2016-03-29bmp: Add support for embedded PNG images.Sebastian Rasmussen
2016-03-29bmp: Add support for embedded JPEG images.Sebastian Rasmussen
Reintroduce fz_load_jpeg() (previously removed in 12c1466) improved with: * application agnostic memory handler support from 6a8abce * colorspace context from 93bd1ff * resolution detection from 4dc6cbe
2016-03-29bmp: Add support for 4-bit bitmasks.Sebastian Rasmussen
2016-03-29bmp: Improve fallback handling of palette color entries.Sebastian Rasmussen
* Use a better 4-bit fallback palette (use vga palette as indicated by variable name instead of 16 color web palette) * Determine if existing palette entries are grayscale and if so use a grayscale palette instead of the vga or web palette * Extend the web palette with black entries to make it eaiser to copy from.
2016-03-29bmp: Parse OS/2 header compression field correctly.Sebastian Rasmussen
2016-03-29bmp: Only allow in range bitcounts for uncompressed images.Sebastian Rasmussen
2016-03-29bmp: Add identifiers for compression instead of hardcoded values.Sebastian Rasmussen