This release features improvements for searching in the viewer: searching with/without diacritics, arbitrary whitespace matching, searching for hyphenated words when linebreaks are present and searching around punctuation characters. Moreover, this release contains many bugfixes and optimizations, in particular for annotations, font/image conversion, SMask rendering, text layer rendering and TypeScript definitions.
Changes since v2.12.313:
#13261 [api-minor] Support search with or without diacritics (bug 1508345, bug 916883, bug 1651113)
#14389 Bump versions in pdfjs.config
#14388 Unblock the "load" event in inactive windows/tabs (bug 1746213, PR 11646 follow-up)
#14401 Update packages and translations
#14391 Handle non-integer Annotation border widths correctly (issue 14203)
#14400 [api-minor] Convert Catalog.getPageDict
to an asynchronous method
#14409 Improve caching for the Catalog.getPageIndex
method (PR 13319 follow-up)
#14411 Convert Catalog.getAllPageDicts
to an async
method
#14413 Drop the beta logic from the Gulpfile/website/pdfjs.config
file
#14417 Revert "Disable failing print actions integration test in Firefox"
#14418 Use positive dimensions for text chunks in the text layer (issue #14415)
#14429 [JS] Fix few errors around AFSpecial_Keystroke
#14423 Remove the eventBus
parameter from getViewerConfiguration
#14424 [api-minor] Move addLinkAttributes
, LinkTarget
, and removeNullCharacters
into the viewer (PR 14092 follow-up)
#14432 Update packages and translations
#14443 Prevent run-time errors in BaseViewer
when it's falling back to SimpleLinkService
(issue 14442, PR 14295 follow-up)
#14450 Add (basic) UTF-8 support in the stringToPDFString
helper function (issue 14449)
#14446 Expose even more API-functionality in the TypeScript definitions (issue 14435, PR 14013 follow-up)
#14454 Replace some assert
usage with unreachable
in the src/shared/util.js
file
#14453 Dispatch a "documenterror" event in PDFViewerApplication._documentError
(issue 14451)
#14439 Ignore Annotations with empty /Rect-entries in the display-layer (issue 14438)
#14448 Prevent circular references in Type3 fonts
#14428 Use the correct dimension to know if we have to add an EOL in vertical mode
#14455 Make the normalizeWhitespace
handling, in the PartialEvaluator
, more efficient (PR 14428 follow-up)
#14457 Implement a unit test for getCharUnicodeCategory
in src/core/unicode.js
(PR 14428 follow-up)
#14456 Font renderer - get int8 instead of uint8 in composite glyphes (bug 1749563)
#14464 Support Type1 font files with incomplete /CharStrings definitions (issue 14462)
#14430 [JS] Use beforeinput event to trigger a keystroke event in the sandbox
#14487 Remove the out.pdf
file (PR 14430 follow-up)
#14489 Fix scripting test related to keystroke event
#14483 Remove the invisible format marks from the text chunks
#14479 Update packages and translations
#14490 Add a (global) cache to the getCharUnicodeCategory
function
#14495 web: Read WheelEvent.deltaMode before deltas.
#14500 Take into account all rotations before comparing glyph positions
#14491 fix for lines (stroke) are rendered too thick (Bug 1743245)
#14506 Update the year in the license_header
files
#14392 Polyfill structuredClone
with core-js (PR 13948 follow-up)
#14507 Bump copy-props from 2.0.4 to 2.0.5
#14508 Bump nanoid from 3.1.30 to 3.2.0
#14513 Update quickjs sandbox
#14510 [api-minor] Annotations - Adjust the font size in text field in considering the total width (bug 1721335)
#14517 Disable the browser-tests, during gulp makeref
, in Google Chrome on the Windows bot (PR 14392 follow-up)
#14516 [UI] Avoid to have buttons in hover state after having been clicked (bug 836732)
#14518 Remove the MBTA-pretax-form-July2012
browser-test since it's a duplicate
#14522 Remove the xfa_bug1716838
browser-test since it's a duplicate
#14515 [api-minor] Remove support for browsers/environments without fully working URL.createObjectURL
implementations
#14527 [api-minor] Remove the normalizeWhitespace
option in the PDFPageProxy.{getTextContent, streamTextContent}
methods (issue 14519, PR 14428 follow-up)
#14535 [GENERIC viewer] Use consistent casing, for the labels, in the findbar
#14532 [GENERIC viewer] Remove the moz
-prefixed FullScreen API usage from the viewer
#14530 Avoid the findResultsCount
span taking up (vertical) space when hidden (PR 13261 follow-up)
#14537 Update packages and translations
#14539 Bump simple-get from 3.1.0 to 3.1.1
#14538 [api-minor] Update the minimum supported browser versions
#14548 [api-minor] Ensure that the PDFDocumentLoadingTask
-promise is rejected when cancelling the PasswordPrompt (bug 1754421)
#14547 Update the file used with the xfa_bug1720182
test-case
#14543 Let Lexer.getNumber
treat a single minus sign as zero (bug 1753983)
#14551 [api-minor] Stop exposing the createObjectURL
helper function in the API
#14557 Remove unnecessary font-size
CSS rule from the html
element (issue 14555, PR 3794 follow-up)
#14558 Remove the UTF-8 fallback, when TextDecoder
is missing, from the Content-Disposition parser
#14560 [api-minor] Remove the, in legacy
builds, bundled ReadableStream
polyfill
#14559 Revert "Don't block origin-less blob:-URLs in hosted viewer"
#14564 [api-minor] Don't add in the text content the chars which are out-of-page (bug 1755201)
#14563 [Search] Some matches were incorrectly shifted because of some '-\n'
#14572 Add a missing string-check in the _collectJS
helper function
#14566 Miscellaneous small viewer clean-up
#14569 Fix canvas state getting out of sync from smasks. (bug 1755507)
#14581 Use the (viewer) parseQueryString
helper function in the reference tests
#14580 Change PixelsPerInch
to a class with static
properties (issue 14579)
#14578 Remove the backingStorePixelRatio
-part of the getOutputScale
helper function
#14575 Remove the isStream
helper function
#14577 Remove the isRef
helper function
#14584 Update packages and translations
#14585 Improve the PDFObjects
class
#14594 Prefer instanceof ...
rather than calling isCmd
/isDict
/isName
with one argument
#14596 Remove the isNum
helper function
#14595 Update the support information for structuredClone
(PR 14392 follow-up)
#14588 Remove old prefixed CSS rules used with text
tests
#14597 Ensure that Dict.set
only accepts string key
s
#14598 Re-factor the Catalog.viewerPreferences
method and remove the isBool
helper function
#14545 Generate test images at different output scales.
#14605 Simplify the decodeFontData
/encodeFontData
font-test helper functions
#14608 Don't close window from test driver.
#14609 Improvements to the reftest analyzer.
#14599 Ensure that Cmd
/Name
is only initialized with string arguments
#14600 [api-minor] Add validation for the PDFDocumentProxy.getPageIndex
method
#14607 Simplify the wrapReason
helper function
#14606 Only support the standard, unprefixed, Fullscreen API in the default viewer
#14602 Re-factor the PDFDocument.documentInfo
method, and remove the isString
helper function
#14610 [JPEG 2000] Add support for resetContextProbabilities (bug 1731483)
#14611 Remove the JSDocs "External: Promise"-page, since Promise
s are now a standard feature
#14612 Add the caniuse-lite
package