summaryrefslogtreecommitdiff
path: root/platform/win32
AgeCommit message (Collapse)Author
2018-11-12Remove bitrotted and not working PDF portfolio code.Tor Andersson
Extracting embedded files can be trivially done with 'mutool show' or a simple mutool run script. The portfolio creation code is incomplete, and would require a lot of work and testing with Adobe in order to be useful.
2018-10-17MSVC: Fix libluratech.vcproj.Robin Watts
Was set to create an exe rather than a lib. For some reason this didn't upset VS2005, but did upset VS2008.
2018-10-15Update lcms2 to lcms2mt.Robin Watts
Pull in the latest changes from mainline lcms2, and bugfixes from gs. This should now be the definitive version.
2018-09-25Update Harfbuzz submodule to version 1.9.0.Tor Andersson
This release includes the auto-generated ragel files, so we don't need to use the Artifex branch anymore.
2018-09-25gl: Save history and bookmarks in ~/.mupdf.history.Tor Andersson
Use MuJS to parse/write JSON object.
2018-09-25Fix bin2coff rules to allow project directories with spaces in them.Tor Andersson
Such as the Windows XP "C:\Documents and Settings\" user directories.
2018-09-21Don't build freetype source files twice.Tor Andersson
Don't bother compiling the freetype C files that are #included by ftbase.c This fixes a harmless "repeated symbol" warning in the windows build.
2018-09-19Add DebugGSView and ReleaseGSView configs.Robin Watts
2018-09-19Update to OpenJPEG 2.3.0.Sebastian Rasmussen
There is a regression for 2325_-_JPX_image_with_padding_rejected.pdf. Object 3 in that document is a JPX-encoded image. Its EOC marker is preceded by two extra bytes of data, 0x80 0x80. This makes the file broken according to the JPEG 2000 specification. Acrobat Reader and the Kakadu JPX decoder accepts this file without issues, so OpenJPEG 2.1.0 added code to fix this (bug 226, commit 005e75bdc). That fix detects exactly two bytes of 0x80 0x80, a rather brittle fix. Adding more padding or changing the padding byte values is not accepted. Adding more padding is acceptable to Acrobat Reader and Kakadu. An unrelated fix for another problem has since broken OpenJPEG's support for this broken image.
2018-09-16Update VS solution to cope with PKCS7 build changes.Robin Watts
2018-09-06jni: Add StructuredTextWalker interface.Sebastian Rasmussen
2018-08-31Visual Studio Solution tweaks.Robin Watts
Ensure that the generated libmupdf includes all library dependencies within it. This makes life easier for people linking MuPDF into their own projects as there is just one lib to include rather than a range of them that vary according to condfiguration. Fix 64bit Memento builds of libpkcs7. Remove double definitions of jpeg_get_small etc that are now shown up because of the libraries being merged into one.
2018-08-10Tweak hexdumped data to increase build portability.Tor Andersson
Follow bin2coff layout for hexdumped data instead of trying to emulate the objcopy layout (which seems to break for the android tools). Only use the basename of the resource in hexdump / bin2coff. Ifdef on HAVE_OBJCOPY instead of _WIN32.
2018-08-01Update jbig2dec.Sebastian Rasmussen
2018-07-17Add MementoOpenSSL configurations.Robin Watts
2018-07-06gl: Add signing UI for Digital Signatures.Tor Andersson
All the "Sign" button does for now is recreate the appearance stream.
2018-06-22Update base 14 fonts to URW++ release from 2017-07-27.Tor Andersson
The Dingbats and Symbol fonts have not been changed.
2018-06-22gl: Add annotation editor.Tor Andersson
* Select with right mouse, edit with left mouse. * Clamp movement to page area. * Integrate page scroll offset into matrices. * Edit Ink annotations. * Initialise important annotation properties when creating them. * Deselect annotation when pressing ESC. * Add polygon/polyline annotation editing. * Tweak polygon editing. * Edit square/circle annotations. * Cancel canvas edits on right click. * Expand selectable areas and grab zones for rects. * Edit line annotations. * Edit caret annotations. * Return true when value has changed (checkbox and slider). * Add popup menu widget: Menu items are drawn at ui_end to overlay other widgets properly. * Use popup menu to set icons. * Fix text selection translation offset. * Edit quad point annotations. * Set user and modification date when creating new annotations. * Add select widget. * Edit line endings. * Edit highlight opacity. * Create properly sized stamp annotations. * Edit FreeText annotations. * Trigger list selection on mouse-up instead of mouse-down. * Use index in ui_select. * Edit Freetext quadding. * Fix windows build issues. * Use 'const void *' for ids. * Add file dialog to choose file when none given on command line. * Add save file dialog. * Add pdfwrite options to save dialog. * Add error dialog instead of dying silently on exceptions. * Add password dialog. * Add warning dialog that does not exit the program. * Show in title bar when document is modified. * Separate motion and passive motion callbacks. * Add /Volumes 'disk' for MacOS X mount points. * Tweak input focus/blur handling. * Use popup menu to create annotations instead of big list of buttons. * Update appearance after canvas edits too. * Release old grab before checking for new grab and taking focus. * Set cursor shape depending on hot item. * Draw prettier widgets. * Use integers for slider to allow snapping to values. * Add 'ui.gridsize' to ease layout of buttons and text fields. * Tweak file dialog layout. * Bevels around lists and scroll bars. * Only add new points to the ink list when drawing. * Use named color constants instead of hardcoding color values. * Adjust layout and which properties to edit for each annotation. * Use a panel for search field. * Add splitter, dialogs, and panel padding. * Popup menus above the button if they don't fit below it. * Use triangle strip to draw check mark.
2018-06-22Update win32 project for pdf-link/annot/annot-edit.c file changes.Tor Andersson
2018-06-12More tweaks to MSVC dependencies for luratech/curl.Robin Watts
Looks like x64 ones didn't 'stick' last time I edited them.
2018-06-12Fix MSVC build issues.Robin Watts
When updating from VS2005 to VS2017, the .rules mechanism is converted to a .props based scheme. This is not entirely equivalent, and so causes problems with our "build both 32 and 64bit resources" scheme. Instead, we amend the flag handling in bin2coff so that it will accept "Win32" and "x64" as flags. These can then be driven easily from the project files, giving us a "more standard" way of working. Also, remove some stray fonts that had crept into the resources build.
2018-06-11MSVC solution fixes.Robin Watts
Having libluratech set to not build in non-commercial builds is not enough to make stuff work, as the dependencies will still try to link it in. Instead, we now have a Release configuration for libluratech with every file disabled, and the non-commercial builds depend on that. Also, tweak bin2coff build to put it's buildlog in the usual place.
2018-06-11Fix MSVC dependencies/configurations.Robin Watts
Everything builds in a batch build for me now, except for the OpenSSL stuff, which fails due to me not having it available.
2018-06-11Use bin2coff to generate font data blobs object files.Tor Andersson
This is the windows equivalent of objcopy or ld -r binary. We need different bin2coff font object files for 32 and 64 bit builds, so put the font object files in AdditionalDependencies. Revamp Windows builds to use bin2coff. Fix bin2coff to not use '-' in symbol names. Add a new project file to make bin2coff. Add a .rules file to tell MSVC how to call the built version of bin2coff. Update libresources build to use this rules file. Update noto.c to correctly find the symbols we make.
2018-05-16Restore Emoji font.Tor Andersson
The Noto symbol font has been split into two. The second symbol font only contains a subset of the emojis, so reinstate the real emoji font and add both symbol fonts to the fallback chain.
2018-05-09Disable optimization in libresources.vcproj.Tor Andersson
2018-05-03Fix MSVC build: Remove stray "generate.bat" calls.Robin Watts
2018-05-03Update win32 libresources.vcproj file list.Tor Andersson
2018-04-27Handle multi-page image formats in muimg document driver.Tor Andersson
Remove the mutiff document type.
2018-04-25Use objcopy to compile font resources.Tor Andersson
2018-04-25Check in generated Javascript source files.Tor Andersson
Use a sed script to strip comments and whitespace and add escapes and quote it as a C string literal.
2018-04-25Check in generated ICC profiles.Tor Andersson
2018-04-25Check in generated CMap source.Tor Andersson
Created with the 'scripts/runcmapdump.sh' script.
2018-04-25Update CMaps to latest version.Tor Andersson
Remove UTF8 and UTF32 CMap resources that are not needed for PDF. Add Identity-H and Identity-V resources. Process UCS2/UTF16 and GBK CMaps to usecmap a common subset.
2018-04-25Add CMap processing scripts, and turn cmapdump into mutool.Tor Andersson
A dumping script written in python. A flattening script written in python (for easier editing). A subsetting script written in shell to minimize CMaps by reusing subsets. Use 'mutool cmapdump' to bootstrap or verify cmap dumps.
2018-04-24Remove need for namedump by using macros and preprocessor.Tor Andersson
Add a PDF_NAME(Foo) macro that evaluates to a pdf_obj for /Foo. Use the C preprocessor to create the enum values and string table from one include file instead of using a separate code generator tool.
2018-04-12Fix VS project file.Robin Watts
Stray line, presumably a merge edit failure.
2018-04-11Remove needless #defines in load-jpx.cTor Andersson
2018-04-11Fix output paths in VS2005 project files.Tor Andersson
2018-03-22Add fz_output encoding filters.Tor Andersson
2018-02-08Update Windows build to properly handle pkcs7 reorganisationPaul Gardiner
Remove direct inclusion of pkcs7 source from the mupdf project and create a separate libpkcs7 project with others as dependants
2018-02-02Signature support: add a null pdf_check_signature functionPaul Gardiner
Add a version of pdf_check_signature function that reports no support, for builds without openssl. This allows the removal of ifdefs from the apps.
2018-02-02Signature support: fix windows build for the openssl-present casePaul Gardiner
2018-02-02Signature support: decouple mupdf from the pkcs7 implementationPaul Gardiner
The mupdf build included an implimentation of the pkcs7 functions that are needed for signing documents and verifying signatures, the implementation being either an openssl-based one, or a stub that returned errors. This commit removes the pkcs7 functions from the main mupdf library. For the sake of verification, there wasn't really a need for the pkcs7 functions to be part of mupdf. It was only the checking function that used them. The checking function is now provided as a helper, outside of the main build. The openssl-based pkcs7 functions area also supplied as a helper. Users wishing to verify signatures can either use the checking function directly, or use the source on which to base their own. Document signing requires more integration between mupdf and pkcs7 because part of the process is performed at time of signing and part when saving the document. Mupdf already had a pdf_pkcs7_signer object that kept information between the two phases. That object has now been extended to include the pkcs7 functions involved in signing, and the signing function now requires such an object, rather than a file path to a certificate. The openssl-based pkcs7 helper provides a function that, given the path to a certificate, will return a pdf_pkcs7_signer object. The intention is that different implementations can be produced for different platforms, based on cryptographic routines built into the operationg system. In each case, for the sake of document signing, the routines would be wrapped up as a pdf_pkcs7_signer object.
2018-02-02Signature support: separate pkcs7 specifics into a separate file.Paul Gardiner
Previously, pdf-pkcs7.c contained mishmash of functions required for creating and checking signatures, with no separation between the parts relating to pdf and those relating to pkcs7. This commit introduces pdf_signature.c which contains the pdf specifics, leaving pdf-pkcs7.c to be purely pkcs7 functions. This should more easily allow the use of pkcs7 solutions other than openssl. The pkcs7 api is declared in pdf-pkcs7.h. It is entirely free of mupdf specifics, other than using an fz_stream to specify the bytes to be hashed.
2018-01-04Add portable pseudo-random number generator based on the lrand48 family.Tor Andersson
2017-11-17Purge remnants of GLFW.Tor Andersson
2017-11-09VS2005: Fix Freeglut build.Robin Watts
2017-11-08gl: Remove GLFW and reinstate FreeGLUT.Tor Andersson
GLFW doesn't build on Visual Studio 2005 anymore, and I don't have time to keep up with the changes. So, we're switching back to FreeGLUT, which is more stable. I've added the two missing features that made us switch to GLFW in the first place: input methods and system clipboard support. If MuPDF is compiled with our version of FreeGLUT, we now use these functions: * glutKeyboardExtFunc * glutSetClipboard * glutGetClipboard
2017-11-06Update lcms2art with the latest from lcms2 (2.9).Robin Watts