Age | Commit message (Collapse) | Author |
|
|
|
Update FZ_VERSION to 1.7
Update Android app version.
|
|
|
|
Use a placeholder document instead - just a big red 'X'.
Supposedly lots of people use MuPDF to view the output of their TeX
documents. Sometimes the compilation of the TeX document fails, and
reload results in MuPDF closing. This should allow their window to
stay open until they fix the problem and reload again.
|
|
It has its own repo now. See http://git.ghostscript.com/?p=gsview.git
|
|
Inspired by bug 695823. Mutool can now dump the sizes and
orientations for pages within a given file.
|
|
Michael needs to be able to call pdfclean from gsview. At the moment
he's having to do this by including the pdfclean.c file into the lib
build, and then calling pdfclean_main with a faked up command line.
This isn't nice.
pdfclean.c is implemented by pdfclean_main parsing the options/filenames
out of argv and then passing the filenames/options on to a
pdfclean_clean function.
This seems like a much nicer API to offer to the world.
We therefore pull the guts of pdfclean.c (pdfclean_clean and its
subsidiary structures/functions) into pdf-clean-file.c and include
this in the library build.
This leaves pdfclean.c just as the command line parsing.
This should not affect the size of any of the resulting binaries.
|
|
Adopt (slightly modified) version of Kenny Lam's patch to allow
panning while zooming. This more closely matches how a web view
behaves.
|
|
Thanks to Goncalo Ferreira for spotting this.
|
|
On windows, handle mouse wheel events as mouse events rather than
keyboard ones. This means that Ctrl-wheel zooms as expected (consistent
with Chrome etc). Also ensure that Shift-wheel changes from vertical
to horizontal.
Mouse wheel over pages that are larger than fit in the window
now scroll around the page. Once they hit the edge of the window,
the page flips to the next/previous page as you would expect.
|
|
Update pdfapp_onkey to take modifiers. If shift is held down when
space is sent, then back up a page.
This involves updating the windows app to actually send modifiers.
Previously they were always sent as zero to the onmouse routine.
|
|
|
|
Adopt patch from Risto Saarelma. When in presentation mode, left
and right mouse buttons flip pages forward/back.
|
|
Adopt Guillume Duranceau's patch to set the NET_WM_NAME property for
window titles.
|
|
Given that MuPDFReaderView has a public setMode call, ensure that
the enum with the Mode values in is public too.
Thanks to Jeremy Dixon for pointing out the issue.
|
|
Adopt a small patch from ooesili@gmail.com to avoid zombie processes
that are left around after processes opened from PDF links are
terminated.
|
|
I can't claim to entirely understand why one formulation works and
the other doesn't, but it seems a harmless enough fix that apparently
works.
|
|
|
|
Currently, every PDF name is allocated in a pdf_obj structure, and
comparisons are done using strcmp. Given that we can predict most
of the PDF names we'll use in a given file, this seems wasteful.
The pdf_obj type is opaque outside the pdf-object.c file, so we can
abuse it slightly without anyone outside knowing.
We collect a sorted list of names used in PDF (resources/pdf/names.txt),
and we add a utility (namedump) that preprocesses this into 2 header
files.
The first (include/mupdf/pdf/pdf-names-table.h, included as part of
include/mupdf/pdf/object.h), defines a set of "PDF_NAME_xxxx"
entries. These are pdf_obj *'s that callers can use to mean "A PDF
object that means literal name 'xxxx'"
The second (source/pdf/pdf-name-impl.h) is a C array of names.
We therefore update the code so that rather than passing "xxxx" to
functions (such as pdf_dict_gets(...)) we now pass PDF_NAME_xxxx (to
pdf_dict_get(...)). This is a fairly natural (if widespread) change.
The pdf_dict_getp (and sibling) functions that take a path (e.g.
"foo/bar/baz") are therefore supplemented with equivalents that
take a list (pdf_dict_getl(... , PDF_NAME_foo, PDF_NAME_bar,
PDF_NAME_baz, NULL)).
The actual implementation of this relies on the fact that small
pointer values are never valid values. For a given pdf_obj *p,
if NULL < (intptr_t)p < PDF_NAME__LIMIT then p is a literal
entry in the name table.
This enables us to do fast pointer compares and to skip expensive
strcmps.
Also, bring "null", "true" and "false" into the same style as PDF names.
Rather than using full pdf_obj structures for null/true/false, use
special pointer values just above the PDF_NAME_ table. This saves
memory and makes comparisons easier.
|
|
Fred had updated a path in an include file. The Makefiles cope with
this, the VS solution does not.
|
|
The lib was being built in an odd place.
|
|
Also a few fixes in the project files based upon recent updates.
|
|
A few casts are required within the code, along with a few #ifdef
changes.
Some tweaks to curl are required too.
|
|
|
|
|
|
This silences this warning:
thirdparty/jbig2dec/jbig2_text.c:899:73: warning: for loop has empty body [-Wempty-body]
for (SBSYMCODELEN = 0; (1 << SBSYMCODELEN) < SBNUMSYMS; SBSYMCODELEN++);
^
thirdparty/jbig2dec/jbig2_text.c:899:73: note: put the semicolon on a separate line to silence this warning
|
|
There are a fair number of warnings about unused functions, mostly in
third-party modules, and we would like the build to be warning free.
We need to change the main Makefile, as -Wall is currently added in
Makerules, and we need our -Wno-unused-function in XCFLAGS to be
after -Wall on the command line for it to have any effect.
|
|
|
|
Update android Core.mk file for html document handler, and fix a
stray fz_free_page that didn't get updated.
|
|
Add the new source files to the solution.
Windows builds whinge about float->double conversions. Fix these
with explicit casts.
Avoid calling strtof and strcasecmp.
|
|
|
|
Purge several embedded contexts:
Remove embedded context in fz_output.
Remove embedded context in fz_stream.
Remove embedded context in fz_device.
Remove fz_rebind_stream (since it is no longer necessary).
Remove embedded context in svg_device.
Remove embedded context in XML parser.
Add ctx argument to fz_document functions.
Remove embedded context in fz_document.
Remove embedded context in pdf_document.
Remove embedded context in pdf_obj.
Make fz_page independent of fz_document in the interface.
We shouldn't need to pass the document to all functions handling a page.
If a page is tied to the source document, it's redundant; otherwise it's
just pointless.
Fix reference counting oddity in fz_new_image_from_pixmap.
|
|
Rename fz_close to fz_drop_stream.
Rename fz_close_archive to fz_drop_archive.
Rename fz_close_output to fz_drop_output.
Rename fz_free_* to fz_drop_*.
Rename pdf_free_* to pdf_drop_*.
Rename xps_free_* to xps_drop_*.
|
|
|
|
If this release is not done, the previous documents
pages appear in the preview and bad things happen if
you try to step through the pages in the preview.
|
|
image.
Currently if the source was a png, jpeg or cbz file we can't do conversions with
ghostscript and also we can't print. So I will disable the controls for now and
we can look into adding that functionality later if we want.
Disable printing capability for image based formats.
Currently printing is all XPS based. If the source
document is JPG, PNG or CBZ we don't currently have
a method for creating the XPS content for these. We
could do a bitmap print or possibly wrap up the images
in a XPS file or just do a direct bitmap print via some
C# magic. I need to investigate. For the short time,
though it is simply disabled.
|
|
|
|
Addition of license information. Also changes to ensure registry keys used
by application are removed during the uninstall. Many changes in the
installer code to ensure that the file type associations are made and the
proper icons are displayed for each file type.
|
|
The form of delete should match the form that is used in the new command.
Otherwise the behavior is undefined.
|
|
|
|
|
|
The commit fc05b51c2b198dcc5553f6de1b8fb0e22e7d28ae cleaned up a few issues in the
display list cache but it introduced issues when multiple threads are using the lists.
In particular one thread could be using a list at the tail of the cache list, while
another thread is adding one to the cache, and removing the entry at the tail. The
solution is to make sure the ref count of the list is incremented when someone is using the list
and making sure that it gets decremented when they are done with the list.
|
|
|
|
Spotted by "Pogon". The code to choose between horizontal and vertical
scrolling was broken due to a missing ! in a condition. Cut and Paste
error.
|
|
Fred Ross-Perry found some issues with the display list counting. This fixes the
problems. Also he found a spot where we should have been doing just the page contents
as opposed to the page.
|
|
|
|
This adds an additional project (gsprint.vxcproj) which will do the necessary native
calls to bring up the custom print dialog for the output device.
We can then obtain the settings and make the appropriate page
size adjustments in creating our xps content.
|
|
|
|
|
|
These are now generated by Xcode at build time from the asset catalogue,
and the CFBundleIconFiles we had here was upsetting the app store validator.
|