Yury Delendik
15c9969abe
Adds transfer function support for SMask.
2015-12-04 12:52:45 -06:00
Brendan Dahl
87762afec4
Remove glyph id's outside the range of valid glyphs.
...
OTS does not like invalid glyph ids in a camp table.
2015-12-03 11:53:06 -08:00
Daan Sprenkels
a9081653fc
shading-pattern: While drawing patterns, transform to the baseTransform first
2015-12-02 21:49:38 +01:00
Jonas Jenwald
6dfe53b976
[api-minor] Add a parameter to PDFPageProxy_getTextContent
that enables replacing of all whitespace with standard spaces in the textLayer (issue 6612)
...
This patch goes a bit further than issue 6612 requires, and replaces all kinds of whitespace with standard spaces.
When testing this locally, it actually seemed to slightly improve two existing test-cases (`tracemonkey-text` and `taro-text`).
Fixes 6612.
2015-11-25 17:28:40 +01:00
Jonas Jenwald
055573fc83
Replace the unavailable linked test-case for issue 1055 with a reduced test-case
...
Re: issue 1055 and PR 1095.
2015-11-18 13:48:44 +01:00
Yury Delendik
2f1a626d6a
Merge pull request #6640 from dsprenkels/issue-6006-radial-gradient-size
...
Apply transformation matrix to RadialGradient radiuses
2015-11-17 11:40:13 -06:00
Daan Sprenkels
6ce83d3290
apply transformation matrix to RadialGradient radiuses,
...
not only to circle origin points
fix for #6006
2015-11-17 00:20:42 +01:00
Jonas Jenwald
bd8d3a78a3
Replace the unavailable linked test-case for issue 845 with a reduced test-case
...
Re: issue 845 and PR 1977.
2015-11-16 23:38:23 +01:00
Yury Delendik
37f511cb65
Merge pull request #6645 from Snuffleupagus/issue-3405-reduced-test
...
Replace the unavailable linked test-case for issue 3405 with a reduced test-case
2015-11-16 11:37:41 -06:00
Yury Delendik
c506ca6ba1
Merge pull request #6642 from Snuffleupagus/pr-2606-reduced-tests
...
Replace the unavailable linked test-cases for PR 2606 with reduced test-cases
2015-11-16 11:29:52 -06:00
Yury Delendik
b2e3c59372
Merge pull request #6639 from Snuffleupagus/pr-197-reduced-test
...
Replace the unavailable linked test-case for PR 197 with a reduced test-case
2015-11-16 11:27:10 -06:00
Jonas Jenwald
1478241c8e
Replace the unavailable linked test-case for issue 3405 with a reduced test-case
...
Re: issue 3405 and PR 3861.
2015-11-16 17:06:53 +01:00
Jonas Jenwald
841831f35e
Replace the unavailable linked test-cases for PR 2606 with reduced test-cases
...
Re: PR 2606.
2015-11-16 13:15:36 +01:00
Jonas Jenwald
4b360512af
Replace the unavailable linked test-case for PR 197 with a reduced test-case
...
Re: PR 197.
*Note:* Since this is a `load` test, `makeref` won't be necessary.
2015-11-15 20:07:54 +01:00
Jonas Jenwald
dca681e82b
Replace the unavailable linked test-case for issue 1655 with a reduced test-case
...
Re: issue 1655 and PR 1978.
2015-11-15 15:32:11 +01:00
Jonas Jenwald
458aff66f4
Replace the unavailable linked test-case for issue 3207 with a reduced test-case
...
Re: issue 3207 and PR 3268.
2015-11-15 13:33:36 +01:00
Jonas Jenwald
5bd76c46ac
Replace the unavailable linked test-case for issue 3263 with a reduced test-case
...
Re: issue 3263 and PR 3265.
2015-11-13 16:47:02 +01:00
Jonas Jenwald
50a70429ec
Ignore the /Mask entry in images unless its /ImageMask entry is explicitly set to true
(issue 6621)
...
Fixes 6621.
2015-11-12 22:49:26 +01:00
Jonas Jenwald
3008580972
Replace the unavailable linked test-case for issue 2128 with a reduced test-case
...
Re: issue 2128 and PR 2628.
2015-11-11 12:49:42 +01:00
Jonas Jenwald
ff64ef0243
Prevent readCmapTable
from failing if the cmap
is missing in TrueType fonts
...
Fixes http://arrow.dit.ie/cgi/viewcontent.cgi?article=1000&context=aaschadpoth#page=3 .
2015-11-08 16:48:37 +01:00
Jonas Jenwald
66c17a69ae
Add a reduced text
test-case for issue 4665
...
Re: issue 4665 and PR 6601.
Since we currently don't have a good `text` test-case that fails without the above PR, this patch adds a reduced one.
2015-11-07 13:09:08 +01:00
Yury Delendik
4ee0bade82
Test for text layer issue 1045.
2015-11-06 10:55:43 -06:00
Yury Delendik
7e8dacf57b
Merge pull request #6588 from yurydelendik/spacing
...
Better spacing in text layer.
2015-11-03 09:24:43 -06:00
Yury Delendik
27efe5608f
Test case from #6019 .
2015-11-03 09:03:08 -06:00
Jonas Jenwald
034087bb40
Replace the linked test-case for issue 3879 with a reduced test-case
...
Re: issue 3879 and PR 3880.
2015-11-01 13:02:10 +01:00
Jonas Jenwald
cf09f38340
Replace the linked test-case for issue 1293 with a reduced test-case
...
When I submitted PR 3576, I included a linked test-case. The reason was that I didn't know enough about the PDF format, in order to successfully create a reduced test-case.
Considering that the link points to a Dropbox, there's no guarantee that the PDF file will remain available, hence it seems worthwhile to replace the test-case.
*Note:* Since this is a `load` test, `makeref` won't be necessary.
2015-10-29 13:39:29 +01:00
Jonas Jenwald
ec04c4acb7
Add a reduced test-case for issue 6151
...
Re: issue 6151 and PR 6193.
*Note:* Since this is a `load` test, `makeref` won't be necessary.
2015-10-23 18:50:14 +02:00
Jonas Jenwald
d3782ff8d4
Add a reduced test-case for issue 4575
...
Re: issue 4575 and PR 4581.
2015-10-23 15:15:06 +02:00
Jonas Jenwald
2e751199fb
Prevent getOperatorList from failing to correctly parse OPS.paintXObject for TilingPatterns that are missing some /Resources entries (issue 6541)
...
Fixes 6541.
2015-10-21 21:30:56 +02:00
Jonas Jenwald
34cbee9bd3
Add unit-tests for PR 6531
2015-10-16 18:54:18 +02:00
Tim van der Meij
c4403e6fd2
Merge pull request #6434 from Snuffleupagus/issue-4436-reduced-test
...
Replace the unavailable linked test-case for issue 4436 with a reduced test-case
2015-10-13 00:32:05 +02:00
Jonas Jenwald
03f2c704a3
Add a reduced load test-case for bug 1020858
...
Re: PR 4907 and https://bugzilla.mozilla.org/show_bug.cgi?id=1020858 .
*Note:* Since this is a `load` test, `makeref` won't be necessary.
2015-10-04 23:49:49 +02:00
Tim van der Meij
5e4910f7b6
Merge pull request #6491 from Snuffleupagus/check-trailer-if-xref-missing
...
Make `XRef_indexObjects` even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
2015-10-04 16:00:00 +02:00
Jonas Jenwald
e8ad6c9d13
Add a unit-test for bug 1020226
...
For reference, see PR 4902 and https://bugzilla.mozilla.org/show_bug.cgi?id=1020226 .
2015-10-04 15:45:24 +02:00
Jonas Jenwald
192907e0d2
Make XRef_indexObjects
even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
...
Fixes http://www.cyjack.com/cognition/Terence%20McKenna%20-%20Lectures%20on%20Alchemy.pdf .
2015-10-01 15:01:25 +02:00
Jonas Jenwald
1b8cb52555
Prevent PartialEvaluator_buildFormXObject
from failing if the Matrix
or BBox
contains indirect objects
...
This patch fixes yet another instance of bad PDF data, specifically a case where the `BBox` array contains indirect objects (i.e. `Ref`s).
Fixes the missing image in http://www.int.washington.edu/talks/WorkShops/int_08_37W/People/Franz_M/Franz.pdf#page=24 . *Note:* There are missing images on a number of the pages in that file.
2015-09-29 10:11:49 +02:00
Jonas Jenwald
b218b222b5
Replace the unavailable linked test-case for PR 2875 with a reduced test-case
...
This reduced PDF file only contains the relevant text/font; for reference please see PR 2875.
2015-09-16 13:59:58 +02:00
Fabian Lange
2564827503
Fix text spacing with vertical fonts ( #6387 )
...
According to the PDF spec 5.3.2, a positive value means in horizontal,
that the next glyph is further to the left (so narrower), and in
vertical that it is further down (so wider).
This change fixes the way PDF.js has interpreted the value.
2015-09-15 09:28:45 +02:00
Tim van der Meij
e68a5c0222
Merge pull request #6435 from Snuffleupagus/issue-3205-reduced-test
...
Replace the unavailable linked test-case for issue 3205 with a reduced test-case
2015-09-14 23:59:14 +02:00
Tim van der Meij
b360fd104b
Merge pull request #6420 from Snuffleupagus/pr-4922-test
...
Add a reduced test-case for PR 4922
2015-09-10 21:54:45 +02:00
Jonas Jenwald
c043a6e3a3
Replace the unavailable linked test-case for issue 3205 with a reduced test-case
2015-09-10 16:59:30 +02:00
Jonas Jenwald
7f7025247a
Replace the unavailable linked test-case for issue 4436 with a reduced test-case
...
Issue 4436 actually contains enough information to create a reduced test-case, which this patch uses to replace a currently unavailable linked test.
2015-09-10 13:01:20 +02:00
Jonas Jenwald
29a1cdb6a6
Only choose a (3, 1) cmap table for TrueType fonts that have an encoding specified (issue 6410)
...
For (1, 0) cmaps, we have two different codepaths depending on whether the font has/hasn't got an encoding. But with (3, 1) cmaps we don't have a good fallback when the encoding is missing, hence this patch changes `readCmapTable` to only choose a (3, 1) cmap table if the font is non-symbolic *and* an encoding exists. Without this, we'll not be able to successfully create a working glyph map for some TrueType fonts with (3, 1) cmap tables.
Fixes 6410.
2015-09-07 16:56:05 +02:00
Jonas Jenwald
de6a74f58d
Add a reduced test-case for PR 4922
2015-09-05 12:51:05 +02:00
Brendan Dahl
238e16feeb
Merge pull request #6407 from Snuffleupagus/bug-1200096
...
Fallback in `readCmapTable`, instead of using `error`, for TrueType fonts with unsupported cmap formats (bug 1200096)
2015-09-04 18:10:34 -07:00
Jonas Jenwald
b4ade44ab9
Add a reduced test-case for issue 6413
2015-09-03 22:29:12 +02:00
Jonas Jenwald
0fb31a4a9e
Fallback in readCmapTable
, instead of using error
, for TrueType fonts with unsupported cmap formats (bug 1200096)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1200096 .
The problematic font has a `format 2` cmap, which we've never supported properly. Prior to PR 2606, we were able to fallback to a working state, despite not having proper support for that cmap format.
Obviously the best/correct solution would be to implement actual support for more cmap formats[1]. However, I'm hoping that a simple patch will be OK for now, given that:
- `format 2` cmaps seem to be quite rare in practice, since this has been broken for 2.5 years before anyone noticed.
- Having a simple patch will make potential uplifts a lot easier.
[1] See the specification at https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6cmap.html
2015-09-01 14:01:19 +02:00
Jonas Jenwald
ba9fcce8eb
Add a reduced test-case for issue 6113
...
As promised in PR 6125, here's a reduced test-case that should (hopefully) avoid the intermittent failure of the previous one.
2015-08-30 01:23:52 +02:00
Jonas Jenwald
99d29487ab
Adjust which TrueType (3, 1) glyphs we attempt to skip mapping of (issue 6336)
...
Fixes 6336.
2015-08-09 12:51:43 +02:00
Tim van der Meij
14f1ea00fe
Test case for tensor shading PR 6310
2015-08-04 23:55:55 +02:00
Tilman Hausherr
c85fa00d62
fix handling of flags 1-3 in coons shading
...
Short story: somebody got lost in two different indices. pi is an index in the stream and is explained on page 198 of the 32000-spec (however 1-based there), and ps is an index to something in PDF.js. I used the code from flag 0 (which works) to understand which is which. It is also important to understand that for flags 1,2 and 3, the stream is always assigned to the same coordinates and colors. What changes is which "old" coordinates and colors are assigned to what is "missing" in the stream. This is why for these flags, the code is identical except for the assignments in the first "row".
2015-08-03 21:15:26 +02:00
Brendan Dahl
977397ebfd
Merge pull request #6270 from Snuffleupagus/opentype-cff-2
...
Adjust the heuristics used to detect OpenType font file with CFF data (bug 1186827, bug 1182130, issue 6264)
2015-08-03 09:43:33 -07:00
Jonas Jenwald
1d65daf5e5
Correctly access colorSpace.numComps
in MeshStreamReader
(issue 6287)
...
This regressed in f750e35224
.
2015-07-31 18:00:58 +02:00
Jonas Jenwald
7fe2442a18
Ensure that we don't use the same typed array for both coords
and colors
in Mesh figures
(issue 6287)
...
This regressed in 1e8d70af98
.
2015-07-31 18:00:23 +02:00
Jonas Jenwald
0a024b5051
Adjust the heuristics used to detect OpenType font file with CFF data (bug 1186827, bug 1182130, issue 6264)
...
*This is a tentative patch.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1186827 .
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1182130 .
Fixes 6264.
2015-07-25 12:26:36 +02:00
Rob Wu
c676ecb5a0
Detect scripted auto-print requests
...
Fixes #6106
To avoid future regressions, two new unit tests were added:
1. A new PDF based on the report from #6106 , which contains an
OpenAction of type JavaScript and a string "this.print({...}".
2. An existing PDF from https://bugzil.la/1001080 (from #4698 ).
Although it does not matter, since we don't execute the JavaScript code,
I have also changed "print(true)" to "print({})" since the print method
takes an object (not a boolean). See "Printing PDF documents", page 62:
http://adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_developer_guide.pdf
2015-07-20 18:25:02 +02:00
Rob Wu
e211c25f06
Improve robustness of stream parser (invalid length)
...
When the parser finds a stream, it retrieves the Length from the stream
dictionary and advances the lexer to the offset as specified in Length.
If this Length is incorrect, the lexer could end up anywhere.
When the lexer gets in an invalid state, it could throw errors. For
example, in issue 6108, the lexer ends up inside the stream data. This
stream has the ASCIIHexDecode filter, so all characters are made up from
ASCII characters, and the lexer interprets it as a command token. Tokens
cannot be longer than 127 bytes, so eventually 128 bytes are consumed
and the lexer throws "Command token too long" error.
Another possible error is "Illegal character: 41" when the lexer happens
to end up at a ')' due to the length mismatch.
These problems are solved by catching lexer errors and recovering the
parser via the existing stream length detection branch.
2015-07-11 20:12:49 +02:00
Rob Wu
fd29bb0c57
Subtract start offset for xrefs in recovery mode
...
Xref offsets are relative to the start of the PDF data, not to the start
of the PDF file. This is clear if you look at the other code:
- In the XRef's readXRefTable and processXRefTable methods of XRef, the
offset of a xref entry is set to the bytes as given by a PDF file.
These values are always relative to the start of the PDF file (%PDF-).
- The XRef's readXRef method adds the start offset of the stream to
Xref entry's offset: "stream.pos = startXRef + stream.start".
Clearly, this line assumes that the entry offset excludes the start
offset.
However, when the PDF is parsed in recovery mode, the xref table is
filled with entries whose offset is relative to the start of the stream
rather than the PDF file. This is incorrect, and the fix is to subtract
the start offset of the stream from the entry's byte offset.
The manually created PDF file serves as a regression test. It is a valid
PDF, except:
- The integer to point to the start of the xref table and the %%EOF
trailer are missing. This will activate recovery mode in PDF.js
- Some junk was added before the start of the PDF file. This exposes the
bad offset bug.
2015-07-10 23:33:10 +02:00
Jonas Jenwald
60fc462bd6
Add more reduced test-cases for PR 6171
2015-07-03 13:14:41 +02:00
Yury Delendik
0787182e6f
Adds more characters to the PUA range
2015-07-02 16:47:47 -05:00
Brendan Dahl
d8e201446d
Merge pull request #6135 from Snuffleupagus/issue-5677-v2
...
Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677)
2015-07-01 11:15:55 -07:00
Brendan Dahl
98339f63a8
Merge pull request #5585 from timvandermeij/annotation-layer-borderstyle
...
Annotation border styles
2015-07-01 10:48:12 -07:00
Jonas Jenwald
7b77408dc1
Add a reduced test-case for issue 4909
...
I *should* have included this is PR 4910, but for some reason I didn't so better late than never.
2015-06-25 22:34:44 +02:00
Jonas Jenwald
aa3a64e975
Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677)
...
This patch slightly extends the heuristics used when trying to skip mapping of missing glyphs.
Fixes 5677.
2015-06-18 21:53:15 +02:00
Tim van der Meij
6007a57291
Add tests and documentation for the annotation border style class
...
This patch adds:
- Unit tests for the annotation border style class
- Regression test (self-made) for the annotation border style class
- Documentation generation using JSDoc
2015-06-17 22:28:08 +02:00
Jonas Jenwald
bf20334bea
Merge pull request #6090 from Snuffleupagus/issue-6068
...
Map missing glyphs to the notdef glyph for TrueType (3, 1) fonts (issue 6068)
2015-06-13 00:29:08 +02:00
Tim van der Meij
cbc7a0b178
Merge pull request #6101 from Snuffleupagus/issue-6099-test
...
Add a test-case for issue 6099 - CalRGB color space where the parameters are a |Ref|
2015-06-10 00:14:00 +02:00
Jonas Jenwald
97385587a8
Add a test-case for issue 6099 - CalRGB color space where the parameters are a |Ref|
...
The issue is already fixed by PR 5748, but we didn't have access to a suitable test-case. Thanks to issue 6099, we are now able to add one!
2015-06-09 17:52:36 +02:00
Jonas Jenwald
5eae3e29c5
Map missing glyphs to the notdef glyph for TrueType (3, 1) fonts (issue 6068)
...
Fixes 6068.
The most notable issue with the font in question is that the `differences` array contains lots of strange entries (of the type `uniXXXX`, instead of proper glyph names).
2015-06-06 18:28:16 +02:00
Jonas Jenwald
6f2f0700b7
Don't map glyphs to certain problematic Thai/Lao Unicode locations (issue 5994)
...
*This patch depends on PR 5990.*
According to https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-fallback.cc#38 , certain Thai/Lao characters are treated as special by the font shaping code in Firefox.
Further down in that file, https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-fallback.cc#216 , the vertical position of glyphs is modified, which should thus explain why some glyphs end up in the wrong position in the PDF file.
Fixes 5994.
2015-06-05 23:53:22 +02:00
Brendan Dahl
749a60a0b7
Merge pull request #5990 from Snuffleupagus/missing-glyphs-identityUnicode
...
Skip mapping of CIDFontType2 glyphs in fonts with a |IdentityToUnicodeMap|, unless |properties.widths| is defined for the glyph
2015-06-05 14:50:02 -07:00
Jonas Jenwald
64e1fb99fe
Fetch parameters if they are |Ref|s in Pattern color spaces (issue 6081)
...
Fixes 6081.
2015-06-04 22:01:01 +02:00
Jonas Jenwald
a28ed7c834
Always traverse the entire parent chain in Page_getInheritedPageProp (issue 5954)
...
This enables us to find resources placed on multiple levels of the tree.
Fixes 5954.
2015-05-30 12:21:05 +02:00
Yury Delendik
07af86cf70
Merge pull request #6016 from Snuffleupagus/issue-6010
...
Convert UTF8 encoded passwords to ISO-8859-1 for |R = 6| encryption (issue 6010)
2015-05-18 08:22:47 -05:00
Tim van der Meij
7da9626d16
Merge pull request #5901 from Snuffleupagus/bug-1050040
...
Fall back to the |defaultEncoding| when no valid "post" table is found in TrueType fonts (bug 1050040)
2015-05-15 12:54:04 +02:00
Jonas Jenwald
6fbc5428bd
Skip mapping of CIDFontType2 glyphs in fonts with a |IdentityToUnicodeMap|, unless |properties.widths| is defined for the glyph
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1142033 .
Also fixes issue 5874.
2015-05-14 22:38:04 +02:00
Jonas Jenwald
44240798be
Convert UTF8 encoded passwords to ISO-8859-1 for |R = 6| encryption (issue 6010)
...
For passwords where the encoding already is correct, the conversion is a no-op.
Also, since `encodeURIComponent` might throw, we need to make sure that we handle that case too.
Fixes 6010.
2015-05-14 21:46:31 +02:00
Tim van der Meij
90982332bf
Merge pull request #5995 from CodingFabian/tweak-char-spacing-text-selection
...
Apply char spacing only when there are chars.
2015-05-14 20:06:22 +02:00
Jonas Jenwald
9788ba0270
Add a reduced test-case for issue 5896
...
This should have been part of PR 5898.
2015-05-14 14:08:43 +02:00
Jonas Jenwald
0365baf5ab
Fall back to the |defaultEncoding| when no valid "post" table is found in TrueType fonts (bug 1050040)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1050040 .
With this patch the file is completely readable, but given that the font is broken enough to be rejected by OTS the rendering differs slightly from Adobe Reader.
*Note:* the PDF file is sufficiently broken that even Adobe Reader complains about the font, *and* also about another more general issue.
2015-05-14 13:16:14 +02:00
Fabian Lange
c2013094e7
Apply char spacing only when there are chars.
2015-05-13 23:45:20 +02:00
Tim van der Meij
d484ebd492
Merge pull request #5910 from jordan-thoms/fix-concatenated-files
...
Fix error reading concatenated pdfs
2015-05-13 22:40:55 +02:00
Jonas Jenwald
6d2d854f65
Merge pull request #5815 from Snuffleupagus/type1-diff-refs
...
Ensure that entries in the Differences array of Type1 fonts are either numbers or names
2015-05-07 22:33:23 +02:00
Brendan Dahl
cd53cbe7d4
Merge pull request #5964 from Snuffleupagus/bug-1157493
...
Handle the Encoding being a dictionary in PartialEvaluator_preEvaluateFont (bug 1157493)
2015-05-05 14:41:32 -07:00
Jonas Jenwald
760222cf0b
Handle the Encoding being a dictionary in PartialEvaluator_preEvaluateFont (bug 1157493)
...
*This is a regression from PR 4423.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1157493 .
2015-04-25 16:48:14 +02:00
Jonas Jenwald
4a022bc40a
Add a reduced test-case for issue 5801
2015-04-25 11:28:33 +02:00
Tim van der Meij
48b2f6d023
Merge pull request #5756 from Snuffleupagus/issue-5751
...
Guess CIDFontType0 subtype based on font file contents (issue 5751)
2015-04-24 23:50:07 +02:00
Jordan Thoms
d0ea772fc6
Fix error reading concatenated pdfs
2015-04-18 20:56:07 +12:00
Jonas Jenwald
4c2ad3bc7b
Ensure that entries in the Differences array of Type1 fonts are either numbers or names
...
This patch is yet another installment in the (never ending) series of bugs in PDF files with non-embedded fonts.
Fixes http://www.int.washington.edu/talks/WorkShops/int_08_37W/People/Franz_M/Franz.pdf .
2015-04-17 20:32:27 +02:00
Jonas Jenwald
fda858ae33
Don't map glyphs to certain problematic General Punctuation Unicode locations (bug 911034)
...
Fixes the remaining missing characters in https://bugzilla.mozilla.org/show_bug.cgi?id=911034 .
For reference, see http://www.unicode.org/charts/PDF/U2000.pdf (and also http://en.wikipedia.org/wiki/General_Punctuation_%28Unicode_block%29 ).
2015-04-09 17:27:03 +02:00
Jonas Jenwald
2b1a13ba28
Don't map glyphs to Unicode position 0x0E33, i.e. Thai character SARA AM (bug1046314)
...
*A similar approach as in PR 5705.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1046314 .
According to https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-complex-thai.cc#270-365 , `0x0E33` is treated as a special case (by the font shaping code in Firefox). Hence it seems reasonable to skip it when adjusting the font mapping.
2015-03-26 13:22:45 +01:00
Brendan Dahl
519b6669f0
Merge pull request #5705 from Snuffleupagus/bug-1108301
...
Don't map glyphs to Unicode "Dotted circle" combining mark (bug 1108301)
2015-03-24 16:33:04 -07:00
Jonas Jenwald
e894a0a4c6
Guess CIDFontType0 subtype based on font file contents (issue 5751)
2015-03-15 13:35:48 +01:00
Tim van der Meij
c69ad5885c
Merge pull request #5770 from Snuffleupagus/opentype-cff
...
Correctly detect OpenType font files with CFF data
2015-03-06 22:58:43 +01:00
Jonas Jenwald
97eb215b5f
Add a reduced test-case for issue 5734
2015-03-05 16:20:03 +01:00
Jonas Jenwald
f81fc9091a
Correctly detect OpenType font files with CFF data
...
Fixes 5334.
Fixes 215.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1125614 .
According to the specification, http://www.microsoft.com/typography/otspec/otff.htm , OpenType font files with CFF data should have `OTTO` in the header.
2015-02-28 13:43:53 +01:00
Yury Delendik
23916b2b14
Merge pull request #5748 from Snuffleupagus/issue-5747
...
Fetch parameters if they are a |Ref| in CalGray/CalRGB color spaces (issue 5747)
2015-02-26 17:44:46 -06:00
Jonas Jenwald
0a3341dadc
Don't map glyphs to Unicode "Dotted circle" combining mark (bug 1108301)
...
It seems that `0x25CC` is another bad spot for charCodes.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1108301 .
2015-02-27 00:20:38 +01:00
Jonas Jenwald
7c8996558a
Fetch parameters if they are a |Ref| in CalGray/CalRGB color spaces (issue 5747)
2015-02-20 12:53:02 +01:00
Jonas Jenwald
417800a1b5
Only skip the |!isSymbolicFont| check for TrueType (3, 1) cmap tables if no previous cmap table was found (PR 5703 followup)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=894572 .
2015-02-19 13:58:03 +01:00
Jonas Jenwald
592890a758
Relax the |isSymbolicFont| check for TrueType (3, 1) cmap tables (issue 5701)
2015-02-13 01:03:10 +01:00
Jonas Jenwald
8614c17c1d
Merge pull request #5717 from timvandermeij/testcase-5567
...
Test case for issue 5567
2015-02-13 00:39:52 +01:00
Brendan Dahl
394b38b22f
Merge pull request #5651 from Snuffleupagus/missing-glyphs
...
Try to skip mapping of missing TrueType and CIDFontType2 glyphs
2015-02-11 19:31:22 -08:00
Tim van der Meij
d124fc5e08
Test case for issue 5567
2015-02-10 00:16:54 +01:00
Jonas Jenwald
01e6565dd4
Try to skip mapping of missing TrueType glyphs
...
Also don't skip mapping of glyphs which are empty, if the corresponding charCode is included in toUnicode.
2015-02-07 12:19:38 +01:00
Jonas Jenwald
8174da61fb
Don't skip mapping of glyphs for CIDFontType2 fonts with a CIDToGIDMap
...
Also don't skip mapping of glyphs which are empty, if the corresponding charCode is included in toUnicode.
2015-02-07 12:19:37 +01:00
Jonas Jenwald
ad41a2d574
Add support for TrueType (0, 0) cmap tables (issue 5501 and 5574)
2015-01-11 14:54:12 +01:00
Jonas Jenwald
1fea44ce14
Ensure that |get fingerprint| doesn't fail if the ID is not an array (issue 5599)
...
According to the [PDF specification](http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#page=51 ) the `ID` should be an array. To prevent errors if the PDF file violates that part of the spec, check that the `ID` is actually an array.
Fixes 5599.
2014-12-30 16:16:43 +01:00
Jonas Jenwald
75767abb09
Add a reduced test case for issue 4379
...
This should have been part of PR 5136.
Based on comments https://github.com/mozilla/pdf.js/issues/4379#issuecomment-51221787 and https://github.com/mozilla/pdf.js/issues/4379#issuecomment-51475463 , it should be OK to include the PDF file in the repo.
2014-12-29 16:28:23 +01:00
Jonas Jenwald
d8b905048b
Add fallback for non-embedded "Century Gothic" CIDFontType2 font (issue 4722 and bug 879561)
...
According to practical experiments, falling back to "Helvetica" when we encounter a non-embedded "[Century Gothic](http://en.wikipedia.org/wiki/Century_Gothic )" `CIDFontType2` font seems to work well.
(Also, the section on Wikipedia about "Printer ink usage" *might* provide some anecdotal evidence that Century Gothic is a fairly standard sans-serif font.)
Obviously this patch doesn't make "Century Gothic" fonts render perfectly, as is often the case with non-embedded fonts, but all the text is now legible in the referenced issues.
Fixes 4722.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=879561 .
2014-12-18 23:19:34 +01:00
Tim van der Meij
a340927687
Test case for issue 5481
2014-12-18 21:26:02 +01:00
Tim van der Meij
36fce7db7e
Test case for issue 5475
2014-12-17 22:46:47 +01:00
Tim van der Meij
16833159a9
Test case for issue 5549
2014-12-17 22:42:06 +01:00
Jonas Jenwald
5f32f80e34
Add a reduced test case for issue 5470
2014-11-04 16:16:48 +01:00
Jonas Jenwald
58cc39f329
Add a reduced test case for issue 5291
2014-10-25 11:35:13 +02:00
Yury Delendik
9e7966a446
Merge pull request #5390 from Snuffleupagus/inline-jpeg-image-loading-test-case
...
Add a reduced test case for PR 5286
2014-10-22 09:38:31 -05:00
Yury Delendik
6b2c900722
Merge pull request #5401 from Snuffleupagus/bug-847420-test
...
Add a reduced test case for bug 847420
2014-10-22 08:32:20 -05:00
Jonas Jenwald
88c88d08e1
Add a reduced test case for PR 5286
2014-10-22 14:11:15 +02:00
Jonas Jenwald
4ac4d49158
Avoid rendering invisible Type3 fonts (issue 5421)
2014-10-18 22:29:21 +02:00
Jonas Jenwald
0ffb54b95f
Add a reduced test case for bug 847420
2014-10-12 22:36:50 +02:00
Jonas Jenwald
df2a4afd36
Use |toUnicode| when creating the glyph map for standard CIDFontType2 fonts without embedded font file
2014-09-27 13:20:04 +02:00
Yury Delendik
744c8e8d7e
Merge pull request #5250 from Snuffleupagus/issue-5238
...
Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
2014-09-26 15:18:33 -05:00
Jonas Jenwald
3c759e296a
Add support for MMType1 fonts with embedded font files
2014-09-18 16:10:46 +02:00
Jonas Jenwald
b16c973d9d
Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
2014-09-16 21:38:53 +02:00
Yury Delendik
15681adbb9
Merge pull request #5245 from Snuffleupagus/issue-5244
...
Further amend GlyphMapForStandardFonts (issue 5244)
2014-09-16 10:12:07 -05:00
Yury Delendik
aa8d3d98f8
Fetches params in makeFilter
2014-09-09 08:29:31 -05:00
Jonas Jenwald
3ca2c3f4a7
Add ZapfDingbats testcase
2014-09-03 21:57:57 +02:00
Jonas Jenwald
be595d0721
Further amend GlyphMapForStandardFonts (issue 5244)
2014-09-01 10:51:22 +02:00
Yury Delendik
be998261cc
Fixes Type3 negative font direction
2014-08-18 17:57:52 -05:00
Yury Delendik
fa53fcbf57
Merge pull request #5095 from Snuffleupagus/issue-5070
...
Adjust the heuristics to recognize more cases of unknown glyphs for |toUnicode| (issue 5070)
2014-08-05 17:41:38 -05:00
Jonas Jenwald
8ecbb4da05
Adjust the heuristics to recognize more cases of unknown glyphs for |toUnicode| (issue 5070)
2014-08-03 21:18:23 +02:00
Jonas Jenwald
70b934c7a5
Add reduced test-cases for issues 4875 and 4881
2014-08-03 18:34:52 +02:00
Jonas Jenwald
26f5b1b2d3
Add a couple of reduced test-cases for PR 4259
...
PR 4259 fixed a large number of font bugs, but none of those where added as test-cases. This was, in my opinion, unfortunate since it increases the risk of regressions in the future when other font bugs are fixed.
This PR simply adds a few more test-cases, to improve our test coverage somewhat.
2014-07-31 13:46:11 +02:00
Jonas Jenwald
50eeff2fab
Add a reduced test-case for issue 4800
2014-07-30 22:15:06 +02:00
Jonas Jenwald
e5f249605c
Add a reduced test-case for bug 1027533
2014-07-29 16:48:01 +02:00
Jonas Jenwald
2485f11829
Fix loading of PDF files with invalid or missing Type3 characters (issue 5039)
2014-07-24 15:03:22 +02:00
Jonas Jenwald
f13c217b25
Fix another seac regression (issue 4801)
2014-07-22 21:44:13 +02:00
Yury Delendik
53320ce734
Merge pull request #5012 from Snuffleupagus/issue-5010
...
Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
2014-07-22 10:54:35 -05:00
Jonas Jenwald
a7c786775d
[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
2014-07-05 00:18:51 +02:00
Jonas Jenwald
04975acceb
Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
2014-06-27 00:46:16 +02:00
Jonas Jenwald
158790981c
Don't blindly trust toUnicode when building toFontChar for non-standard fonts without a font file (issue 4934)
2014-06-14 22:59:08 +02:00
Jonas Jenwald
3e1db41ddd
Fix loading of fonts with empty font files (bug 866395 and issue 3522)
2014-05-18 21:41:06 +02:00
Jonas Jenwald
b907e15a90
Build paths for glyph accents when drawing text as curves
2014-05-14 00:04:44 +02:00
Yury Delendik
b7bb016b98
Missing test for #2537 ( e4c3b4501d
)
2014-05-02 14:04:16 -05:00
Jonas Jenwald
747dec16b2
Prevent trying to map characters to the specials unicode block in adjustMapping (issue 4650)
2014-04-28 23:33:54 +02:00
Yury Delendik
98e023e464
Guesses Type1C font type based on file content
2014-04-24 11:48:18 -05:00
Yury Delendik
bf3a2488df
Recognizes ascii type1 encoding
2014-04-17 07:52:33 -05:00
Brendan Dahl
b242826d29
Fix seac regression.
2014-04-11 09:55:39 -07:00
Yury Delendik
003e94885b
Tests for text layer
2014-04-10 19:22:13 -05:00
Yury Delendik
9ccdbbcb55
Merge pull request #4574 from Snuffleupagus/bug-850854
...
Handle 'space' character correctly in WinAnsiEncoding (bug 850854)
2014-04-09 14:36:49 -05:00
Jonas Jenwald
9e6c66be12
Handle 'space' character correctly in WinAnsiEncoding (bug 850854)
2014-04-08 13:07:29 +02:00
Jonas Jenwald
8fc4ebd5cb
Handle 'space' character correctly in MacRomanEncoding (bug 878026)
2014-04-07 20:59:26 +02:00
Thorben Bochenek
1d663876b1
Add load test for Issue #4461
2014-03-18 14:10:44 +01:00
Basil A. Zabairatsky
555d33ffc7
Support for the image mask in higher resolution than the image itself
2014-03-07 02:16:39 +06:00
Yury Delendik
a583c319a1
Implements shading types 4-7
2014-01-27 20:35:51 -06:00
Jonas Jenwald
575bdd8863
Fix loading of fonts with invalid encoding name entry (bug 859204 and 878112)
2014-01-21 02:03:28 +01:00
Brendan Dahl
bac4133f21
Merge pull request #4068 from yurydelendik/bug864847
...
Adjusts heuristic for disabling Symbol encoding
2014-01-08 10:48:18 -08:00
Yury Delendik
5973d40afe
Adjusts heuristic for disabling Symbol encoding
2014-01-02 18:44:11 -06:00
Rob Wu
4ff1d45f16
Add pdf from issue 3885 to tests
...
Source: https://www.dropbox.com/s/ooqk82fq0gr5p6f/test-min-notext-opt.pdf
2013-12-19 18:38:44 +01:00
Jonas Jenwald
b1c5ef9ccc
Fix loading of fonts that are not referenced by an object identifier
2013-12-17 00:19:31 +01:00
Yury Delendik
2b63cd7e62
Allocates bigger hashData buffer
2013-11-18 07:48:06 -06:00
Yury Delendik
82a9a13e5f
Fixes glyphs with invalid flags
2013-11-13 13:45:59 -06:00
Brendan Dahl
bd6871a1cd
Merge pull request #3884 from yurydelendik/bug868745
...
Resizes loca table when needed
2013-11-11 14:59:18 -08:00
Tim van der Meij
6be8a2bd83
Merge pull request #3882 from yurydelendik/issue3438
...
Ignoring glyphs without points
2013-11-08 14:21:17 -08:00
Brendan Dahl
e076eeb5bd
Merge pull request #3877 from yurydelendik/issue1171
...
Skipping empty font tables
2013-11-08 09:12:04 -08:00
Brendan Dahl
18d8557abd
Merge pull request #3875 from yurydelendik/issue3025
...
Removes duplicate entries after reading cmap table
2013-11-07 12:29:25 -08:00
Brendan Dahl
c8e021dfa6
Merge pull request #3867 from yurydelendik/pfb
...
Workaround for some bad Type1 data
2013-11-06 11:14:42 -08:00
Yury Delendik
175341cb0d
Resizes loca table when needed
2013-11-03 07:29:29 -06:00
Yury Delendik
93076ced03
Ignoring glyphs without points
2013-11-02 17:07:13 -05:00
Yury Delendik
bbda42110b
Skipping empty font tables
2013-11-01 19:05:17 -05:00
Yury Delendik
bb2570c9c1
Removes duplicate entries after reading cmap table
2013-11-01 16:30:28 -05:00
Yury Delendik
cd44093891
Workaround for some bad Type1 data
2013-11-01 13:58:33 -05:00
Yury Delendik
95d9107d8b
Fixes reading Type1 FontBBox data for usWin values
2013-11-01 11:33:30 -05:00
Yury Delendik
1f232ded90
Stops objects indexing at the end
2013-08-23 13:03:30 -05:00
Yury Delendik
ba87d2fe11
Merge pull request #3373 from SSk123/master
...
rotation causes textLayer to get messed up
2013-06-29 17:24:12 -07:00
Srishti
21a8d62624
Fixes Text rotation issue #2095
2013-06-30 03:52:30 +05:30
Yury Delendik
27c8291ea1
Adds test for issue 3371 and enables testing with password.
2013-06-25 19:56:47 -05:00
Yury Delendik
004bd848c8
Merge pull request #2956 from vyv03354/cmap4_fpgm
...
Add more sanitizations to TT font programs
2013-06-23 12:33:18 -07:00
Yury Delendik
702da7f3ea
Skips failed-to-download tests
2013-05-30 17:58:48 -05:00
vyv03354
cc5cba8bec
Strip TT programs if it's invalid
2013-05-02 06:07:46 +09:00
Mack Duan
ef423ef30c
Implement progressive loading of PDFs
2013-04-12 16:13:22 -07:00
Yury Delendik
a3b2ad30fa
Adds endchar with 4 arguments test.
2013-03-04 14:28:04 -06:00
vyv03354
c5b8ee6a91
Implements vertical writing
2013-02-15 03:53:34 +09:00
vyv03354
0df411a3da
Fixes non-Japanese characters spacing
2013-01-24 01:23:22 +09:00
Brendan Dahl
45daf4e936
Merge pull request #2557 from mduan/issue2391-invalid-font
...
Default to a built-in font if an invalid non-embedded font is encountered
2013-01-18 12:35:59 -08:00
mduan
b718a3604a
Default to a built-in font if an invalid non-embedded font is encountered
2013-01-16 13:57:41 -08:00
vyv03354
2ef50c5068
Added tests for PDFs having 'H', 'EUC-H', and '90ms' encodings
2013-01-17 00:13:34 +09:00
mduan
5ab3bb1e03
Skip commands that have too few arguments
...
- Commands that have too few args will be skipped
- Commands that have too many args will generate an info, but still
execute
2013-01-15 14:07:16 -08:00
mduan
fadcb71c21
Handle missing 'FontName' entry in FontDescriptor object
2013-01-15 11:48:20 -08:00
vyv03354
bff75fa629
Added a test PDF having Identity-H encoding without embedded font
2013-01-13 04:21:30 +09:00
Yury Delendik
4c533d065d
Fixes incomplete restore in paintFormXObject
2012-10-26 23:30:01 -05:00
Yury Delendik
7ea87c875e
Fixes cmap when 0xFFFF character is included
2012-10-13 14:21:15 -05:00
Brendan Dahl
5d8f463162
Adds support for the extend option for linear and radial shadings.
2012-06-07 16:00:07 -07:00
Brendan Dahl
ba9c828117
Merge pull request #1600 from yurydelendik/issue-1586
...
Don't check gen number for free entry; don't index objects twice
2012-04-25 17:04:11 -07:00
Yury Delendik
c13a4c1557
Replacing test with simulated bad pdf
2012-04-24 18:53:11 -05:00
Brendan Dahl
28024fba3b
Replace test pdf tcpdf 33 by custom generated pdf.
2012-04-17 10:39:17 -07:00
Brendan Dahl
3925e37417
Add basic api unit testing.
2012-04-12 17:59:30 -07:00
Brendan Dahl
7008d07fde
Fix gradients for fill and stroke.
2012-03-29 08:53:51 -07:00
notmasteryet
19bc96a617
Merge pull request #1406 from 'bdahl/string_fontname'
...
Fix string font names.
2012-03-26 21:17:16 -05:00
Brendan Dahl
2d7e1d6346
Merge upstream.
2012-03-21 16:13:24 -07:00
Brendan Dahl
52a4bcbd4f
Merge upstream.
2012-03-19 10:45:53 -07:00
Brendan Dahl
52222b7de3
Add test file for string font name.
2012-03-19 09:09:42 -07:00
notmasteryet
1f0af7c476
Add 'Indexed' cs abbreviation
2012-03-17 17:35:04 -05:00
Brendan Dahl
4a50e06e85
Merge branch 'master' of https://github.com/mozilla/pdf.js into cff
2012-03-10 19:22:02 -08:00
Brendan Dahl
ce53b1b018
CFF Parser and Compiler.
2012-03-10 19:12:33 -08:00
notmasteryet
38e3f32557
Add and fix pdfkit_compressed.pdf
2012-03-01 21:23:36 -06:00
Artur Adib
d09c0fbfd3
Merge pull request #1252 from notmasteryet/issue-1249
...
Check if glyphs are stored outside the glyf table
2012-02-29 10:43:45 -08:00
Brendan Dahl
b6e4fc771f
Fix bad chars in Type2CFF font names.
2012-02-19 22:12:22 -08:00
notmasteryet
8f3b198c23
Check if glyph are stored outside the glyf table
2012-02-19 20:12:57 -06:00
notmasteryet
016fd3282e
Merge branch 'master' of git://github.com/mozilla/pdf.js.git into jpx6
...
Conflicts:
test/pdfs/.gitignore
2012-01-19 17:46:48 -06:00
Brendan Dahl
8aac2256ed
Fix zero width lines.
2012-01-17 20:50:49 -08:00
notmasteryet
15c132d4b9
Add example PDF from #268
2012-01-11 20:14:49 -06:00
Brendan Dahl
7c8445753d
Merge upstream.
2011-12-29 12:37:15 -08:00
Brendan Dahl
93283fdcc3
Add test pdf for type4 postscript functions.
2011-12-28 21:23:17 -08:00
Brendan Dahl
cf31eb4544
Add test case for smasks.
2011-12-16 10:54:31 -08:00
notmasteryet
fb3a9a9828
Add reftest for issue #918
2011-12-12 21:42:39 -06:00
notmasteryet
fa89ebe537
Merge branch 'master' of git://github.com/mozilla/pdf.js.git into issue-863
...
Conflicts:
test/pdfs/.gitignore
2011-12-08 19:22:44 -06:00
notmasteryet
303f5cd07b
Add bad PDF with lots of extra bytes at the end
2011-12-08 19:17:24 -06:00
notmasteryet
fa18c8022e
remove glyph references outside range of avaialable glyphs
2011-12-07 21:38:34 -06:00
notmasteryet
05c1f68d68
Add PDF from the #840 to the reference tests
2011-12-02 06:55:04 -06:00
Brendan Dahl
faa202df1e
Merge upstream and change test pdf file.
2011-11-22 10:39:26 -08:00
Brendan Dahl
543e3377de
Adding multi dimensional interpolation and test file.
2011-11-11 14:44:47 -08:00
Brendan Dahl
3d662cf08a
Add the cmyk jpeg test file.
2011-11-09 09:39:55 -08:00
Brendan Dahl
3592baf39c
Merge upstream
2011-10-31 08:51:45 -07:00
Brendan Dahl
11b843325b
Add the alpha trans test pdf.
2011-10-28 14:11:14 -07:00
Ionuț G. Stan
8a6cf185fd
Add eq test for close path rendering bug
...
See: 56b9a3543d
2011-10-28 16:38:55 +03:00
Artur Adib
fb32ff0ea9
Git-ignore all PDFs except the listed ones
...
This forces contributors to deal with gitignore only when bundling a new test, rather than making all users of "make test" having to constantly update their gitignores because of new PDFs.
2011-10-06 11:01:22 -04:00
Artur Adib
f3745f7c13
New README, .gitignores; Makefile
...
Makefile: commented out unnecessary closure download and shell testing (at least until someone decides to work on this).
2011-09-16 08:28:59 -07:00
Chris Jones
8385cb8449
the new test file is a .link
2011-06-27 18:28:29 -07:00
Rob Sayre
b002cfb433
Ignore intelisa.pdf
2011-06-27 12:36:34 -07:00
Rob Sayre
faaf3a4907
Add pdf.pdf to .gitignore
2011-06-23 10:27:53 -07:00
Rob Sayre
5ae4857efd
Add new test directories.
2011-06-23 09:05:51 -07:00