master
Add Digital signature properties verification panel
Adjusts heuristic for disabling Symbol encoding
Convert shading colors in bulk, rather than one at a time
JS -- hidden annotations must be built in case a script show them * in some pdf, there are actions with "event.source.hidden = ..." * in order to handle visibility when printing, annotationStorage is extended to store multiple properties (value, hidden, editable, ...)
Convert all PDF links from HTTP to HTTPS
Fix dependency tracking in pattern fill
Load the predefined CMap for composite fonts that omit the FontDescriptor
Add and wire in test files
Add support for Brotli decompression
Prevent circular references in Type3 fonts
Add an additional test-case for circular references in Type3 fonts
Use the CFF program directly for CID fonts wrapped in OpenType FontFile3
[Regression] Eagerly fetch/parse the entire /Pages-tree in corrupt documents (issue 14303, PR 14311 follow-up)
Ensure that the `baseTransform` is always defined for TilingPatterns
Fix the `charCodeOf` method in `IdentityToUnicodeMap` in order to prevent text selection from breaking
Handle non-integer and out-of-range values correctly in Indexed color spaces
Use the PDFium JBig2 decoder compiled into wasm
Handle errors when fetching the raw /Metadata (issue 14305)
Ensure that `ChunkedStream` won't attempt to request data *beyond* the document size (issue 14303)
Overwrite glyphs contour count if it's less than -1.
Map all glyphs to the private use area and duplicate the first glyph.
Prevent circular references in the /Pages tree
Abort parsing when the XRef /W-array contain bogus entries (issue 14303)
Add example PDF from #268
Apply Patterns, if necessary, when rendering text
Add reference tests for SimFang variant and XiaoBiaoSong fonts
Add 'Indexed' cs abbreviation
Fixing DescendantFonts object fetching (#600)
Remove the executable bit from test PDF files
Prevent `readCmapTable` from failing if the `cmap` is missing in TrueType fonts
Apply char/word-spacing correctly for missing Type3-glyphs
Add ZapfDingbats testcase
Initial alpha transparency support.
Fix broken links to Bugzilla PDF attachments
Add tests and documentation for the annotation border style class
Button widget annotations: implement reference testing
Add support of Ink annotation
Choice widget annotations: unit and reference testing
Implement unit and reference testing for FileAttachment annotations
Add support for missing appearances for hightlights, strikeout, squiggly and underline annotations.
Implement support for Highlight annotations
Support `InkAnnotation`s without appearance streams (issue 13298) (#13301)
Support `LineAnnotation`s with empty /Rect-entries (issue 6564)
Implement rendering line annotations without appearance stream
Implement support for Popup annotations
Implement rendering polyline/polygon annotations without appearance stream
Implement rendering square/circle annotations without appearance stream
Implement support for Squiggly annotations
Implement support for stamp annotations
Implement support for StrikeOut annotations
Text widget annotations: implement comb support
Add tx annotation test file.
Prevent rendering `TextWidgetAnnotation`s in both the `core`/`display` layer (issue 7643)
Implement support for Underline annotations
Don't print hidden annotatons (bug 1815196)
Add test files with CID fonts
Adding ASCIIHexDecode pdf to test/pdfs
Include a reduced, non-linked PDF file for the attachments API unit test
Add support for `/AuthEvent`, on-demand decryption
Adjust one of the Page Label unit-tests to use a PDF file where the "St" entry is both present and non-default (i.e. greater than one)
Extract correct PDF format version from the catalog
Intersect group bounding box with the current canvas dimensions.
Add some tests for the JBIG2 js decoder
Add support for blend modes.
Fallback gracefully when encountering corrupt PDF files with empty /MediaBox and /CropBox entries
Detect scripted auto-print requests
Fixes Type3 negative font direction
Enable automatic URL linking
Add a unit-test for bug 1020226
Add a reduced load test-case for bug 1020858
Add a reduced test-case for bug 1027533
[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
Don't map glyphs to Unicode position 0x0E33, i.e. Thai character SARA AM (bug1046314)
Fall back to the |defaultEncoding| when no valid "post" table is found in TrueType fonts (bug 1050040)
Fix handling of symbolic fonts and unicode cmaps.
Add a reduced test case for PR 5286
Prevent adding invalid values in `CFFDict_setByKey` (bug 1068432)
Fixes decoding for CMYK jpegs.
Don't map glyphs to Unicode "Dotted circle" combining mark (bug 1108301)
[api-minor] Always allow e.g. rendering to continue even if there are errors, and add a `stopAtErrors` parameter to `getDocument` to opt-out of this behaviour (issue 6342, issue 3795, bug 1130815)
Convert `uniXXXX` glyph names to proper ones when building the `charCodeToGlyphId` map for TrueType fonts (bug 1132849, issue 6893, issue 6894)
Correctly detect the presence of the Adobe specific APP14 JPEG marker (bug 1140761)
Attempt to recover valid `format 3` FDSelect data from broken CFF fonts (bug 1146106)
Add more reduced test-cases for PR 6171
Handle the Encoding being a dictionary in PartialEvaluator_preEvaluateFont (bug 1157493)
Adjust the heuristics used to detect OpenType font file with CFF data (bug 1186827, bug 1182130, issue 6264)
Adds more SMask tests.
Fallback in `readCmapTable`, instead of using `error`, for TrueType fonts with unsupported cmap formats (bug 1200096)
Use the correct border-style for Annotations, when a dash array is specified (bug 1219400)
Add default icons for FileAttachment annotations (bug 1230933)
Avoid truncating/breaking some Type3 glyphs in `compileType3Glyph` (bug 1245391, issue 10568)
Add a `recoveryMode` that suppresses errors from the `Parser`, and utilize it when searching for the main trailer in `XRef_indexObjects` (bug 1250079)
Replace empty CharStrings with '.notdef' in `Type1Font_wrap` to prevent OTS from rejecting the font (bug 1252420)
Stops bleeding of pattern edges for mesh.
Add a test-case for bug 1292316
Ignore reserved commands when parsing operands in `CFFParser_parseDict`, instead of just rejecting the entire font (bug 1308536)
Always choose a (3, 1) cmap table for TrueType fonts that have an encoding specified, regardless of the Symbolic font flag (bug 1337429)
Ignore line-breaks between operator and digit in `Lexer.getNumber`
Extend `getNonStdFontMap` for non-embedded Impact fonts (bug 1365930)
Use font's default width even when 0.
Prevent an infinite loop in `XRef.readXRef` by keeping track of already parsed tables (bug 1393476)
Error, rather than warn, once a number of invalid path operators are encountered in `EvaluatorPreprocessor.read` (bug 1443140)
Prevent errors in `sanitizeTTProgram`, during parsing of CALL functions, when encountering invalid functions stack deltas (bug 1473809)
Try to improve text-selection for Type3 fonts that utilize a non-default /FontMatrix (bug 1513120)
[OTS] Remove cntrmask instruction with no stem in charstring (bug 1529502)
Ignore Annotations with too large border `width`s, to prevent the `annotationLayer` from rendering it over the surrounding document (bug 1552113)
Ensure that the PDF header contains an actual number (PR 11463 follow-up)
Compute the `transformOrigin` correctly, for negative values, when rendering `AnnotationElement`s (bug 1627030)
Handle ranges that "overflow" the last byte in `CMap.mapBfRange` (bug 1627427)
Fix bad truetype loca tables.
Attempt to improve non-embedded Wingdings font support (bug 1652224)
[api-minor] Add a jpx decoder based on OpenJPEG 2.5.2
Fallback font for buttons must be ZapfDingbats.
Always re-measure non-embedded ArialNarrow fonts (bug 1671312, PR 12725 follow-up)
Use widths defined by font for standard fonts.
Use a new method for handling soft masks.
Make the link annotations correctly announced by screen readers (bug 1708041)
Ensure that the field value, for checkboxes, refers to an existing appearance state (bug 1720411)
Improve performance of reused patterns.
Annotation - For checkboxes, get field value from AS (if any) instead of V (bug 1722036) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1722036. - AS and V should share the same value for checkbox: it's at least what the specs say; - the pdf in the above bug opens correctly in Acrobat so it likely means that AS is chosen over V.
Use appearance stream to render locked annotations (bug 1723568)
Only use base encoding if it's populated. (bug 1727053)
Take the /CIDToGIDMap data into account when computing the hash, in `PartialEvaluator.preEvaluateFont`, for composite fonts (bug 1734802)
[Annotations] Show buttons even if they've no actions - it's a regression from PR #14247: - before the PR, the button was rendered on the canvas whatever its status was; - after the PR, the button image has been moved in an other canvas so when the button is not renderable (because it has no actions) then the image is not added the HTML element. - the buttons in the pdf in bug 1737260 or in the pdf in #14308 were not visible - make the button always renderable but don't add the link element if it's useless.
fix for lines (stroke) are rendered too thick (Bug 1743245)
Font renderer - get int8 instead of uint8 in composite glyphes (bug 1749563) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1749563; - use some helper functions to get (u|i)int** values in buffer: it helps to have a clearer code; - in composite glyphes the translations values with a transformations are signed so consequently get some int8 instead of uint8; - add few TODOs.
Fix some issues with lineWidth < 1 after transform (bug 1753075, bug 1743245, bug 1710019) - it aims to fix: - https://bugzilla.mozilla.org/show_bug.cgi?id=1753075; - https://bugzilla.mozilla.org/show_bug.cgi?id=1743245; - https://bugzilla.mozilla.org/show_bug.cgi?id=1710019; - issue #13211; - issue #14521. - previously we were trying to adjust lineWidth to have something correct after the current transform is applied but this approach was not correct because finally the pixel is rescaled with the same factors in both directions. And sometimes those factors must be different (see bug 1753075). - So the idea of this patch is to apply a scale matrix to the current transform just before setting lineWidth and stroking. This scale matrix is computed in order to ensure that after transform, a pixel will have its two thickness greater than 1.
Let `Lexer.getNumber` treat a single minus sign as zero (bug 1753983)
[api-minor] Don't add in the text content the chars which are out-of-page (bug 1755201) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1755201; - if the glyph position is not within the view then skip it.
Fix canvas state getting out of sync from smasks. (bug 1755507)
[JS] Format all the fields if any when the document is open (bug 1766987) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1766987.
Support Hangul syllables when searching some text (bug 1771477) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1771477; - hangul contains some syllables which are decomposed when using NFD, hence the text must be correctly shifted in case it contains some of them.
[Annotation] A push button can have no action (bug 1778692)
Initialize values in the path bounding box before flushing the operator list (bug 1791583)
Use all the current transform as key when caching some image for masks used with pattern fill (bug 1795263, #15573)
Use the *full* inline image as the cacheKey in `Parser.makeInlineImage` (bug 1799927)
Use the checkboxes and radio button appearances as defined in the pdf to render them in the annotation layer (bug 1802506)
Tweak `adjustType1ToUnicode` for fonts with a predefined *named* encoding (bug 1811668, PR 14050 follow-up)
Fix search in pdf a containing some UTF-32 characters (bug 1820909)
Use the position of the previous xref stream if any when saving a pdf (bug 1823296)
[api-minor] Implement basic support for OptionalContent `Usage` dicts (issue 5764, bug 1826783)
Don't replace Acroform dictionary if nothing has changed when saving (bug 1844572)
[Annotation] Strip out the array index in the path only when the path is from a terminal node (bug 1847733)
[Annotation] Use the field V entry when there is no Parent one for a radio button (bug 1860602)
Make sure that only one radio button is checked in its group (bug 1864136)
Preserve the whitespaces when getting text from FreeText annotations (bug 1871353)
Draw non-isolated blend-mode groups against their backdrop (bug 1873345)
Use the string value of the field when calling the Format callback (bug 1889122)
Prevent XRef errors from breaking font loading (bug 1898802)
Don't display annotations with a PMD (barcode stuff) entry (bug 1899804)
Update our OpenJPEG decoder in order to fix a malloc failure due to big image (bug 1901253)
Always use DW if it's a number for the font default width (bug 1903731)
Use vertical variant of a char when it's in a missing vertical font (bug 1905623)
Allow e.g. /FitH destinations without additional parameter (bug 1907000)
Replace the EXIF-block with dummy data to prevent JPEG images being rotated (bug 1942064)
[api-minor] Use a Path2D when doing a path operation in the canvas (bug 1946953)
[api-major] Apply the `userUnit` using CSS, to fix the text/annotation layers (bug 1947248)
Let `Lexer.prototype.getNumber` treat more cases of a single minus sign as zero (bug 1953099)
Don't iterate over all empty slots in the xref entries (bug 1980958)
Flush the text content chunk only on real font changes (bug 2013793)
Don't decode name of the checkboxes exported values (bug 2022700)
Don't walk the children of a node having some attached MathML (bug 2025674)
Fix merging PDFs with conflicting AcroForm /DR (bug 2035197)
[api-minor] Add support for relative URLs, in both annotations and the outline, by adding a `docBaseUrl` parameter to `PDFJS.getDocument` (bug 766086)
[api-minor] Add support for PageLabels in the API
Simplify the `compileType3Glyph` function to just return the `Path2D` objects
Fix glyph selection for CID fonts that don't actually have CID font files.
Add a reduced test case for bug 847420
Handle 'space' character correctly in WinAnsiEncoding (bug 850854)
Display widget signature - but don't validate them for now; - Firefox will display a bar to warn that the signature validation is not supported (see https://bugzilla.mozilla.org/show_bug.cgi?id=854315) - almost all (all ?) pdf readers display signatures; - validation is done in edge but for now it's behind a pref.
Improve performances with image masks (bug 857031) - it's the second part of the fix for https://bugzilla.mozilla.org/show_bug.cgi?id=857031; - some image masks can be used several times but at different positions; - an image need to be pre-process before to be rendered: * rescale it; * use the fill color/pattern. - the two operations above are time consuming so we can cache the generated canvas; - the cache key is based on the current transform matrix (without the translation part) and the current fill color when it isn't a pattern. - the rendering of the pdf in the above bug is really faster than without this patch.
Add an `eq` test for bug 858128
Fix loading of fonts with invalid encoding name entry (bug 859204 and 878112)
Workaround for some bad Type1 data
Fix loading of fonts with empty font files (bug 866395 and issue 3522)
Resizes loca table when needed
Handle 'space' character correctly in MacRomanEncoding (bug 878026)
Improves search of EI (end of inlined image)
Handle annotations with no resources.
Fixes ASCIIHex decoding
Try to skip mapping of missing TrueType glyphs
Only skip the |!isSymbolicFont| check for TrueType (3, 1) cmap tables if no previous cmap table was found (PR 5703 followup)
Read multi-byte character codes based on codespace ranges.
Allocates bigger hashData buffer
Fixes glyphs with invalid flags
Don't map glyphs to certain problematic General Punctuation Unicode locations (bug 911034)
Support CMap-data with only strings, when parsing TrueType composite fonts (bug 920426)
Proper glyph selection for CIDFontType0C fonts.
Adds glyph mapping for standard fonts
Don't consider space as real space when there is an extra spacing (bug 931481) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=931481; - real space chars are pushed in the chunk but when there is an extra spacing, the next char position must be compared with the previous one; - for example, an extra spacing can cancel a space so visually there are no space.
Fix loading of fonts that are not referenced by an object identifier
Add support for right-clicking on images
Implement initial CalGray support
CalRGB: optimize CalRGB calculations
Move some files around.
CCITTFaxStream problem when EndOfBlock is false
Don't clamp BlueScale up when a font genuinely has small zones
Ensure that Annotation `appearance`-entries are actually Streams
[chrome] Fix text selection with `.markedContent`
Remove cid dictionary values for normalized fonts.
Skip the format 4 cmap sub-table when it doesn't fit its 16-bits fields
Move svg:clipPath generation from clip to endPath
Add eq test for close path rendering bug
Merge upstream and change test pdf file.
Adds support for color key mask.
[api-minor] Render high-res partial page views when falling back to CSS zoom (bug 1492303)
Correct PostScript trigonometric operators
[Editor] Update the color and the position of the comment button in reading mode they've been modified
Change the way Type 2 CID fonts are encoded. Move the cmap glyphs above the first 255 unicode values so that fillText does not change them and create an encoding to map characters to the glyphs.
fix handling of flags 1-3 in coons shading
Adjust `decodeACSuccessive` in src/core/jpg.js to improve the rendering quality of (progressive) JPEG images
Replace devicen file with an example we can include.
JS -- Add tests for print/save actions * change PDFDocument::hasJSActions to return true when there are JS actions in catalog.
Add support for encrypted attachments
Adds endchar with 4 arguments test.
JS -- add support for page property in field
Making the test for extgstate be an 'eq' test and making the extgstate pdf more robust for picking up errors.
Avoid getting null value in RefSet when cloning
[Acroform] Use the full path to find the node in the XFA datasets where to store the value
Hide unsupported `LinkAnnotation`s (issue 3897)
Implement progressive loading of PDFs
Fix position of highlighted all text. (#13306)
fix: deleteAnnotationElement takes a full editor object
Add the possibility to merge/update acroforms when merging/extracting (bug 2015853)
[api-minor] Highlight search results correctly for normalized text (PR 9448)
Ensure that entries in the Differences array of Type1 fonts are either numbers or names
Prevent `PartialEvaluator_buildFormXObject` from failing if the `Matrix` or `BBox` contains indirect objects
remove glyph references outside range of avaialable glyphs
Support search with or without diacritics (bug 1508345, bug 916883, bug 1651113) - get original index in using a dichotomic seach instead of a linear one; - normalize the text in using NFD; - convert the query string into a RegExp; - replace whitespaces in the query with \s+; - handle hyphens at eol use to break a word; - add some \s* around punctuation signs
Add support for function-based shadings (bug 1254066)
Transform Web Archive URLs to avoid downloading an HTML page instead of the PDF file
Replace the unavailable linked test-cases for PR 2606 with reduced test-cases
Build paths for glyph accents when drawing text as curves
Fix gradients for fill and stroke.
Correctly scroll the search result in the viewport with rotated pdfs (bug 2021392)
Stops objects indexing at the end
Update the linked test case hmm.pdf to point to the intended version
XFA - Add support for reftests
Fix inverted 1-bit images in SVG backend
[Editor] Make ink annotation editable
Fix decoding of JPX images having an alpha channel
Attempt to find truncated endstream commands, in the fallback code-path, in `Parser.makeStream` (issue 10004)
CFF Parser and Compiler.
Repair CFF fonts if stem hints are in wrong order
Improve handling of named destinations in out-of-order NameTrees (PR 10274 follow-up)
Add a RTL-text reference test (issue 10301)
Check that the first page can be successfully loaded, to try and ascertain the validity of the XRef table (issue 7496, issue 10326)
Implement Decode entry in Indexed images
Avoid truncating inline images, where the data and the "EI" marker is glued together (issue 10388) (#10436)
Fix reading number of HTMX metrics.
Handle more cases of corrupt PDF files with missing 'endobj' operators, where the "obj" string is immediately followed by the dictionary (PR 9288 follow-up)
Test for text layer issue 1045.
Ensure that `XRef.indexObjects` can handle object numbers with zero-padding (issue 10491)
Fix glyph 0 in CIDFontType2 that has a CIDToGIDMap stream
Fix copying on supplementary plane characters
Attempt to handle corrupt PDF documents that contains path operators inside of text object (issue 10542)
Replace the unavailable linked test-case for issue 1055 with a reduced test-case
Better approximate gradient color stops
Handle corrupt ASCII85Decode inline images with whitespace "inside" of the EOD marker (issue 10614)
Fix issues in text selection - PR #13257 fixed a lot of issues but not all and this patch aims to fix almost all remaining issues. - the idea in this new patch is to compare position of new glyph with the last position where a glyph has been drawn; - no space are "drawn": it just moves the cursor but they aren't added in the chunk; - so this way a space followed by a cursor move can be treated as only one space: it helps to merge all spaces into one. - to make difference between real spaces and tracking ones, we used a factor of the space width (from the font) - it was a pretty good idea in general but it fails with some fonts where space was too big: - in Poppler, they're using a factor of the font size: this is an excellent idea (<= 0.1 * fontSize implies tracking space).
Take the `FirstChar`/`LastChar` properties into account when computing the hash in `PartialEvaluator.preEvaluateFont` (issue 10665)
Support (rare) Type3 fonts which contains image resources (issue 10717)
Add a heuristic, in `src/core/jpg.js`, to handle JPEG images with a wildly incorrect SOF (Start of Frame) `scanLines` parameter (issue 10880)
Tweak the heuristic, in `src/core/jpg.js`, that handles JPEG images with a wildly incorrect SOF (Start of Frame) `scanLines` parameter (issue 10989)
Ignore, rather than throwing on, unsupported Coding style default (COD) options in JPEG 2000 images (issue 11004)
Add a work-around, in `glyphlist.js`, for bad PDF generators which use a non-standard `/f_f` string in the `Encoding` dictionary when referring to the ff ligature (issue 11016)
Support corrupt PDF files with invalid/non-existent Group /CS entries (issue 11045)
Handle some corrupt/truncated JPEG images that are missing the EOI (End of Image) marker (issue 11052)
Improve glyph mapping for non-embedded composite standard fonts (issue 11088)
Attempt to detect inline images which contain "EI" sequence in the actual image data (issue 11124)
Allow over-writing entries, in `XRef.indexObjects`, only when the generation number matches (issues 11230, 11139, 9552, 9129, 7303)
Add support for optional marked content.
For Type1 fonts, replace missing font dictionary /Widths entries with ones from the font data (issue 11150)
Add a fallback for non-embedded *composite* Verdana fonts (issue 11242)
Support Blend Modes which are specified in an Array of Names (issue 11279)
Allow skipping of errors when parsing broken/unsupported ColorSpaces (issue 6707, issue 11287)
Subtract `stream.start` when getting the `startXRef` property for documents with a Linearization dictionary (issue 11330)
Render Popup annotations last, once all other annotations have been rendered (issue 11362)
Handle corrupt ASCII85Decode inline images with truncated EOD markers (issue 11385)
Hide .notdef glyphs in non-embedded Type1 fonts and don't ignore Widths
Include a unit test for OpenAction dictionaries without `Type` entries (PR 11443 follow-up)
Fix several issues with radial/axial shadings and tiling patterns.
Fix Type1 font parsing when .notdef is not at index zero
Extend the globally cached image main-thread copying to "complex" images as well (PR 17428 follow-up)
Fix text spacing with vertical fonts. #7687 and #11526.
Extend `getNonStdFontMap` for non-embedded versions of the ItcSymbol font (issue 11532)
Allow skipping of errors when reading broken/corrupt ToUnicode data (issue 11549)
Fix the vertical writing mode with horizontal scaling. #11555. It is not valid to multiply textHScale when the writing mode is vertical.
Replace the linked test-case for issue 1155 with a reduced one
Ignore spaces when normalizing the font name in `Font.fallbackToSystemFont` (issue 11578)
Ensure that there's always a setFont (Tf) operator before text rendering operators (issue 11651)
Tweak the Bidi-detection heuristics for very short RTL strings (issue 11656)
Prevent lookup errors in `PartialEvaluator.hasBlendModes` from breaking all parsing/rendering of a page (issue 11678)
Don't accidentally accept invalid glyphNames which *appear* to follow the Cdd{d}/cdd{d} format in `PartialEvaluator._buildSimpleFontToUnicode` (issue 11697)
Skipping empty font tables
Add a heuristic to scale even single-char text, when the horizontal/vertical scaling differs significantly (issue 11713)
The first glyph in CFF CIDFonts must be named 0 instead of ".notdef"
Create the glyph mapping correctly for composite Type1, i.e. CIDFontType0, fonts (issue 11740)
A couple of small `String.fromCodePoint` improvements (PR 11698 and 11769 follow-up)
Always skip over any additional, unexpected, RSTx (restart) markers in corrupt JPEG images (issue 11794)
Gracefully handle annotation parsing errors in `Page.getOperatorList` (issue 11871)
Use a reduced test-case for the "caches image resources at the document/page level as expected (issue 11878)" unit-test
Improve glyph mapping for non-embedded composite standard fonts with a /CIDToGIDMap (issue 11915)
Avoid hanging the worker-thread for CMap data with ridiculously large ranges (issue 11922)
Jpeg encoded with RGB -instead of YCbCr- write the components index as "RGB" in ASCII to say it so
Adjust the heuristics used when dealing with rectangles, i.e. `re` operators, with zero width/height (issue 12010)
Include forms/print reference tests for the document from #12233
Ensure that all necessary /Font resources are included when saving a `WidgetAnnotation`-instance (issue 12294)
Enforce line width to be at least 1px after applied transform * add a comment to explain how minimal linewidth is computed. * when context.linewidth < 1 after transform, firefox and chrome don't render in the same way (issue #12810). * set lineWidth to 1 after transform and before stroking - aims fix issue #12295 - a pixel can be transformed into a rectangle with both heights < 1. A single rescale leads to a rectangle with dim equals to 1 and the other to something greater than 1. * change the way to render rectangle with null dimensions: - right now we rely on the lineWidth set before "re" but it can be set after "re" and before "S" and in this case the rendering will be wrong. - render such rectangles as a single line.
Don't clip when the clip path is empty (issue #12306)
Implement resetting of created streams for annotations
Prevent errors if the `InkList` property, in InkAnnotations, is missing and/or not an Array (issue 12392)
Fix invalid `XUID` entries in CFF fonts
Check the top-level /Pages dictionary when finding the trailer in `XRef.indexObjects` (issue 12402)
Use the `cidToGidMap`, if it exists, when building the glyph mapping for non-embedded composite fonts (issue 12418)
Check if glyph are stored outside the glyf table
Fix popup for highlights without popup (follow-up of #12505) * remove 1st param of _createPopup (almost useless for a method) * prepend popup div to avoid to have them on top of some highlights (and so "disable" partially mouse events) * add a ref test for issue #12504
Ensure that `MurmurHash3_64.update` handles `ArrayBuffer` input correctly, to avoid hash-collisions (issue 12533)
[FIX] fix jpx tag tree decode (issue 11957)
Ignore color-operators in Type3 glyphs beginning with a `d1` operator (issue 12705)
Follow-up of #12707: Add an integration test for checkboxes as radio buttons * Integration tests: Add a function to load a pdf and wait for a selected element * Integration tests: Add a function to close all the open pages
Ensure that the /Annots-entry, on /Page-instances, is actually an Array (issue 12714)
fix initial state of checkboxes in display layer (#12904)
Add a default DA for textfield to avoid issues when printing or saving * it aims to fix issue #12750
Ignore, rather than throwing on, Coding style component (COC) markers in JPEG 2000 images (issue 12752)
Improve the handling of errors, in `PartialEvaluator.loadFont`, occuring in `PartialEvaluator.preEvaluateFont` (issue 12823)
Improve handling of JPEG images without an EOI marker (issue 12841)
Add back dir property in spans in text layer - aims to fix #12909
Replace the linked test-case for issue 1293 with a reduced test-case
Avoid infinite loop when getting annotation field name - aims to fix issue #12963; - use a Set to track already visited objects; - remove the loop limit in getInheritableProperty and use a RefSet too.
Add the missing pdf file for the test in the PR #14049
Use post table when Encoding has only Differences Fixes #13107 In the issue, some TrueType glyph names have the format `uniXXXX`. Font's `Encoding` dictionary has the entry `Differences` but no `BaseEncoding`. `uniXXXX` names are converted to glyph indices using font's `post` table but currently that is done only when `BaseEncoding` exists. We must enable the conversion also when only `Differences` exists.
Skip extra objects in object stream in using offsets
JS - Handle correctly hierarchy of fields (#13133)
Set CFF header to 4 when writing it because it contains 4 elements (#13149)
Fuzzy-match the fontName, for TrueType Collection fonts, where the "name"-table is wrong (issue 13193)
Work-around for HighlightAnnotations without a top-level /ExtGState-entry (issue 13242)
[JS] Fix several issues found in pdf in #13269 - app.alert and few other function can use an object as parameter ({cMsg: ...}); - support app.alert with a question and a yes/no answer; - update field siblings when one is changed in an action; - stop calculation if calculate is set to false in the middle of calculations; - get a boolean for checkboxes when they've been set through annotationStorage instead of a string.
Update all the text widgets having the same name with the same value
Fallback to the /ToUnicode map for TrueType fonts with (3, 1) and (1, 0) cmap-tables (issue 13316)
Take the `W` array into account when computing the hash, in `PartialEvaluator.preEvaluateFont`, for composite fonts (issue 13343)
Fix how patterns are applied to image mask objects.
Fix the loca table length when there is enough space for it
Always prefer the post-table for TrueType fonts with (0, x) cmap-tables (issue 13433)
Support strokeAlpha/fillAlpha when creating a fallback appearance stream (issue 6810)
Add test file for string font name.
Fix blending issues while compositing
Fix transformations when painting image masks and tiling patterns.
Support corrupt documents with *empty* `Name`-entries (issue 13610)
Check that TrueType (3, 0) cmap tables, for symbolic fonts, are sorted correctly (issue 13626)
XFA - Add a missing method to `XFAAttribute`, to prevent breaking errors (issue 13748)
XFA - Handle `startIndex` correctly in the `Template.$toHTML` method (issue 13751)
XFA - Prevent breaking errors in `Binder`, when `searchNode` doesn't return data (issue 13756)
When parsing corrupt documents, avoid inserting obviously broken data in the XRef-table (issue 13783)
Allow `StreamsSequenceStream.readBlock` to skip sub-streams with errors (issue 13794)
When no "V" entry exists, let the fieldValue fallback to the "DV" entry (issue 13823)
Fallback to font name matching, when checking for serif fonts (issue 13845)
Prevent breaking errors when an optional content group is undefined (issue 13851)
Support rich content in markup annotation - use the xfa parser but in the xhtml namespace.
Extend the glyph maps for standard respectively Calibri fonts (issue 13916)
Support Optional Content in Image-/XObjects (issue 13931)
Treat all content as visible when no optional content groups are defined (issue 13971)
Let `Lexer.getObj` return a dummy-`Cmd` for commands that start with a non-visible ASCII character (issue 13999)
Annotation - Some checkboxes have an empty N dictionary - it aims to fix #14021; - the N dict is empty here so just create a default one; - it implies that the checked checkbox has no appearance so create a default one too in order to print it; - in the pdf in the issue, a checked box is not printed because it has no default appearance so we need to guess its appearance from its state.
Integration test for PR #14023
[api-minor] Add basic support for RTL text-content in PopupAnnotations (issue 14046)
Tweak how fonts with an /Encoding are handled in `adjustToUnicode` (issue 14048, PR 13277 follow-up)
Reset all the canvas states after rendering each annotations (#14105)
Implement TrueType character map "format 2" (fixes #14117)
XFA subform with occur min=0 and no bound data displaying
Ignore Square/Circle-annnotations with a zero borderWidth when creating a fallback appearance stream (issue 14164)
For images that include SMask/Mask entries, ignore an SMask defined in the current graphics state
Handle non-integer Annotation border widths correctly (issue 14203)
Always prefer abbreviated keys, over full ones, when doing any dictionary lookups (issue 14256)
Remove non-displayable chars from outline title (#14267) - it aims to fix #14267; - there is nothing about chars in range [0-1F] in the specs but acrobat doesn't display them in any way.
When parsing corrupt documents without any trailer-dictionary, fallback to the "top"-dictionary (issue 14269)
Set the text fields font size based on their height - right now we're using the font size from the pdf itself but we use an other font in the annotation layer. So this size doesn't really make sense and leads to bad rendering (see pdf in #14928); - use a sans-serif font for the fields containing text (fix issue #14736); - remove useless padding in text-based fields (fix issue #14301); - text fields allow/disallow scrolling bars (see bit 24 in Ff entry), so use this value to hide/show scrollbars in annotation layer.
[JS] Use beforeinput event to trigger a keystroke event in the sandbox - it aims to fix issue #14307; - this event has been added recently in Firefox and we can now use it; - fix few bugs in aform.js or in annotation_layer.js; - add some integration tests to test keystroke events (see `AFSpecial_Keystroke`); - make dispatchEvent in the quickjs sandbox async.
Use positive dimensions for text chunks in the text layer (issue #14415).
Ignore Annotations with empty /Rect-entries in the display-layer (issue 14438)
Support Type1 font files with incomplete /CharStrings definitions (issue 14462)
Add support for hmoveto and vmoveto during flex.
[Search] Some matches were incorrectly shifted because of some '-\n' - it aims to fix #14562; - 'X-\n' were not correctly positioned; - when X is a diacritic (e.g. in "sä-\n", which is decomposed into "sa¨-\n") we must handle both things: - diacritics on the one hand; - "-\n" on the other hand.
Make something similar to Acrobat when Underline annotation has no appearance
Compute the loca table `endOffset`, of the "first" glyph, correctly (issue 14618)
[Annotations] Some annotations can have their values stored in the xfa:datasets - it aims to fix #14685; - add a basic object to get values from the parsed datasets; - these annotations don't have an appearance so we must create one when printing or saving.
[JS] Fix few bugs present in the pdf for issue #14862 - since resetForm function reset a field value a calculateNow is consequently triggered. But the calculate callback can itself call resetForm, hence an infinite recursive loop. So basically, prevent calculeNow to be triggered by itself. - in Firefox, the letters entered in some fields were duplicated: "AaBb" instead of "AB". It was mainly because beforeInput was triggering a Keystroke which was itself triggering an input value update and then the input event was triggered. So in order to avoid that, beforeInput calls preventDefault and then it's up to the JS to handle the event. - fields have a property valueAsString which returns the value as a string. In the implementation it was wrongly used to store the formatted value of a field (2€ when the user entered 2). So this patch implements correctly valueAsString. - non-rendered fields can be updated in using JS but when they're, they must take some properties in the annotationStorage. It was implemented for field values, but it wasn't for display, colors, ... - it fixes #14862 and #14705.
Remove the limit used to decided if a group canvas must be upscaled or not
Flush the current chunk when the font changed because of a restore op (issue #14755)
Add support for the /Catalog Base-URI when resolving URLs (issue 14802)
Ignore non-Stream /SMask-entries when parsing images (issue 14814)
Ignore invalid /Encoding-entries when parsing fonts (issue 14821)
Ensure that worker-thread image caching doesn't break optional content (issue 14824)
Support destinations in NameTrees with encoded keys (issue 14847)
Support encoded dest-strings in /GoTo destination dictionaries (issue 14864)
Add support for TrueType format 12 `cmap`s (issue 14881)
Adjust the heuristics for handling of incomplete path operators (issue 14917)
Display background when printing or saving a text widget (issue #14928)
Skip bogus `d1` operators in Type3-glyphs (issue 14953)
Lookup image-data correctly in `paintImageMaskXObjectGroup` (issue 14990)
Improve text-selection for Type3 fonts with bogus /FontBBox-entries (issue 14999)
Render PopupAnnotations even if they have missing or empty /Rect-entries (issue 15012, PR 14439 follow-up)
Extend `getGlyphMapForStandardFonts` with some Hebrew entries (issue 15033)
Add basic support for non-embedded ArialUnicodeMS fonts (issue 15044)
Ignore invalid /CIDToGIDMap-entries when parsing fonts (issue 15139)
Ensure that the /Resources-entry is actually a dictionary (issue 15150)
Support images with /Filter-entries that contain Arrays (issue 15220)
Always set a border-radius for RadioButton annotations (issue 15262)
Fix OTS issue with empty index (#15289)
Fallback to a standard font when a Type1 font program is empty (issue 15292)
Don't replace cr by a white space when the last char on the line is an ideographic char
Don't allow `adjustToUnicode` to extend a built-in /ToUnicode map (issue 15352)
[api-minor] Support Named-actions in the outline (issue 15367)
[api-minor] Add basic support for the `SetOCGState` action (issue 15372)
Extend `getGlyphMapForStandardFonts` with some quote-entries (issue 15441)
Extend `getSupplementalGlyphMapForCalibri` with more entries (issue 15443)
Tweak the heuristic that handles JPEG images with a wildly incorrect SOF (Start of Frame) `scanLines` parameter (issue 15492)
Add more non-standard ligatures in the `glyphlist.js` file (issue 15516)
Ensure that `Page.getOperatorList` handles Annotation parsing errors correctly (issue 15557)
Take the /CIDToGIDMap into account when getting the glyph mapping for CFF fonts (issue 15559)
Fallback and try a *previous* generation if all else fails in `XRef.indexObjects` (issue 15577)
Fallback to finding the first "obj" occurrence, when the trailer-dictionary is incomplete (issue 15590)
Extend `getSupplementalGlyphMapForCalibri` with some umlauts (issue 15594)
Let `Lexer.getNumber` treat more invalid "numbers" as zero (issue 15604)
Prevent textLayer errors in documents with unbalanced beginMarkedContent/endMarkedContent operators (issue 15629)
Add support for Optional Content in TilingPatterns (issue 15716)
Add a fallback for non-embedded *composite* Tahoma fonts (issue 15719)
Strip out a reserved operator (9) from CFF char strings (fixes issue #15784)
Re-factor searching for incomplete objects in `XRef.indexObjects` (issue 15803)
Sanitize the glyph bounding box
Always parse the entire `startXRefQueue` in `XRef.readXRef` (issue 15833)
Support parsing encrypted documents in `XRef.indexObjects` (issue 15893)
Fallback to using the `name` table to infer the encoding for TrueType fonts missing such data (issue 15910)
[JBIG2] Ensure that the `decodeInteger` function returns valid integers (issue 15942)
Update links to point to the Internet Archive for issue1597, issue2627 and kdchart
Extend `getGlyphMapForStandardFonts` with additional entries (issue 15977)
Fix the rendering of tiling pattern when the steps are lower than the tile dimensions (bug 1837738)
Apply transfer filters to any graphic commands
Slightly modify the max width of a tracking space
Support (rare) Type3 fonts with Pattern resources (issue 16127)
Support multi-byte ToUnicode entries, when using predefined CMaps (issue 16176)
Attempt to also cache images at the "page"-level (issue 16263)
[Editor] Take into account the initial rotation (issue #16278)
Create absolute filter-URLs when needed in `DOMFilterFactory` (issue 18406)
[Annotations] Draw readonly annotations on their own canvas and show the HTML elements when there is a JS interaction (issue #16384)
Improve handling of JPEG images with non-standard /Decode-entries (issue 16395)
Attempt to fallback to a default font, for non-available ones, in more cases (issue 16432)
Improve "EI" detection in inline images (PR 12028 follow-up, issue 16454)
Ignore named encoding for non-embedded symbol fonts (issue 16464)
Extract all the text of text annotations
Concat data when push fails in the CFF compiler
Replace the unavailable linked test-case for issue 1655 with a reduced test-case
Take into account the group bbox
Avoid eagerly matching "trailer"-strings when searching for incomplete objects in `XRef.indexObjects` (issue 16759, PR 15854 follow-up, bug 1845762)
Take fill-alpha into account with default icons for FileAttachment annotations (issue 16800)
Fix the maxp table version in font to make it visible on Windows
Add `lang` attribute to canvas element
Don't reset all fields when the resetForm argument is an array
Add support for "GoToE" actions with destinations (issue 17056)
Ensure that readonly TextWidget-annotations are rendered when forms are disabled (issue 17064)
Compute correctly the bounding box of a transformed rectangle (fixes #17065)
Fix size of maskCanvas to draw image masks correctly
Don't take into account the INVISIBLE flag for well-known annotations
Rescale the image data when they're really too large
Don't try to collect a nonexistent field because of an invalid ref
Don't throw when there isn't enough data to get block info in flate stream
Render non-empty glyph 0 for char code 0
Take into account empty lines when extracting text content from the appearance
Use the original value of a field when propagating event (fixes #17540)
Ensure that `EvaluatorPreprocessor.opMap` has a null-prototype (issue 17554)
Add a dummy `beginMarkedContentProps` operator when optional content parsing fails (issue 17679)
Avoid to access to a missing cidSystemInfo property
Always add links in the annotation layer
[api-minor] Remove the use of (get/put)ImageData when drawing SMasks (bug 1874013)
Correctly sync the transform on the scratch canvas
Don't render corrupted inlined images
Add better support for /Launch actions with /FileSpec dictionaries (issue 17846)
Ensure that Mesh /Shadings have non-zero width/height (issue 17848)
Display outlines even if one has no title
Fix annotation border style parsing by handling empty dash arrays
Don't render annotations with a null dimension
Validate explicit destinations on the worker-thread to prevent `DataCloneError` (issue 17981)
[api-minor] Expose the /Desc-attribute of file attachments in the viewer (issue 18030)
Fix nested non-isolated groups in knockout rendering
Avoid re-parsing global images that failed decoding (issue 18042, PR 17428 follow-up)
Consume any pending path before drawing an annotation
Also update the width/unicode data when replacing missing glyphs in non-embedded Type1 fonts (issue 18059)
Use CIDToGIDMap when the font is a type 2 with an OpenType font
Write the display flags in F entry when saving an annotation (issue 18072)
Handle toUnicode cmaps that omit leading zeros in hex encoded UTF-16 (issue 18099) Add unit test to check compatability with such cmaps
Support charCodes larger than 32-bit in `adjustMapping` (issue 18117)
Support corrupt PDF documents that contain "endsteam" commands (issue 18122)
Improve /Page validation for linearized documents (issue 18138)
Use standard glyph mapping for non-embedded and non-composite Calibri fonts (issue 18208)
Don't throw if there's not enough data to get the header in `FlateStream` (issue 18298)
Allow /XYZ destinations without zoom parameter (issue 18408)
Remove active smask when restoring the initial canvas state
Use a transparent color when setting fill/stroke colors in a pattern context but with no colorspace
Ignore non-dictionary nodes when parsing StructTree data (issue 18503)
Take into account the path and the line width when consuming a stroked path
Keep the first /Subrs and /CharStrings block
Support an odd number of digits in hexadecimal strings (issue 18645)
Ignore non-existing /Shading resources during parsing (issue 18765)
Simplify the handling of unsupported/incorrect markers in `src/core/jpg.js`
Add basic support for non-embedded GillSansMT fonts (issue 18801)
Access the bbox/background data correctly in the `MeshShadingPattern` class (issue 18816)
Optional Content (OC) radiobutton (RB) groups implemented. Resolves #18823.
Some jpx images can have a mask
Fallback to a standard font if a font-file entry doesn't contain a Stream (issue 18941)
Allow `StreamsSequenceStream` to skip sub-streams that are not actual Streams (issue 18973)
Try to improve handling of missing trailer dictionaries in `XRef.indexObjects` (issue 18986)
Apply gradient when stroking text
Fixes incomplete restore in paintFormXObject
Take the `userUnit` into account in the `PageViewport` class (issue 19176)
Get the first codepoint instead of the first char when using the toUnicode map
Fix left offset when scrolling to search result
Add basic support for non-embedded HelveticaLTStd-Bold fonts (issue 19234)
Skip LinkAnnotations when collecting field objects (issue 19281)
Improve performance when reading very large TrueType "cmap" tables (issue 19319)
Access the number of components correctly in JPEG 2000 images with color space entries (issue 19326)
Support the password field-flag in TextWidgetAnnotation (issue 19389)
Search for destinations in both /Names and /Dests dictionaries (issue 19474)
Fix decryption of R=4, V=4 files with < 16-byte keys by 0-padding - undocumented but matches Acrobat behavior (issue #19484)
Check more of the stream when looking for commands after inline image (issue 19494)
Don't cache free/missing XRef entries (issue 19510)
Consider textRise when showing type3 font glyphs
Extend `getGlyphMapForStandardFonts` with some Cyrillic entries (issue 19550)
Let SMask/Mask images fallback to the parent image dimensions (issue 19611)
Improve text-selection for Type3 fonts, using `d0` operators, with empty /FontBBox-entries (issue 19624)
Take into account CharProcs keys when computing the type3 hash
Extend `getSupplementalGlyphMapForCalibri` with Pound-sign (issue 19695)
Decode appearance keys of checkboxes
Catch circular references in /Form XObjects (issue 19800)
Use `adjustWidths` unconditionally for all embedded fonts (issue 19802)
Always fallback to checking all destinations, when lookup fails (issue 19835)
Ensure that the /Form XObject /Resources-entry is actually a dictionary (issue 19848)
Stop streams from being sent from worker for indexed color spaces.
Support Type3 fonts with an incomplete /FontDescriptor dictionary (issue 19954)
Ignore empty paths when optimizing `constructPath` operations (issue 19971)
Add a couple more, mostly `text`, reference tests for non-embedded symbolic fonts without included encoding information
Consider a ttf font with both Symbolic and Nonsymbolic flags set with a Differences array in the encoding dict as non-symbolic
Normalize the font name in `getBaseFontMetrics` (issue 20246)
Fix incremental saving with hybrid references
Only apply word spacing when there is a 0x20 in the text chunk
Add test case for empty cells
Add setter for some FontFaceObject properties
Add support for Optional Content in the AnnotationLayer (issue 20433)
Fix infinite loop in JBIG2 decoder with >4 referred-to segments and add regression test
Extend getGlyphMapForStandardFonts with some Russian entries (issue 20453)
Fix the encoding for some missing chinese fonts
Take into account the current transform when getting font size for FreeText
Apply the appearance-stream scale factor when text is shown, not on setFont
Avoid exception when trying to render some glyphs contours
Escape punctuation signs in search query
Truncate too long /Decode map entries (issue 20668)
Reset transfer functions when entering in a new group
Test file for issue 2074
Fix the group bbox when the numbers are too big
Interpret empty annotation border as [0, 0, 0]
Fix charSpacing in vertical mode
Handle missing 'FontName' entry in FontDescriptor object
Take into account the alignment when printing/saving a comb field
Remove pattern fill when setting fill color before drawing a tile
Correctly compute the bbox when simplifying the path construction
Replace the unavailable linked test-case for issue 2128 with a reduced test-case
Use a black backdrop for Luminosity SMasks when /BC is missing
Handle TR2 with /Default entry
Reset alpha before drawing a colored glyph in type 3 font
Handle corrupt PDFs that lack /Kids array and just inline the /Page dictionary (issue 21436)
Check every LinkAnnotation when testing if inferred links overlap (issue 21458)
Add basic support for non-embedded TrebuchetMS fonts (issue 21523)
Skip setFillColorN/setStrokeColorN operators without valid arguments (issue 21570)
Fix decryption of AES-256 revision 5 PDFs with non-ASCII passwords
Ignore Annotations with `fieldValue = null` when saving (issue 21582)
Fix cff private dictionary key.
Sharpen the patterns.
Skip commands that have too few arguments
Default to a built-in font if an invalid non-embedded font is encountered
Missing test for #2537 (e4c3b45)
Add a *linked* test-case for issue 2618
Fixes symbols positioning in JBIG2
Fix lab colorspace decoding and rgb conversion.
Fix where image component decoding takes place.
Update links to point to the Internet Archive for issue2799 and issue5726
Fixes reading Type1 FontBBox data for usWin values
Use |toUnicode| when creating the glyph map for standard CIDFontType2 fonts without embedded font file
Support using ICC profiles in using qcms (bug 860023)
Move char codes from high surrogate pair range into private use.
Add a couple of reduced test-cases for PR 4259
Ensure that we don't use the same typed array for both `coords` and `colors` in Mesh `figures` (issue 6287)
Strip TT programs if it's invalid
Removes duplicate entries after reading cmap table
Normalize CFF CID sub matrices to work on windows.
Fix priority of which font encoding is used.
Fix type3 font loading regression.
Replace the unavailable linked test-case for issue 3205 with a reduced test-case
Replace the unavailable linked test-case for issue 3207 with a reduced test-case
[api-minor] Add support for URLs in the document outline
Replace the unavailable linked test-case for issue 3263 with a reduced test-case
Use integer coordinates when drawing images (bug 1264608, issue #3351) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1264608; - it's only a partial fix for #3351; - some tiled images have some spurious white lines between the tiles. When the current transform is applyed the corners of an image can have some non-integer coordinates leading to some extra transparency added to handle that. So with this patch the current transform is applied on the point and on the dimensions in order to have at the end only integer values.
Adds test for issue 3371 and enables testing with password.
Update links to point to the Internet Archive for issue3384, issue3848, issue3903, issue3925 and issue5592
Replace the unavailable linked test-case for issue 3405 with a reduced test-case
Fixes glyph 0 in CIDTypeFont2
Ignoring glyphs without points
Paint patterns relative to content base transformation.
Support for CMap GBKp-EUC-H
Fix handling of multiply-encoded glyphs.
Move the creation of canvas path fonts to the worker.
Add validation for callsubr and callgsubr for type 2 charstrings.
Replace the linked test-case for issue 3879 with a reduced test-case
Add pdf from issue 3885 to tests
Parse Type1 font files to determine the various `Length{n}` properties, instead of trusting the PDF file (issue 5686, issue 3928)
Don't skip mapping of glyphs for CIDFontType2 fonts with a CIDToGIDMap
Pass the `ignoreErrors` API option to the `FontFaceObject` constructor, and utilize it in `getPathGenerator` to ignore missing glyphs
Support for the image mask in higher resolution than the image itself
Add a reduced test-case for issue 4260 (PR 4521 follow-up)
Add a reduced test case for issue 4379
Add a test-case for issue 4398
For CIDFontType2 use CID as glyph ID when missing CID to GID map.
Improve performance with image masks (bug 857031) - it aims to partially fix performance issue reported: https://bugzilla.mozilla.org/show_bug.cgi?id=857031; - the idea is too avoid to use byte arrays but use ImageBitmap which are a way faster to draw: * an ImageBitmap is Transferable which means that it can be built in the worker instead of in the main thread: - this is achieved in using an OffscreenCanvas when it's available, there is a bug to enable them for pdf.js: https://bugzilla.mozilla.org/show_bug.cgi?id=1763330; - or in using createImageBitmap: in Firefox a task is sent to the main thread to build the bitmap so it's slightly slower than using an OffscreenCanvas. * it's transfered from the worker to the main thread by "reference"; * the byte buffers used to create the image data have a very short lifetime and ergo the memory used is globally less than before. - Use the localImageCache for the mask; - Fix the pdf issue4436r.pdf: it was expected to have a binary stream for the image; - Move the singlePixel trick from operator_list to image: this way we can use this trick even if it isn't in a set as defined in operator_list.
Add load test for Issue #4461
Tests for text layer
Fix seac regression.
Add a reduced test-case for issue 4575
Recognizes ascii type1 encoding
Prevent trying to map characters to the specials unicode block in adjustMapping (issue 4650)
Add a reduced `text` test-case for issue 4665
Guesses Type1C font type based on file content
[TrueType] Recover from a missing "glyf" table by replacing it with dummy data, utilizing the existing code in `sanitizeGlyphLocations`
Enable/disable image smoothing based on image interpolate value. (bug 1722191)
Add fallback for non-embedded "Century Gothic" CIDFontType2 font (issue 4722 and bug 879561)
Add a reduced test-case for issue 4800
Fix another seac regression (issue 4801)
Button widget annotations: implement support for pushbuttons
Add reduced test-cases for issues 4875 and 4881
Add a reduced test-case for issue 4909
Don't blindly trust toUnicode when building toFontChar for non-standard fonts without a font file (issue 4934)
Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
Fix loading of PDF files with invalid or missing Type3 characters (issue 5039)
Adds transfer function support for SMask.
Adjust the heuristics to recognize more cases of unknown glyphs for |toUnicode| (issue 5070)
Use `adjustWidths` for TrueType fonts if we handle them as OpenType (issue 5027, issue 5084, issue 6556, bug 1204903)
Don't map glyphs to unicode non breaking space.
Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
Further amend GlyphMapForStandardFonts (issue 5244)
Ignore .notdef in the `differences` array when building a fallback `toUnicode` map in `PartialEvaluator_buildToUnicode` (issue 5256)
Fetches params in makeFilter
Add a reduced test case for issue 5291
Correctly detect OpenType font files with CFF data
Avoid rendering invisible Type3 fonts (issue 5421)
Add a reduced test case for issue 5470
Test case for issue 5475
Test case for issue 5481
Add support for TrueType (0, 0) cmap tables (issue 5501 and 5574)
Adds more characters to the PUA range
Test case for issue 5549
Remove glyph id's outside the range of valid glyphs.
Test case for issue 5567
Ensure that |get fingerprint| doesn't fail if the ID is not an array (issue 5599)
Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677)
Relax the |isSymbolicFont| check for TrueType (3, 1) cmap tables (issue 5701)
Add a reduced test-case for issue 5734
Fetch parameters if they are a |Ref| in CalGray/CalRGB color spaces (issue 5747)
Guess CIDFontType0 subtype based on font file contents (issue 5751)
Add a reduced test-case for issue 5801
Attempt to ignore multiple identical Tf (setFont) commands in `PartialEvaluator_getTextContent` (issue 5808)
Skip mapping of CIDFontType2 glyphs in fonts with a |IdentityToUnicodeMap|, unless |properties.widths| is defined for the glyph
Add a reduced test-case for issue 5896
Convert a number of reference tests, for documents with corrupt XRef tables, from `load` to `eq`
Fix the link for issue5939.pdf
Ensure that the `baseTransform` is applied when rendering annotations
Always traverse the entire parent chain in Page_getInheritedPageProp (issue 5954)
Apply char spacing only when there are chars.
Don't map glyphs to certain problematic Thai/Lao Unicode locations (issue 5994)
apply transformation matrix to RadialGradient radiuses, not only to circle origin points fix for #6006
Convert UTF8 encoded passwords to ISO-8859-1 for |R = 6| encryption (issue 6010)
Test case from #6019.
Map missing glyphs to the notdef glyph for TrueType (3, 1) fonts (issue 6068)
Subtract start offset for xrefs in recovery mode
Fixes issue #6071.
Fetch parameters if they are |Ref|s in Pattern color spaces (issue 6081)
Add a test-case for issue 6099 - CalRGB color space where the parameters are a |Ref|
Improve robustness of stream parser (invalid length)
Add a reduced test-case for issue 6113
Enforce linewidth to 1px when at least one of scale factor is lower than 1
Replace command with not enough args by an endchar in CFF font - Right now, a glyph with an erroneous outline is replaced by an empty glyph if the error is far enough from the start there's likely something to render so the idea is to replace a command with args by an endchar when no args are on the stack: this way OTS is likely happy (no remaining args on stack) and we can draw something which is likely better than nothing.
Add a reduced test-case for issue 6151
Include a reduced test case for annotations without a `Border`/`BS` entry (PR 6180 follow-up)
Add unit-tests for destionations in /Names (NameTree) dictionaries where all entries are indirect objects
Correctly access `colorSpace.numComps` in `MeshStreamReader` (issue 6287)
support tiff predictor for 16bit
shading-pattern: While drawing patterns, transform to the baseTransform first
shading-pattern: Decreased `Shadings.SMALL_NUMBER` and added a test case for #6298
Adjust which TrueType (3, 1) glyphs we attempt to skip mapping of (issue 6336)
Fix text spacing with vertical fonts (#6387)
Only choose a (3, 1) cmap table for TrueType fonts that have an encoding specified (issue 6410)
Add a reduced test-case for issue 6413
Prevent getOperatorList from failing to correctly parse OPS.paintXObject for TilingPatterns that are missing some /Resources entries (issue 6541)
Improve text-selection for Type3 fonts with empty /FontBBox-entries (issue 6605)
[api-minor] Add a parameter to `PDFPageProxy_getTextContent` that enables replacing of all whitespace with standard spaces in the textLayer (issue 6612)
Ignore the /Mask entry in images unless its /ImageMask entry is explicitly set to `true` (issue 6621)
Normalize blend mode names.
Ensure that `PDFImage.buildImage` won't accidentally swallow errors, e.g. from ColorSpace parsing (issue 6707, PR 11601 follow-up)
Only draw glyphs on canvas if they are in the font or the font file is missing.
Avoid rendering errors by passing in the `webGLContext` when creating a new `CanvasGraphics` in `getColorN_Pattern` (PR 9095 follow-up)
Render large images even if they're larger than the canvas limits (bug 1720282)
Check that CIDFontType0 fonts does not actually contain OpenType font files (issue 6782)
Map missing glyphs to the `notdef` glyph for TrueType (3, 1) fonts regardless if the 'post' table is defined or not (issue 6889)
For embedded Type1 fonts without included `ToUnicode`/`Encoding` data, attempt to improve text selection by using the `builtInEncoding` to amend the `toUnicode` map (issue 6901, issue 7182, issue 7217, bug 917796, bug 1242142)
Add (basic) support for transfer functions to Images (issue 6931, bug 1149713)
Replace `getAll` with `getKeys` in `PartialEvaluator_hasBlendModes` to speed up loading of badly generated PDF files (issue 6961)
Attempt to combine text runs positioned with `setTextMatrix`
Group popup creation code and apply it to more annotation types
Avoid accidentally getting the entire font file in `readNameTable` (issue 7020)
Fix loca table when offsets aren't in ascending order.
Keep track of the character to glyph mapping in font_renderer.js, to prevent errors when different characters point to the same glyph (issue 7101)
Prevent failures in the Annotation code if the `Rect` array contains indirect objects (issue 7115)
Add upper-case `I` as a possible space replacement fallback in `Font.spaceWidth` to improve text-selection (issue 7180)
Ensure that the `params` parameter of the `PredictorStream` is a dictionary (issue 7200)
Adjust incorrect first obj number of "free" xref entry in `XRef_readXRefTable` (issue 7229)
Subtract the X/Y offsets when decoding refinement regions of JBIG2 images (issue 7145, 7308, 7401, 7850, 8270)
Avoid floating point inaccuracy in gradient color stops
Add a reduced test-case for issue 7403
Add a reduced test-case for issue 7406
Don't map glyphs to the Lepcha Unicode block (issue 7426)
Fallback to attempt to recover standard glyph names when amending the `charCodeToGlyphId` with entries from the `differences` array in `type1FontGlyphMapping` (issue 7439)
Prevent errors when parsing Annotations with missing (or invalid) /Subtype entries (issue 7446)
Improve handling of mismatching /BaseFont and /FontName entries for non-embedded fonts (issue 7454)
Catch errors and continue parsing in `parseCMap` (issue 7492)
Overwrite maxSizeOfInstructions in maxp with computed value.
Don't duplicate the first entry in the `charCodeToGlyphId` map for CIDFontType2 fonts with a `CIDToGIDMap` that already mapped the first entry to a non-zero `glyphId` (issue 7544)
Fallback to the `StandardEncoding` for Nonsymbolic fonts without `/Encoding` entry (issue 7580)
Check that Type1C fonts does not actually contain OpenType font files (issue 7598)
Substitute a system font when an embedded CFF is truncated
Add a reduced `load` test for issue 7665
Add a reduced test-case for issue 7696
Use charstring as plain text when lengthIV is -1.
Don't read past the EOI marker for JPEG images with non-default restart interval (issue 7828)
Correctly detect more cases of non-embedded Arial Black fonts (issue 7835)
Ensure that `PartialEvaluator_extractWidths` is able to handle indirect objects in all kinds of "width" data (issue 7855)
Add a parameter to `Page_getInheritedPageProp` to make it possible to fetch (and dereference) Arrays, and use that for the `MediaBox`/`CropBox` getters (issue 7872)
Consitently apply textAdvanceScale during building of textContentItems for improved highlighting. Fixes #7878.
Further adjust the heuristics used to detect OpenType font files with CFF data, to ensure that all Type0 fonts are handled the same way regardless of font Subtype (issue 7901)
Render gray transparency groups in grayscale
Add a (linked) test-case for issue 8019
Add a (linked) test-case for issue 8022
Resets canvas 2d context to the default state.
Consume the current character when encountering illegal characters in `Lexer.getObject`, in order to prevent infinite loops during reading of streams (issue 8061)
Tweak the `QueueOptimizer` to recognize `OPS.paintImageMaskXObject` operators as *repeated* when the "skew" transformation matrix elements are non-zero (issue 8078)
Always check all Kids nodes, in `Catalog.getPageDict`, to avoid getting stuck in an empty node further down in the Pages tree (issue 8088)
Apply bounding box before using shading patterns.
Handle cff fonts with erroneous stackSize
Use correct matrix for patterns with showText.
Normalize the `BBox` entry in Tiling Pattern dictionaries (issue 8117)
Ensure that we don't ignore `0` values in `Page.getInheritedPageProp` (issue 8125)
Update links to point to the Internet Archive for issue818, issue919, jai, liveprogramming and mao
Try harder to find the next valid JPEG marker when decoding Scan data (issue 8182, issue 8189)
Only mask char codes of (3, 0) cmap tables in the range of 0xF000 to 0xF0FF.
Build a fallback `ToUnicode` map for simple fonts (issue 8229)
Don’t skip glyph 0 in cmap.
Do the final text scaling correctly in `flushTextContentItem` (issue 8276)
Ensure that `TilingPattern`s have valid (non-zero) /BBox arrays (issue 8330)
Add different code-paths to `{CMap, ToUnicodeMap}.charCodeOf` depending on length, since `Array.prototype.indexOf` can be extremely inefficient for very large arrays (issue 8372)
Cache JPEG images, just as we do for other image formats, in `evaluator.js` (issue 8380)
Add PDF from the #840 to the reference tests
Don't map glyphs to the HANGUL FILLER (0x3164) Unicode location (issue 8424)
Replace the unavailable linked test-case for issue 845 with a reduced test-case
Only special-case OpenType fonts with `CFF` data if it's both a composite (i.e. Type0) font and also has a non-default CID to GID map (issue 8480)
Fix tiling pattern with smask.
Fix how we detect and handle missing glyph data.
Fix missing notdef in expert encoding.
Fix a stupid spelling error in the `ASCII85Decode` name in `Parser.makeInlineImage` (issue 8613)
Attempt to handle DNL (Define Number of Lines) markers when parsing JPEG images (issue 8614)
Add a fallback for non-embedded SegoeUISymbol font (issue 8697)
Allow `getOperatorList`/`getTextContent` to skip errors when parsing broken XObjects (issue 8702, issue 8704)
Fix two cmap related issues.
Replace the test-case for issue 8798 with a reduced one (PR 8800 follow-up)
Attempt to improve the `EI` detection heuristics, for inline images, in streams containing `NUL` bytes (issue 8823)
[api-minor] Add partial support for the "GoToE" action (issue 8844)
For /Filter entries containing `Name`s, ignore the /DecodeParms entry if it contains an Array (issue 8895)
Sanitize name index in compile phase of CFF.
For non-embedded fonts, map softhyphen (0x00AD) to regular hyphen (0x002D) (issue 9084)
Relax the /Pages dictionary /Count check for corrupt documents (issue 9105)
Handle PDF files with missing 'endobj' operators, by searching for the "obj" string rather than "endobj" in `XRef.indexObjects` (issue 9105)
Add reftest for issue #918
Remove the invisible format marks from the text chunks - it aims to fix issue #9186.
Add basic support for non-embedded Calibri fonts (issue 9195)
Let `Lexer.getNumber` treat a single decimal point as zero (issue 9252)
Add support for TrueType Collection fonts (issue 9262)
Attempt to actually resolve ColourSpace names in accordance with the specification (issue 9285)
Add a fallback for non-embedded LucidaSans-Demi fonts (issue 9291)
Support cmaps with only CID characters, when building the ToUnicode-map (issue 9367)
Add basic validation of the 'trailer' dictionary candidates in `XRef.indexObjects` (issue 9418)
Attempt to find the next valid marker when encountering invalid image data in `JpegImage.parse` (issue 9425)
Use the correct stream position when reading `maxSizeOfInstructions` from the `maxp` table (issue 9458)
Request all data, rather than throwing, when encountering general errors in `ObjectLoader._walk` (issue 9462, PR 3289 follow-up)
Use CMap in Type0 fonts when CFF is not a CID font
Attempt to handle corrupt PDF documents that inline Page dictionaries in a Kids array (issue 9540)
Prefer the Width/Height of the image data, rather than the image dictionary, for JPEG 2000 images (issue 9650)
Improve the heuristics, in `PartialEvaluator._buildSimpleFontToUnicode`, for glyphNames of the Cdd{d}/cdd{d} format (issue 9655)
Ignore the rest of the image when encountering an EOI (End of Image) marker while parsing Scan data (issue 9679)
Add a reduced, `eq`, test-case for issue 9915
Removed Extraneous Matrix Check in CalRGB Conversion
Always fallback to system font on font failure.
Implement a permissions API
Recover CFF FontBBox with negative coordinates encoded as unsigned 16-bit
Replace the unavailable linked test-case for PR 2875 with a reduced test-case
Strip the JBIG2 file header from JBIG2Decode streams
Implement Huffman coding in JBIG2
Fix JBIG2 symbol offsets in text regions
[JPEG 2000] Add support for resetContextProbabilities (bug 1731483)
Implement SmaskInData == 2 for JPX images
[api-minor] Change the "dc:creator" Metadata field to an Array - add scripting support for doc.info.authors - doc.info.metadata is the raw string with xml code
JS -- update radio/checkbox values even if there are no actions
JS - Fix setting a color on an annotation - strokeColor corresponds to borderColor; - support fillColor and textColor; - support colors on the different annotations; - fix typo in aforms (+test).
Render knockout transparency groups
Add knockout_inner_backdrop ref test
Adds missing link-annotation-border file and lint error
JS -- add support for choice widget (#12826)
Don't throw when a mesh shading is degenerated
Replace test pdf tcpdf 33 by custom generated pdf.
Add support for MMType1 fonts with embedded font files
Add support for RichMedia annotations
Only skip parsing a stream in `Parser_makeFilter` when we know for sure that it is empty (PR 6372 follow-up)
Ignore optional content with missing /Type-entries
Fix the destination names when they're duplicated
Add an integration test for PR 20740
Added tests for PDFs having 'H', 'EUC-H', and '90ms' encodings
Add Hankaku-Latin cid to Unicode mappings
Added a test PDF having Identity-H encoding without embedded font
Improve rendering of non-embedded NuptialScript font
Copy the backdrop for non-isolated groups with a soft mask
Update links to point to the Internet Archive for ohkubo-SS04, pal-o47, pdf, piperine and preistabelle
Replace the unavailable linked test-case for PR 197 with a reduced test-case
Fix getTextContent evaluation to only apply TJ horizontal offsets using numeric items/args
Avoid cycles when getting operator list in patterns
Resolve checkbox/radio export values from the 'Opt' entry
Avoid to add outlines having a deleted page which leads to clone a useless page (bug 2033908)
Add support for saving outlines after reorganize/merge (bug 2009574)
Handle outline with Structure Element (SE) destination
Fix pattern-filled text
Replacing test with simulated bad pdf
Add and fix pdfkit_compressed.pdf
Add the `pdkids` PDF document to the repository
[api-minor] Validate the /Pages-tree /Count entry during document initialization (issue 14303)
Handle errors correctly when data lookup fails during /Pages-tree parsing (issue 14303)
Prevent an infinite loop when parsing corrupt /CCITTFaxDecode data (issue 14305)
Prevent circular references in XRef tables from hanging the worker-thread (issue 14303)
Encode i32.const immediates as signed LEB128 in the PostScript Wasm compiler
Make sure that Popup is rendered next to trigger for textAnnotation
set font size and color on annotation layer
Ignore the URLs when checking if inferred links overlap existing LinkAnnotations (PR 19110 follow-up)
Make Popup annotations always have noRotate flag set as true
Add a reduced test-case for PR 4922
Add a linked test-case for PR 5134
Add unit-tests for PR 6531
Let non-viewable Popup Annotations inherit the parent's Annotation Flags if the parent is viewable
Implement JBIG2 halftone regions and pattern dictionaries
Update the link for the "pr8808" test-case (issue 12680)
Render not displayed annotations in using normal appearance when printing
Update five linked test cases to point to the Internet Archive
Support Annotations with corrupt /BS-entries
Fix non-standard quadpoints orders for annotations
Fix the rendering of the radial gradient when a center is outside of the other circle and there's no extend
Avoid infinite recursion while compiling a glyph
Fix copying of the reduced Planck constant
AcroForm: Add support for ResetForm action - it aims to fix #12721. - Thanks to PR #14023, we've now the fieldObjects in the annotation layer so we can easily map fields names on their id if needed. - Reset values in the storage, in the JS sandbox and in the visible html elements.
Fixes Text rotation issue #2095
Only show popups when they've some contents to display
Adding support for page rotation
Support SASLprep for AES-256 revision 6 passwords
Remove scientific notation parsing.
Scale stroking line width when using a tiling pattern.
[api-minor] Implement securityHandler in the scripting API (bug 1731578)
Adds support for the extend option for linear and radial shadings.
Improve the detection of the changes made after a document has been signed
#502 Adding basic Type3 font support.
Support for multi-size page PDFs
Improve soft mask composition performance (bug 2033095)
Include and use the 14 standard fonts files.
Add support for basic structure tree for accessibility.
Test case for tensor shading PR 6310
Use FDSelect and FDArray when converting CFF CID font to paths
Fix form fields with their own canvas updated on non-rendered pages
Don't add an EOL after a superscript
TilingPattern: Reverse transform after painting
Avoid extreme sizing / scaling in tiling pattern
[Annotations] Add some aria-owns in the text layer to link to annotations (bug 1780375)
Add basic support for transparency groups.
Adds additional parameter so background color of canvas can be set
Implements vertical writing
Implement visibility expressions for optional content
XFA - Add support for overflow element - and fix few bugs: - avoid infinite loop when layout the document; - avoid confusion between break and layout failure; - don't add margin width in tb layout when getting available space.
XFA - Add margins if needed after having layout some text
XFA - By default a text ui has only one line when in a field element - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1716809.
XFA - Add support for access property - it's a partial fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1716816.
XFA - Match font family correctly - partial fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1716980; - some pdf can contain an invalid font family (e.g. 'Windings 3') so in this case remove the space; - the font family in typeface attribute doesn't always match the one defined in the FontDescriptor dictionary.
XFA - Remove empty pages - it aims to fix #13583; - fix the switch to breakBefore target; - force the layout of an unsplittable element on an empty page; - don't fail when there is horizontal overflow (except in lr-tb); - handle correctly overflow in the same content area (bug 1717805, bug 1717668); - fix a typo in radial gradient first argument.
XFA - Don't fail xfa loading because of a JS subexpression in SOM expressions - Fix for one pdf in bug 1717668 (PDFIUM-292-0.pdf).
XFA - Get line height from the font - when the CSS line-height property is set to 'normal' then the value depends of the user agent. So use a line height based on the font itself and if for any reasons this value is not available use 1.2 as default. - it's a partial fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1717681.
XFA - Fix width of a container with lr-tb layout (bug 1718037)
XFA - Replace deprecated break element (bug 1718053) - the break element has been deprecated in XFA 2.4 but some old documents can use it, so replace it with one (or more) of its possible substitutions: - breakBefore; - breakAfter; - overflow.
XFA - An image can be a stream in the pdf (bug 1718521) - hrefs can be found in catalog > Names > XFAImages
XFA - Handle correctly nested containers with lr-tb layout (bug 1718670) - and avoid to push a field with no dimensions when we have some available space in width in a parent.
XFA - Correctly bind global data (bug 1718725)
XFA - Don't fill when the fill element is not visible (bug 1718735)
XFA - Layout correctly a subform with row layout (bug 1718740) - Fix issues with subformSet elements which are not a real container.
XFA - Fix text positions (bug 1718741) - font line height is taken into account by acrobat when it isn't with masterpdfeditor: I extracted a font from a pdf, modified some ascent/descent properties thanks to ttx and the reinjected the font in the pdf: only Acrobat is taken it into account. So in this patch, line heights for some substituted fonts are added. - it seems that Acrobat is using a line height of 1.2 when the line height in the font is not enough (it's the only way I found to fix correctly bug 1718741). - don't use flex in wrapper container (which was causing an horizontal overflow in the above bug). - consequently, the above fixes introduced a lot of small regressions, so in order to see real improvements on reftests, I fixed the regressions in this patch: - replace margin by padding in some case where padding is a part of a container dimensions; - remove some flex display: some containers are wrongly sized when rendered; - set letter-spacing to 0.01px: it helps to be sure that text is not broken because of not enough width in Firefox.
XFA - Fix font scale factors (bug 1720888) - All the scale factors in for the substitution font were wrong because of different glyph positions between Liberation and the other ones: - regenerate all the factors - Text may have polish chars for example and in this case the glyph widths were wrong: - treat substitution font as a composite one - add a map glyphIndex to unicode for Liberation in order to generate width array for cid font
XFA - Remove namespace from nodes under xfa:data node - in real life some xfa contains xml like <xfa:data><xfa:Foo><xfa:Bar>...</xfa:data> since there are no Foo or Bar in the xfa namespace the JS representation are empty and that leads to errors. - so the idea is to make all nodes under xfa:data namespace agnostic which means that ns are removed from nodes in the parser but only xfa:data descendants.
XFA - Elements created outside of XML must have all their properties (bug 1722029) - an Image element was created, attached to its parent but the $globalData property was not set and that led to an error. - the pdf in bug 1722029 has 27 rendered rows (checked in Acrobat) when only one was displayed: this patch some binding issues around the occur element.
XFA - Fix auto-sized fields (bug 1722030) - In order to better compute text fields size, use line height with no gaps (and consequently guessed height for text are slightly better in general). - Fix default background color in fields.
XFA - Avoid an error when an exdata is a string (bug 1723114)
XFA - Remove the checked attribute from the checkbox when unchecked (bug 1729877) - it aims to fix: https://bugzilla.mozilla.org/show_bug.cgi?id=1729877.
XFA - Fix xfaLink class to make links work (bug 1735738)
XFA - Fix a breakBefore issue when target is a contentArea and startNew is 1 (bug 1739502) - it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1739502; - when the target area was the current content area, everything was pushed in it instead of creating a new one (and consequently a new pageArea is created). - the pdf shows an alignment issue on page 4: - the hAlign is "center" but the subform was the width of its parent, so compute the real width of the subform with tb layout; - there is an extra empty page at the end of the pdf: - there is a subform with some hidden elements which are not rendered for now (since there is no plugged JS engine it isn't possible to draw them in changing their visibility). - so in case a subform is empty and has no real dimensions (at least one is 0), we just consider it as empty.
[XFA] Set default max value in occur tag to -1 (bug 1998843)
XFA - Fix layout issues - PR #13554 is buggy, so this patch aims to fix bugs. - check if a component fits into its parent in taking into account the parent layout. - introduce method isSplittable for template nodes to know if a component can be splitted in case of overflow.
XFA - Save filled data in the pdf when downloading the file (Bug 1716288) - when binding (after parsing) we get a map between some template nodes and some data nodes; - so set user data in input handlers in using data node uids in the annotation storage; - to save the form, just put the value we have in the storage in the correct data nodes, serialize the xml as a string and then write the string at the end of the pdf using src/core/writer.js; - fix few bugs around data bindings: - the "Off" issue in Bug 1716980.
XFA - Display rectangle, line and arc
XFA - Flush contents when breakBefore target is 'auto' - some page can be missed in the final document because of that (see pdf in the test case which has 4 pages (when only 3 are rendered right now)
XFA - Add Liberation-Sans font as a substitution for some missing fonts - Some js files contain scale factors for each glyph in order to rescale Liberation to have a final font with the correct width. - A lot of XFA have some containers where their dimensions are based on their text content, so using default font from browser can lead to an almost unreadable pdf.
Add PDFs from #1773 to the reftests
XFA - Handle correctly subformSet - it aims to avoid to loop forever when opening pdf in #13213; - the idea is to consider subformSet as inexistent when running in the tree. So if we've subformA > subformSet > subformB then subformB will be visited as a direct child of subformA.
XFA - Add the possibily to layout and measure text - some containers doesn't always have their 2 dimensions and those dimensions re based on contents; - so in order to measure text, we must get the glyph widths (for the xfa fonts) before starting the layout; - implement a word-wrap algorithm; - handle font change during text layout.
XFA - Fix error when creating a new data node - fix for issue #13556; - value in a field can be empty.
XFA - A rectangle must have the width of its parent but without inner margins - it aims to fix #13584; - to avoid bad rendering because of clipping just set overflow to visible on SVG element.
XFA - Use fake MyriadPro as a fallback for missing fonts - aims to fix #13597.
XFA - Remove quotes of font name in xhtml
XFA - Fix indentation for justified paragraph - and ceil the reserve for a caption to avoid to split it; - both issues are present in the pdf in issue #13633.
XFA - Implement aspect property on image element - it aims to fix issue #13634; - move some img-related functions in test/drivers.js in order to have images in xfa reftests.
XFA - Avoid to have containers not pushed in the html - it aims to fix issue #13668.
XFA - Default background in rectangle is white - Fix a typo in order to open the pdf in issue #13679 - After fixing the fill default color there wer some regressions because of z-index and when fixing z-index there were some regressions because of borders - So fix the borders rendering.
XFA - Avoid to put something in very small areas - it aims to fix #13855.
XFA - Handle shorcut in SOM expression (issue #13994)
XFA - Create a new page in case of overflow - it aims to fix #14071; - a subform is overflowing and the the target in case of overflow is itself. In this case we must create a new page.
XFA - Embedded image is missing
XFA - Avoid an exception when looking for a font in a parent node - it aims to fix issue https://github.com/mozilla/pdf.js/issues/14150; - a parent can be null in case the root has been reached, so just add a check.
XFA - Draw arcs correctly - it aims to fix #14315; - take into account the startAngle to compute the coordinates of the final point.
Optimize PNG compression in SVG backend on Node.js
Make `XRef_indexObjects` even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
Fix for descent calculation while reading font hhea headers
Fix zero width lines.