Commit Graph

481 Commits

Author SHA1 Message Date
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
Yury Delendik
9f51e46917 Refactoring error reporting in JPX 2014-06-13 18:22:42 -05:00
fkaelberer
894d9fe085 Fix #3591 / list unsupported options 2014-06-13 16:41:27 -05:00
Yury Delendik
dd165f2918 SHA512 optimizations 2014-06-13 15:12:50 -05:00
Daniel West
1fce2856c6 Added support for decrypting PDF 1.7/2.0 Algorithm 5 revision 5 and 6.
*Added AES128 Encryption
*Added AES258 Encryption/Decryption
*Added SHA256
*Added SHA512
*Added class to handle 8 byte integers and associated bit operations
*Added SHA384
*Added routines to handle new algorithm and perform PDF2.0 hashing.
2014-06-13 13:05:47 -05:00
Nicholas Nethercote
7923eb7edb Fix mishandling of incomplete, inverted masks. 2014-06-13 06:14:52 -07:00
Jonas Jenwald
c0250e16e3 Return ErrorFont in loadFont when the fontRef is undefined 2014-06-12 12:46:39 +02:00
Jonas Jenwald
7802a7ab97 Handle cases where the fontName contains non-alphanumeric characters (issue 4909) 2014-06-10 17:25:49 +02:00
Yury Delendik
b2d8e73d54 Merge pull request #4895 from p01/Small_optimizations_1
Small optimizations 1
2014-06-10 10:09:12 -05:00
Yury Delendik
12bfd206d9 Merge pull request #4867 from yurydelendik/nonalign32
Fixes murmurhash for old webkit.
2014-06-10 09:16:36 -05:00
Yury Delendik
cff2c3afc1 Merge pull request #4892 from yurydelendik/issue4890
Fixes masked JPEG image
2014-06-10 09:16:12 -05:00
Yury Delendik
fc85cfdb83 Merge pull request #4907 from CodingFabian/fix-4906
add object id to streams to prevent infinite loops.
2014-06-10 08:56:25 -05:00
p01
6731de6829 Minor refactoring of EvaluatorPreprocessor_read 2014-06-10 12:37:40 +02:00
p01
d4a01f6034 evaluator.js minor optimizations 2014-06-10 12:37:37 +02:00
p01
37c9765ab4 Optimized Lexer_getObj 2x faster 2014-06-10 12:37:36 +02:00
Fabian Lange
532d7246ea add object id to streams to prevent infinite loops.
fixes http://bugzil.la/1020858
2014-06-10 11:29:25 +02:00
Jonas Jenwald
26bbcedcae Prevent infinite loop when scanning for endstream (bug 1020226) 2014-06-09 22:42:35 +02:00
Yury Delendik
806aa36aa8 Merge pull request #4897 from CodingFabian/optimize-stream-getCode
Optimization for FlateStream_getCode, making more pdfs parsable.
2014-06-09 14:51:42 -05:00
Fabian Lange
22a0e7fe65 Optimization for FlateStream_getCode, making more pdfs parsable.
This commit cleans up the FlateStream_getCode method, and removes a few error
conditions.
Previously it would fail if the codeSize is less than maxLen if end of stream
is reached. However in the document linked below there is a sub-stream
(the one starting at pos 337) which has maxLen set to 11, but actually
contains only 10. After breaking the sanity check still applies, and in this
case passes validating codeSize(10)==codeLen(10).

 http://www.cafeculture.com/wp-content/uploads/2014/03/V-CM-BR-086-04002-1346-0258-GP-Brazil-Fazenda-Cafe-Cambara-Terra-Preta-Microlot-Sample-0460-13-Pulped-Natural-60Kg.pdf
