summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2018-02-27Add annotation QuadPoints creation functions.Tor Andersson
2018-02-27Add annotation Line access functions.Tor Andersson
2018-02-27Add annotation Vertices creation functions.Tor Andersson
2018-02-27Add annotation InkList creation functions.Tor Andersson
2018-02-27Get border width from BS/W if Border is missing.Tor Andersson
2018-02-27Return correct default icon names for optional annotation property.Tor Andersson
2018-02-27Don't set a (useless) rectangle when creating annotations.Tor Andersson
2018-02-27Fix fz_expand_rect in presence of empty rectangles.Tor Andersson
2018-02-27Add fz_expand_irect function.Tor Andersson
2018-02-27Add fz_translate_rect helper function.Tor Andersson
2018-02-27svg: Fix circle/ellipse drawing.Tor Andersson
2018-02-27Fix bug in pdfshow (confusion between indirect/resolved streams).Tor Andersson
2018-02-27Remove typedef in favor of explicit enum keyword.Tor Andersson
Avoids the silliness of fz_annot_type pdf_annot_type().
2018-02-27Fix bug in pdf_annot_icon_name.Tor Andersson
2018-02-27Print newline at end of pdf_debug_obj.Tor Andersson
2018-02-27Don't use constants larger than will fit in a signed int in enum.Tor Andersson
2018-02-27Use text encoding for pdf_choice_widget options and values.Tor Andersson
Adds a requirement on the caller to free the returned strings.
2018-02-27Use proper encoding for pdf_field_value and update_field_value.Tor Andersson
2018-02-27Accept NULL in fz_drop_output.Tor Andersson
2018-02-27Recognize Adobe illustrator files as PDF format.Tor Andersson
2018-02-23Include a font's style in its name.Paul Gardiner
We were previously using the font's family as its name. Now if only one of family and style are defined we use that. If both are present we concatenate family and style with an intervening space, unless style already has family as a prefix, in which case we just use the style. Better would be to use the font's full name, but that is more difficult to obtain via the freetype API.
2018-02-14Remember to end knockout group when drawing image.Sebastian Rasmussen
2018-02-14Bug 698890: Remember to end groups when showing images.Sebastian Rasmussen
2018-02-13Bug 698901: Drop pixmaps/knockout group upon error when ending group.Sebastian Rasmussen
Previously the call to fz_convert_pixmap() threw causing a destination pixmap leak. This illustrated a bigger issue with the error handling so now all types of pixmaps are dropped and care is taken to also end the knockout group, should there be any.
2018-02-13Avoid revisiting the same page tree node repeatedly.Sebastian Rasmussen
Only attempt to progress to new page tree nodes if a new node to process has actually been found. Previously if e.g. doc.findPage(1) was called in murun for a single page document the error message was "cycle in page tree" because the single page tree node was visited twice. Now the error message is "cannot find page 1 in page tree", which is more accurate.
2018-02-13Add JNI and JS bindings to layer device calls.Tor Andersson
2018-02-13Add fz_begin_layer/fz_end_layer.Robin Watts
Call these from the PDF interpreter. Make the DisplayList and Trace devices cope. Use these in the SVG output device.
2018-02-13mutool extract: Don't save raw CMYK jpegs when the -r flag is enabled.Tor Andersson
2018-02-13Use indirect references when pre-loading image resources.Tor Andersson
Don't use directly loaded objects; since the image code assumes that you always use an indirect reference to the dictionary/stream.
2018-02-13Bug 699018: Null terminate buffer in fz_snprintf() even if too short.Sebastian Rasmussen
Previously the trailing null terminator would not be written if the formatted string ended up longer than the buffer.
2018-02-12jbig2: Improve error message.Sebastian Rasmussen
2018-02-12jbig2 globals are streams, this implies indirect references.Sebastian Rasmussen
Previously mupdf would attempt to load any indirect reference, whether it was a stream or not.
2018-02-12Bug 698998: Avoid recursion when opening jbig2 image streams.Sebastian Rasmussen
Previously the JBIG2 globals object might be indirect and if that reference pointed to the object containing the stream itself then mupdf would recurse until running out of error stack. Thanks to oss-fuzz for reporting.
2018-02-12Expose detailed PDF permissions.Tor Andersson
2018-02-12Fix changed annotations not marked as dirtyPaul Gardiner
Events such as mouse up/down can cause a change to the appearance of a widget annotation. That the change has happened is flagged by incrementing the iteration count of the appearance stream. The widget is then recognised as dirty when the ap_iteration value, stored in the pdf_widget structure, differs from the appearance stream's actual iteration. This commit removes a line of code that wrongly reset the iteration to 1 each time load_or_create_form was called, hence masking the widget being dirty.
2018-02-08Bug 698996: Disallow "" as owner password unless user password also "".Robin Watts
2018-02-08Add 'null' output device so we can remove NULL checks in hot functions.Tor Andersson
2018-02-08Add FZ_DEBUG_HTML option to EPUB parser.Tor Andersson
2018-02-08Fix 698991: The pdf_is_stream call is too generous.Tor Andersson
It should only return true for indirect references that are actually streams, not just any array/dict that is contained in a stream object.
2018-02-08Fix 698918: Use encryption when doing initial object formatting to count the ↵Tor Andersson
length.
2018-02-08Fix silly mistake in fz_output buffering.Tor Andersson
fz_write_byte forgot to write the byte after needing to flush the buffer.
2018-02-06Workaround for Android: include limits.h where SIZE_MAX is used.Sebastian Rasmussen
SIZE_MAX is surprisingly supposed to be in stdint.h, but Android headers for API levels < 21 accidentally put SIZE_MAX in limits.h. Headers for API levels >= 21 correctly moved SIZE_MAX to stdint.h. This is the situation for Android NDK r14 and earlier. Android NDK r15 and later implement a header unification strategy: all sets of headers for each API level are combined into a single set of headers covering all API levels. Any differences are expressed by #ifdeffing on __ANDROID_API__. When this was done the moving of SIZE_MAX from limits.h to stdint.h was kept and, importantly, no #ifdefs were used in limits.h/stdint.h concerning SIZE_MAX. This means that the move of SIZE_MAX was retroactively introduced for API levels < 21 in Android NDK r15 and later. For this reason whenever mupdf uses SIZE_MAX it must include both: * stdint.h (not just in order to follow the POSIX specification, but also to compile successfully using Android NDK r15 and later) * and limits.h (in order to compile successfully using Android NDK r14 and earlier) Hence these need to include both stdint.h and limits.h, because: * source/fitz/memory.c uses SIZE_MAX * source/fitz/store.c uses SIZE_MAX The mupdf header include/mupdf/fitz/system.h includes stdint.h so any file that includes system.h will automatically have stdint.h This is true for both files. limits.h on the other hand needs to be explicitly included by whomever uses SIZE_MAX. This was already done by source/fitz/store.c but not by source/fitz/memory.c, but has now been added.
2018-02-06Include limits.h where INT_MAX/INT_MIN/PATH_MAX/UINT_MAX are used.Sebastian Rasmussen
2018-02-06Bug 698986: Remember to fz_var() variable dropped in fz_catch().Sebastian Rasmussen
2018-02-06Bug 698989: Throw upon unsupported bpc when unpacking image.Sebastian Rasmussen
Previously mupdf would silently ignore this situation and leave the buffer uninitialized leading to further issues. Thanks to oss-fuzz for reporting.
2018-02-06Bug 698990: Start new run of font width only if not at end.Sebastian Rasmussen
Previously, while at the very last glyph mupdf would allocate a new array for a run of distinct glyph widths and then not drop it while leaving the function. Now a new run of font widths is only started if not at the very last glyph.
2018-02-06Bug 698988: Handle out of range predictors in filter.Sebastian Rasmussen
Thanks to oss-fuzz for reporting.
2018-02-06Remove redundant call to fz_rethrow().Sebastian Rasmussen
2018-02-06Make sure to drop colorspace upon exception drawing contents.Sebastian Rasmussen
2018-02-06Free fz_output cache buffer when dropping fz_output.Sebastian Rasmussen