summaryrefslogtreecommitdiff
path: root/platform/win32
AgeCommit message (Collapse)Author
2014-09-22Fix 695467: Add and use fz_ftoa function (like dtoa but with floats).Tor Andersson
The dtoa function is for doubles (which is what MuJS uses) but for MuPDF we only need and want float precision in our output formatting.
2014-09-16Add missing file to VS solution.Robin Watts
Without this, we fail to find jpeg_cust_mem_init at link time on Windows.
2014-09-09Fix accidental commit of VS 12 changesMichael Vrhel
2014-09-09Fix crashes, add annotations, more AA control, Keyboard commands, select ↵Michael Vrhel
all plus more. Includes xml, html, text save as, fix issues in window range that determines what pages are visible at a particular scaling. Fix very tricky to find problem in interface with gs. Managed code was freeing delegates that were allocated dynamically. It is not possible to pin these so they are now member variables.
2014-09-02Add locale-independent number formatting and parsing functions.Tor Andersson
2014-08-19don't always write to Visual Studio's Output console in debug buildsSimon Bünzli
We build MuPDF without NDEBUG defined in order to check assertions but don't want Visual Studio's Output console flooded with warnings for broken documents. So instead of always defining USE_OUTPUT_DEBUG_STRING for debug builds under Windows, allow the VS solutions to define it when desired and to omit it when not.
2014-07-18Fix VS project "generated" "Clean" step for Debug builds.Ray Johnston
It was missing one level of ..\ so failed trying to delete platform/generated
2014-07-17Add feature testing device, and call it from mudraw with -T flag.Tor Andersson
Currently only tests for the presence of non-grayscale color.
2014-05-29Fix 694093: add vertical variant of CJK fallback font.Tor Andersson
Replace the DroidSansFallback TTF files with a TTC that has two fonts: The original and a copy where the OpenType 'vert' substitution lookup has been pre-applied by copying the uniXXXX.vert glyph data to uniXXXX.
2014-05-22Fix windows VS builds.Robin Watts
Fix broken solution file and add project entries for new files.
2014-05-19Add an application agnostic memory handler for libjpegChris Liddell
This adds a custom memory management layer between libjpeg and the calling app - in such a way that the code can be shared between mupdf and Ghostscript/PDL.
2014-03-26Pull mujs source into VS solution (disabled)Robin Watts
This enables us to search the source easily, without affecting the fact that it is compiled using one.c in a single block.
2014-03-25Update win32 project files for JS.Tor Andersson
2014-03-25Break dependency of pdf-annot.c to graphics library.Tor Andersson
2014-03-19Add routine to clean pdf content streams for pages.Robin Watts
New routine to filter the content streams for pages, xobjects, type3 charprocs, patterns etc. The filtered streams are guaranteed to be properly matched with q/Q's, and to not have changed the top level ctm. Additionally we remove (some) repeated settings of colors etc. This filtering can be extended to be smarter later. The idea of this is to both repair after editing, and to leave the streams in a form that can be easily appended to. This is preparatory to work on Bates numbering and Watermarking. Currently the streams produced are uncompressed.
2014-03-19Implement our own vsnprintf variant.Tor Andersson
The primary motivator for this is so that we can print floating point values and get the full accuracy out, without having to print 1.5 as 1.5000000, and without getting 23e24 etc. We only support %c, %f, %d, %o, %x and %s currently. We only support the zero padding qualifier, for integers. We do support some extensions: %C turns values >=128 into UTF-8. %M prints a fz_matrix. %R prints a fz_rect. %P prints a fz_point. We also implement a fprintf variant on top of this to allow for consistent results when using fz_output. a
2014-03-18Fix operator buffering of inline images.Robin Watts
Previously pdf_process buffer did not understand inline images. In order to make this work without needlessly duplicating complex code from within pdf-op-run, the parsing of inline images has been moved to happen in pdf-interpret.c. When the op_table entry for BI is called it now expects the inline image to be in csi->img and the dictionary object to be in csi->obj. To make this work, we have had to improve the handling of inline images in general. While non-inline images have been loaded and held in memory in their compressed form and only decoded when required, until now we have always loaded and decoded inline images immediately. This has been due to the difficulty in knowing how many bytes of data to read from the stream - we know the length of the stream once uncompressed, but relating this to the compressed length is hard. To cure this we introduce a new type of filter stream, a 'leecher'. We insert a leecher stream before we build the filters required to decode the image. We then read and discard the appropriate number of uncompressed bytes from the filters. This pulls the compressed data through the leecher stream, which stores it in an fz_buffer. Thus images are now always held in their compressed forms in memory. The pdf-op-run implementation is now trivial. The only real complexity in the pdf-op-buffer implementation is the need to ensure that the /Filter entry in the dictionary object matches the exact point at which we backstopped the decompression.
2014-03-04Add pdf_process for filtering operator streams.Robin Watts
Currently this knows about q/Q matching/eliding and avoiding repeated/unneccesary color/colorspace setting. It will also collect a dictionary of resources used by a page. This can be extended to be cleverer in future.
2014-03-04Add pdf_process for writing operator streams out to a buffer.Robin Watts
Using this, we can reconstruct pdf streams out of the process called. This will enable us to do filtering when used in combination with future commits.
2014-03-04Add pdf_process interface.Robin Watts
Currently the only processing we can do of PDF pages is to run them through an fz_device. We introduce new "pdf_process" functionality here to enable us to do more things. We define a pdf_processor structure with a set of function pointers in, one per PDF operator, together with functions for processing xobjects etc. The guts of pdf_run_page_contents and pdf_run_annot operations are then extracted to give pdf_process_page_contents and pdf_process_annot, and the originals implemented in terms of these. This commit contains just one instance of a pdf_processor, namely the "run" processor, which contains the original code refactored. The graphical state (and device pointer) is now part of private data to the run operator set, rather than being in pdf_csi.
2014-02-10Bug 695022: Add TIFF format handlerRobin Watts
Patch from Thomas Fach-Pedersen. Many thanks! Add a new format handler that copes with TIFF files. This replaces the TIFF functionality within the image format handler, and is better because this copes with multiple images (as one image per page).
2014-01-17Add missing dependencies back into VS2005 project.Robin Watts
Lost as part of the accidental VS2012 change.
2014-01-16Revert change of mupdf.sln from VS2005 format to VS2012.Robin Watts
2014-01-15Clearer division in WinRT vs std C++ codeMichael Vrhel
To share as much code as possible between the Windows 8 app, windows phone app and Windows desktop app, remove dependencies of Platform and Windows::Foundation in files that interface to mupdf and replace with C/C++ std methods.
2014-01-07Introduce 'document handlers'.Robin Watts
We define a document handler for each file type (2 in the case of PDF, one to handle files with the ability to 'run' them, and one without). We then register these handlers with the context at startup, and then call fz_open_document... as usual. This enables people to select the document types they want at will (and even to extend the library with more document types should they wish).
2014-01-06add stub files for JPEG-XR supportSimon Bünzli
See SumatraPDF's repo for a Windows-only implementation using WIC.
2013-11-28Put thirdparty config headers in separate directories.Tor Andersson
Only -I the config header directory if building the thirdparty library, not if using the system library. Fix bug 694808.
2013-11-28Update mupdf to use latest openjpeg pulled from ghostpdl.Robin Watts
The OpenJPEG in gs is v2, with various patches for fixes. These are in the process of being passed upstream. We now automatically pull the openjpeg tree out of GhostPDL and put it in as one particular branch in the thirdparty/openjpeg.git repo. Change to track this in MuPDF. This is in keeping with what we have been doing with the jbig2dec repo for a while now.
2013-11-26Import URW fonts version 1.10 converted to CFF by FontForge.Tor Andersson
2013-11-11Add tree structure to win32 build.Tor Andersson
2013-08-30Use RLE coding scheme for glyph bitmaps.Robin Watts
Rather than generating fz_pixmaps for glyphs, we generate fz_glyphs. fz_glyphs can either contain a pixmap, or an RLEd representation (if it's a mask, and it's smaller). Should take less memory in the cache, and should be faster to plot.
2013-07-30Fix signature-support buildPaul Gardiner
2013-07-22Collect together all code to do with appearance-stream creationPaul Gardiner
2013-07-19Add mupdf-curl appRobin Watts
Windows and X11. Allows files to be fetched and displayed as they are downloaded both with and without linearization, using hints if available.
2013-07-19Initial work on progressive loadingRobin Watts
We are testing this using a new -p flag to mupdf that sets a bitrate at which data will appear to arrive progressively as time goes on. For example: mupdf -p 102400 pdf_reference17.pdf Details of the scheme used here are presented in docs/progressive.txt
2013-06-20Update source, makefiles and win32 projects.Tor Andersson
2013-06-20Rearrange source files.Tor Andersson