summaryrefslogtreecommitdiff
path: root/source/tools
AgeCommit message (Collapse)Author
2016-07-13Bug 696699: Fix Text extraction mediabox information.Robin Watts
Since the removal of the begin_page device function, structured text extraction has been unable to correctly establish the mediabox for extracted pages. Update the fz_new_stext_page call to take this mediabox information. This is an API change, but hopefully most people are calling fz_new_stext_page_from_page or fz_new_stext_page_from_display_list which are updated here to cope. Update all the apps/tools to behave properly.
2016-07-13Fix MSVC build of murunRobin Watts
2016-07-12js: Add doc.loadOutline and page.getLinks functions.Tor Andersson
These just convert fz_outline and fz_link into plain JS arrays and objects with no associated native userdata.
2016-07-12js: Check if some arguments exist before converting to boolean/number.Tor Andersson
2016-07-12js: Fix memory leak in new Image().Tor Andersson
2016-07-08Bug 696911: muraster with no threads lib.Robin Watts
Fix various niggles with muraster when compiled with no thread lib. Thanks to Tamir Evan.
2016-07-08Separate close and drop functionality for devices and writers.Tor Andersson
Closing a device or writer may throw exceptions, but much of the foreign language bindings (JNI and JS) depend on drop to never throw an exception (exceptions in finalizers are bad).
2016-07-08js: Add wrapper for fz_stext_page to search, select and copy text.Tor Andersson
2016-07-06Start slimming pdf_page.Tor Andersson
We want to turn pdf_page into a thin wrapper around a pdf_obj, so that any updates to the underlying PDF objects will be reflected without having to reload the pdf_page.
2016-07-06Add annotations to murun.Tor Andersson
2016-07-06Remove premature optimization: don't bother to resolve page objects.Tor Andersson
2016-07-06Fix garbage collection and page grafting for indirect reference chains.Tor Andersson
The mark & sweep pass of garbage collection, and resolving indirect objects when grafting objects was following the full chain of indirect references. In the unusual case where a numbered object is itself only an indirect reference to another object, this intermediate numbered object would be missed both when marking for garbage collection, and when copying objects for grafting. Add a function to resolve only one step for these two uses. The following is an example of a file that would break during garbage collection if we follow full indirect reference chains: %PDF-1.3 1 0 obj <</Type/Catalog /Foo[2 0 R 3 0 R]>> endobj 2 0 obj 4 0 R endobj 3 0 obj 5 0 R endobj 4 0 obj <</Length 1>> stream A endstream endobj 5 0 obj <</Length 1>> stream B endstream endobj
2016-07-06pdf: Drop generation number from public interfaces.Tor Andersson
The generation number is only needed for decryption, and is assumed to be zero or irrelevant for all other uses. Store the original object number and generation in the xref slot, so that we can decrypt them even when the objects have been renumbered, without needing to pass the original object number around through the stream loading APIs.
2016-07-06pdf: Flatten inheritable page properties when copying pages.Tor Andersson
Affects pdfclean, pdfmerge, and pdfposter.
2016-06-29Print font encoding in mutool info.Sebastian Rasmussen
2016-06-28Mudraw: Fix interation with banding and display list.Robin Watts
We had moved the ctm into the display device, which meant it no longer transformed the bounds given to the list device to do scissoring. Move it back. Same fix for muraster.
2016-06-28Fix inconsistency in band handling.Robin Watts
In an earlier commit, I changed some of the band writing functions to take the band starting offset, rather than the band number. This was done to accomodate the idea of rendering the page in bands of different heights. Sadly, it seems I didn't push this all the way through, and had different band writing functions still taking the band number. Fix all the band writing functions to be consistent.
2016-06-23Always print filenames in mudraw.Sebastian Rasmussen
Regardless of whether rendering in background thread or not the filename and the page number should be printed.
2016-06-23Update muraster tool and add it to the unix build.Tor Andersson
2016-06-23Update JNI code. Take explicit alpha argument in toPixmap functions.Tor Andersson
2016-06-22Fixes needed for muraster to buildMichael Vrhel
2016-06-22mudraw: Don't apply ctm twice when not using display list.Tor Andersson
2016-06-20Bug 696839: Fix -I option to mudraw.Robin Watts
The argument processing was expecting an argument after I.
2016-06-20Add simple muraster.Robin Watts
A cutdown mudraw that only copes with simple raster output.
2016-06-17Set pixmap resolution when creating pixmaps for draw device.Tor Andersson
2016-06-17Add mediabox argument to fz_new_display_list.Tor Andersson
To return the proper size from fz_bound_display_list, which has been broken since the begin_page device call was removed.
2016-06-17Add device space transform state to draw device.Tor Andersson
Allows us to remove the out parameter 'transform' from fz_begin_page.
2016-06-17Fix fz_write_pam code.Robin Watts
It was incorrectly missing the alpha in the header writing code.
2016-06-17Improve banding API.Robin Watts
Previously the API assumed that all bands had to be the same height. By moving the multiplication into the caller, we can lift that assumption.
2016-06-17Use 'size_t' instead of int as appropriate.Robin Watts
This silences the many warnings we get when building for x64 in windows. This does not address any of the warnings we get in thirdparty libraries - in particular harfbuzz. These look (at a quick glance) harmless though.
2016-06-16Add PNG output for mutool convert.Tor Andersson
2016-06-16Add fz_draw_options struct for use with draw device.Tor Andersson
2016-06-16Drop save_alpha argument from image writing functions.Tor Andersson
2016-06-16Update getStride and add getAlpha to JS bindings.Tor Andersson
2016-06-14Fix typos in various parts of the code.Sebastian Rasmussen
2016-06-08Move to using size_t for all mallocs.Robin Watts
This has knock on effects in the store. fix
2016-06-06Update MuJS.Tor Andersson
2016-06-06Add FZ_ENABLE_JS configuration define.Tor Andersson
2016-05-31Update test device with passthrough option.Robin Watts
Update the test device so it can be used 'wrapping' another device. In particular, it can be used to wrap the display list device so that we can evaluate 'color or not' while building the display list rather than having to rerun the display list afterwards. Also, give improved control over whether we test every pixel of images/shadings.
2016-05-30Respect FZ_ENABLE_PDF=0 to allow dropping all PDF specific code in tools.Tor Andersson
2016-05-27Mudraw: Move halftoning into render threads.Robin Watts
2016-05-26Bug 696803: Fix pam output.Robin Watts
PAM output was broken in the absence of alpha. Fixed now.
2016-05-24fz_pixmap revamp: add stride and make alpha optionalRobin Watts
fz_pixmaps now have an explicit stride value. By default no change from before, but code all copes with extra gaps at the end of the line. The alpha data in fz_pixmaps is no longer compulsory. mudraw: use rgb not rgba (ppmraw), cmyk not cmyka (pkmraw). Update halftone code to not expect alpha plane. Update PNG writing to cope with alpha less input. Also hide repeated params within the png output context. ARM code needs updating.
2016-05-20murun: Add Buffer#writeBuffer to allow for concatenating buffers.Tor Andersson
2016-05-20murun: Add graftObject to javascript bindings.Tor Andersson
Add some paranoid checks to pdf_graft_object to prevent user errors from crashing mupdf.
2016-05-13Fix potential double free in pdfmerge.Tor Andersson
Remove unnecessary extra indirect object; pdf_add_object returns an indirect reference already, so we don't need to duplicate it.
2016-05-13Add common page range parsing function for tools.Tor Andersson
2016-05-13murun: Add document writer object.Tor Andersson
2016-05-13Add pdf write support to mutool convert.Tor Andersson
2016-05-13Add long output option parsing.Tor Andersson
Use comma-separated list of flags and key/value pairs, for example: "linearize,resolution=72,colorspace=gray"