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
Yury Delendik
1801fb2c37
Merge pull request #4474 from chriskr/draw-image-subpixel-support
...
Introduce paintSolidColorImageMask command to handle 1x1 solid image
2014-03-19 14:31:15 -05:00
Yury Delendik
305274cd45
Merge pull request #4481 from bthorben/refactor/pdf_manager.js
...
refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
2014-03-19 10:33:42 -05:00
Christian Krebs
fc9edfcf76
Introduce paintSolidColorImageMask command to handle 1x1 solid image masks
...
See https://github.com/mozilla/pdf.js/issues/4436 for details
2014-03-19 13:27:59 +01:00
Thorben Bochenek
0fa44d7233
refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
...
Rename pdfModel to pdfDocument to let the name closer resemble what the
variable actually holds
2014-03-19 09:43:16 +01:00
Yury Delendik
329d0ec30b
Merge pull request #4464 from bthorben/issue#4461
...
Fixes pages without Resources in their dictionary
2014-03-18 13:00:21 -05:00
Thorben Bochenek
8edebc797b
Refactor and fix style of core.js
2014-03-18 14:10:44 +01:00
Thorben Bochenek
1ddb019449
Fix Issue #4461 : Pages without \Resources in their dictionary fail to load
...
When no "\Resource" entry could be found return an empty dictionary
2014-03-18 14:10:44 +01:00
Nicholas Nethercote
292b96a0bf
Make fnArray always be a plain array.
...
This makes the code much simpler, and the extra memory use is tiny -- a vanilla
1000 element array is only 4000 bytes larger than a Uint32Array of the same
size.
2014-03-17 17:48:53 -07:00
Nicholas Nethercote
42d175efd4
Fix some indenting within OperatorList.
2014-03-17 17:11:40 -07:00
Brendan Dahl
1802ffffb8
Merge pull request #4447 from nnethercote/object-reduction
...
Allocate fewer objects
2014-03-17 12:50:23 -07:00
Brendan Dahl
68be273c69
Merge pull request #4470 from yurydelendik/packcmap
...
CMaps binary packing
2014-03-17 12:27:35 -07:00
Brendan Dahl
ad4be03a08
Merge pull request #4440 from bthorben/refactor/pdf_manager.js
...
refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
2014-03-17 10:41:17 -07:00
Jonas Jenwald
5f021b067c
Prevent infinite loop in CFFParser_parseHeader
2014-03-17 11:47:14 +01:00
Brendan Dahl
1a6e103c35
Merge pull request #4463 from sukop/patch-1
...
Fix copy-paste typo
2014-03-14 15:24:16 -07:00
Yury Delendik
69efd9cb96
CMaps binary packing
2014-03-14 16:46:35 -05:00
Tim van der Meij
67c686027c
Merge pull request #4465 from Snuffleupagus/src-display-braces
...
Fix coding style in src/display
2014-03-14 21:11:15 +01:00
Yury Delendik
8266225b73
Merge pull request #4434 from p01/jbig2Optimizations
...
Jbig2 optimizations
2014-03-14 10:39:41 -05:00
Juraj Sukop
4c2a462a76
Fix copy-paste typo
...
The Compact Font Format Specification defines the Standard String of SID 237 as "twodotenleader", and not "266 ff".
2014-03-14 14:11:16 +01:00
Jonas Jenwald
a1ee567d60
Fix coding style in src/display/api.js
2014-03-14 13:24:04 +01:00
Jonas Jenwald
bc986a3029
Fix coding style in src/display/canvas.js
2014-03-14 13:11:11 +01:00
Nicholas Nethercote
6c698519cd
Avoid allocations in executeCommand().
2014-03-13 22:15:09 -07:00
Nicholas Nethercote
3759c11f42
Avoid more allocations in bidi().
2014-03-13 22:15:09 -07:00
Nicholas Nethercote
2e93a0cc98
Avoid allocations in bidi().
2014-03-13 22:15:09 -07:00
Nicholas Nethercote
6a75e45309
Allocate fewer objects when parsing 2 and 4 byte chunks.
...
This is achieved by adding getBytes2() and getBytes4() to streams, and by
changing int16() and int32() to take multiple scalar args instead of an array
arg.
2014-03-13 22:15:05 -07:00
Nicholas Nethercote
0866ad5bff
Add a cache for glyphs.
...
This reduces memory consumption for text heavy documents. I tested five
documents and saw hit rates ranging from 97.4% to 99.8% (most of the misses are
due to |width| varying even when |fontChar| matches). On two of those documents
I saw improvements of 40 and 50 MiB.
The patch also introduces the Glyph constructor, and renames the |unicodeChars|
local variable as |unicode| for consistency with the corresponding Glyph
property.
2014-03-13 19:51:48 -07:00
p01
bd9419f1ef
Micro optimization of ArithmeticDecoder_readBit
2014-03-13 17:38:12 +01:00
p01
2b6cb317db
Optmized decodeRefinement, moving the prediction error outside the inner loop
...
There is no need to slow down the inner loop with a test for ltp as it can only
change if prediction is true in which case it only changes in the outer loop.
2014-03-13 17:38:12 +01:00
p01
840d9d40b6
Reuse the row Uint8Array in JBIG2's decodeBitmap
2014-03-13 17:38:11 +01:00
p01
b2b3836683
Process only once the offset and starting mask JBIG2's drawBitmap
2014-03-13 17:38:11 +01:00
p01
0bca56cbb2
Use changingTemplateX, Y and Bit in JBIG2's decodeBitmap
2014-03-13 17:38:01 +01:00
p01
e2a4328ff2
Optimized bounding box tests in JBIG2's decodeBitmap
2014-03-13 17:38:00 +01:00
p01
2a9fe573c0
Nest JBIG2 prediction if statements together
...
ltp can only become truthy if predition is true.
2014-03-13 17:37:59 +01:00
p01
02a5f9435a
More bit friendly decodeIAID and decodeInteger
2014-03-13 17:37:55 +01:00
p01
e862c64bb8
JBIG2 20% faster SimpleSegmentVisitor_drawBitmap
...
Moved the switch(combinationOperator) outside the width and height loops
Check bitmap[i][j] before applying the switch(combinationOperator)
2014-03-13 17:37:53 +01:00
Yury Delendik
1aaeec8020
Heuristic to optimize chunking
2014-03-13 11:01:34 -05:00
Yury Delendik
257898b359
Caching inlined mask images
2014-03-13 11:01:34 -05:00
Yury Delendik
f48f57e30a
Caches last parsed resource image, recornizes image repeats
2014-03-13 11:00:10 -05:00
Yury Delendik
2c23be369b
Optimizing pdf when text printed char-by-char
2014-03-13 11:00:10 -05:00
Yury Delendik
dbb3d17d8f
Refactors optimization list
2014-03-13 11:00:10 -05:00
Yury Delendik
1c0e1cc591
Merge pull request #4444 from nnethercote/min-length
...
Estimate the size of decoded streams in advance.
2014-03-13 10:58:31 -05:00
Yury Delendik
2778d75d2c
Merge pull request #4437 from yurydelendik/issue4398
...
Fixes corrupted by Aspose fonts
2014-03-13 10:44:02 -05:00
Yury Delendik
03bedaa316
Merge branch 'master' of github.com:mozilla/pdf.js into issue-4370
2014-03-13 10:38:11 -05:00
Jonas Jenwald
b0824e1626
Prevent circular reference when checking for blend modes (issue 4370)
2014-03-13 10:36:49 -05:00
Yury Delendik
7963f22545
Merge pull request #4259 from brendandahl/built-in-cmaps-squash
...
Adds built in CMaps and unifies the glyph mapping.
2014-03-13 10:27:48 -05:00
Yury Delendik
31ea4e0f4d
Merge pull request #4420 from prometheansacrifice/RemovingCheckSetPresence
...
Removing set-presence-in-ImageData check from canvas.js
2014-03-13 08:31:53 -05:00
Yury Delendik
5c20d17c87
Merge pull request #4431 from fkaelberer/ExtractArithmeticDecoder
...
Extract arithmetic decoder to own file
2014-03-13 08:19:11 -05:00
Nicholas Nethercote
b3024db677
Estimate the size of decoded streams in advance.
...
When decoding a stream, the decode buffer is often grown multiple times, its
byte size increasing like so: 512, 1024, 2048, etc. This patch estimates the
minimum size in advance (using the length of the encoded stream), often
allowing the smaller sizes to be skipped. It also renames numerous |length|
variables as |maybeLength| to make it clear that they can be |null|.
I measured this change on eight documents. This change reduces the cumulative
size of decode buffer allocations by 0--32%, with 10--20% being typical. This
reduces peak RSS by 10 or 20 MiB for several of them.
2014-03-13 02:06:58 -07:00
Ben Browitt
8b6aeee35c
Follow JMPR op only if outside of FDEF and IF
2014-03-13 03:19:04 +02:00
Thorben Bochenek
baccf3d160
refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
...
Rename pdfModel to pdfDocument to let the name closer resemble what the
variable actually holds
2014-03-12 09:54:29 +01:00
Nicholas Nethercote
ea17749b93
Don't get bytes eagerly when creating FlateStream objects.
2014-03-11 16:03:15 -07:00
Nicholas Nethercote
d0253c8291
Don't get bytes eagerly when creating {Jpeg,Jpx,Jbig2}Stream objects.
...
This avoids lots of unnecessary work when such streams are referred to via
fetch(), and so their bytes aren't subsequently read. This is a large
performance win on some files.
2014-03-11 16:03:15 -07:00
Nicholas Nethercote
f12d588258
Add an ensureRange() call to ChunkedStream_makeSubStream().
...
By checking if the data is all present before making a substream, we avoid
cases where we parse part of a stream and then throw a MissingDataException
part-way through, which forces us to later re-read the stream -- possibly
multiple times. This is a sizeable performance win for some cases when file
loading is slow (e.g. over the web).
2014-03-11 16:03:06 -07:00
Yury Delendik
7dbd088728
Fixes corrupted by Aspose fonts.
2014-03-11 14:16:27 -05:00
fkaelberer
2c8b776687
update comments
2014-03-11 09:14:59 +01:00
Manas (prometheansacrifice)
30e00bc573
Removing set-presence-in-ImageData check from canvas.js
2014-03-11 08:48:37 +05:30
Brendan Dahl
57e896d29e
Merge pull request #4406 from nnethercote/fix-and-transfer-masks
...
Improve image mask handling again
2014-03-10 16:26:22 -07:00
Brendan Dahl
72a9c7810b
Merge pull request #4246 from pnml/hiresmask
...
Support for the image mask in higher resolution than the image itself
2014-03-10 10:34:49 -07:00
fkaelberer
7b5b5178ef
Extract duplicate arithmetic decoder to own class
2014-03-10 16:56:00 +01:00
Jonas Jenwald
b05f05589b
Merge pull request #4425 from timvandermeij/jpx-syntax
...
Making src/core/jpx.js adhere to the style guide
2014-03-10 15:28:05 +01:00
Jonas Jenwald
7480ba4cb1
Merge pull request #4422 from timvandermeij/jbig2-syntax
...
Making src/core/jbig2.js adhere to the style guide
2014-03-10 11:33:39 +01:00
Tim van der Meij
d5fcfe14d2
Making src/core/jpx.js adhere to the style guide
2014-03-09 22:31:55 +01:00
Tim van der Meij
2712a5a45a
Making src/core/jbig2.js adhere to the style guide
2014-03-09 13:03:45 +01:00
Tim van der Meij
f1249bd49e
Making src/display/font_loader.js adhere to the style guide
2014-03-09 12:45:51 +01:00
Tim van der Meij
7d86fa859f
Making src/display/metadat.js adhere to the style guide
2014-03-09 12:41:01 +01:00
Jonas Jenwald
46487e3931
Merge pull request #4418 from timvandermeij/crypto-syntax
...
Making src/core/crypto.js adhere to the style guide
2014-03-09 12:34:44 +01:00
Jonas Jenwald
fe99743844
Merge pull request #4413 from timvandermeij/ps-parser-syntax
...
Making src/core/ps_parser.js adhere to the style guide
2014-03-09 11:39:28 +01:00
Tim van der Meij
3330f0417f
Making src/core/crypto.js adhere to the style guide
2014-03-08 23:25:47 +01:00
Tim van der Meij
99b0231343
Fixes typo in function.js
2014-03-08 22:40:19 +01:00
Tim van der Meij
df2248d5b9
Merge pull request #4414 from Snuffleupagus/src-shared-braces
...
Add braces to single line statements in src/shared
2014-03-08 22:37:16 +01:00
Tim van der Meij
a615ccdd20
Making src/core/bidi.js adhere to the style guide
2014-03-08 21:49:53 +01:00
Jonas Jenwald
4840c2ccdc
Add braces to single line statements in src/shared/annotation.js
2014-03-08 20:50:38 +01:00
Jonas Jenwald
15a63e48bd
Add braces to single line statements in src/shared/colorspace.js
2014-03-08 20:50:37 +01:00
Jonas Jenwald
00f6d07a21
Add braces to single line statements in src/shared/fonts_util.js
2014-03-08 20:50:37 +01:00
Jonas Jenwald
e8a68f12df
Add braces to single line statements in src/shared/function.js
2014-03-08 20:50:36 +01:00
Jonas Jenwald
635466fcd2
Add braces to single line statements in src/shared/util.js
2014-03-08 20:50:36 +01:00
Tim van der Meij
2adcaf4f64
Making src/core/ps_parser.js adhere to the style guide
2014-03-08 20:45:25 +01:00
Nicholas Nethercote
00c1cff405
Transfer image masks when when possible, instead of copying.
2014-03-08 04:25:00 -08:00
Samuel Chantaraud
076b3433b4
Improved annotations' display/behavior.
...
Added an "InteractiveAnnotation" class to homogenize the annotations' structure (highlighting) and user interactions (for now, used for text and link annotations).
Text annotations:
The appearance (AP) has priority over the icon (Name).
The popup extends horizontally (up to a limit) as well as vertically.
Reduced the title's font size.
The annotation's color (C) is used to color the popup's background.
On top of the mouseover show/hide behavior, a click on the icon will lock the annotation open (for mobile purposes). It can be closed with another click on either the icon or the popup.
An annotation printing is conditioned by its "print" bit
Unsupported annotations are not displayed at all.
2014-03-07 10:48:42 -04:00
Nicholas Nethercote
cb5bb0cec7
Fix mask handling when some bytes are missing.
2014-03-06 21:11:21 -08:00
Tim van der Meij
3df8f89bd4
Fixes off-by-one error when finding missing endstream
2014-03-06 23:57:27 +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
1857ced63f
Merge pull request #4397 from fkaelberer/FixJPXcolors
...
Fix JPX colors
2014-03-06 08:57:17 -06:00
fkaelberer
6755ea70b0
Fix infinite loop in DecodeStream_ensureBuffer()
2014-03-06 10:31:18 +01:00
fkaelberer
9457095c9c
Fix JPX colors
2014-03-06 09:05:24 +01:00
Yury Delendik
ff5ccdeb07
Merge pull request #4383 from nnethercote/more-rgb24
...
Use RGB_24BPP form for all images lacking alpha data.
2014-03-05 07:03:16 -06:00
Yury Delendik
f04ebed579
Merge pull request #4366 from yurydelendik/max-fdefs
...
Rejects invalid fpgm table when too many functions
2014-03-05 06:16:44 -06:00
fkaelberer
eef5ed5c11
Optimizations for 1bpc images
2014-03-05 09:42:16 +01:00
Yury Delendik
f46942758f
Merge pull request #4382 from nnethercote/off-by-one
...
Avoid extra allocations in ensureBuffer() caused by an off-by-one error.
2014-03-04 22:27:33 -06:00
Yury Delendik
32fe818af6
Merge pull request #4391 from nnethercote/rm-FakeStream
...
Remove FakeStream.
2014-03-04 21:36:44 -06:00
Yury Delendik
881c7f48f3
Merge pull request #4388 from timvandermeij/fix-corrupt-pdf-offset
...
Start counting from actual beginning of PDF file
2014-03-04 21:28:12 -06:00
Yury Delendik
fd6a152935
Merge pull request #4375 from yurydelendik/reset-annot
...
Reset annotation stream; reset page annotation promise
2014-03-04 21:23:13 -06:00
Yury Delendik
d809901083
Merge pull request #4381 from nnethercote/transfer
...
Transfer GRAYSCALE_1BPP and RGB_24BPP arrays when possible.
2014-03-04 21:04:02 -06:00
Nicholas Nethercote
fe8b6b0950
Remove FakeStream.
2014-03-04 18:07:15 -08:00
Tim van der Meij
026c45e5d1
Start counting from actual beginning of PDF file
2014-03-04 22:16:54 +01:00