Yury Delendik
cb81bd6be6
Compiles some of the FunctionType 4
2014-08-04 11:21:31 -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
b918df3547
Re-factor heuristics to recognize unknown glyphs for |toUnicode|
2014-08-03 21:12:36 +02:00
Jonas Jenwald
4b54d6fd43
Add strict equalities in src/core/stream.js
2014-08-02 17:59:14 +02:00
Jonas Jenwald
7fa204c805
Add strict equalities in src/core/parser.js
2014-08-02 17:37:24 +02:00
Tim van der Meij
cb59b5772b
Merge pull request #5120 from Snuffleupagus/strict-equalities-src-core-2
...
Add strict equalities in src/core/* (part 2)
2014-08-02 13:51:14 +02:00
Tim van der Meij
4899e9e54f
Use strict equalities in src/core/jbig2.js
2014-08-01 23:02:57 +02:00
Tim van der Meij
5d0fde4a2c
Use strict equalities in src/core/jpx.js
2014-08-01 23:02:57 +02:00
Tim van der Meij
2796d1bf10
Use strict equalities in src/core/jpg.js
2014-08-01 23:02:56 +02:00
Tim van der Meij
160c7cab33
Use strict equalities in src/core/image.js
2014-08-01 23:02:55 +02:00
Jonas Jenwald
fb9fea2f36
Add strict equalities in src/core/worker.js
2014-08-01 22:17:47 +02:00
Jonas Jenwald
c9fb3e1b6d
Add strict equalities in src/core/ps_parser.js
2014-08-01 22:02:10 +02:00
Jonas Jenwald
ee371fe6b2
Add strict equalities in src/core/pattern.js
2014-08-01 21:56:04 +02:00
Jonas Jenwald
ee0c0dd8a9
Add strict equalities in src/core/obj.js
2014-08-01 21:56:04 +02:00
Jonas Jenwald
a154ca2dd3
Add strict equalities in src/core/murmurhash3.js
2014-08-01 21:56:04 +02:00
Jonas Jenwald
8f5894d81a
Add strict equalities in src/core/function.js
2014-08-01 21:56:03 +02:00
Jonas Jenwald
97b3eadbc4
Add strict equalities in src/core/fonts.js
2014-08-01 21:56:03 +02:00
Jonas Jenwald
87038e44cd
Add strict equalities in src/core/evaluator.js
2014-08-01 18:40:10 +02:00
Jonas Jenwald
83a4c68df9
Add strict equalities in src/core/core.js
2014-08-01 18:40:10 +02:00
Jonas Jenwald
0012b8803c
Add strict equalities in src/core/colorspace.js
2014-08-01 18:40:09 +02:00
Jonas Jenwald
84503c656d
Add strict equalities in src/core/bidi.js
2014-08-01 18:39:46 +02:00
Jonas Jenwald
2162a19ed9
Add strict equalities in src/core/arithmetic_decoder.js
2014-08-01 18:39:46 +02:00
Jonas Jenwald
9cb09324d2
Add strict equalities in src/core/annotation.js
2014-08-01 18:39:45 +02:00
Nicholas Nethercote
adf58ed687
Represent cid chars using integers, not strings.
...
cid chars are 16-bit unsigned integers. Currently we convert them to
single-char strings when inserting them into the CMap, and then convert
them back to integers when extracting them from the CMap. This patch
changes CMap so that cid chars stay in integer format throughout, saving
both time and space.
When loading the PDF from issue #4580 , this change reduces peak RSS from
~600 to ~370 MiB. It also improves overall speed on that PDF by ~26%,
going from 724 ms to 533 ms.
2014-08-01 02:35:17 -07:00
fkaelberer
c03cf20d37
Fix JBIG2 decoding issue #5026
2014-08-01 09:02:25 +02:00
Yury Delendik
ad2ea78280
Merge pull request #5101 from nnethercote/CMap-forEach
...
Avoid expensive for..in loops involving CMaps
2014-07-31 23:03:25 -05:00
Nicholas Nethercote
28687bca75
Optimize CMap.prototype.forEach().
...
This change avoids the element stringification caused by for..in for the
vast majority of CMaps.
When loading the PDF from issue #4580 , this change reduces peak RSS from ~650
to ~600 MiB, and improves overall speed by ~20%, from 902 ms to 713 ms. Other
CMap-heavy documents will also see improvements.
2014-07-30 06:28:47 -07:00
Nicholas Nethercote
b86daed29d
Make CMap.map quasi-private.
...
This makes it easier for the representation to be improved.
2014-07-30 06:26:35 -07:00
Jonas Jenwald
2264748109
Merge pull request #5096 from nnethercote/bidi-length
...
Right-size |chars.length| and |type.length| in bidi().
2014-07-29 12:19:22 +02:00
Nicholas Nethercote
f1d5ec407e
Right-size |chars.length| and |type.length| in bidi().
...
This lets the JS engine resize the array elements buffer immediately,
thus avoiding some intermediate resizings. This can save multiple MiBs
of reallocation in text-heavy files.
2014-07-28 16:35:45 -07:00
Yury Delendik
6038ee7cff
Merge pull request #5063 from Snuffleupagus/ps-parser-avoid-intermediate-string-creation
...
Avoid creating intermediate strings in the PostScriptLexer
2014-07-28 15:07:32 -05:00
Jonas Jenwald
4960af3a4c
Avoid creating intermediate strings in the PostScriptLexer
2014-07-27 13:51:28 +02:00
Jonas Jenwald
a5c98aab36
Re-factor parsing of the Linearization dictionary
2014-07-27 12:56:09 +02:00
Jonas Jenwald
86f9503876
Remove src/core/cidmaps.js
2014-07-25 21:53:17 +02:00
Jonas Jenwald
c3c72948b9
Stop including cidmaps.js
...
In b5b94a4af3
, i.e. PR #4259 , we stopped using cidmaps.js. Despite that, it's still included when PDF.js is built. At almost 0.5 MB (and approx. 7000 lines), this is currently the single largest file in the codebase.
Including such a large file in the builds, when it is not actually used, seems extremely wasteful; hence this patch.
2014-07-25 21:53:09 +02:00
Yury Delendik
1e21bac9d3
Merge pull request #5077 from Snuffleupagus/issue-5039
...
Fix loading of PDF files with invalid or missing Type3 characters (issue 5039)
2014-07-25 14:34:51 -05:00
Tim van der Meij
62e6265fb3
Merge pull request #5074 from nnethercote/readPostScriptTable-join
...
Use Array.join to build up strings in readPostScriptTable().
2014-07-25 21:26:54 +02:00
Yury Delendik
2aea7d7047
Merge pull request #5078 from nnethercote/Ref-toString
...
Optimize Ref_toString().
2014-07-25 10:10:10 -05:00
Nicholas Nethercote
1039791472
Use Array.join to build up strings in readPostScriptTable().
...
This avoids about 5 MiB of string allocations on one test case.
2014-07-24 16:12:08 -07:00
Nicholas Nethercote
856e1c600b
Optimize Ref_toString().
...
I have a large PDF where this function is called 1.6 million times
during loading. Minimizing the string concatenations reduces the
cumulative allocations done by Firefox within this function from 113 MB
to 48 MB.
2014-07-24 06:49:56 -07: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
Nicholas Nethercote
501446ccc4
Optimize common cases in hexToStr().
...
This avoids the creation of over two million array objects when viewing
http://www.dynacw.co.jp/Portals/3/fontsamplepdf/sample_4942546800828.pdf ,
and reduces load time from 76 to 73 ms.
2014-07-22 23:26:03 -07:00
Nicholas Nethercote
c7f02d2c8e
Minimize memory usage of font-related arrays.
...
This patch replaces some vanilla arrays with typed arrays, and avoids
some array copying.
It reduces the peak RSS when viewing
http://www.dynacw.co.jp/Portals/3/fontsamplepdf/sample_4942546800828.pdf
from ~940 MiB to ~750 MiB, and reduces its load time from 83 to 76 ms.
2014-07-22 22:47:45 -07:00
Jonas Jenwald
f13c217b25
Fix another seac regression (issue 4801)
2014-07-22 21:44:13 +02:00
Jonas Jenwald
b950118681
Revert commit fc73e2e
(PR 5005) for breaking certain PDF files
2014-07-22 21:17:57 +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
Yury Delendik
584fef90ab
Merge pull request #5037 from Snuffleupagus/issue-5036
...
Add |fillRgb| method to LabCS
2014-07-21 09:55:55 -05:00
Jonas Jenwald
9c6316fc15
Merge pull request #5005 from fkaelberer/faster_ChunkedStream_getByte
...
Faster chunkedStream_getByte()
2014-07-18 18:23:49 +02:00
Jonas Jenwald
0237d5036a
Merge pull request #5025 from nnethercote/share-zero-length-buffers
...
Improve how DecodeStream handles empty buffers.
2014-07-13 12:13:06 +02:00
Jonas Jenwald
1cb4de2227
Add |fillRgb| method to LabCS
2014-07-10 12:06:19 +02: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
Nicholas Nethercote
a483c80fc3
Make QueueOptimizer easier to read.
...
QueueOptimizer is really hard to read. Enough so that it's blocking my
efforts to streamline the representation used for operator lists.
This patch improves its readability in the following ways.
- More descriptive variable names make the sequence checking much clearer,
as do additional comments.
- The addState() functions now return the index of the first op past the
sequence, instead of setting context.currentOperation to the last op of
the sequence.
- The loop in optimize() is clearer.
- The array modification in the fourth addState() function is much clearer
-- we're just removing trios of ops.
- All four |addState| functions are now more consistent with each other.
I used some debug printfs to find documents where these optimizations are
used and then checked that the number of optimized ops was the same before
and after my changes.
2014-07-03 19:16:31 -07:00
Nicholas Nethercote
db866945b7
Improve how DecodeStream handles empty buffers.
...
DecodeStream currently initializes its |buffer| field to |null|, which
is reasonable, because lots of DecodeStreams never need to instantiate a
buffer. But this requires various special cases in the code.
This patch change it so DecodeStreamClosure has a single empty
Uint8Array which gets shared between all buffers upon initialization.
This avoids the special cases.
DecodeStream.prototype.ensureBuffer() is really hot, and this removes a
test from the fast path. For one 226 page scanned document this sped up
rendering by about 2%.
2014-07-02 18:53:21 -07:00
fkaelberer
fc73e2e173
use getBytes() instead of looping over getByte()
2014-06-27 09:09:54 +02:00
Jonas Jenwald
c5f4051a75
A few small optimizations of adjustMapping
...
Replace a couple of |in| checks with comparisons against undefined.
2014-06-27 00:59:42 +02:00
Jonas Jenwald
c121def806
A few small optimizations for CIDFontType2 fonts
...
Cache a constant length and replace one usage of |in| with a comparison against undefined.
2014-06-27 00:52:54 +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
fkaelberer
9a41659ae7
Faster chunkedStream_getByte()
2014-06-26 22:34:00 +02:00
Yury Delendik
6d5a04149b
Merge pull request #4993 from pramodhkp/rectelmnt
...
Combine re element into constructPath
2014-06-24 09:27:21 -05:00
pramodhkp
8407d28c9e
Combine re element into constructPath
2014-06-25 00:27:42 +05:30
Yury Delendik
10db93be29
Merge pull request #4980 from Snuffleupagus/bug-1027533
...
Additional heuristics to recognize unknown glyphs for toUnicode (bug 1027533)
2014-06-23 21:56:13 -05:00
Yury Delendik
bb7e7d33c5
Merge pull request #4976 from CodingFabian/restructure-evaluator-read
...
Restructured EvaluatorPreprocessor_read to be more natural.
2014-06-23 21:50:14 -05:00
Yury Delendik
c28839b2f3
Merge pull request #4944 from Snuffleupagus/issue-4934
...
Don't blindly trust toUnicode when building toFontChar for non-standard fonts without a font file (issue 4934)
2014-06-23 21:49:24 -05:00
Fabian Lange
60f67c3961
Restructured EvaluatorPreprocessor_read to be more natural.
2014-06-23 23:35:25 +02:00
Yury Delendik
3ad58db7e8
Merge pull request #4982 from nnethercote/use-null-for-zero-args
...
Use null instead of [] for ops with no args.
2014-06-23 15:38:48 -05:00
Nicholas Nethercote
081866a184
Use null instead of [] for ops with no args.
...
This reduces peak RSS on one test file from ~600 to ~560 MiB.
2014-06-22 16:03:48 -07:00
Jonas Jenwald
b19bb74813
Additional heuristics to recognize unknown glyphs for toUnicode (bug 1027533)
2014-06-20 09:57:16 +02:00
Yury Delendik
84157e039d
Merge pull request #4973 from nnethercote/better-ref-keys
...
Factor out repeated Ref key string generation code.
2014-06-19 21:00:09 -05:00
Nicholas Nethercote
1ad3ffbc7b
Factor out repeated Ref key string generation code.
...
In src/core/obj.js, we convert a Ref to a string to index into a table like
this: 'R1.0'. This conversion is repeated numerous times.
This patch factors out the conversion into a new function.
Ref.prototype.toString().
2014-06-19 18:22:39 -07:00
Yury Delendik
c0a6b0f308
Merge pull request #4971 from yurydelendik/rm-suppressEncryption
...
Removes error catch from fetchUncompressed()
2014-06-18 22:03:09 -05:00
Yury Delendik
b557b87fc9
Merge pull request #4972 from nnethercote/preprocessor-read
...
Avoid allocating return object in EvaluatorPreprocessor_read().
2014-06-18 22:00:31 -05:00
Nicholas Nethercote
17170af3c7
Avoid allocating return object in EvaluatorPreprocessor_read().
...
This function can be called 100s of 1000s or even millions of times, and the
allocated return object accounts for 10% of all GC thing allocations for some
documents. It's easy to avoid, which reduces stress on the garbage collector,
and this patch does that.
2014-06-18 16:41:29 -07:00
Yury Delendik
623fa29300
Removes error catch from fetchUncompressed()
2014-06-18 18:30:27 -05:00
Yury Delendik
fbdab2c7c5
Not ignoring MissingDataException exception.
2014-06-18 18:24:54 -05:00
Yury Delendik
cf4bc42e33
Merge pull request #4968 from nnethercote/glyphBuf
...
Build up textChunk.str more efficiently.
2014-06-18 17:51:07 -05:00
Yury Delendik
88fd1aa78b
Removes PDFJS.Annotation
2014-06-18 16:58:11 -05:00
Jonas Jenwald
2282c98500
Merge pull request #4965 from yurydelendik/annotations
...
Splits shared/annotation.js into core/ and display/
2014-06-18 17:01:38 +02:00
Nicholas Nethercote
bce7601480
Build up textChunk.str more efficiently.
...
PartialEvaluator.getTextContent() builds up textChunk strings 1 char at a time,
creating many 100s of 1000s of intermediate strings along the way. This patch
make it instead push chars to an array and then join them at the end, as we
have done in numerous other places.
2014-06-18 07:48:22 -07:00
Nicholas Nethercote
4428cebdbc
Add ChunkedStream.ensureByte().
...
This new function is much faster than ensureRange(pos, pos+1), which is a very
common case.
This speeds up the rendering of some test cases (including the Tracemonkey
paper) by 4--5%.
2014-06-17 21:33:48 -07:00
Yury Delendik
bdeca30fbf
Splits shared/annotation.js into core/ and display/
2014-06-17 17:43:33 -05:00
Yury Delendik
bad24bf707
Merge pull request #4950 from fkaelberer/fasterJPEGtransform
...
Faster JPEG transform
2014-06-17 09:03:23 -05:00
Yury Delendik
5a2e511cbd
Merge pull request #4955 from timvandermeij/rename-concatenate
...
Renames concatenateToArray to appendToArray
2014-06-17 08:21:47 -05:00
Jonas Jenwald
ab67e1c272
Let Parser_makeFilter return NullStream when an invalid stream is encountered (issue 3417)
2014-06-17 12:03:34 +02:00
fkaelberer
f9cde5d93e
faster JPEG transform
2014-06-17 10:09:17 +02:00
Jonas Jenwald
22cfcbcf8a
Merge pull request #4952 from yurydelendik/telemetry
...
Collect More Telemetry Data
2014-06-17 00:36:58 +02:00
Yury Delendik
0cd28ebfa3
Telemetry for used stream and font types
2014-06-16 16:41:04 -05:00
Tim van der Meij
9c072a5d4b
Renames concatenateToArray to appendToArray
2014-06-16 22:10:10 +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
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
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
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
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
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
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
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
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
a615ccdd20
Making src/core/bidi.js adhere to the style guide
2014-03-08 21:49:53 +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
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
Nicholas Nethercote
a2fe30ff38
Use RGB_24BPP form for all images lacking alpha data.
2014-03-03 20:58:35 -08:00
Nicholas Nethercote
f30babde58
Transfer GRAYSCALE_1BPP and RGB_24BPP arrays when possible.
2014-03-03 18:17:17 -08:00
Nicholas Nethercote
64431a9909
Avoid extra allocations in ensureBuffer() caused by an off-by-one error.
2014-03-03 18:03:48 -08:00
Yury Delendik
6fbbcf5c93
Merge pull request #4362 from Snuffleupagus/bug-925985
...
Add 'registered' and 'trademark' to mapPrivateUseChars (bug 925985)
2014-03-03 09:02:32 -06:00
Nicholas Nethercote
6e4283fc45
Remove unneeded |oldtypes| variable from bidi.js.
2014-03-03 05:09:04 -08:00
Yury Delendik
ba95e0b07b
Merge pull request #4353 from nnethercote/more-Array-joins
...
Use Array.join() to build up strings in more places.
2014-03-02 23:26:22 -06:00
Nicholas Nethercote
ab7568c0ff
Use Array.join() to build up strings in more places.
2014-03-02 17:54:16 -08:00
Yury Delendik
9a918572dd
Merge pull request #4336 from nnethercote/rgb24
...
Special-case 24-bit RGB image-handling
2014-03-02 19:53:42 -06:00
Yury Delendik
ad4eb9a21d
Merge pull request #4354 from nnethercote/Name-cache
...
Use a cache to minimize the number of Name objects.
2014-03-02 18:44:29 -06:00
Yury Delendik
adca8d4291
Rejects invalid fpgm table when too many functions
2014-03-02 15:40:48 -06:00
fkaelberer
583ca3b162
Fix parsing of JP2 images
2014-03-02 22:15:40 +01:00
Mitar
2c82e720b8
Updated to current latest stable version of jshint.
2014-03-01 13:31:25 -08:00
Jonas Jenwald
08687ee9f1
Add 'registered' and 'trademark' to mapPrivateUseChars (bug 925985)
2014-03-01 21:01:33 +01:00
Yury Delendik
a9caf97f85
Merge pull request #4348 from bthorben/refactor/obj.js/2
...
Refactor XRef in obj.js
2014-02-28 13:19:33 -06:00
Yury Delendik
b01301c7ba
Merge pull request #4324 from fkaelberer/FasterJBIG2decoding
...
Faster JBIG2 decoding
2014-02-28 12:54:36 -06:00
Brendan Dahl
a77efa0587
Remove unused calculation from bad merge.
2014-02-28 09:58:07 -08:00
Thorben Bochenek
f2f713bf15
Refactor XRef in obj.js
...
- remove unused "if (e instanceof Stream)" in XRef_fetch
- split XRef_fetch into XRef_fetchUncompressed and XRef_fetchCompressed
This explains the actual code flow better
- add line breaks after functions
- change the document to conform to current StyleGuide
2014-02-28 14:00:54 +01:00
fkaelberer
abcc72a173
Faster JBIG2 decoding
2014-02-28 10:53:09 +01:00
Nicholas Nethercote
fdb7c218da
Use a cache to minimize the number of Name objects.
2014-02-27 20:41:03 -08:00
Mathieu 'p01' Henri
135660c8ba
Fill the initial JBIG2 buffer with 0xFF only if defaultPixelValue is set
...
Per the TypedArray specification, ArrayBuffers are initialized with zeros.
http://www.khronos.org/registry/typedarray/specs/latest/#5
2014-02-27 17:43:21 +01:00
Brendan Dahl
d0f87457d7
Merge pull request #4331 from nnethercote/cleanups
...
Minor clean-ups
2014-02-26 12:06:13 -08:00
Brendan Dahl
0af0c6c99d
Merge pull request #4229 from Rob--W/crx-stream-progress
...
Get progress bar for PDF streams in Chromium by passing the expected content length to the page
2014-02-26 11:12:34 -08:00
Nicholas Nethercote
42cbb5b440
Introduce ImageKind constants.
2014-02-25 15:18:04 -08:00
Nicholas Nethercote
4e1f92a893
Clean up putBinaryImageData().
2014-02-25 15:14:11 -08:00
Nicholas Nethercote
f62c1c469f
Special-case 24-bit RGB image-handling.
2014-02-25 15:14:04 -08:00
Brendan Dahl
b187326022
Use default encoding for standard fonts without a file.
2014-02-25 11:28:17 -08:00
Nicholas Nethercote
d4e8b41639
Remove some unnecessary local variables.
2014-02-24 18:25:59 -08:00
Brendan Dahl
f7fea015a9
Remove isFixedPitch check for now.
2014-02-24 17:39:51 -08:00
Nicholas Nethercote
33dd1b0c3c
Remove the unnecessary this.buf in CCITTFaxStream.
2014-02-24 16:45:18 -08:00
fkaelberer
5f8546c120
Faster JPX decoding
2014-02-24 18:43:12 +01:00
Yury Delendik
7e1c6a6aa3
Merge pull request #4306 from peerlibrary/warnings
...
Info function does not interpolate strings
2014-02-18 07:48:24 -06:00
Mitar
958a49d655
Info function does not interpolate strings.
2014-02-17 21:25:28 -08:00
Brendan Dahl
f1c73edac4
Fix symbol fonts with no file.
2014-02-11 13:37:12 -08:00
Brendan Dahl
b5b94a4af3
Use built in CMaps and unify the glyph mapping.
2014-02-11 10:27:09 -08:00
Rob Wu
2a19dc86e7
Do not switch to a range request for small PDFs
2014-02-09 23:03:52 +01:00
Ophir LOJKINE
4a66eccedc
Rewrite Lexer_getNumber.
...
Now, it computes the numbers with only basic arithmetic operations, without first creating a string and then calling parseFloat.
The new function doesn't behave exactly the same as the old one.
In particular, the old behaviour was that when there was a number immediatly followed by an 'E', the 'E' was consumed. Now it's not. It allows for "glued" numbers and operators.
Also, the new function is faster and consumes less memory.
2014-02-01 21:46:09 +01:00
Brendan Dahl
54f6291cc9
Merge pull request #4207 from yurydelendik/function-split
...
Basic function.js split
2014-01-31 09:37:59 -08:00
Rob Wu
eaf7daf7db
[CRX] Pass expected length of stream to viewer
...
To get a progress bar for POST/FTP requests in Chromium.
2014-01-30 23:03:15 +01:00
Brendan Dahl
1e4d35c3a0
Merge pull request #4192 from yurydelendik/shading-r
...
Implements shading types 4-7
2014-01-30 13:36:01 -08:00
Yury Delendik
acb33b3e7d
Merge pull request #4213 from nnethercote/strings
...
Create less garbage while parsing
2014-01-30 04:41:53 -08:00
Nicholas Nethercote
164d7a6e15
Don't create a string when lexing all-digit integers.
2014-01-29 18:22:09 -08:00
Nicholas Nethercote
b64cca0bef
When lexing numbers, look for digits first.
2014-01-29 18:20:53 -08:00
Nicholas Nethercote
c1ef7e4d63
Use Array.join instead of += to build up strings in the Lexer.
2014-01-29 18:19:58 -08:00
Brendan Dahl
cda181f061
Merge pull request #4187 from Rob--W/issue-4183
...
Use forEach instead of for-in (was: Replace [] with {} in core/cmap)
2014-01-29 10:54:49 -08:00
Yury Delendik
561683d2e9
Dynamically determines how to split patch into triangles
2014-01-29 10:39:06 -06:00
Yury Delendik
c5a804c43a
Merge pull request #4181 from nnethercote/compact-images
...
Reduce memory consumption of simple black and white images.
2014-01-28 15:53:46 -08:00
Nicholas Nethercote
a966909754
Reduce memory consumption of simple black and white images.
2014-01-28 14:36:47 -08:00
Brendan Dahl
c2e31cd1ef
Merge pull request #4205 from yurydelendik/blob-open-file
...
Using blob URL for open file
2014-01-28 14:15:35 -08:00
Brendan Dahl
0e000392ae
Merge pull request #4179 from yurydelendik/dataLoaded
...
Fixes PDFDocumentProxy.getDataLoaded API name (and refactoring)
2014-01-28 13:56:01 -08:00
Yury Delendik
e5e9c6e243
Fixes PDFDocumentProxy.getDownloadInfo API name (and refactoring)
2014-01-28 15:13:47 -06:00
Yury Delendik
a583c319a1
Implements shading types 4-7
2014-01-27 20:35:51 -06:00
Yury Delendik
e9327050c3
Basic function.js split
2014-01-27 20:29:47 -06:00
Yury Delendik
18515b8668
Using blob URL for open file
2014-01-27 13:11:02 -06:00
Yury Delendik
bf432a37bb
Refactors shared/pattern.js into core/ and display/
2014-01-25 12:18:22 -06:00
Rob Wu
2779bab03e
Use [].forEach instead of for-..-in in evaluator
...
To prevent errors whenever the array's prototype is extended.
(cmap is an array)
2014-01-25 18:04:33 +01:00
Tim van der Meij
3c6ac0dad5
Merge pull request #4161 from yurydelendik/smask
...
SMask emulation
2014-01-23 11:49:19 -08:00
Yury Delendik
4054b0c385
SMask emulation
2014-01-23 11:13:32 -06:00
Brendan Dahl
f18e3e9e0f
Merge pull request #4144 from yurydelendik/api-doc
...
Misc fixes for the API docs
2014-01-21 11:31:16 -08:00
Brendan Dahl
f7e354dfe5
Merge pull request #4139 from nnethercote/RGBA
...
Write color and opacity values directly to the final RGBA array when possible, so as to avoid allocating unnecessary memory.
2014-01-21 11:28:52 -08: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
Nicholas Nethercote
0685214a77
Don't create the RGB buffer for images that don't need resizing.
2014-01-19 14:21:36 -08:00
Yury Delendik
96fff4cc74
Refactors getTextContent return value
2014-01-17 13:26:00 -06:00
Yury Delendik
09f8f951c8
Extracts evaluator preprocessor and refactor text extraction
2014-01-17 07:16:52 -06:00
Nicholas Nethercote
c044652320
Remove unneeded srcOffset arguments from createRgbBuffer.
2014-01-16 20:15:37 -08:00
Nicholas Nethercote
3de5d6ad0c
Don't create the opacity buffer for images that lack a mask.
2014-01-16 20:15:37 -08:00
Brendan Dahl
455265474a
Merge pull request #4093 from yurydelendik/issue4068
...
Fixes fips regression from #4068
2014-01-16 13:45:10 -08:00
Brendan Dahl
ff66c23e6e
Merge pull request #4089 from yurydelendik/issue3725
...
Takes ascent/descent in account in the text layer
2014-01-16 13:12:04 -08:00
Brendan Dahl
c57fdcceed
Merge pull request #4125 from yurydelendik/issue4111
...
Fixes and refactors log functionality
2014-01-16 10:54:09 -08:00
Brendan Dahl
3b829f4a45
Merge pull request #4103 from yurydelendik/issue3977
...
Introduces disableObjectCreateURL
2014-01-16 10:51:22 -08:00
Yury Delendik
754e000907
Fixes and refactors log functionality
2014-01-15 15:28:31 -06:00
Yury Delendik
ab4f27b272
Merge pull request #4124 from tkristiansen/with-credentials
...
Allow setting xhr.withCredentials
2014-01-15 11:42:41 -08:00
terje.kristiansen
08737375f8
Added withCredentials parameter and passing it to xhr requests
2014-01-15 10:12:40 +01:00
Nicholas Nethercote
3f533a1cb0
Use a more compact typed array to pass the image mask from the worker to the main thread.
2014-01-13 20:09:05 -06:00
Yury Delendik
a8c11ad1e5
Introduces disableObjectCreateURL
2014-01-10 16:30:41 -06:00
Yury Delendik
96eaa15578
Fixes fips regression from #4068
2014-01-08 16:33:22 -06:00
Brendan Dahl
508b00a34f
Merge pull request #4071 from yurydelendik/bug921760
...
Adds glyph mapping for standard fonts
2014-01-08 12:36:54 -08:00
Yury Delendik
0131101275
Takes ascent/descent in account in the text layer
2014-01-08 13:50:52 -06: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
Brendan Dahl
2e7c71c75e
Merge pull request #4011 from Rob--W/issue-3885
...
Set eof to true at the end of a FlateStream
2014-01-07 10:52:37 -08:00
Yury Delendik
5bf3e44e30
Introduces LegacyPromise; polyfills DOM Promise
2014-01-03 18:17:05 -06:00
Yury Delendik
51b958dc2b
Adds glyph mapping for standard fonts
2014-01-03 14:17:50 -06:00
Brendan Dahl
2228343f77
Only trigger warning bar on certain unsupported features.
2014-01-03 09:34:13 -08:00
Yury Delendik
5973d40afe
Adjusts heuristic for disabling Symbol encoding
2014-01-02 18:44:11 -06:00
Yury Delendik
c389451a5b
Merge pull request #4045 from brendandahl/verbosity
...
Add verbosity as an api setting.
2014-01-02 12:25:00 -08:00
Jonas Jenwald
e6c805490b
[JBIG2] Fix getting decodeParms when it's an array
2013-12-19 20:23:58 +01:00
Rob Wu
43847d7ff8
Set eof to true at the end of a FlateStream
...
At the initialization of `Lexer_getObj` (in `parser.js`), there's a loop
that skips whitespace and breaks out whenever EOF is encountered.
(https://github.com/mozilla/pdf.js/blob/88ec2bd1a/src/core/parser.js#L586-L599 )
Whenever the current character is not a whitespace character,
`ch = this.nextChar();` is used to find the next character
(using `return this.currentChar = this.stream.getByte())`).
The aforementioned `getByte` method retrieves the next byte using
(https://github.com/mozilla/pdf.js/blob/88ec2bd1a/src/core/stream.js#L122-L128 )
var pos = this.pos;
while (this.bufferLength <= pos) {
if (this.eof)
return -1;
this.readBlock();
}
return this.buffer[this.pos++];
This piece of code relies on this.eof to detect whether the last character
has been read. When the stream is a `FlateStream`, and the end of the stream
has been reached, then **`this.eof` is not set to `true`**, because this check
is done inside a loop that does not occur when the read block size is zero:
(https://github.com/mozilla/pdf.js/blob/88ec2bd1ac/src/core/stream.js#L511-L517 )
for (var n = bufferLength; n < end; ++n) {
if (typeof (b = bytes[bytesPos++]) == 'undefined') {
this.eof = true;
break;
}
buffer[n] = b;
}
This commit fixes the issue by setting this.eof to true whenever the loop is not
going to run (i.e. when bufferLength === end, i.e. blockLen === 0).
2013-12-19 18:37:39 +01:00
Brendan Dahl
53549411b4
Add verbosity as an api setting.
2013-12-18 13:39:03 -08:00
Jonas Jenwald
b1c5ef9ccc
Fix loading of fonts that are not referenced by an object identifier
2013-12-17 00:19:31 +01:00
Brendan Dahl
2af3e25651
Merge pull request #3954 from yurydelendik/invalid-start
...
Index objects if Prev xref was not found
2013-11-25 10:12:43 -08:00
Brendan Dahl
1c0ed17d8f
Merge pull request #3964 from yurydelendik/issue-3962
...
Fixes chunks grouping
2013-11-25 09:28:25 -08:00
Yury Delendik
90956ce3e0
Takes chunk id == 0 into account during grouping
2013-11-23 12:04:22 -06:00
Yury Delendik
98ebf57144
Index objects if Prev xref was not found
2013-11-22 08:49:36 -06:00
Yury Delendik
419e2e15e5
Merge pull request #3940 from brendandahl/operator-cleanup
...
Combine if/else block with switch for getOperatorList.
2013-11-22 06:14:57 -08:00
Yury Delendik
4966bf3fc8
Limits U and O entries size
2013-11-21 14:49:39 -06:00
Yury Delendik
124eb30e8d
Merge pull request #3936 from brendandahl/initial-data
...
Leave initial request open until the viewer is ready to switch to range requests.
2013-11-21 06:22:24 -08:00
Brendan Dahl
a4f329aa38
Combine if/else block with switch for getOperatorList.
2013-11-18 16:50:58 -08:00
Brendan Dahl
29ee96cc67
Merge pull request #3927 from Snuffleupagus/issue-3925
...
Prevent updating the current transformation matrix when the stateStack is empty
2013-11-18 14:04:56 -08:00
Brendan Dahl
ff64b50582
Merge pull request #3931 from yurydelendik/bug900822
...
Allocates bigger hashData buffer
2013-11-18 13:09:40 -08:00
Brendan Dahl
3132c9e7e9
Merge pull request #3911 from yurydelendik/mem-redux2
...
Cleaning up fonts when viewer is idle for some time
2013-11-18 13:01:23 -08:00
Brendan Dahl
0385131a9a
Leave initial request open until the viewer is ready to switch to range requests.
2013-11-18 11:17:26 -08:00
Yury Delendik
e712c4136a
Cleaning up fonts when viewer is idle for some time
2013-11-18 13:01:54 -06:00
Yury Delendik
2b63cd7e62
Allocates bigger hashData buffer
2013-11-18 07:48:06 -06:00
Jonas Jenwald
564ae6e4f7
Prevent updating the current transformation matrix when the stateStack is empty
2013-11-17 01:54:14 +01:00
Yury Delendik
c8af2565f1
Uses blob URL instead of data when possible
2013-11-14 15:21:42 -08:00
Yury Delendik
4ce6cb8b0f
Uses postMessage transfers
2013-11-14 15:21:42 -08:00
Yury Delendik
011ed72383
Merge pull request #3917 from yurydelendik/issue-3857
...
Fixes gidStart for CID fonts
2013-11-14 10:45:32 -08:00
Brendan Dahl
7bdee4069c
Merge pull request #3848 from brendandahl/page-refs
...
Don't traverse all pages to get a single page.
2013-11-13 17:02:11 -08:00
Yury Delendik
9a633f26a0
Fixes gidStart for CID fonts
2013-11-13 18:27:52 -06:00
Brendan Dahl
c2d65fc4ab
Don't traverse all pages to get a single page.
2013-11-13 15:27:46 -08:00
Tim van der Meij
c320a0c2a5
Merge pull request #3887 from yurydelendik/bug903856
...
Fixing glyphs with invalid flags
2013-11-13 14:11:24 -08:00
Yury Delendik
82a9a13e5f
Fixes glyphs with invalid flags
2013-11-13 13:45:59 -06:00
Brendan Dahl
f4942b11f8
Reduce the memory usage of the operator list.
2013-11-13 11:43:38 -08:00
Brendan Dahl
bd6871a1cd
Merge pull request #3884 from yurydelendik/bug868745
...
Resizes loca table when needed
2013-11-11 14:59:18 -08:00
Brendan Dahl
558b722757
Merge pull request #3883 from yurydelendik/bug904941
...
Fixes invalid maxZones value
2013-11-11 09:57:38 -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
Yury Delendik
57e2a667ee
Fixes cvt table length; removes cvt when hints invalid
2013-11-08 11:38:36 -06:00
Yury Delendik
d4167b62c8
Merge pull request #3890 from sriram-dev/3205-word-spacing
...
correct word spacing
2013-11-08 09:18:00 -08:00
Brendan Dahl
e076eeb5bd
Merge pull request #3877 from yurydelendik/issue1171
...
Skipping empty font tables
2013-11-08 09:12:04 -08:00
Sriram
8dad6d6e8a
Fix word spacing in Type 0 fonts
...
Fix word spacing in Type 0 font
correct word spacing
correct word spacing in type 0 font
fix word spacing
2013-11-08 20:48:30 +05:30
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
90fb92d1fc
Merge pull request #3869 from yurydelendik/symbolenc
...
Renames Symbol encoding name.
2013-11-06 11:15:08 -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
cf55d69c38
Fixes invalid maxZones value
2013-11-02 18:16:24 -05: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
104d89856d
Renames Symbol encoding name.
2013-10-31 10:33:23 -05:00
Yury Delendik
83e17c2953
Avoiding 'pc is undefined' failures
2013-10-30 11:14:13 -05:00
fkaelberer
f6841d1720
extract code to own method for faster JPX decoding
2013-10-16 09:47:03 +02:00
Jakob Miland
c341dd57e5
Simplify get fingerprint() method
2013-10-03 10:09:06 +02:00
Yury Delendik
e97e0032df
Merge pull request #3750 from brendandahl/cidfonttype0c
...
Proper glyph selection for CIDFontType0C fonts.
2013-10-02 15:49:52 -07:00
Brendan Dahl
f79c182314
Proper glyph selection for CIDFontType0C fonts.
2013-09-30 21:40:28 -07:00
Sriram
f6eee819e2
Transposed feature for text decoding in jbig2
2013-09-26 20:49:02 +02:00
Yury Delendik
1c7f1cee00
Merge pull request #3674 from brendandahl/cmap-squash
...
Read multi-byte character codes based on codespace ranges.
2013-09-25 18:04:49 -07:00
biggert
fb957f5c6e
Prevent undefined error on null object when calling .destroy on a
...
document initialized with LocalPdfManager.
Per @brendandahl's recommendation, moved the terminate function out of worker
and into the PdfManager
2013-09-25 16:25:41 -05:00
Brendan Dahl
f32e65b19f
Read multi-byte character codes based on codespace ranges.
2013-09-25 10:32:04 -07:00
Manas
de179e3d9b
Trying to fix #3611
2013-09-24 22:54:27 +05:30
Srishti
3808d02a53
implementing transform matrix to getTextContent
2013-09-20 06:37:08 +05:30
Yury Delendik
0fc8bac7c0
Merge pull request #3570 from brendandahl/encoding-wip
...
Fix handling of multiply-encoded glyphs.
2013-08-28 13:51:39 -07:00
biggert
88f1506ef8
Added support for JBIG2 extension segment
2013-08-26 15:39:30 -05:00
Brendan Dahl
547a7aa862
Merge pull request #3615 from yurydelendik/stopindexing
...
Stops objects indexing at the end
2013-08-26 10:33:54 -07:00
Yury Delendik
1de48f1805
Merge pull request #3595 from brendandahl/fix-clip
...
Move the creation of canvas path fonts to the worker.
2013-08-26 06:48:05 -07:00
Yury Delendik
1f232ded90
Stops objects indexing at the end
2013-08-23 13:03:30 -05:00
Brendan Dahl
60586e3101
Ensure there's data to build path.
2013-08-22 12:55:43 -07:00
Brendan Dahl
db591769a4
Fix handling of multiply-encoded glyphs.
2013-08-22 10:12:16 -07:00
Brendan Dahl
bb2529de03
Move the creation of canvas path fonts to the worker.
2013-08-19 16:33:20 -07:00
Brendan Dahl
695e92cc00
Merge pull request #3532 from yurydelendik/telem-1
...
Adds initial telemetry probes
2013-08-19 12:34:27 -07:00
Yury Delendik
ba23a9e8f9
Adds initial telemetry probes
2013-08-16 09:53:05 -05:00
Jonas
628f4aaf81
Enable loading of PDFs with undefined or missing stream lengths
2013-08-16 16:32:40 +02:00
Brendan Dahl
5ecce4996b
Split files into worker and main thread pieces.
2013-08-12 10:48:06 -07:00