1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891
|
List of changes in MuPDF 1.25
New logo!
Redaction options:
- New "don't redact text" option
- New "redact line art" option
Structured Text options:
- Use "Tagged PDF" structure information
- Detect underlines and strikeouts
- Mark automatically inserted spaces
- Mark areas where line art (vectors) are present
- Use accurate glyph bounding boxes
- Ignore ActualText tags
- Scan page for 'grid' lines
- Segment page into areas (headers, columns, etc)
Annotation features:
- Intent property accessors.
- Rich Content styling on FreeText annotations.
- Callout arrows on FreeText annotations.
- Leader Line and Caption on Line annotations.
- Improved handling of Rect and RD.
Low level FDF format support.
- See docs/examples/import-fdf.js for how to use.
Improved FileSpec handling with new functions.
Functions for listing document and page Associated Files (AF).
Functions to create and write XML DOM trees (fz_xml).
Skew detection and deskew algorithms on pixmaps and PDFOCR device.
Document area detection in scanned images.
ZUGFeRD support.
New tool "mutool audit" to create summary of PDF file composition.
Noteworthy API changes:
- New "wants_file" member for fz_document_handler.
- fz_text_item now has an explicit pen "advance" member.
- mutool recolor can now be used as a function.
- pdf_annot_rect works with the "design" rectangle.
- structured text "color" field renamed to "argb" and now includes alpha channel
Important bug fixes:
- More robust font subsetting.
- More robust handling of page and annotation objects during
undo and redo.
- Updated "gray.icc" profile to actual sGray gamma ramp.
Support for "SmartOffice" commercially licensed plugin to load office
documents.
List of changes in MuPDF 1.24
Error handling changes:
You must call pdf_report_error in the final fz_catch. Any
unreported errors will be automatically reported when a new
error is raised, or when closing the fitz context.
New formats:
Read Office (XML) files! We internally open and convert
docx/pptx/xlsx documents to HTML to allow reading the plain
text content. The exact layout will NOT be preserved.
Optional compile time option to use libarchive for reading CBR
and other archive formats.
Read plain text documents.
Read gzipped files directly.
Open and read FDF files to support importing annotations or
form data using the low-level PDF functions. There are no tools
for this yet.
Read CFB (Compound File Binary) format archives -- used for the
Office formats.
Write images as JPEG2000.
New tools and features:
mutool bake (and associated functions) to bake appearance of
annotations and forms into static content.
Font subsetting flag to mutool clean (EXPERIMENTAL FEATURE).
Option to use ObjStms when writing PDF files.
Compression effort option when writing PDF files.
Add option to control how line art is affected by redaction.
Add more options to control how images are affected by
redaction (remove-unless-invisible).
Fix up q/Q gstate balance when cleaning content streams.
New functions and types:
pdf_rearrange_pages to subset or re-order pages in a PDF file.
fz_invert_bitmap to invert monochrome bitmaps.
fz_compressed_image_type to query the format of a compressed
image.
fz_text_decoder to convert various legacy and CJK encodings
into UTF-8.
More helper functions to easily manipulate PDF objects in C.
Add flag to control fz_place_story overflow behavior when the
text doesn't fit into the box.
New archive handlers can be added at runtime.
Major bug fixes and improvements:
Support using Art, Bleed, Media, and Trim boxes for PDF page
size.
Support ActualText in PDF! No more strange text extraction when
the file uses ActualText to patch over bad font encodings.
Add special TrueType fallback encoding CMap for a specific
flavor of broken PDF files that use an "identity" encoding
without embedding the font.
Limited "transfer function" support in PDF. Transfer functions
are a deprecated legacy PDF feature that predates proper color
management. They were intended to provide limited color
management such as applying a gamma curve. Transfer functions
have often been (ab)-used to invert images, and many PDF
creators use them when writing softmask images. We have added
support for this case only.
Box drawing characters added to fonts for HTML and plain text
documents.
Write more compact PDF files (removed some unneccessary
whitespace).
Improved selection behavior for non-axis aligned text.
Improved heuristics for detecting the logical and visual order
of RTL text in PDF.
Improved heuristics for inserting missing spaces in PDF text.
Improved handling of CMYK JPEG files (which ones are inverted
and which are not).
Improved content type detection. Don't assume everything is PDF
when we can't recognize it.
Removed deprecated functions:
pdf_check_signature
List of changes in MuPDF 1.23.0
New features:
New WASM library with same API as mutool run and Java, for both browser and Node environments.
Support CropBox, TrimBox, BleedBox, and ArtBox in PDF tools and viewers.
PhotoShop PSD image support.
mupdf-gl: Custom ICC display profile support.
mutool poster: Option to split in RTL direction.
Miscellaneous improvements and notable bug fixes:
EPUB: Fix table cell height calculations.
EPUB: Inherit table cell background color from table row.
EPUB: Support files with partial encryption (only read unencrypted parts).
EPUB: Support files with incorrect directory prefixes.
TIFF: Stability improvements.
MOBI: Stability improvements.
PDF: Support old style border dash patterns.
PDF: Support GoToR links to remote PDF documents.
PDF: Improve link parsing and creation.
ZIP: Improve unicode file name handling.
Fall back to unhinted fonts if hints are broken.
Recognize document types by sniffing contents (don't need to rely on mimetype or file extension).
New APIs:
More PDF document permission flags.
Tweaked exception error logging.
pdf_minimize_document to squeeze amount of memory used by an open document.
Incompatible API changes:
pdf_field_name renamed to pdf_load_field_name.
mutool run -- changed many methods to match Java and new WASM library.
New and improved documentation.
List of changes in MuPDF 1.22.0
New command line "mutool recolor" to change colorspace of PDF files.
New command line "mutool trim" to remove content outside mediabox.
New flag to "mutool draw": -KK to remove all non-textual content.
Support PDF page labels.
Layout HTML tables with variable column widths.
Added JPEG output format. JPEG should be used with care due to its
lossy nature (if in doubt, use PDF instead).
Added PDF filter factories.
Added PDF color filter.
Added "culler" to sanitize filter.
Added flags to control embedding fonts in output.
New device methods for structured tags.
Increased maximum allowed image size.
Add magic flag to temporarily hide annotations when editing them.
Support RD in Square and Circle annotations.
Support dashed borders in annotations.
Support cloudy borders in annotations.
Improved layers in PDF files.
Fix performance issue with large PDF files and outlines.
Updated multi-threading examples.
Moved WASM project into separate repository.
Added Java and "mutool run" bindings for many more functions.
List of changes in MuPDF 1.21.0
Added MOBI input format support.
Added Story API for creating PDF documents from formatted text.
Added API to create, edit, and delete links.
Support custom images for Stamp annotations.
Support interior color on Polygon annotations.
Support line endings on PolyLine annotations.
Improved SVG output.
C++/Python/C# binding:
Changes to naming of wrapper functions and classes.
Added limited support for callbacks into Python, using SWIG Directors.
List of changes in MuPDF 1.20.0
Experimental C# bindings.
Cross compilation should no longer need a host compiler.
Major additions to JNI bindings.
New API to edit outline
New API to resolve and create links
New API to toggle individual layers in PDF
Layer panel in mupdf-gl
Layer option in mutool draw
New API to add a Javascript console
Console panel in mupdf-gl
Text search API extended to be able to distinguish between separate search hits.
Command line tool improvements:
all: Negative page numbers to index from the last page
mutool draw: Add option to render document without text
mutool draw and convert: Support DPI option in text and HTML output
New hybrid HTML output format using "scripts/pdftohtml" script:
Graphics in a background image
Text on top
Improved WASM viewer demo
Support high DPI screens
Progressive loading
Update to zlib 1.2.12 for security fix.
Too many bug fixes to list.
List of changes in MuPDF 1.19.0
Removed support for Luratech JBIG2 and JPEG2000 decoders.
Added 'extract' library for more output options:
Added DOCX output format
Added ODT output format
Notable new features:
Journal for undo and redo
Snapshot for auto-save and restore (for backgrounding mobile apps)
Reflow document wrapper
Rollover appearance for annotations and widgets
Customize appearance of signed digital signatures
Progress and cancel callbacks to OCR functions
Create signature form fields
Minor new features:
Support CJK fonts in pdfwrite output
Support JBIG2 images in pdfwrite output
Support opacity for all markup annotation types
High-DPI aware UI in mupdf-gl
mutool extract -a option to embed SMasks as alpha channel
API changes:
Removed pdf_widget type alias (was always same as pdf_annot)
Updated annotation 'dirty' logic
Fix typo in function and type names: designated name -> distinguished name
More functions available to 'mutool run'
More functions available to Java library
New unicode scripts and fonts for EPUB:
Dogra, Elymaic, Gondi, Hanifi Rohingya, Masaram Gondi,
Medefaidrin, Nushu, Nyiakeng Puachue Hmong, Old Sogdian,
Sogdian, Soyombo, Wancho, Yezidi, and Zanabazar Square.
C++ and Python bindings:
C++ and Python bindings now work on Windows.
Python bindings are available as pre-built binaries on pypi.org.
Added demo PDF viewer using the Python MuPDF bindings and PyQt.
Better access to data in generated wrapper classes.
Improved handling of out-parameters in generated Python.
Text representation of POD types via C++ operator<< and Python str().
Fixed ref-counting bug in iterators.
Updates for new MuPDF functions.
List of changes in MuPDF 1.18.0
mutool draw: bbox output format.
mutool draw: structured text extraction in JSON format.
mutool run: StructuredText.walk()
mutool run: PDFPage.process() and PDFAnnotation.process()
mupdf-gl: Added IBM Common User Access shortcuts for copy & paste.
mupdf-gl: Improved redaction UI.
java: Example desktop Java viewer.
wasm: WebAssembly viewer that runs in a browser.
api: Dehyphenation option in structured text extraction, to improve
searching for words that are hyphenated across lines.
api: pdf_new_date, pdf_to_date, pdf_dict_put_date and pdf_dict_get_date.
api: Added choice of image redaction algorithms: none, full, partial.
api: Optional use of Tesseract to use OCR to extract text.
svg: Many small parsing fixes.
svg: Parse inline CSS style attributes.
svg: Text elements (simple text layout only).
html: Added HTML5 parser.
pdf: High security redaction -- save redacted PDF as flattened bitmap,
guaranteed to not leak any sensitive redacted information.
Experimental C++ bindings.
Experimental Python bindings.
List of changes in MuPDF 1.17.0
api: Improved accessors for markup/ink/polygon annotation data.
api: Chapter based API for faster EPUB loading.
api: Add more documentation to header files.
api: Improved digital signature signing and verification.
api: Validate changes in a signed PDF file.
build: Moved windows build to VS2019 solution.
pdf: Redaction now works on images and links as well as text.
pdf: Greek, Cyrillic, Chinese, Japanese, and Korean scripts in forms and annotations.
pdf: File attachment annotations.
pdf: Use CCITT Fax compression for 1-bit images when creating PDF files.
epub: More forgiving XHTML parsing.
epub: Accelerator files to cache chapter data for faster EPUB loading.
epub: Optimized memory use.
mutool run: Edit Markup, Ink, and Polygon annotation data.
mutool run: Fill out form fields.
viewer: Ask for confirmation before closing a PDF with unsaved changes.
viewer: Embed and extract file attachment annotations.
library: Miscellaneous bugfixes.
library: Fixes to store operation.
thirdparty: Updated Harfbuzz to 2.6.4.
thirdparty: Updated jbig2dec to 0.18.
thirdparty: Updated MuJS to 1.0.7.
thirdparty: Updated OpenJPEG to 2.3.1.
thirdparty: Updated cURL to 7.66.0 (windows only).
List of changes in MuPDF 1.16.1
mupdf-x11: Changed key bindings to match mupdf-gl.
mupdf-x11: Invert by luminance for dark mode.
android: Fix compilation error.
List of changes in MuPDF 1.16.0
api: Major overhaul of color management architecture.
api: Improved functions to verify/sign PDF documents.
api: Number tree accessor function pdf_lookup_number.
api: Parse and handle more options for PWG output.
api: Removed obsolete gproof document type.
api: User callbacks for warning and error messages.
epub: Changed default page size to A5.
epub: Draw embedded SVG documents in EPUB/XHTML.
epub: New Noto fonts covering more unicode scripts.
epub: Support small-caps font-variant.
pdf: Add Redact annotation type and function to apply redactions.
pdf: Add/remove/change encryption and password when saving PDF files.
pdf: Improvements to text handling in PDF filter processor.
pdf: MP and DP operators now call begin/end_layer device methods.
pdf: New and improved progressive loading.
svg: Draw external images in SVG documents.
mutool show: Add 'form' selector to list PDF form fields.
mutool sign: Sign PDF documents from the command line.
mutool sign: Verify signatures in PDF documents from the command line.
viewer: Option to save a script of user actions for replay with mutool run.
viewer: Runtime toggle for ICC and spot rendering.
viewer: Tooltip when hovering over a link in mupdf-gl.
List of changes in MuPDF 1.15.0
General improvements:
* WebAssembly build target and examples.
* Improved forms API in both C and Java bindings.
* Improved forms JavaScript support.
* Create appearance streams for more form field types.
* Fixed many bugs in ICC color management.
* Fixed many memory leaks in error cleanup.
* Fixed bugs in pdfwrite output.
* Improved text extraction from LaTeX documents with math symbols.
* Improved trace device formatting.
* Support CBZ and CBT files larger than 2Gb.
* Show table of contents for FB2 and XHTML documents.
* Show embedded raster images in SVG and XHTML documents.
* Show FB2 cover page.
* Add option to save PDF files without encryption.
* Add inhibit-spaces option to stext device to turn off missing space detection.
* Simplified fz_try/fz_always/fz_catch macros.
mupdf-gl improvements:
* Automatically open annotation editor when selecting an annotation.
* Full page color tinting option in mupdf-gl.
* Show/hide table of contents sections.
* Trigger a reload with sighup.
* Toggle spot color mode with 'e'.
mutool improvements:
mutool show $PDF outline -- show outline with open/closed state indicator.
mutool show $PDF js -- show document level javascript.
mutool clean -A -- create appearance streams when missing.
mutool clean -AA -- recreate all appearance streams.
mutool run docs/examples/portfolio.js -- extract embedded files from PDF document.
mutool run docs/examples/pdf-dejpx.js -- decompress JPEG2000 images in PDF document.
mutool run docs/examples/fix-s22pdf.js -- fix fonts in documents generated by S22PDF.
Significant API changes:
* New and improved forms API.
* Renamed -DNO_ICC to -DFZ_ENABLE_ICC=0
* Removed fz_annot superclass. Use pdf_annot and pdf_widget directly instead.
* Annotations and Widgets now have separate enumerators.
* Added optional separations argument to pixmap rendering utility functions.
Various cleanups:
Per-function documentation comments moved to the source file.
Hopefully they will stay up to date more often than when they
were hidden away in the header file.
Removed unused internal testing tools: mjsgen and jstest.
Removed TGA output support. Use one of the more common and useful PAM,
PNM, PNG, or TIFF formats instead.
Removed support for PDF portfolios. This work-in-progress feature was
never completed, and only worked for a small subset of files.
Removed support for progressive loading. This rarely used feature added
a lot of complexity and was an unending source of bugs and strange
behaviour. Removing this feature has allowed us to clean up and
simplify large amounts of code, and fix dozens of bugs in one fell
swoop.
List of changes in MuPDF 1.14.0
* New features:
* Added "Source Han Serif" CJK fallback font.
* Added more scripts to the Noto fallback fonts.
* Multi-page PNM support.
* "mutool show" now supports a path syntax for selecting objects to show.
* Build system simplifications:
* Auto-generated CMap, ICC, and JS source files are checked in to git.
* Embedded CMap resources are now generated by a python script.
* Embedded font resources are linked directly if using GNU ld or windows.
* Namegen tool replaced by use of C macros.
* Simplified Makefile.
* Annotation editing:
* New annotation editing mode in mupdf-gl.
* Can create, edit, and delete most annotation types.
* Can create appearance streams for most annotation types.
* Can create appearance streams for Tx form fields.
* Can create appearance streams for Ch form fields.
* Form filling in mupdf-gl:
* Can click buttons, checkboxes, and radioboxes.
* Can fill out text fields using dialog box.
* Can select choice options using dialog box.
* Can verify and sign digital signatures.
* Improved UI for mupdf-gl:
* Password dialog.
* Error dialog.
* Open/save file dialog.
* Snap selection to words or lines by holding control or control+shift.
* Save and restore current location, bookmarks, and navigation history.
* Bug fixes:
* Improved CJK character fallback handling in EPUB.
* API changes:
* Pass rectangle and matrix structs by value.
* Replaced PDF_NAME_Xxx macros with PDF_NAME(Xxx).
* Added PDF_TRUE, PDF_FALSE, and PDF_NULL constant pdf_obj* macros.
* Added helper functions: pdf_dict_get_int, etc.
* Removed 'doc' argument in pdf_new_int, etc.
* Quads instead of rects when highlighting and searching text.
* mutool run: Pass arguments to script in scriptArgs global.
List of changes in MuPDF 1.13.0
* This is primarily a bugfix release.
* New "mutool sign" tool for showing and verifying digital signatures.
* Chinese, Japanese, Korean, Cyrillic, and Greek font support in mutool create.
* Improvements to annotation editing API.
List of changes in MuPDF 1.12.0
* New Android SDK:
New git repositories for the SDK projects:
* mupdf-android-fitz.git has the JNI bindings in a library.
* mupdf-android-viewer.git has the viewer as an activity in a library.
* mupdf-android-viewer-mini.git has the minimalist viewer as an activity in a library.
Binary packages in our Maven repository at http://maven.ghostscript.com:
* com.artifex.mupdf:fitz:1.12.+
* com.artifex.mupdf:viewer:1.12.+
* com.artifex.mupdf:mini:1.12.+
* Color management:
* LCMS2 library for color management.
* CMYK rendering with overprint simulation.
* Spot color rendering.
* Transparency rendering fixes.
* Structured text output improvements:
* Reworked structured text API.
* Faster text searching.
* Highlight and copy text by selecting lines instead of by area.
* New semantic XHTML output format.
* New layout preserving HTML output format.
* Features and improvements:
* Improved non-AA rendering with new scan converter.
* Improved LARGEFILE support.
* Improved TIFF support.
* Improved documentation.
* PCLm output.
* PSD output.
* New "mutool trace" tool.
* New "mutool sign" tool (work in progress).
* Text redaction (work in progress).
* Lots of bug fixes.
List of changes in MuPDF 1.11
* This is primarily a bug fix release.
* Split Android and iOS viewers into separate projects:
* mupdf-viewer-ios.git has the iOS viewer.
* mupdf-viewer-android-old.git has the Android viewer.
* mupdf-viewer-android-nui.git has a new advanced Android viewer.
* mupdf-viewer-android-mini.git has a new minimalist Android viewer.
* PDF portfolio support with command line tool "mutool portfolio".
* Add callbacks to load fallback fonts from the system.
* Use system fonts in Android to reduce install size.
* Flag to disable publisher styles in EPUB layout.
* Improved SVG output.
List of changes in MuPDF 1.10
* Headline changes:
* FictionBook (FB2) e-book support.
* Simple SVG parser (a small subset of SVG only).
* mutool convert: a new document conversion tool and interface.
* Multi-threaded rendering in mudraw.
* Luratech decoders for JBIG2 and JPEG2000 (commercial releases only).
* Optional JPEG-XR support (not included by default for security reasons).
* Updated base 14 fonts from URW.
* New CJK font with language specific variants.
* Hyperlink support in EPUB.
* Reduced memory use:
* New tool muraster: example printer driver with limited RAM usage and automatic banding.
* Alpha channel is now optional in pixmaps.
* More aggressive purging of cached objects.
* Partial image decoding for lower memory use when banding.
* Reduced code size when building with a subset of features:
* Reduced default set of built-in CMap tables to the minimum required.
* FZ_ENABLE_PDF, _XPS, _JS, to disable features at compile time.
* Function level linking.
* Interface changes and cleanups:
* Dropped pdf object generation numbers from public interfaces.
* Simplified PDF page, xobject, and annotation internals.
* Closing and freeing devices and writers are now separate steps.
* Improved PDF annotation editing interface (still a work in progress).
* Document writer interface.
* Banded image writer interface.
* Mobile viewers:
* New JNI interfaces to match capabilities of 'mutool run' javascript.
* New android and desktop java examples using new JNI interface.
List of changes in MuPDF 1.9
* Headline changes:
* New command line tools: create and run.
* New low-level Java interface for desktop and android.
* Bidirectional layout for Arabic and Hebrew scripts.
* Shaping complex scripts for EPUB text layout.
* Noto fallback fonts for EPUB layout.
* mutool create
Create new PDF files from scratch.
Read an annotated content stream in a text file and write a PDF file,
automatically embedding font and image resources.
* mutool run
Run javascript scripts with MuPDF bindings.
The interface is similar to the new Java interface.
* mutool draw
Optional multi-threaded operation (Windows and pthreads).
Optional low memory mode (primarily for testing).
List of changes in MuPDF 1.8
* Headline changes:
* New OpenGL-based barebones desktop viewer.
* New URW fonts with greek and cyrillic.
* 64-bit file support.
* Ghostscript proofing mode (source only; not in shipped binaries).
* EPUB improvements:
* User style sheets.
* GIF images (also for CBZ).
* Table of contents.
* CJK text.
* Page margins.
* Many bug fixes.
* Bug fixes:
* Updated FreeType to version 2.6.1.
* Various font substitution bug fixes.
* Fix setjmp/longjmp behaviour which could cause optimizing compilers to misbehave.
List of changes in MuPDF 1.7a
* Bugfixes
* Fixed bug that allocated too much memory when packing paths.
* Fixed EPUB font scaling bug.
* Fixed EPUB file type handling in viewers.
* Improved tolerance for broken and unsupported CSS.
* Features
* Added mudraw -z option to compress output streams.
List of changes in MuPDF 1.7
* Headline changes:
* New 'Indie dev' licensing options - contact sales@artifex.com for more details.
* New HTML layout engine, and (DRM-free) EPUB viewer.
* Reduced memory usage - displaylists and internal PDF representation take much less memory, reducing total memory use on some files by over 60%.
* Important API changes:
* Bound contexts have been removed; we now pass fz_contexts explicitly.
* Reference counting of paths and text structures.
* Features:
* Add mutool pages option.
* Tweaked rendering to prevent feature dropout in common cases.
* Viewer tweaks
* Better mouse wheel handling
* Shift-space support
* Mouse button control of presentation mode
* Internal changes:
* Removal of bound contexts; fz_contexts now passed explicitly everywhere.
* PDF filter revamp - simpler interface.
* Devices use derived structures rather than user pointer.
* Sparse PDF xrefs held in more compact form.
* New gsview viewer split out to its own repository.
* Bug fixes
* Improved handling of broken files.
* Fix BBoxes of Type 3 fonts.
* Updated fonts (including greek and cyrillic).
* Various memory leaks and crashes.
* And many more.
List of changes in MuPDF 1.6
* Features:
* Color detection device (mudraw -T).
* Sepia mode full-page color tinting in X11 and win32 viewer (keybinding: shift-C).
* Re-implement printf and strtod due to portability issue with locales and number formatting.
* Add 'gsview' project: a Windows Modern UI viewer.
* Improve XML parser interface.
* Bug fixes:
* CBZ page ordering
* ZIP64 support
* iOS and Android bug fixes
* Miscellaneous minor fixes
List of changes in MuPDF 1.5
* Bug fixes.
List of changes in MuPDF 1.4
* Headline changes:
* CMYK rendering (mudraw PWG and PAM formats)
* TIFF viewer (with multi-page support).
* Added MuJS Javascript interpreter.
* MuJS is the default, V8 and JavaScriptCore are compile time options.
* Javascript support has to be explicitly enabled with pdf_enable_js.
* All viewers now have JavaScript enabled in the default builds.
* Viewers:
* X11: Horizontal scroll wheel support.
* X11: Status bar display with warnings.
* Android: Digital signatures.
* iOS: Links, form filling, annotation editing, and javascript.
* iOS: Reflow mode.
* WinRT: Printing.
* WinRT: Improved zooming behaviour.
* Tools:
* mudraw: Banded rendering with -B /band-height/.
* mudraw: Select output format with -F /format/.
* mudraw: Write to stdout if you use '-' as the output file name.
* mudraw: Add TGA output format.
* mudraw: Improved SVG output.
* mutool show: Write output to file instead of stdout with -o /filename/.
* mutool clean: Clean content streams with -s option.
* Annotations:
* Improved font handling.
* Form fields.
* Free text.
* Sticky notes.
* Optimizations:
* glyph cache: Partial eviction.
* glyph cache: Run-length compressed glyphs.
* Smarter handling of subpixel metrics in text rendering.
* Optimized blitting functions.
* Optimized gradient mesh drawing.
* API changes and additions:
* fz_stream API reworked: replace "read" function with "next".
* "Rebind" functions to associate context bound objects with another context:
fz_output, fz_stream, fz_device and fz_document.
* Introduce "document handlers" to detect and open different file types.
* Must now call fz_register_document_handlers() to register the defaults.
* May register your own handlers as well to work with fz_open_document.
* Hook to load system fonts: fz_install_load_system_font_funcs.
* PDF xref cache flushing functions (mark/clear/clear-to-mark).
* Add our own "printf" set of functions to format strings and write to fz_output:
* Format %f as short as possible while preserving precision.
* Has %C for formatting a unicode character as UTF-8.
* Has %M to format fz_matrix.
* Has %R to format fz_rect.
* Has %q and %( to format strings with escaped characters.
* PDF process interface: allow PDF interpreter to do more than just draw!
* Content stream state cleaning filter.
* Content stream rewriting filter.
* PDF digital signatures.
* Stroke states may now be stored on the stack.
* Improved fz_path internals.
* Gradient mesh drawing interface has been improved.
* Save files with incremental updates.
List of changes in MuPDF 1.3
* Windows RT viewer app for MuPDF.
* Library changes to support progressive loading (display PDF files as
they download). Windows/Linux/MacOS viewer supports this using curl.
* Incremental updates to PDF files are now (optionally) preserved on
loading/saving.
* Prototype support for checking PDF Digital Signatures.
* Initial annotation support (strike-out, underline, highlight and ink)
(library and android builds only).
* Fix operation on Android API level 8.
* Android redraw optimisations.
* Android app now supports Google Cloud Print.
* Android app translated into many languages.
* Android support for more architectures.
* Improvements to store (avoid collisions causing unnecessary evictions).
* Windows apps use Unicode filenames now.
* PDF function handling improved; functions can now be passed to devices
without 'sampling'.
* PDF image handling improved; images can now be passed to devices
without decompression.
* Indexed images are no longer uncompressed at load time, saving memory.
* Caching of rendered tiles for speed.
* Improved text analysis mode, capable of spotting columns/indents,
right-to-left text etc.
* HTML output mode now includes image output.
* PDF password encoding handling improved.
* MuPDF now opens Jpeg, Tiff and PNG files directly.
* Bug preventing OpenXPS files from being opened fixed.
* Initial (feature incomplete) SVG and PDF output devices.
* PWG raster (mono/grey/RGB) and PCL (mono) output devices.
* Various performance improvements (including tilings and mesh based
shadings).
* Revamped directory structure to reflect recent changes.
* Various potential SEGV, SoftMask and rendering fixes.
* Many potential crashes in Jpeg2000 and JBIG2 images fixed.
List of changes in MuPDF 1.2
* Important API changes:
* fz_bbox is now fz_irect.
* APIs (including fz_device) now pass fz_rect/fz_matrix by reference.
* fz_device API is now more consistent with regards to use of
fz_rect rather than fz_bbox.
* Add support for Javascript and forms handling.
* Fix many SEGVs with out of spec files. Many thanks to Mateusz "j00ru"
Jurczyk and Gynvael Coldwind of the Google Security team, zeniko,
Sebastian Rasmussen and all other contributors.
* Add fz_open_document_with_stream to allow non-file based operation.
* Move to using git submodules for third party libraries.
* Much enhanced Android application. Now on Google Play!
* Oversized and stroke text clipping implemented.
* Change shadings to decompose at render times; massive memory savings.
* Renamed 'mubusy' to 'mutool'.
* PDF 1.7 Extension Level 8 encryption implemented.
* Added consts to various parts of the API to help C++ interworking.
* Prototype transition support.
* Text searching API moved to fitz.
* Highlight and copy text selections.
* Performance enhancements for color conversion and fax decompression.
* ARM optimisations for color conversion and bitmap scaling.
* Bitmap subsampling stage introduced, with ARM optimisations.
* Type 3 fonts; glyphs are now handled as display lists.
* Scan converter performance improvements.
* Various rendering fixes.
List of changes in MuPDF 1.1
* Rendering bugs fixed (text clipping, stroked text etc).
* Better handling of 'large' (uncachable) glyphs.
* Added a delete button to the library view on the iOS port.
* Minor speed optimisations.
* Shading bug fixes.
* Move to using dynamically allocated parsing buffers (more resilient).
* Support for UserUnits.
* Fix bugs with image predictors (including with 16 bit images).
* More resilient to out of spec files.
* Extract pdf writing capability into the library from pdfclean, and
expand on it to allow for linearisation. Bug fixes in the garbage
collection of unused objects.
* Improve pdf writing recognition of images.
* Improved font matching.
* Start to move away from macros to inline functions (helpful for
applications requiring certification).
* Many bugs fixed.
|