summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-13Add missing include.Robin Watts
Without this we don't pick up FZ_ENABLE_GPRF from the header correctly.
2016-09-13Bug 696984: Type 3 fonts bbox fixes.Robin Watts
The upshot of debugging this is that: 1) We can't trust the FontBBox. Certainly it appears that no one else trusts it. 2) We can't trust the d1 values in all cases, as it can lead to use rendering glyphs far larger than we'd want to. So we have the compromise used here. 1) We never clip to the FontBBox. 2) If the FontBBox is invalid, then we calculate the bbox from the contents of the data streams. 3) If the FontBBox is valid, and the d1 rectangle given does not fit inside it, then we calculate the bbox from the contents of the data streams. This could theoretically produce problems with glyphs that have much more content than they actually need, and rely on the d1 rect to clip it down to sanity. If the FontBBox is invalid in such fonts, we will go wrong. It's not clear to me that this will actually work in Acrobat/ Foxit/gs etc either, so we defer handling this better until we actually have an example. Tested with bug 694952, and bug 695843 which were the last 2 in this area.
2016-09-13Fix compiler warning.Tor Andersson
2016-09-12Add UsePDFX3Profile option to gproof deviceMichael Vrhel
The gproof device should make use of the output intent if it exists.
2016-09-12Correct rounding in gproof skeleton files.Robin Watts
In the gproof pipeline MuPDF first generates a skeleton file with page sizes in. Then it gets gs to generate individual pages for that file. In one case, the pdf file has a height of 203.4 - at 300dpi that's 847.5 device pixels. MuPDF was rounding that up to 848pixels, whereas gs was rounding it down to 847, causing an error on load. Adjust MuPDFs skeleton file generation so that it matches gs.
2016-09-09Fix incorrect type usage.Robin Watts
MSVC is obviously more picky than linux in some cases.
2016-09-09Fix VS2005 build; missing stat definition.Robin Watts
Windows requires sys/stat.h to be included.
2016-09-09Add newly added files missing from VS project.Robin Watts
2016-09-08Use fz_vsnprintf() in x11 viewer.Sebastian Rasmussen
2016-09-08Limit length of fontfile name in fontdump.Sebastian Rasmussen
2016-09-08Add options to control heuristics in structured text.Sebastian Rasmussen
2016-09-08Make fz_option_eq() available outside of pdf-writer.Sebastian Rasmussen
2016-09-08Handle too big pixmap by printing error message in X11 viewer.Sebastian Rasmussen
2016-09-08JS: Add Path.bound() and Path.transform() similar to JNI.Sebastian Rasmussen
2016-09-08EPUB and XPS may only be zip archives or directories.Sebastian Rasmussen
2016-09-08Add support for GNU tar archives.Sebastian Rasmussen
2016-09-08Make fz_archive a generic archive type.Sebastian Rasmussen
Previously it was inherently tied to zip archives and directories. Now these are separated out into distinct subclasses. This prepares for support for further archive formats.
2016-09-08JNI: Separating big fz_try()s into smaller scopes.Sebastian Rasmussen
By making the scope smaller fitz exceptions and Java exceptions can be disentangled. This makes it clearer what happens in failure cases.
2016-09-08JNI: Remove redundant cleanup.Sebastian Rasmussen
2016-09-08JNI: Delete local reference to text span font.Sebastian Rasmussen
If a large number of text spans uses a huge number of fonts the JMV may run out of local references since we never cleaned up the local reference to the font objects.
2016-09-08JNI: Copy data back to Java arrays.Sebastian Rasmussen
The Java arrays are the destination when reading from Buffer.
2016-09-08JNI: Make sure to keep fitz objects passed to Java objects.Sebastian Rasmussen
2016-09-08JNI: Handle errors from AndroidBitmap_unlockPixels().Sebastian Rasmussen
2016-09-08JNI: Move failure testing code outside of fz_try().Sebastian Rasmussen
2016-09-08JNI: Use Android enum for detecting failure.Sebastian Rasmussen
2016-09-08JNI: Add a number of new to_*() C to Java conversions.Sebastian Rasmussen
Adding to_Rect_safe(), to_jRectArray_safe(), to_ColorSpace_safe() to_Image_safe() and to_Point_safe() disentangles fitz exceptions from Java exception and also makes the code more uniform.
2016-09-08JNI: Handle exceptions from JVM properly.Sebastian Rasmussen
2016-09-08JNI: Cosmetic reordering of code.Sebastian Rasmussen
Including removal of unnecessary #ifdef.
2016-09-08JNI: Throw OutOfBoundsException for out of range values.Sebastian Rasmussen
2016-09-08JNI: Throw IOException when Buffer fails to read/write.Sebastian Rasmussen
2016-09-08JNI: Make exceptions unchecked.Sebastian Rasmussen
Previously all exceptions thrown by the library would be converted into checked exceptions, but there was no sensible response to expect from a client.
2016-09-08JNI: Check arguments and throw suitable exceptions.Sebastian Rasmussen
2016-09-06Devices now handle colorspace being NULL as alpha-only.Sebastian Rasmussen
2016-09-06Luminosity transparency group must have colorspace when used as softmask.Sebastian Rasmussen
Previously no fallbacks happened if the colorspace was not set, now gray is assumed. The reason this is safe is that the softmasks backdrop color entry is always filled with one component value (possibly being 0) matching the gray component of the colorspace.
2016-09-05Mutool clean: Avoid "Not a dict (<NULL>)" errorRobin Watts
If there are no outlines, don't throw an error trying to strip them.
2016-09-05mutool clean: Fixes seen as part of bug 697092 investigation.Robin Watts
Firstly, we avoid compressing streams if they get bigger. Secondly, we ensure that we always update the Length field. Seen as part of the investigation into bug 697092, though not the actual cause. Thanks to Tor for the latter part of the fix.
2016-09-01Use fz_convert_color().Sebastian Rasmussen
In preference to colorspace internal to_rgb() function pointer.
2016-09-01JNI: Support size() and push() for arrays.Sebastian Rasmussen
2016-09-01JNI: Keep arguments before giving them to constructor.Sebastian Rasmussen
The arguments will be freed by the finalizer of the object. The finalizer for an object is called even if the constructor throws an Exception or an OutOfMemoryError.
2016-09-01JNI: get_context() may throw error and should be handled separately.Sebastian Rasmussen
2016-09-01JNI: Do not check self pointer, it is always valid.Sebastian Rasmussen
If an object reference is NULL the JVM will signal NullPointerException before the JNI-code is executed.
2016-09-01JNI: Check for exceptions after calling method.Sebastian Rasmussen
The return value from CallObjectMethod() is not valid if an exception is thrown, so check for exceptions before looking at the return value. Mentioned at http://developer.android.com/training/articles/perf-jni.html
2016-09-01JNI: Use short form of NULL checks.Sebastian Rasmussen
2016-09-01JNI: Use jboolean/JNI_TRUE/JNI_FALSE everywhere.Sebastian Rasmussen
2016-09-01JNI: Whitespace/comment/error message cleanup.Sebastian Rasmussen
2016-09-01JNI: Remove unused nativeAnnots/-Links.Sebastian Rasmussen
2016-09-01JNI: Remove unused variables and cast byte array region.Sebastian Rasmussen
Fixes two compiler warnings.
2016-09-01JNI: Update to new pdf_load_stream interface.Sebastian Rasmussen
2016-09-01Always use glyph aliases when creating encoding tables.Tor Andersson
We were only looking through the glyph name alias list for Type1 fonts. Change the encodings for truetype to use the full glyph list alias list as a fallback when the regular encoding by code point fails.
2016-09-01pdf: Load/open streams by indirect reference object when possible.Tor Andersson