pdf.js/test/pdfs/.gitignore

383 lines
6.6 KiB
Plaintext
Raw Normal View History

*.pdf
2013-05-31 06:54:49 +09:00
*.error
!boundingBox_invalid.pdf
!tracemonkey.pdf
!TrueType_without_cmap.pdf
!franz.pdf
!franz_2.pdf
!german-umlaut-r.pdf
!xref_command_missing.pdf
!issue1155r.pdf
!issue2017r.pdf
!issue2391-1.pdf
!issue2391-2.pdf
!issue3214.pdf
!issue4665.pdf
!issue4684.pdf
!issue8092.pdf
!issue5256.pdf
2015-03-07 19:39:10 +09:00
!issue5801.pdf
!issue5946.pdf
!issue5972.pdf
!issue5874.pdf
!issue5808.pdf
!issue6179_reduced.pdf
!issue6204.pdf
!issue6342.pdf
2017-04-11 03:58:02 +09:00
!issue6652.pdf
!issue6782.pdf
!issue6901.pdf
!issue6961.pdf
!issue6962.pdf
!issue7020.pdf
!issue7101.pdf
!issue7115.pdf
!issue7180.pdf
!issue7769.pdf
!issue7200.pdf
!issue7229.pdf
2016-06-13 21:22:15 +09:00
!issue7403.pdf
!issue7406.pdf
!issue7426.pdf
!issue7439.pdf
!issue7446.pdf
!issue7492.pdf
!issue7544.pdf
!issue7507.pdf
!issue7580.pdf
!issue7598.pdf
!issue7665.pdf
!issue7696.pdf
!issue7835.pdf
!issue11922_reduced.pdf
!issue7855.pdf
!issue7872.pdf
!issue7901.pdf
!issue8061.pdf
!issue8088.pdf
!issue8125.pdf
!issue8229.pdf
!issue8276_reduced.pdf
!issue8372.pdf
!issue8424.pdf
!issue8480.pdf
!issue8570.pdf
!issue8697.pdf
!issue8702.pdf
!issue8707.pdf
!issue8798r.pdf
!issue8823.pdf
!issue9084.pdf
!issue9105_reduced.pdf
!issue9252.pdf
!issue9262_reduced.pdf
!issue9291.pdf
!issue9418.pdf
!issue9458.pdf
!issue9655_reduced.pdf
!issue9915_reduced.pdf
!issue9940.pdf
!issue10388_reduced.pdf
!issue10438_reduced.pdf
!issue10529.pdf
!issue10542_reduced.pdf
!issue10665_reduced.pdf
!issue11016_reduced.pdf
!issue11045.pdf
!issue11150_reduced.pdf
!issue11242_reduced.pdf
!issue11279.pdf
!issue11362.pdf
!issue11578_reduced.pdf
!issue11651.pdf
Attempt to cache repeated images at the document, rather than the page, level (issue 11878) Currently image resources, as opposed to e.g. font resources, are handled exclusively on a page-specific basis. Generally speaking this makes sense, since pages are separate from each other, however there's PDF documents where many (or even all) pages actually references exactly the same image resources (through the XRef table). Hence, in some cases, we're decoding the *same* images over and over for every page which is obviously slow and wasting both CPU and memory resources better used elsewhere.[1] Obviously we cannot simply treat all image resources as-if they're used throughout the entire PDF document, since that would end up increasing memory usage too much.[2] However, by introducing a `GlobalImageCache` in the worker we can track image resources that appear on more than one page. Hence we can switch image resources from being page-specific to being document-specific, once the image resource has been seen on more than a certain number of pages. In many cases, such as e.g. the referenced issue, this patch will thus lead to reduced memory usage for image resources. Scrolling through all pages of the document, there's now only a few main-thread copies of the same image data, as opposed to one for each rendered page (i.e. there could theoretically be *twenty* copies of the image data). While this obviously benefit both CPU and memory usage in this case, for *very* large image data this patch *may* possibly increase persistent main-thread memory usage a tiny bit. Thus to avoid negatively affecting memory usage too much in general, particularly on the main-thread, the `GlobalImageCache` will *only* cache a certain number of image resources at the document level and simply fallback to the default behaviour. Unfortunately the asynchronous nature of the code, with ranged/streamed loading of data, actually makes all of this much more complicated than if all data could be assumed to be immediately available.[3] *Please note:* The patch will lead to *small* movement in some existing test-cases, since we're now using the built-in PDF.js JPEG decoder more. This was done in order to simplify the overall implementation, especially on the main-thread, by limiting it to only the `OPS.paintImageXObject` operator. --- [1] There's e.g. PDF documents that use the same image as background on all pages. [2] Given that data stored in the `commonObjs`, on the main-thread, are only cleared manually through `PDFDocumentProxy.cleanup`. This as opposed to data stored in the `objs` of each page, which is automatically removed when the page is cleaned-up e.g. by being evicted from the cache in the default viewer. [3] If the latter case were true, we could simply check for repeat images *before* parsing started and thus avoid handling *any* duplicate image resources.
2020-05-18 21:17:56 +09:00
!issue11878.pdf
!bad-PageLabels.pdf
!decodeACSuccessive.pdf
2013-02-07 08:19:29 +09:00
!filled-background.pdf
!ArabicCIDTrueType.pdf
!ThuluthFeatures.pdf
!arial_unicode_ab_cidfont.pdf
!arial_unicode_en_cidfont.pdf
!asciihexdecode.pdf
!bug766086.pdf
!bug793632.pdf
!bug1020858.pdf
!bug1050040.pdf
!bug1200096.pdf
!bug1068432.pdf
!bug1146106.pdf
!bug1245391_reduced.pdf
!bug1252420.pdf
!bug1513120_reduced.pdf
!bug1552113.pdf
!issue9949.pdf
!bug1308536.pdf
!bug1337429.pdf
!bug1606566.pdf
!issue5564_reduced.pdf
!canvas.pdf
!bug1132849.pdf
!issue6894.pdf
!issue5804.pdf
!Pages-tree-refs.pdf
!ShowText-ShadingPattern.pdf
!complex_ttf_font.pdf
!issue3694_reduced.pdf
!extgstate.pdf
!rotation.pdf
!simpletype3font.pdf
!sizes.pdf
!javauninstall-7r.pdf
!file_url_link.pdf
!multiple-filters-length-zero.pdf
!non-embedded-NuptialScript.pdf
!issue3205r.pdf
!issue3207r.pdf
!issue3263r.pdf
!issue3879r.pdf
!issue5686.pdf
!issue3928.pdf
2017-06-19 19:40:48 +09:00
!clippath.pdf
Map all glyphs to the private use area and duplicate the first glyph. There have been lots of problems with trying to map glyphs to their unicode values. It's more reliable to just use the private use areas so the browser's font renderer doesn't mess with the glyphs. Using the private use area for all glyphs did highlight other issues that this patch also had to fix: * small private use area - Previously, only the BMP private use area was used which can't map many glyphs. Now, the (much bigger) PUP 16 area can also be used. * glyph zero not shown - Browsers will not use the glyph from a font if it is glyph id = 0. This issue was less prevalent when we mapped to unicode values since the fallback font would be used. However, when using the private use area, the glyph would not be drawn at all. This is illustrated in one of the current test cases (issue #8234) where there's an "ä" glyph at position zero. The PDF looked like it rendered correctly, but it was actually not using the glyph from the font. To properly show the first glyph it is always duplicated and appended to the glyphs and the maps are adjusted. * supplementary characters - The private use area PUP 16 is 4 bytes, so String.fromCodePoint must be used where we previously used String.fromCharCode. This is actually an issue that should have been fixed regardless of this patch. * charset - Freetype fails to load fonts when the charset size doesn't match number of glyphs in the font. We now write out a fake charset with the correct length. This also brought up the issue that glyphs with seac/endchar should only ever write a standard charset, but we now write a custom one. To get around this the seac analysis is permanently enabled so those glyphs are instead always drawn as two glyphs.
2018-01-05 07:43:07 +09:00
!issue8795_reduced.pdf
!close-path-bug.pdf
2015-11-04 00:03:08 +09:00
!issue6019.pdf
!issue6621.pdf
!issue6286.pdf
!issue1055r.pdf
!issue11713.pdf
!issue1293r.pdf
!issue11931.pdf
!issue1655r.pdf
!issue6541.pdf
!issue2948.pdf
!issue6231_1.pdf
!issue10402.pdf
!issue7074_reduced.pdf
2015-09-04 05:29:12 +09:00
!issue6413.pdf
2014-04-17 21:52:33 +09:00
!issue4630.pdf
!issue4909.pdf
!scorecard_reduced.pdf
!issue5084.pdf
!issue8960_reduced.pdf
!issue5202.pdf
!images_1bit_grayscale.pdf
2014-09-09 22:29:31 +09:00
!issue5280.pdf
!issue5677.pdf
!issue5954.pdf
!issue6612.pdf
2011-10-29 06:11:14 +09:00
!alphatrans.pdf
2017-11-29 02:40:22 +09:00
!pattern_text_embedded_font.pdf
!devicen.pdf
2011-11-10 02:39:55 +09:00
!cmykjpeg.pdf
!issue840.pdf
!issue4402_reduced.pdf
!issue845r.pdf
!issue3405r.pdf
!issue7339_reduced.pdf
2013-11-03 07:07:13 +09:00
!issue3438.pdf
!issue11403_reduced.pdf
!issue2074.pdf
!scan-bad.pdf
2014-10-13 05:36:50 +09:00
!bug847420.pdf
2013-10-31 23:10:08 +09:00
!bug860632.pdf
!bug894572.pdf
!bug911034.pdf
!bug1108301.pdf
!bug1157493.pdf
!issue4260_reduced.pdf
!bug1250079.pdf
!bug1473809.pdf
2012-04-25 08:53:11 +09:00
!pdfjsbad1586.pdf
!freeculture.pdf
!issue6006.pdf
2012-03-02 12:23:36 +09:00
!pdfkit_compressed.pdf
2012-03-18 07:35:04 +09:00
!TAMReview.pdf
2015-09-05 19:29:16 +09:00
!pr4922.pdf
2015-10-17 01:48:26 +09:00
!pr6531_1.pdf
!pr6531_2.pdf
!pr7352.pdf
2013-11-18 22:48:06 +09:00
!bug900822.pdf
!bug1392647.pdf
2011-12-13 12:42:39 +09:00
!issue918.pdf
!issue1905.pdf
!issue2833.pdf
!issue2931.pdf
!issue3323.pdf
!issue4304.pdf
!issue4379.pdf
2014-04-11 04:36:37 +09:00
!issue4550.pdf
!issue4575.pdf
2014-08-19 07:57:52 +09:00
!bug1011159.pdf
2015-02-14 19:59:10 +09:00
!issue5734.pdf
!issue4875.pdf
!issue11740_reduced.pdf
!issue4881.pdf
!issue5994.pdf
!issue6151.pdf
2013-06-21 07:03:30 +09:00
!rotated.pdf
!issue1249.pdf
2013-11-02 07:13:31 +09:00
!issue1171.pdf
2011-12-17 03:54:31 +09:00
!smaskdim.pdf
2013-03-05 05:28:04 +09:00
!endchar.pdf
!type4psfunc.pdf
2012-03-20 01:09:42 +09:00
!issue1350.pdf
2012-01-12 11:14:49 +09:00
!S2.pdf
!glyph_accent.pdf
2014-01-27 22:17:14 +09:00
!personwithdog.pdf
2013-08-24 02:57:11 +09:00
!helloworld-bad.pdf
2012-01-18 13:50:49 +09:00
!zerowidthline.pdf
2013-11-03 08:56:48 +09:00
!bug868745.pdf
!mmtype1.pdf
!issue4436r.pdf
!issue5704.pdf
!issue5751.pdf
!bug893730.pdf
!bug864847.pdf
2012-03-11 12:12:33 +09:00
!issue1002.pdf
2012-02-20 15:12:22 +09:00
!issue925.pdf
!issue2840.pdf
!issue4061.pdf
!issue4668.pdf
!PDFJS-7562-reduced.pdf
!issue11768_reduced.pdf
!issue5039.pdf
!issue5070.pdf
!issue5238.pdf
!issue5244.pdf
2014-10-25 18:35:13 +09:00
!issue5291.pdf
!issue5421.pdf
2014-11-05 00:16:48 +09:00
!issue5470.pdf
!issue5501.pdf
!issue5599.pdf
!issue5747.pdf
!issue6099.pdf
!issue6336.pdf
!issue6387.pdf
!issue6410.pdf
!issue11124.pdf
2017-06-30 03:52:49 +09:00
!issue8586.pdf
!jbig2_symbol_offset.pdf
2012-03-30 00:53:51 +09:00
!gradientfill.pdf
2013-11-14 04:45:59 +09:00
!bug903856.pdf
!bug850854.pdf
!bug866395.pdf
!issue12010_reduced.pdf
!issue11718_reduced.pdf
!bug1027533.pdf
!bug1028735.pdf
!bug1046314.pdf
2014-10-09 04:11:41 +09:00
!bug1065245.pdf
!bug1151216.pdf
!bug1175962.pdf
!bug1020226.pdf
!issue9534_reduced.pdf
!attachment.pdf
2012-04-13 09:59:30 +09:00
!basicapi.pdf
!issue2884_reduced.pdf
!mixedfonts.pdf
!shading_extend.pdf
!noembed-identity.pdf
2013-01-24 01:15:02 +09:00
!noembed-identity-2.pdf
!noembed-jis7.pdf
!noembed-eucjp.pdf
!noembed-sjis.pdf
2013-02-08 21:29:22 +09:00
!vertical.pdf
2014-09-04 04:57:57 +09:00
!ZapfDingbats.pdf
!bug878026.pdf
2015-11-06 23:54:50 +09:00
!issue1045.pdf
!issue5010.pdf
!issue10339_reduced.pdf
!issue4934.pdf
!issue4650.pdf
!issue6721_reduced.pdf
!issue3025.pdf
!issue2099-1.pdf
!issue3371.pdf
2013-03-18 22:06:59 +09:00
!issue2956.pdf
!issue2537r.pdf
!bug946506.pdf
!issue3885.pdf
!issue11697_reduced.pdf
!bug859204.pdf
!annotation-tx.pdf
!annotation-tx2.pdf
!annotation-tx3.pdf
!coons-allflags-withfunction.pdf
2015-08-05 06:55:55 +09:00
!tensor-allflags-withfunction.pdf
!issue10084_reduced.pdf
!issue4246.pdf
2014-03-18 22:07:54 +09:00
!issue4461.pdf
2014-04-12 01:55:39 +09:00
!issue4573.pdf
!issue4722.pdf
2014-07-31 05:15:06 +09:00
!issue4800.pdf
!issue11477_reduced.pdf
!text_clip_cff_cid.pdf
!issue4801.pdf
!issue5334.pdf
2018-09-30 23:29:16 +09:00
!annotation-caret-ink.pdf
!bug1186827.pdf
!issue215.pdf
!issue5044.pdf
!issue1512r.pdf
!issue2128r.pdf
2015-07-03 06:47:47 +09:00
!issue5540.pdf
2014-12-18 06:42:06 +09:00
!issue5549.pdf
2014-12-18 06:46:47 +09:00
!issue5475.pdf
!issue10519_reduced.pdf
!annotation-border-styles.pdf
!IdentityToUnicodeMap_charCodeOf.pdf
Map all glyphs to the private use area and duplicate the first glyph. There have been lots of problems with trying to map glyphs to their unicode values. It's more reliable to just use the private use areas so the browser's font renderer doesn't mess with the glyphs. Using the private use area for all glyphs did highlight other issues that this patch also had to fix: * small private use area - Previously, only the BMP private use area was used which can't map many glyphs. Now, the (much bigger) PUP 16 area can also be used. * glyph zero not shown - Browsers will not use the glyph from a font if it is glyph id = 0. This issue was less prevalent when we mapped to unicode values since the fallback font would be used. However, when using the private use area, the glyph would not be drawn at all. This is illustrated in one of the current test cases (issue #8234) where there's an "ä" glyph at position zero. The PDF looked like it rendered correctly, but it was actually not using the glyph from the font. To properly show the first glyph it is always duplicated and appended to the glyphs and the maps are adjusted. * supplementary characters - The private use area PUP 16 is 4 bytes, so String.fromCodePoint must be used where we previously used String.fromCharCode. This is actually an issue that should have been fixed regardless of this patch. * charset - Freetype fails to load fonts when the charset size doesn't match number of glyphs in the font. We now write out a fake charset with the correct length. This also brought up the issue that glyphs with seac/endchar should only ever write a standard charset, but we now write a custom one. To get around this the seac analysis is permanently enabled so those glyphs are instead always drawn as two glyphs.
2018-01-05 07:43:07 +09:00
!PDFJS-9279-reduced.pdf
2014-12-19 05:26:02 +09:00
!issue5481.pdf
2015-02-10 07:32:16 +09:00
!issue5567.pdf
!issue5701.pdf
!issue5896.pdf
!issue6010_1.pdf
!issue6010_2.pdf
!issue6068.pdf
!issue6081.pdf
!issue6069.pdf
!issue6106.pdf
!issue6296.pdf
2016-04-11 06:39:15 +09:00
!bug852992_reduced.pdf
!issue6298.pdf
!issue6889.pdf
!bug1001080.pdf
!issue6108.pdf
!issue6113.pdf
!openoffice.pdf
!issue7014.pdf
!issue8187.pdf
!annotation-link-text-popup.pdf
Map all glyphs to the private use area and duplicate the first glyph. There have been lots of problems with trying to map glyphs to their unicode values. It's more reliable to just use the private use areas so the browser's font renderer doesn't mess with the glyphs. Using the private use area for all glyphs did highlight other issues that this patch also had to fix: * small private use area - Previously, only the BMP private use area was used which can't map many glyphs. Now, the (much bigger) PUP 16 area can also be used. * glyph zero not shown - Browsers will not use the glyph from a font if it is glyph id = 0. This issue was less prevalent when we mapped to unicode values since the fallback font would be used. However, when using the private use area, the glyph would not be drawn at all. This is illustrated in one of the current test cases (issue #8234) where there's an "ä" glyph at position zero. The PDF looked like it rendered correctly, but it was actually not using the glyph from the font. To properly show the first glyph it is always duplicated and appended to the glyphs and the maps are adjusted. * supplementary characters - The private use area PUP 16 is 4 bytes, so String.fromCodePoint must be used where we previously used String.fromCharCode. This is actually an issue that should have been fixed regardless of this patch. * charset - Freetype fails to load fonts when the charset size doesn't match number of glyphs in the font. We now write out a fake charset with the correct length. This also brought up the issue that glyphs with seac/endchar should only ever write a standard charset, but we now write a custom one. To get around this the seac analysis is permanently enabled so those glyphs are instead always drawn as two glyphs.
2018-01-05 07:43:07 +09:00
!issue9278.pdf
!annotation-text-without-popup.pdf
!annotation-underline.pdf
!annotation-strikeout.pdf
!annotation-squiggly.pdf
!annotation-highlight.pdf
2019-04-14 01:45:22 +09:00
!annotation-freetext.pdf
!annotation-line.pdf
!annotation-square-circle.pdf
!annotation-stamp.pdf
!annotation-fileattachment.pdf
!annotation-text-widget.pdf
!annotation-choice-widget.pdf
!annotation-button-widget.pdf
!annotation-polyline-polygon.pdf
!zero_descent.pdf
!operator-in-TJ-array.pdf
!issue7878.pdf
2017-02-11 15:25:05 +09:00
!font_ascent_descent.pdf
!issue11442_reduced.pdf
!issue11549_reduced.pdf
!issue8097_reduced.pdf
!transparent.pdf
!xobject-image.pdf
!ccitt_EndOfBlock_false.pdf
2018-08-27 04:37:05 +09:00
!issue9972-1.pdf
!issue9972-2.pdf
!issue9972-3.pdf
!tiling-pattern-box.pdf
!tiling-pattern-large-steps.pdf
!issue11555.pdf