2014-06-09 20:55:31 +02:00
Yury Delendik
9308c7c82f Merge pull request #4896 from CodingFabian/cleanup-jpgjs-buildComponentData
Deleted unused variables in jpgjs buildComponentData.
2014-06-06 09:48:30 -05:00
Fabian Lange
030a188af7 Deleted unused variables in jpgjs buildComponentData. 2014-06-05 16:20:29 +02:00
Fabian Lange
0a42edf82f Optimize JPG.js receiveAndExtend for 1 bit case.
Profiling showed that receiveAndExtend is frequently called with the length of
one bit. This happens for example in decodeBaseline.
For a single bit, the loop and shift in receive, as well as the shifts in
receiveAndExtend are overhead.
This shortcut manually calculates the shifts by either returning 1 or -1 from
receiveAndExtend by reading the bit and deciding on the return value.
While it comes with an overhead for each non-one length, the speedup is at about
10% in the hot parse/decode path.
2014-06-05 12:24:53 +02:00
Yury Delendik
6b411b559d Fixes masked JPEG image 2014-06-04 15:53:46 -05:00
Yury Delendik
43a103d5d3 Merge pull request #4889 from CodingFabian/optimize-jpg-loops
Optimized loops in JPG conversion.
2014-06-04 15:34:48 -05:00
Yury Delendik
11c12464e3 Merge pull request #4891 from yurydelendik/typo
Fixes typo in getAsync
2014-06-04 13:19:16 -05:00
Yury Delendik
b20b404061 Fixes typo in getAsync 2014-06-04 11:30:53 -05:00
Fabian Lange
dcde59fa76 Optimized loops in JPG conversion.
This change makes the 4 conversion loops look the same.
It optimizes access of the array length and access of the property
numComponents, which is known to be constant.
2014-06-04 10:02:47 +02:00
Yury Delendik
6235e3a61c Adds color components decoding to the JPEG 2014-06-03 08:51:57 -05:00
Yury Delendik
2449142fc3 Merge pull request #4835 from Snuffleupagus/issue-4800
Prevent font error when no preferred cmap table is found (workaround for issue 4800)
2014-06-02 14:42:58 -05:00
Yury Delendik
3acf5709a0 Merge pull request #4876 from Snuffleupagus/issue-4875
Prevent adding undefined array entries to CMap.map in mapRangeToArray (issue 4875)
2014-06-02 14:31:20 -05:00
Jonas Jenwald
d1c71ab7ad Prevent adding undefined array entries to CMap.map in mapRangeToArray (issue 4875) 2014-06-02 14:29:54 +02:00
Yury Delendik
a09aecb24a Fixes murmurhash for old webkit. 2014-05-29 21:16:32 -05:00
Yury Delendik
9c87fa24f7 Removes mozResponseArrayBuffer 2014-05-29 20:38:50 -05:00
Yury Delendik
844bc644fb Merge pull request #4861 from timvandermeij/xobject
Fixes unhandled XObject subtype PS error
2014-05-29 08:40:57 -05:00
Jonas Jenwald
7e6cdc74af Merge pull request #4832 from yurydelendik/showtext
Refactors showText: split type3, remove showSpacedText
2014-05-29 12:58:09 +02:00
Tim van der Meij
e128bdc397 Fixes unhandled XObject subtype PS error 2014-05-29 11:53:13 +02:00
Jonas Jenwald
3c5dedf60d Prevent font error when no preferred cmap table is found (workaround for issue 4800) 2014-05-27 17:30:11 +02:00
koderok
81d3f4a89b merged with earlier commits 2014-05-24 05:37:25 +05:30
Yury Delendik
f000c04b73 Merge pull request #4829 from fkaelberer/optimize_parser_getObj
small optimizations in parser.getObj(), lexer.getObj()
2014-05-23 15:14:18 -05:00
Yury Delendik
fcc4dfd9b5 Moves shared/function.js to core/ 2014-05-23 14:11:47 -05:00
Yury Delendik
7a19085159 Moves shared/colorspace.js into core/ 2014-05-23 14:11:47 -05:00
Yury Delendik
542c9c4c7a Moves ColorSpace logic into evaluator 2014-05-23 14:11:47 -05:00
Yury Delendik
d53dc2e7d6 Refactors showText: split type3, remove showSpacedText 2014-05-23 13:36:54 -05:00
fkaelberer
f88118dbf9 small optimizations in parser.getObj(), lexer.getObj() 2014-05-23 09:25:36 +02:00
Yury Delendik
f4baea900e Fixes regression in the cleanup 2014-05-20 21:57:04 -05:00
Jonas Jenwald
fe27a76004 Merge pull request #4815 from yurydelendik/loadFont
Refactors loadFont for translateFont be async
2014-05-20 21:30:42 +02:00
p01
7b68737baa Strict isEOF / ~22% faster on issue2813, from 16.5s to 13.5s 2014-05-20 12:39:58 +02:00
Yury Delendik
e5a0d89da9 Refactors loadFont for translateFont be async; fixes type3 dup data 2014-05-19 16:27:54 -05:00
Jonas Jenwald
7079992d89 Merge pull request #4770 from yurydelendik/promise-operationlist
Adds Promises to getOperatorList
2014-05-19 23:22:40 +02:00
Yury Delendik
88aa396aca Terminate getOperationList and getTextContent every 20 ms 2014-05-19 16:19:54 -05:00
Yury Delendik
d8eb8b1de1 Adds Promise to the getOperatorList 2014-05-19 16:19:54 -05:00
Yury Delendik
5cd6483ebb Merge pull request #4809 from Snuffleupagus/bug-866395-redux
Fix loading of fonts with empty font files (bug 866395 and issue 3522)
2014-05-19 11:23:54 -05:00
Jonas Jenwald
a984fe5b55 Add more unit tests for the API 2014-05-18 23:35:29 +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
ea0453f106 Add isEmpty method to Stream, DecodeStream and ChunkedStream 2014-05-18 21:41:05 +02:00
Yury Delendik
c0419d7dea Merge pull request #4773 from fkaelberer/shorterDecodeInt
Simplify Jbig2Image.decodeInteger()
2014-05-18 08:46:08 -05:00
Christian Krebs
3e7bcaa892 Handle nested post script arguments in the preprocessor
Fix for issue #4785
2014-05-15 19:49:43 +02:00
p01
330b99f428 Optimized stream.js / 9-10x faster DecodeStream_ensureBuffer 2014-05-14 17:06:39 +02:00
Yury Delendik
048c6d99f1 Merge pull request #4736 from Snuffleupagus/glyph-accent-buildPath
Build paths for glyph accents when drawing text as curves
2014-05-14 07:40:50 -05:00
Jonas Jenwald
c68ffcf978 Check if the Names dictionary actually contains a Dests dictionary before attempting to get the destinations 2014-05-14 12:43:20 +02:00
Jonas Jenwald
b907e15a90 Build paths for glyph accents when drawing text as curves 2014-05-14 00:04:44 +02:00
Jonas Jenwald
44cd0f4a76 Merge pull request #4752 from yurydelendik/refmsghdlr
Refactors MessageHandler.send to remove callbacks
2014-05-13 22:47:04 +02:00
fkaelberer
8c38c2cbe3 Simplify Jbig2Image.decodeInteger() 2014-05-10 18:03:54 +02:00
Yury Delendik
a26d28a393 Merge pull request #4683 from yurydelendik/grouppath
Groups path commands into single operation
2014-05-08 22:16:58 -05:00
Yury Delendik
cc9643cf32 Refactors GetAnnotationsRequest and GetPageRequest 2014-05-08 15:02:53 -05:00
Yury Delendik
2008f74185 Refactors MessageHandler.send to remove callbacks 2014-05-07 18:15:25 -05:00
Jonas Jenwald
f3f3db0d15 Remove 'info' and 'metadata' from GetDoc 2014-05-07 22:07:11 +02:00
Jonas Jenwald
069f0cc8c0 Remove 'javaScript' from GetDoc 2014-05-07 21:54:15 +02:00
Jonas Jenwald
4bfcb27d0b Remove 'outline' from GetDoc 2014-05-07 21:16:35 +02:00
Yury Delendik
7ac1d6cdc8 Merge pull request #4708 from p01/graphic_optimizations_1
Graphic optimizations 1
2014-05-05 10:37:03 -05:00
p01
14a2d74d16 Optimized JPG.js - 33% faster convertCmykToRgb 2014-05-05 14:36:46 +02:00
p01
287274d3dc Optimized JPG.js - reduced memory usage + 2.16x faster getLinearizedBlockData
Linearize and scale the mcu blocks into the destination buffer in a single pass
2014-05-05 14:36:46 +02:00
p01
7067409e00 Optimized JPX's transformComponents 2014-05-05 14:36:45 +02:00
p01
27d532efeb Optimized PDFImage_undoPreblend 2014-05-05 14:36:45 +02:00
Yury Delendik
5fb42f6962 Merge pull request #4728 from Snuffleupagus/remove-LegacyPromise-worker.js
Remove LegacyPromise in src/core/worker.js
2014-05-05 07:10:03 -05:00
Yury Delendik
ae92b6f96f Merge pull request #4726 from Snuffleupagus/remove-LegacyPromise-core.js
Remove LegacyPromise in src/core/core.js
2014-05-02 17:29:28 -05:00
Jonas Jenwald
87d38b0692 Remove LegacyPromise in src/core/worker.js 2014-05-03 00:09:49 +02:00
Yury Delendik
a39f44fdf2 Merge pull request #4725 from Snuffleupagus/remove-LegacyPromise-pdf_manager.js
Remove LegacyPromise in src/core/pdf_manager.js
2014-05-02 17:02:05 -05:00
Jonas Jenwald
034f1102da Remove LegacyPromise in src/core/core.js 2014-05-02 22:10:21 +02:00
Jonas Jenwald
caad87eba5 Remove LegacyPromise in src/core/pdf_manager.js 2014-05-02 21:43:28 +02:00
Tim van der Meij
6b9aeb34f1 Fixes rendering of PDFs with nested trailer dictionary 2014-05-02 21:01:34 +02:00
Tim van der Meij
3ddc534920 Tiny updates 2014-05-01 21:05:32 +02:00
Jonas Jenwald
b6ff4aea2b Add onError function to ChunkedStreamManager 2014-05-01 18:20:55 +02:00
Jonas Jenwald
89c11ca9a2 Remove LegacyPromise in src/core/chunked_stream.js 2014-05-01 18:17:42 +02:00
Yury Delendik
aab48a2169 Merge pull request #4709 from pramodhkp/refactoring
Remove legacy promises from api.js
2014-05-01 11:10:03 -05:00
Pramodh KP
8616b2ccf3 Remove LegacyPromise from src/core/obj.js 2014-05-01 19:22:47 +05:30
Yury Delendik
63d5aae3f6 Groups path commands into single command 2014-04-30 09:09:04 -05:00
Jonas Jenwald
0fa154be4e Amend GlyphMapForStandardFonts to fix issue 4276 2014-04-30 15:56:40 +02: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
58f697f977 Merge pull request #4528 from bthorben/lessColorConversion
Less color conversion
2014-04-28 08:28:33 -05:00
Yury Delendik
98e023e464 Guesses Type1C font type based on file content 2014-04-24 11:48:18 -05:00
Thorben Bochenek
e8f0700bfa Move the colour conversion to jpg.js
Benchmarking shows that this improves performance for the invitation document
from https://github.com/mozilla/pdf.js/issues/3809 by 35%
2014-04-24 15:07:12 +02:00
Thorben Bochenek
e7fe45a5c4 Refactor jpg.js and include forceRGBoutput, correct style of image.js
This refactors getData to be more readable and extracts all the color
conversion algorithms to their own functions. The resulting code was then
cleaned up.
This also introduces a flag `forceRGBoutput` to getData, that allows to always
get the data as a `width * height * 3` bytes long RGB buffer
2014-04-24 12:55:37 +02:00
p01
8f9bd33a57 PDFImage_resize: copy in place with alpha and ~5x speed up 2014-04-23 17:27:02 +02:00
p01
a66326cc54 Optimized JPX decoder ~6% faster 2014-04-22 15:34:26 +02:00
fkaelberer
11f565547c Fix corrupted images #4649 2014-04-19 19:34:42 +02:00
Samuel Chantaraud
25ee0e8572 Preliminary attachments support
Added a partial Filespec support
Added getAttachments in API
Added a new attachments view in UI (with a new icon by @shorlander)
2014-04-18 12:11:00 -04:00
Yury Delendik
9a5c121e4d Fixes invalid CFF name for Mac OSX 2014-04-17 10:50:06 -05:00
Yury Delendik
a22258a6b3 Merge pull request #4638 from yurydelendik/issue4630
Recognizes ASCII type1 encoding
2014-04-17 08:39:31 -05:00
Yury Delendik
558c159e3d Merge pull request #4637 from fkaelberer/issue3483
Fix #3483 and simplify readCodingpasses()
2014-04-17 08:29:59 -05:00
Yury Delendik
bf3a2488df Recognizes ascii type1 encoding 2014-04-17 07:52:33 -05:00
fkaelberer
f52dfe4c81 Fix #3483 and simplify readCodingpasses() 2014-04-16 21:40:37 +02:00
fkaelberer
b06c10cbbd rename getUint32 to getInt32 and collect readInt*() in util.js 2014-04-16 21:31:16 +02:00
Yury Delendik
a468f7215d Fixes spacing in the text layer builder 2014-04-16 11:14:57 -05:00
fkaelberer
04602c8a5e Less copying in the JPX coder, merged and rebased 2014-04-16 10:40:04 +02:00
Rob Wu
2e97c0d085 Remove some unused variables from src/
Only obviously useless, local variables have been removed.
2014-04-15 17:10:23 +02:00
Yury Delendik
f954cde8f4 Merge pull request #4581 from Snuffleupagus/issue-4575
Check that images have valid dimensions (issue 4575)
2014-04-14 15:23:44 -05:00
Yury Delendik
eb8924a79f Merge pull request #4613 from yurydelendik/buildImagePromise
Refactors buildImage to use Promise; don't draw bad images
2014-04-14 15:23:06 -05:00
Yury Delendik
a00f854848 Refactors buildImage to use Promise; don't draw bad images 2014-04-14 15:22:35 -05:00
Joshua T Kalis
5828b2c687 Refactor - remove redundant function and all references
The function `assertWllFormed` was doing nothing different than `assert` which is
available in the same namespace. Removing it will lighten the filesize - albeit
very slightly - and reduce complexity.
2014-04-13 16:18:07 -04:00
Yury Delendik
bb739c011e Merge pull request #4606 from timvandermeij/xrefentry
Makes PDF files load when xrefEntry is undefined
2014-04-12 19:37:14 -05:00
Yury Delendik
65fa25ca36 Fixes number of glyphs in the generated font 2014-04-12 13:25:13 -05:00
Tim van der Meij
dd3df20a88 Makes PDF files load when xrefEntry is undefined 2014-04-12 12:05:12 +02:00
Brendan Dahl
b242826d29 Fix seac regression. 2014-04-11 09:55:39 -07:00
Yury Delendik
88c1747cc3 Heuristics to recognize the unknown glyphs for toUnicode 2014-04-10 19:21:09 -05:00
Tim van der Meij
f463f96f35 Resolving new lint issues 2014-04-11 00:41:18 +02:00
Tim van der Meij
df91acf239 Fixes lint warning W004 in src/core 2014-04-11 00:41:08 +02:00
Yury Delendik
791c9a7b13 Relaxes murmurhash array requirement. 2014-04-10 07:55:08 -05:00
Brendan Dahl
5bd8a83c9b Build the text layer geometry on the worker. 2014-04-09 16:44:07 -07:00
Yury Delendik
af536353d5 Merge pull request #4568 from p01/JPX_optimization
Jpx optimization
2014-04-09 17:25:11 -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
Brendan Dahl
a6e5f31ca1 Merge pull request #4423 from chriskr/font-aliases
Treat fonts with the same font descriptor and encoding as aliases
2014-04-09 10:26:09 -07:00
Yury Delendik
7a321dbf7e Merge pull request #4569 from Snuffleupagus/bug-878026
Handle 'space' character correctly in MacRomanEncoding (bug 878026)
2014-04-09 10:44:10 -05:00
p01
b77e647f4f JPX decoder 20-25% speed optimization 2014-04-09 16:58:40 +02:00
Jonas Jenwald
3a9b5b3951 Check that images have valid dimensions (issue 4575) 2014-04-09 13:04:27 +02:00
Jonas Jenwald
811f1b1d05 Workaround for cases where FontName in the FontDescriptor differs from BaseFont in the Font (bug 847420) 2014-04-09 11:29:33 +02:00
Christian Krebs
79f34b183c Treat fonts with the same font descriptor, encoding and unicode map as aliases
Different fonts can point to the same font descriptor
(see https://github.com/mozilla/pdf.js/issues/4339 for details). With this
commit such fonts are treated as aliases if they have also the same encoding
and the same toUnicode map. The according info is stored on the font descriptor.
This change must also ensure that aliases use always the same font name
because translated fonts can get cleared depending on the CLEANUP_TIMEOUT setting.
2014-04-08 20:45:21 +02:00
Brendan Dahl
608c6cea5a Merge pull request #4374 from yurydelendik/dictgetall
Doesn't traverse cyclic references in Dict.getAll; reduces empty-Dict GC
2014-04-08 10:43:42 -07:00
Jonas Jenwald
9e6c66be12 Handle 'space' character correctly in WinAnsiEncoding (bug 850854) 2014-04-08 13:07:29 +02:00
Brendan Dahl
ed1f8c33bd Merge pull request #4286 from yurydelendik/webgl
WebGL and misc memory optimizations
2014-04-07 14:33:34 -07:00
Jonas Jenwald
8fc4ebd5cb Handle 'space' character correctly in MacRomanEncoding (bug 878026) 2014-04-07 20:59:26 +02:00
fkaelberer
2982de8f33 Use Stream instead of byte array access 2014-04-06 13:40:27 +02:00
fkaelberer
1ccc8a64b7 Read color info from JPX stream
Fix colors problem #4540 + minor cleanup

fix lint warnings
2014-04-05 18:02:58 +02:00
Yury Delendik
1e8d70af98 Prescales shading pattern packed data indices 2014-04-03 08:34:20 -05:00
fkaelberer
c978c026fa clean up string conversion functions 2014-03-27 13:01:43 +01:00
Yury Delendik
31f081ae17 Doesn't traverse cyclic references in Dict.getAll; reduces empty-Dict garbage 2014-03-26 09:07:38 -05:00
Manas (prometheansacrifice)
3025445cbe Fix for #3181: jbig2 encoding for number of instances greater than 1 2014-03-24 11:05:07 +05:30
Jonas Jenwald
e3b830e63c Merge pull request #4505 from timvandermeij/evaluator-syntax
Making src/core/evaluator.js adhere to the style guide
2014-03-23 12:22:09 +01:00
Jonas Jenwald
6883362a84 Fix coding style in src/core/stream.js 2014-03-22 21:21:01 +01:00
Jonas Jenwald
67b5c8868c Fix coding style in src/core/worker.js 2014-03-22 20:59:16 +01:00
Jonas Jenwald
75de115938 Fix coding style in src/core/font_renderer.js 2014-03-22 20:49:47 +01:00
Jonas Jenwald
131a16b65e Fix coding style in src/core/core.js 2014-03-22 20:49:46 +01:00
Jonas Jenwald
53bbdcb0a1 Fix coding style in src/core/chunked_stream.js 2014-03-22 20:49:46 +01:00
Tim van der Meij
c6a06c0f16 Making src/core/evaluator.js adhere to the style guide 2014-03-22 19:15:51 +01:00
Jonas Jenwald
66e243f506 Fix coding style in src/core/fonts.js 2014-03-22 16:19:07 +01:00
Brendan Dahl
1416eca164 Merge pull request #4493 from yurydelendik/issue4491
Fixes ignoring of the escaped CR LF
2014-03-20 14:57:24 -07:00
Tim van der Meij
284288f1d0 Making src/core/{image,obj,parser}.js adhere to the style guide 2014-03-20 20:28:22 +01:00
Yury Delendik
20a91bcdbf Fixes ignoring of the escaped CR LF 2014-03-20 11:50:12 -05:00
Yury Delendik
878a123e47 Merge pull request #4478 from nnethercote/plain-fnArray
Use a vanilla array for fnArray
2014-03-20 10:30:29 -05:00
Brendan Dahl
10deadd416 Merge pull request #4453 from nnethercote/charToGlyph
Add a cache for glyphs
2014-03-19 16:30:02 -07:00