Age | Commit message (Collapse) | Author |
|
This allows us to prune the iteration functions.
We also remove a few other unused functions.
|
|
Also flatten the git repository namespace, so that we can host a complete
mirror of all repositories and submodules on github.
|
|
The Android example viewer has been moved to its own git repository.
|
|
The Android viewer has been moved to its own git repository.
|
|
The iOS viewer has been moved to its own git repository.
|
|
Only use NDEBUG as it's the one that most environments already set, so
is likely to lead to the least amount of confusion if compiling with a
custom build system.
|
|
Don't pull in swing classes for simple desktop AWT viewer.
Use inner classes for helper classes.
Add list of zoom levels.
Add table of content list.
Make page canvas flicker free.
|
|
|
|
Most strings coming out of various MuPDF functions are already decoded
to utf-8; so manually decoding from PDFDocEncoding or UCS-2 is actually
harmful rather than helpful.
|
|
The default choice is overridden in the same way
as for a normal compile.
|
|
Also allow for overriding the decision by setting JAVA_HOME.
|
|
This was causing problems when laying out a document multiple times,
where old line breaks taken would be sticky.
|
|
|
|
|
|
|
|
|
|
Non-destructively zero terminate a fz_buffer for use as a C string.
|
|
When I regularised the band writing interface, I broke PKM and PBM
in the banded case. Fixed here.
|
|
|
|
In commit 80308eae9964e71b66a18f3de6ebcd2ebf0d306b ("Regularize
band writer interface"), I inadvertently slowed down outputting
to /dev/null. Fixed here.
Also take the opportunity to speed ppm/pnm files writing in
general if we don't need to collate.
|
|
|
|
Commit 508db7953f094f58e9a99172c7803c3e67afe308 assumes that
callers free the supplied image mask. In one location this
was not the case.
|
|
The clang 3.8 used in Android NDK r13 supports .incbin, but doesn't
take any -I arguments into account when looking for the file to be
included. In Android we depend on -I to locate the font files to be
included. For ARM-based targets this works becased Android NDK
supplies -fno-integrated-as to cause the compiler to use an external
assembler that searches the -I arguments to locate the file to
include. For x86-based targets -fno-integrated-as is not supplied
so the files cannot be located and thus the compilation fails.
To avoid this problem and be as robust as possible let's disable the
.incbin directive for Android for all architectures and compilers.
|
|
|
|
Set FZ_ENABLE_JPX=0 in XCFLAGS or include/mupdf/fitz/config.h to disable
support for JPX at compile time.
Be aware that this may break support for PDF 1.5 and later files that
need JPEG2000 support.
|
|
Valgrind doesn't know realloc(p, 0) is equivalent to free(p), so
unfortunately we can't reduce all calls to just realloc().
|
|
|
|
|
|
|
|
Commit c0759acc6e5bd8167ab4983fc51eb1212da6a216
introduced a laxer LZW encoding. The bug shows that
this may also apply to GIF images.
|
|
Additionally clean up the objects created for the fake document
along with the document itself and report error to the caller
by return code, not by using an exception.
|
|
Treat such calls as deleting the object, as per pdf_delete_object.
|
|
|
|
|
|
|
|
SVG output in mutool produces a file per page; attempting to
reopen the same file each time was tripping the new fz_remove
call. Now only open a page at a time.
|
|
It seems likely that we'll want people to able to use the MuPDF
C API as well as the MuOfficeLib helper lib. We therefore need
a way to get fz_context and fz_document values out of MuOfficeLib.
Potential problems exist with people calling MuPDF C API functions
using an fz_context that is in use elsewhere. Similarly, if an
fz_document is in use in a background thread (for instance in a
page render), we need to ensure that it can't be used at the same
time elsewhere.
We therefore provide MuOffice{Lib,Doc,Page}_run functions that
allow this to happen safely. This largely insulates callers from the
complexities of having to clone contexts etc, it safely ensures
that exceptions cannot be propogated beyond the topmost fz_try/
fz_catch, and it ensures that appropriate locking is used.
|
|
Was returning errors on successful creation.
|
|
Avoid using statics to hold the mutexes. This is safer for
multiple-instantiation.
|
|
When destroying a thread, set the thread handle to NULL so
we know that subsequent calls shouldn't try to destroy it
again.
|
|
|
|
|
|
Commit a92f0db5987b408bef0d9b07277c8ff2329e9ce5
introduced a typo causing pdf_sort_dict() to try to
sort non-dict objects. Attempting to do this for
non-dict objects causes a segmentation fault. For
dictionary objects this causes a performance
degradation that has not been noticed.
pdf_sort_dict() is called in two places:
pdf_dict_get_put() and showgrep().
The resson that calling pdf_sort_dict() from
pdf_dict_get_put() does not cause a segmentation fault
is that pdf_dict_get_put() makes sure that the object
is a dictionary before calling pdf_sort_dict(), which
will then decide NOT to sort the dict keys.
showgrep() on the other hand does not make sure that it
is only processing dict objects before calling
pdf_sort_dict() which caused a segmentation fault.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|