Age | Commit message (Collapse) | Author |
|
Xcode has an idiotic default configuration where it gets confused by include
search paths and file names in projects, so that it will load our
"mupdf/fitz/math.h" instead of the system <math.h>.
Work around this by renaming header files that have the same base name as a
system header (even though they live in a subdirectory, and should never be
available directly on the compiler's include path).
|
|
|
|
|
|
|
|
Keeping them up to date is difficult and prone to errors, so we move
setting the USE_OUTPUT_DEBUG_STRING and FZ_LARGEFILE flags to the source
instead of relying on project file definitions.
|
|
|
|
|
|
|
|
All known keywords are printable. Converting non-printable keywords into
error tokens means we don't try to print garbage when showing error
messages about unknown tokens.
|
|
|
|
|
|
|
|
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.
|