Commit Graph

3495 Commits

Author SHA1 Message Date
Yury Delendik
ee1b1252ff Merge pull request #5124 from jordan-thoms/improve-fingerprinting
Improve fingerprinting of documents
2014-12-15 13:30:14 -06:00
Jonas Jenwald
184880a751 Fix searching for end of inline (EI) images with ASCII85Decode filters (bug 1077808)
This patch changes searching for the end of inline image streams to rely on the EOD marker for the filters: ASCII85Decode and ASCIIHexDecode.
2014-12-15 18:48:29 +01:00
Yury Delendik
f5df30f967 Merge pull request #5445 from CodingFabian/fixImageCachingInParser
Fixes caching of inline images during parsing.
2014-12-15 10:51:23 -06:00
Yury Delendik
bc27774cfd Merge pull request #5508 from Snuffleupagus/jpeg-stream-find-soi
Refactor searching for the SOI marker of inline JPEG image streams
2014-12-15 09:36:24 -06:00
Jordan Thoms
aa53319c87 Improve fingerprinting of documents
Fixes two issues:
- #4456 : The first 100 bytes are often not unique as they can be
filled with standard PDF headers - so we use the first 200 KB instead.
(This may be overkill)
- Some documents we encountered have invalid xref ids, which were
always coming out as ‘0000000000000000’ - so we detect that and use the
MD5 instead.
2014-12-11 12:55:05 +13:00
Jonas Jenwald
96a77e9d6a Add basic support for non-embedded Wingdings fonts
This is a tentative patch that adds *very* basic support for non-embedded Wingdings fonts (a Windows version of Dingbats), by falling back to the ZapfDingbats encoding. Obviously this approach will not work perfectly, but in my opinion it seems to work reasonably well in pratice.

Instead of this very simple patch, another option would be to try and include more complete glyph data for Wingdings, e.g. a Unicode map and glyph widths, similar to what was done for ZapfDingbats.
However there is, in my opinion, one important difference between Wingdings and ZapfDingbats: ZapfDingbats is part of the 14 standard fonts, which in previous versions of the PDF specification was assumed to be available in PDF readers. To improve compatibility with older files, it thus makes sense for us to include data for ZapfDingbats.
However Wingdings has never been a standard font in PDF files, hence PDF files using it *should* thus contain all the necessary font data.

Given the above, I thus believe that it should be OK to fall back to ZapfDingbats for now. If non-embedded Wingdings fonts turns out to be *a lot* more common, then we can revisit this later.

Fixes 4301 completely.
Fixes 4837 almost completely. With this patch the bullets are displayed correctly, but the arrows are not of the correct type.
Fixes `artofwar.pdf`, pages 14 and 15.
2014-12-09 00:28:22 +01:00
Yury Delendik
35474628e3 Merge pull request #5449 from CodingFabian/preferParamsOverArguments
Use 3 param method for converting r,g,b into css string.
2014-12-08 15:23:12 -06:00
Yury Delendik
7f24b1d602 Merge pull request #5448 from thejdeep/androidfix
Added try/catch #5427
2014-12-08 14:56:27 -06:00
Fabian Lange
ceffeab1de Use 3 param method for converting r,g,b into css string.
This avoids creation of temporary arrays to pass them into the util
method. Also using "arguments" is more expensive then passing in 3
parameters.
2014-12-05 19:25:02 +01:00
Yury Delendik
a3df129e32 Merge pull request #5524 from fkaelberer/increaseSMaskChunkSizeTo1M
Increases chunk size in SMask composition to 1M pixels
2014-12-05 08:42:06 -08:00
Yury Delendik
cddb870856 Merge pull request #5523 from CodingFabian/remove-canvas-rounding-luminosity
removed rounding of values in composeSMaskLuminosity
2014-12-05 08:40:38 -08:00
Yury Delendik
8a6cc44144 Merge pull request #5507 from palkan/fix-promise-null
Fix passing null as onFullfilled (which is broken in Chrome(-ium) 32)
2014-12-05 08:36:46 -08:00
Jonas Jenwald
3e1b5216ac Refactor searching for the SOI marker of inline JPEG image streams 2014-12-05 17:24:27 +01:00
fkaelberer
7d698a46a9 increase chunk size in SMask composition to 1M pixels 2014-12-03 10:25:53 +01:00
Fabian Lange
b049119d14 removed rounding of values in composeSMaskLuminosity
maskData comes out of maskCtx.getImageData, so is 0..255 clamped, and
the used multiplications will not create fractions needing rounding,
neither would addition.
2014-12-02 22:25:54 +01:00
Jonas Jenwald
78d0d269dc Fallback to the |Dummy| Pattern when we fail to parse a Shading Pattern (issue 5509) 2014-11-30 21:21:45 +01:00
palkan
4764c52b5b fix passing null as Promise's onFullfilled (which is broken in Chrome 32) 2014-11-25 16:40:27 +04:00
jsundn
2ec7e34541 Fixes typo in webgl.js 2014-11-18 14:31:19 +01:00
Paul Roit
da5c0cf0e2 fixed multi precinct handling in jpx
fixes #5475
2014-11-13 09:07:18 +01:00
fkaelberer
5fcf3d37a7 use fewer multiplications in convertYcckToRgb 2014-11-05 15:53:10 +01:00
fkaelberer
ea719ae805 remove null checks that always evaluate to false 2014-11-05 15:19:30 +01:00
Jonas Jenwald
1abad5f290 Fix typed array assignment in the |constructPostScriptFromIRResult| function (issue 5470) 2014-11-04 12:17:27 +01:00
Fabian Lange
970c048d50 fixes caching of inline images during parsing.
As described in #5444, the evaluator will perform identity checking of
paintImageMaskXObjects to decide if it can use
paintImageMaskXObjectRepeat instead of paintImageMaskXObjectGroup.

This can only ever work if the entry is a cache hit. However the
previous caching implementation was doing a lazy caching, which would
only consider a image cache worthy if it is repeated.
Only then the repeated instance would be cached.
As a result of this the sequence of identical images A1 A2 A3 A4 would
be seen as A1 A2 A2 A2 by the evaluator, which prevents using the
"repeat" optimization. Also only the last encountered image is cached,
so A1 B1 A2 B2, would stay A1 B1 A2 B2.

The new implementation drops the "lazy" init of the cache. The threshold
for enabling an image to be cached is rather small, so the potential waste
in storage and adler32 calculation is rather low. It also caches any
eligible image by its adler32.

The two example from above would now be A1 A1 A1 A1 and A1 B1 A1 B1
which not only saves temporary storage, but also prevents computing
identical masks over and over again (which is the main performance impact
of #2618)
2014-10-28 15:39:41 +01:00
thejdeep
46238c30cf Fix of pdf not loading on android (issue 5427)
Fix for pdf on android not visible

Fix for pdf on android not visible
2014-10-28 00:21:14 +05:30
Yury Delendik
1bf72f3fe8 Merge pull request #5409 from thejdeep/master
Black text not visible #5291
2014-10-25 09:21:08 -05:00
thejdeep
39a29cfe03 Fixed text not visible 2014-10-25 07:18:31 +05:30
fkaelberer
141ecfa61f fix "JPX Out of Packets" Error (issues 4358, 4659, 4814) 2014-10-22 09:53:10 +02:00
Yury Delendik
8bfc4b84cb Merge pull request #5350 from CodingFabian/issue-5349
For JPX decoding only read next packet after checking for byte aligning.
2014-10-21 18:05:32 -05:00
Fabian Lange
b2d7c285c0 For JPX decoding only read next packet after checking for byte aligning.
This patch makes the image from #5349 appear correctly, the artefacts
for the last packet are fixed in #5426.
This patch also optimizes some "in-checks" and adds a few header parsings.
2014-10-21 22:06:10 +02:00
Yury Delendik
419ba54e58 Merge pull request #5418 from Rob--W/issue-5417-annot-error
Fix error in WidgetAnnotation
2014-10-21 14:27:39 -05:00
fkaelberer
e5477c3156 Simplify nextMissingChunk(), getEndChunk() 2014-10-21 10:24:32 +02:00
Jonas Jenwald
4ac4d49158 Avoid rendering invisible Type3 fonts (issue 5421) 2014-10-18 22:29:21 +02:00
Rob Wu
c889e4e679 Fix error in WidgetAnnotation 2014-10-16 18:08:24 +02:00
Yury Delendik
2d7a34d692 Fixes decoding for CMYK jpegs. 2014-10-15 15:56:29 -05:00
Brendan Dahl
ccd7ae33e4 Merge pull request #5352 from Snuffleupagus/issue-2840
Use |toUnicode| when creating the glyph map for standard CIDFontType2 fonts without embedded font file
2014-10-08 10:09:10 -07:00
Tim van der Meij
aaa1f2cb11 Implemented NameTree.get() using binary search 2014-10-07 00:02:15 +02:00
Tim van der Meij
b215af30d3 Require destinations when they are needed and do not fetch all of them in advance 2014-10-06 22:26:18 +02:00
Brendan Dahl
8a536ac346 Map missing glyphs in encoding to notdef glyph. 2014-10-03 12:11:20 -07:00
Brendan Dahl
2fc5e6a9ad Don't map glyphs to unicode non breaking space. 2014-10-02 10:58:56 -07:00
Yury Delendik
fb6d87c77b Merge pull request #5376 from yurydelendik/fontface3
Adds optional argument to FontFace contructor call.
2014-10-01 18:50:30 -05:00
Yury Delendik
8bec7ea8bd Adds optional argument to FontFace contructor call. 2014-10-01 18:15:23 -05:00
Jonas Jenwald
cb3e5903cb Fix disableAutoFetch regression in the generic viewer
After PR 5263, setting `disableAutoFetch = true` in the generic viewer no longer works correctly, since the entire file loads even with `disableStream = true`.
2014-10-01 20:53:17 +02:00
Rob Wu
d0845df971 Use Font Loading API if available
http://dev.w3.org/csswg/css-font-loading/
2014-09-30 22:18:53 +02:00
Rob Wu
6a230af332 Rename FontFace to FontFaceObject
This name clashes with the FontFace constructor from the Font Loading CSS module:
http://dev.w3.org/csswg/css-font-loading/#font-face-constructor
2014-09-30 19:33:16 +02:00
Jonas Jenwald
df2a4afd36 Use |toUnicode| when creating the glyph map for standard CIDFontType2 fonts without embedded font file 2014-09-27 13:20:04 +02:00
Yury Delendik
744c8e8d7e Merge pull request #5250 from Snuffleupagus/issue-5238
Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
2014-09-26 15:18:33 -05:00
Brendan Dahl
9c56c6f9f6 Merge pull request #5263 from yurydelendik/stream
Implement streaming using moz-chunk-arraybuffer
2014-09-25 16:40:28 -07:00
Yury Delendik
07a2539867 Replaces (chunk in this.loadedChunks) 2014-09-19 19:05:25 -05:00
Yury Delendik
c3f191a27c Implement streaming using moz-chunk-arraybuffer 2014-09-19 19:05:25 -05:00
Jonas Jenwald
3c759e296a Add support for MMType1 fonts with embedded font files 2014-09-18 16:10:46 +02:00
Jonas Jenwald
b16c973d9d Fix Symbol fonts without font file but with Encoding dictionary (issue 5238) 2014-09-16 21:38:53 +02:00
Yury Delendik
15681adbb9 Merge pull request #5245 from Snuffleupagus/issue-5244
Further amend GlyphMapForStandardFonts (issue 5244)
2014-09-16 10:12:07 -05:00
Yury Delendik
ffb613bbac Merge pull request #5275 from Snuffleupagus/exception-propagation
Fix the exception propagation when rejecting workerReadyCapability
2014-09-16 10:05:34 -05:00
Brendan Dahl
403b7df6e7 Merge pull request #5233 from Snuffleupagus/bug-1057544
Workaround for TrueType fonts with exotic cmap tables (bug 1057544)
2014-09-15 14:47:31 -07:00
Jonas Jenwald
ed5fc43510 Add |UnexpectedResponseException| to fix the exception handling when file loading fails because the server responds with a non 404 status message 2014-09-14 11:52:33 +02:00
Jonas Jenwald
2003d83ea6 Fix loading of inline JPEG images 2014-09-11 16:42:51 +02:00
Jonas Jenwald
d1974eae34 Add peekByte method to Stream, DecodeStream and ChunkedStream 2014-09-11 16:42:41 +02:00
sangm
d716fe438a Fixed typo in core/jpx.js #5227 2014-09-10 22:26:20 -05:00
Jonas Jenwald
7c044bc30d Fetch decodeParams if it's a |Ref| in JBIG2Decode streams 2014-09-09 21:49:35 +02:00
Yury Delendik
aa8d3d98f8 Fetches params in makeFilter 2014-09-09 08:29:31 -05:00
Jonas Jenwald
2701edc7c6 Change getDocumentError in web/viewer.js to use instanceof instead of the exception name 2014-09-08 22:34:25 +02:00
Jonas Jenwald
ca027ebfdb Fix the exception propagation when rejecting workerReadyCapability
Currently when an exception is thrown, we try to reject `workerReadyCapability` with multiple arguments in src/core/api.js. This obviously doesn't work, hence this patch changes that to instead reject with the exception object as is.
In src/core/worker.js the exception is currently (unncessarily) wrapped in an object, so this patch also simplifies that to directly send the exception object instead.
2014-09-08 22:20:41 +02:00
Jonas Jenwald
007d7b2d95 Fix handling of RGBA buffers in CalRGB colorspace (issue 5270) 2014-09-08 12:26:32 +02:00
Jonas Jenwald
7b3f222787 Add |SpecialPUASymbols| map and refactor |mapSpecialUnicodeValues| 2014-09-04 13:41:15 +02:00
Jonas Jenwald
2d5596172c Add more cases to |mapSpecialUnicodeValues| to fix the rendering of various Symbol encoded brackets 2014-09-04 12:40:15 +02:00
Yury Delendik
467b3247b3 Merge pull request #5249 from Rob--W/issue-5243
CCITTFaxStream parser: resolve xref if needed
2014-09-03 17:38:13 -05:00
Jonas Jenwald
4bda6ba1b8 Add basic support for ZapfDingbats 2014-09-03 21:54:04 +02:00
Jonas Jenwald
be595d0721 Further amend GlyphMapForStandardFonts (issue 5244) 2014-09-01 10:51:22 +02:00
Rob Wu
07a4837763 CCITTFaxStream parser: resolve xref if needed
Fixes #5243
2014-08-31 11:03:24 +02:00
Jonas Jenwald
64d95bedaa In src/display/api.js, add documentation for the |progressCallback| parameter in |PDFJS.getDocument| 2014-08-28 14:11:14 +02:00
Jonas Jenwald
cc8710acbf Workaround for TrueType fonts with exotic cmap tables (bug 1057544) 2014-08-23 11:27:41 +02:00
Jonas Jenwald
ae896fc071 Avoid creating intermediate strings in sanitizeMetrics
This patch avoids creating many intermediate strings, when adding dummy width/lsb entries for glyphs where those are missing.
For the relevant PDF files in our test suite, the average number of intermediate strings are well over 1000.
2014-08-20 23:55:57 +02:00
Yury Delendik
6969ed4760 Merge pull request #5204 from nnethercote/needsDecode
Apply the GRAYSCALE_1BPP optimization when `needsDecode` is set.
2014-08-19 07:24:49 -05:00
Jonas Jenwald
0dbac150d5 Merge pull request #5212 from fkaelberer/fixFunctionName
Fix ensureByte() function name (copy-and-paste error)
2014-08-19 12:22:47 +02:00
fkaelberer
a7bbc12a81 Fix ensureByte() function name (copy-and-paste error) 2014-08-19 12:19:22 +02:00
Nicholas Nethercote
48de7651ce Apply the GRAYSCALE_1BPP optimization when needsDecode is set.
The scanned, black-and-white document at
https://bugzilla.mozilla.org/show_bug.cgi?id=835380 doesn't benefit from
the critical GRAYSCALE_1BPP optimization because the optimization is
skipped if `needsDecode` is set.

This change addresses that, and reduces both rendering time and memory
usage for that document by almost 10x.
2014-08-18 16:45:19 -07:00
Yury Delendik
be998261cc Fixes Type3 negative font direction 2014-08-18 17:57:52 -05:00
Nicholas Nethercote
96b9af68dd Remove setGStateForKey() closure.
setGStateForKey() is a closure that serves no particularly useful
purpose. This change inlines it at the single call site. This avoids 1.7
MiB of allocations (because closures are objects) for the MTA map
mentioned in https://bugzilla.mozilla.org/show_bug.cgi?id=835380#c17.
2014-08-17 22:21:45 -07:00
Kalervo Kujala
0c5525dc8a CalRGB: optimize CalRGB calculations
Also fix one silly mistake.
2014-08-16 11:38:15 +03:00
Yury Delendik
90d79d1577 Merge pull request #5198 from timvandermeij/svg-paintformxobject
Implements paintFormXObject in svg.js
2014-08-15 16:29:30 -05:00
Tim van der Meij
32853c07f4 Implements paintFormXObject in svg.js 2014-08-15 23:23:04 +02:00
Yury Delendik
e53a28c996 Merge pull request #5192 from nnethercote/empty-setGState
Ignore setGState no-ops.
2014-08-15 10:20:14 -05:00
Yury Delendik
fa8d385818 Merge pull request #5165 from kkujala/calrgb
implement CalRGB color space
2014-08-15 10:19:49 -05:00
Yury Delendik
5eb6a353d9 Merge pull request #5181 from timvandermeij/svg-optimizations
Optimizes defaults for svg.js
2014-08-15 09:40:41 -05:00
Yury Delendik
9b3c96d5d3 Merge pull request #5186 from Snuffleupagus/fix-CMap-unavailable-error-handling
Fix the error handling for CMaps that fail to load
2014-08-15 08:31:33 -05:00
Yury Delendik
992e7613c1 Merge pull request #5187 from nnethercote/EI-checking
Reduce ASCII checks in makeInlineImage().
2014-08-15 08:29:03 -05:00
Jonas Jenwald
9b480d70eb Merge pull request #5168 from nnethercote/EvaluatorPreprocessor_read
Avoid unnecessary array allocations in EvaluatorPreprocessor_read().
2014-08-15 13:35:05 +02:00
Jonas Jenwald
9d87cbc516 Merge pull request #5191 from nnethercote/getSampleArray-array-length
Right-size the array in getSampleArray().
2014-08-15 11:36:35 +02:00
Nicholas Nethercote
9674abc542 Ignore setGState no-ops.
For the document in #2504, 11% of the ops are `setGState` with a
`gStateObj` that is an empty array, which is a no-op. This is possible
because we ignore various setGState keys (OP, OPM, BG, etc).

This change prevents these ops from being inserted into the operator
list.
2014-08-14 20:46:28 -07:00
Nicholas Nethercote
bcc31b666f Right-size the array in getSampleArray().
This allows the JS engine to do a better job of allocating the right
number of elements for the array, avoiding some resizings. For the PDF
in #2504, this avoids 100s of MiBs of allocations in Firefox.
2014-08-14 18:56:12 -07:00
Nicholas Nethercote
ffae848f4e Reduce ASCII checks in makeInlineImage().
makeInlineImage() has a "are the next five chars ASCII?" check which is
run after an "EI" sequence has been found. This check involves the
creation of a new object because peekBytes() calls subarray().

Unfortunately, the check is currently run on whitespace chars even when
an "EI" sequence has not yet been found, i.e. when it's not needed. For
the PDF in #2618, there are over 820,000 such checks.

This change reworks the relevant loop so that the check is only done
once an "EI" sequence has been seen. This reduces the number of checks
to 157,000, and speeds up rendering by somewhere between 2% and 7% (the
measurements are noisy).
2014-08-14 16:20:58 -07:00
Jonas Jenwald
cd5bd9fb7e Merge pull request #5184 from yurydelendik/cff-width
Use cff glyph width in the hmtx table
2014-08-14 23:40:12 +02:00
Tim van der Meij
1d02ace81f Optimizes defaults for svg.js 2014-08-14 23:14:55 +02:00
Yury Delendik
a2c2f81167 Use cff glyph width in the hmtx table 2014-08-14 16:11:09 -05:00
Kalervo Kujala
1e4a7f981e implement CalRGB color space
Both whitespace and blackspace support are implemented.
2014-08-14 23:49:19 +03:00
Yury Delendik
de23d3791e Fixes image and font embedding 2014-08-14 15:11:27 -05:00
Yury Delendik
0f862e7eb3 Adds svg.js to the generic and singlefile builds 2014-08-14 13:02:30 -05:00
Yury Delendik
bc574aa629 Refactors SVG api 2014-08-14 12:56:11 -05:00
Jonas Jenwald
9ef0d0b878 Fix the error handling for CMaps that fail to load 2014-08-14 16:29:10 +02:00
Yury Delendik
0ad323f621 Adds width at the beginning of the Type2 charstring 2014-08-13 21:15:40 -05:00
pramodhkp
6d53fc4db7 Minor changes for api.js, font_loader.js and svg.js 2014-08-14 01:01:09 +05:30
Tim van der Meij
44fbf0ce14 Miscellaneous code improvements for svg.js 2014-08-13 20:31:21 +02:00
Jonas Jenwald
06b5d97bc6 Remove two instances of leftover console.log debug statements
The `console.log` statement in evaluator_spec.js is obviously not needed. In obj.js it could have been replaced by `info`, but that seemed unnecessary given the already existing `error`.
2014-08-13 14:29:46 +02:00
Jonas Jenwald
c3691500fa Merge pull request #5172 from nnethercote/readCharCode-retval
Avoid an allocation in readCharCode().
2014-08-13 11:03:07 +02:00
Nicholas Nethercote
61e6b576d4 Avoid an allocation in readCharCode().
readCharCode() returns two values, and currently allocates a length-2
array on every call to do so. This change makes it instead us a
passed-in object which can be reused.

This tiny change reduces the total JS allocations done for the document
in Mozilla bug 992125 by 4.2%.
2014-08-12 16:12:58 -07:00
Nicholas Nethercote
7cbd057deb Avoid unnecessary array allocations in EvaluatorPreprocessor_read().
EvaluatorPreprocessor_read() is called in two cases. For the normal
layer, the args array it produces is used beyond the bounds of the loop
in which EvaluatorPreprocessor_read() is called.

But for the text layer, the args array is used in a very short-term
fashion. This change reworks things so that a single array is repeatedly
used for the text layer. This reduces total JS allocations for the
Spoorkaart map by 11%, and has similar effects on many other PDFs.
2014-08-11 16:57:40 -07:00
Brian Ng
5365fa9de7 Fix typo 2014-08-11 11:40:49 -05:00
Yury Delendik
dae92b9cc7 Uses float number formatter to print numbers in SVG 2014-08-11 11:18:32 -05:00
Yury Delendik
ab8270ae3a Fixes searchRange calculation 2014-08-10 14:11:04 -05:00
Yury Delendik
42771159ca Removes stringToArray 2014-08-10 14:11:04 -05:00
Yury Delendik
350556f085 Removes bytesToString/stringToArray conversions in the font.js 2014-08-10 14:11:04 -05:00
Yury Delendik
4ce1b1e987 Merge pull request #5150 from nnethercote/toUnicode
Fix #4935
2014-08-10 14:07:26 -05:00
Tim van der Meij
b6e4ac9070 Nit fixes for svg.js 2014-08-10 14:40:49 +02:00
Yury Delendik
99b08ed223 Merge pull request #5162 from yurydelendik/pramodhkp-fixupgstate2
[SVG] Reduces amount of used memory during PNG creation.
2014-08-09 15:56:11 -05:00
Yury Delendik
56f0539045 Reduces amount of used memory during PNG creation. 2014-08-09 15:53:05 -05:00
pramodhkp
458b69b649 Adds image and mask features, fixes clippath 2014-08-10 01:06:43 +05:30
Yury Delendik
13f1a964a7 Merge pull request #5154 from Rob--W/aes-padding-5152
AES cipher: make padding optional
2014-08-09 09:25:54 -05:00
Jonas Jenwald
66c56ac546 Fixes a regression from PR 4982
After PR 4982, the rendering of the first two pages of http://www.openmagazin.cz/pdf/2011/openMagazin-2011-04.pdf (from issue 215) no longer completes.

The issue is that we cannot have `args === null` in `PartialEvaluator_buildPath`, but *must* use an empty array instead.

In this patch I've also moved the `argsLength` variable definition in `EvaluatorPreprocessor_read`, to make sure that it's always defined.
2014-08-08 13:19:18 +02:00
Rob Wu
58cd3349db AES cipher: make padding optional
Fixes #5152
2014-08-08 12:36:29 +02:00
Nicholas Nethercote
f82977caf9 Simplify isIdentityUnicode detection. 2014-08-08 02:02:42 -07:00
Nicholas Nethercote
6c8cca1284 Add IdentityToUnicodeMap class.
When loading the PDF from issue #4935, this change reduces peak RSS from
~2400 to ~300 MiB, and improves overall speed by ~81%, from 6336 ms to
1222 ms.
2014-08-07 20:45:11 -07:00
Nicholas Nethercote
9576047f0d Add ToUnicodeMap class. 2014-08-07 20:05:24 -07:00
Yury Delendik
669a4d196e Merge pull request #5114 from fkaelberer/fasterJBIG2decodeBitmap
Faster JBIG2 bitmap decoding
2014-08-07 16:14:30 -05:00
Tim van der Meij
238a5f8a30 Fixes CCITTFaxStream regression 2014-08-07 22:07:20 +02:00
Jonas Jenwald
643ad37f2a Revert commit 9a41659 (PR 5005) for breaking the loading of certain PDF files in the Firefox addon when range requests are active 2014-08-07 12:07:45 +02:00
Yury Delendik
57860149e9 Merge pull request #5135 from nnethercote/identity-cmap-proper
Make IdentityCMaps more compact.
2014-08-06 09:11:08 -05:00
Jonas Jenwald
179bb2e136 Merge pull request #5140 from yurydelendik/fetchAsync
Removes some bind() calls from fetchAsync
2014-08-06 12:34:27 +02:00
Yury Delendik
682b93ac9e Fixes lint errors 2014-08-05 21:55:59 -05:00
Yury Delendik
cc180d7e2b Removes some bind() calls from fetchAsync 2014-08-05 21:22:12 -05:00
Yury Delendik
46a9a35ddc Merge pull request #5071 from nnethercote/font-savings
Optimize a font-heavy document
2014-08-05 18:57:46 -05:00
Yury Delendik
fa53fcbf57 Merge pull request #5095 from Snuffleupagus/issue-5070
Adjust the heuristics to recognize more cases of unknown glyphs for |toUnicode| (issue 5070)
2014-08-05 17:41:38 -05:00
Yury Delendik
2b87ff9286 Merge pull request #5008 from nnethercote/better-QueueOpt
Make QueueOptimizer easier to read.
2014-08-05 16:59:26 -05:00
Jonas Jenwald
cb4a847347 Merge pull request #5134 from yurydelendik/fun4
Improves speed of the functions
2014-08-05 23:51:03 +02:00
Yury Delendik
12b50486de Merge pull request #5136 from timvandermeij/ccitt-lines
Properly set this.eof in CCITTFaxStream
2014-08-05 12:49:50 -05:00
Tim van der Meij
5cc7d23066 Properly set this.eof in CCITTFaxStream 2014-08-05 19:08:00 +02:00
fkaelberer
5b83e0b9a3 Faster JBIG2 bitmap decoding 2014-08-05 16:12:45 +02:00
Nicholas Nethercote
51055e5836 Make IdentityCMaps more compact.
IdentityCMap uses an array to represent a 16-bit unsigned identity
function. This is very space-inefficient, and some files cause multiple
IdentityCMaps to be instantiated (e.g. the one from #4580 has 74).

This patch make the representation implicit.

When loading the PDF from issue #4580, this change reduces peak RSS from
~370 to ~280 MiB. It also improves overall speed on that PDF by ~30%,
going from 522 ms to 366 ms.
2014-08-05 03:01:39 -07:00
Yury Delendik
6865c284a7 Merge pull request #5111 from nnethercote/better-cidchars
Represent cid chars using integers, not strings.
2014-08-04 22:26:55 -05:00
Yury Delendik
f750e35224 Optimizes functions to not create arrays 2014-08-04 11:23:11 -05:00
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
Tim van der Meij
00eea3ddb9 Merge pull request #5116 from Snuffleupagus/strict-equalities-src-core
Add strict equalities in src/core/* (part 1)
2014-08-01 21:50:05 +02:00
Tim van der Meij
df0b821141 Merge pull request #5113 from Snuffleupagus/strict-equalities-src-display
Add strict equalities in src/display/*
2014-08-01 20:51:18 +02:00
Tim van der Meij
0b8b763eda Merge pull request #5112 from Snuffleupagus/strict-equalities-src-shared
Add strict equalities in src/shared/*
2014-08-01 20:00:57 +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
Jonas Jenwald
4a82dac45b Add strict equalities in src/display/svg.js 2014-08-01 12:41:03 +02:00
Jonas Jenwald
790ec92a34 Add strict equalities in src/display/pattern_helper.js 2014-08-01 12:40:38 +02:00
Jonas Jenwald
ec6ec13506 Add strict equalities in src/display/metadata.js 2014-08-01 12:40:16 +02:00
Jonas Jenwald
c1f1f2f0e1 Add strict equalities in src/display/canvas.js 2014-08-01 12:39:56 +02:00
Jonas Jenwald
a4b06d7a02 Add strict equalities in src/display/api.js 2014-08-01 12:39:31 +02:00
Jonas Jenwald
ccd71e0a94 Add strict equalities in src/shared/util.js 2014-08-01 12:18:40 +02:00
Jonas Jenwald
42e541a671 Add strict equalities in src/shared/fonts_utils.js 2014-08-01 12:18:35 +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
Yury Delendik
7026543663 Merge pull request #5059 from timvandermeij/unused-code
Removing unused code and enforcing additional JSHint options
2014-07-29 15:04:43 -05: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
5d4eebc6a7 Merge pull request #5034 from pramodhkp/fixupgstate2
[SVG] Adds clip operator, fixes setGState, fill, stroke operators
2014-07-25 13:52:29 -05:00
pramodhkp
6e4dd83a4d Added endPath, endText. fixes extra <g> elements 2014-07-25 23:30:29 +05:30
pramodhkp
2380b38b27 Fixed setGState, viewport transform 2014-07-25 23:21:23 +05:30
pramodhkp
a55c9856e9 Misc variable initialization 2014-07-25 23:21:23 +05:30
pramodhkp
0688fd3d70 Added fill, stroke, line-join & font attr 2014-07-25 23:20:55 +05:30
pramodhkp
03f1de3403 Added clip operator 2014-07-25 23:13:52 +05:30
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
Tim van der Meij
41faa78368 Fixes typo in promises implementation for legacy browsers 2014-07-24 17:11:22 +02: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
Tim van der Meij
7586d777eb Enforcing JSHint's undef option 2014-07-19 16:41:07 +02:00
Tim van der Meij
34728ee49b Removing unused code 2014-07-18 22:34:50 +02:00
Tim van der Meij
4be90c35f8 Merge pull request #5021 from CodingFabian/issue-5020
Fixes mesh fill pattern with optional matrix
2014-07-18 20:51:44 +02:00
Jonas Jenwald
9c6316fc15 Merge pull request #5005 from fkaelberer/faster_ChunkedStream_getByte
Faster chunkedStream_getByte()
2014-07-18 18:23:49 +02:00
Tim van der Meij
a7800c276b Merge pull request #5015 from Snuffleupagus/zero-WebGL-canvases
Zero the height and width of the WebGL canvases on cleanup
2014-07-16 17:07:18 +02:00
Tim van der Meij
e97efaa70a Merge pull request #5033 from nnethercote/makeCssRgb
Avoid creating intermediate strings in Util.makeCssRgb().
2014-07-16 16:10:29 +02:00
Fabian Lange
dd2adf6200 Fixes mesh fill pattern with optional matrix (#5020)
In the referenced issue, there is a PDF which uses a fill pattern which does not
have a matrix defined. This causes singularValueDecompose2dScale to fail with
undefined property error when accessing elements of that matrix.

This fix will only use the matrix when it is defined. The output for the PDF in
question now looks identical to chrome and preview with respect to the gradient
fill pattern.
2014-07-13 15:45:12 +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
Yury Delendik
b5e5de00df Merge pull request #5017 from Snuffleupagus/bug-1028735
[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
2014-07-12 07:18:07 -05:00
Jonas Jenwald
1cb4de2227 Add |fillRgb| method to LabCS 2014-07-10 12:06:19 +02:00
Nicholas Nethercote
31c613f064 Avoid creating intermediate strings in Util.makeCssRgb().
On one example (the Wuppertal map) this avoids the creation of over
230,000 intermediate strings.
2014-07-08 21:49:19 -07:00
pramodhkp
afd853e962 Added units for lengths 2014-07-08 23:03:17 +05:30
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
pramodhkp
86e584d767 Memory optimzation for constructPath 2014-07-04 20:43:40 +05:30
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
pramodhkp
7efd50e64d Added paintJpegXObject 2014-06-25 03:55:14 +05:30
pramodhkp
d799a18b74 Added paintSolidColorImageMask 2014-06-25 02:48:11 +05:30
pramodhkp
c8a4ab3a19 Optimization of save/restore usage 2014-06-25 02:47:29 +05:30
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
Jonas Jenwald
8ad1ea3c5f Zero the height and width of the WebGL canvases on cleanup 2014-06-24 13:52:22 +02:00
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
834f466c05 Fixes SVG transforms on restore 2014-06-19 23:18:04 -05:00
Yury Delendik
6258ae61d5 Merge pull request #4979 from pramodhkp/svg-v3
SVG Viewer Example demo
2014-06-19 21:16:21 -05:00
pramodhkp
dd253aadeb SVG Viewer example demo 2014-06-20 08:25:05 +05:30
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
Jonas Jenwald
7a83291c14 Merge pull request #4970 from yurydelendik/AnnotationUtils
Fixes AnnotationUtils in the extension build
2014-06-19 00:44:42 +02:00
Yury Delendik
88fd1aa78b Removes PDFJS.Annotation 2014-06-18 16:58:11 -05:00
Yury Delendik
c1c950ce74 Fixes AnnotationUtils in the extension build 2014-06-18 16:42:08 -05:00
Tim van der Meij
4c759527d1 Implements onerror for JpegStreams 2014-06-18 23:02:52 +02: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
0f0f0688a1 Merge pull request #4946 from Snuffleupagus/issue-3862
Refactor fake worker loading (issue 3862)
2014-06-17 13:27:01 -05:00
Yury Delendik
ea16723448 Merge pull request #4951 from pramodhkp/getoperatorlist
Added getOperatorList to api.js
2014-06-17 09:39:09 -05:00
pramodhkp
1d00e9d13c Added getOperatorList to api.js 2014-06-18 01:30:42 +05:30
Yury Delendik
bad24bf707 Merge pull request #4950 from fkaelberer/fasterJPEGtransform
Faster JPEG transform
2014-06-17 09:03:23 -05:00
Yury Delendik
11302f09a4 Merge pull request #4959 from nnethercote/zero-cache-canvases
Zero the height and width of cached canvases before deleting them.
2014-06-17 08:26:04 -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
Nicholas Nethercote
7ef7f95374 Zero the height and width of the Cached canvases before deleting.
This reduces peak RSS by about 300 MiB on my Mac when scrolling slowly through
the first 30 pages of a scanned black and white document.
2014-06-16 22:58:11 -07: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
3c78c7b8bc Refactor fake worker loading (issue 3862) 2014-06-15 15:52:05 +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
Yury Delendik
2efbdfe8d4 Merge pull request #4834 from dferer/canvas-max-size
Limit the size of canvases to 5MP (iOS restriction)
2014-06-13 09:37:42 -05:00
Nicholas Nethercote
7923eb7edb Fix mishandling of incomplete, inverted masks. 2014-06-13 06:14:52 -07:00
Samuel Chantaraud
952545e20f Limit the size of canvases to 5MP (iOS restriction) 2014-06-12 17:58:58 -04:00
Yury Delendik
b37b33829e Merge pull request #4915 from dferer/fix-4914
Fix #4914
2014-06-12 12:59:02 -05:00
Jonas Jenwald
c0250e16e3 Return ErrorFont in loadFont when the fontRef is undefined 2014-06-12 12:46:39 +02:00
Samuel Chantaraud
f362b3c744 Fix #4914 by ignoring hidden annotation 2014-06-11 10:41:43 -04:00
Yury Delendik
1ac8ca66f7 Fixes optional backdrop regression 2014-06-10 15:47:25 -05: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
e0bf7e2151 Optimized genericComposeSMask
Declaring the composition and backgdrop functions outside of genericComposeSMask
is more efficient.
2014-06-10 12:37:39 +02:00
p01
412febe4a4 canvas.js minor optimizations 2014-06-10 12:37:39 +02:00
p01
35e418c603 Optimized CanvasGraphics_executeOperatorList 66% faster 2014-06-10 12:37:38 +02:00
p01
d4a01f6034 evaluator.js minor optimizations 2014-06-10 12:37:37 +02:00
p01
0a51b1e616 utils.js optimization of isFOO methods 2014-06-10 12:37:36 +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
Yury Delendik
5ded0ea163 Merge pull request #4866 from yurydelendik/issue4673
Removes mozResponseArrayBuffer
2014-06-02 12:51:29 -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
Mohammed Abu-alsaad
e6546642db Added more preference variables from the available hash parameters 2014-05-30 10:44:41 +12: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
Jonas Jenwald
002607502c Merge pull request #4824 from yurydelendik/movecs
Moves colorspace.js and function.js into core/
2014-05-23 21:14:58 +02: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
Samuel Chantaraud
37c3641fad Added Promise.catch
Fixed Promise so it rejects on uncaught exception
Catch possible rejection on ViewHistory.setMultiple
2014-05-22 13:53:19 -04: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
455c6b2d35 Removed several 'in' operators in canvas.js
This gives up to 6x speed improvement on these methods
2014-05-20 12:39:59 +02:00
p01
cf5ff3d327 Fewer lookups in CanvasGraphics_constructPath 2014-05-20 12:39:58 +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
p01
8cfd024e48 Optimized colorspace.js AlternateCS_getRgbBuffer 2014-05-14 17:06:39 +02:00
p01
95fda4fcdc Optimized function.js / 2x Faster PDFFunction_constructPostScriptFromIR 2014-05-14 17:06:38 +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
c4d4682924 Fix regression that prevents downloading the PDF file (PR 4752) 2014-05-14 01:20:21 +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
Tim van der Meij
a27f51e37c Merge pull request #4768 from Snuffleupagus/issue-4766
Handle more cases of invalid line dash patterns in annotation borders
2014-05-12 22:40:46 +02:00
fkaelberer
8c38c2cbe3 Simplify Jbig2Image.decodeInteger() 2014-05-10 18:03:54 +02:00
Yury Delendik
2acb40fffb Merge pull request #4771 from Snuffleupagus/api-promise-reject-fix
Fix typo when rejecting Promise in getPage
2014-05-10 07:48:30 -05:00
Jonas Jenwald
67a3b59864 Handle more cases of invalid line dash patterns in annotation borders 2014-05-09 23:12:23 +02:00
Tim van der Meij
e359f0694f Merge pull request #4740 from yurydelendik/pageviewportdoc
Adds pageviewport documentation
2014-05-09 22:30:16 +02:00
Yury Delendik
fd4fc89213 Merge pull request #4763 from yurydelendik/canvas-rAF
Uses rAF to interrupt the operator list execution
2014-05-09 07:25:52 -05:00
Yury Delendik
c5eb058b09 Uses rAF to interrupt the operator list execution 2014-05-09 07:00:47 -05: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
Tim van der Meij
7656408579 Refactoring Util.inherit.getOperatorList in annotation.js 2014-05-08 22:42:47 +02: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
652dde48da Fix typo when rejecting Promise in getPage 2014-05-07 23:25:24 +02: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
95e61ad0e3 Adds pageviewport documentation 2014-05-05 14:09:47 -05:00
Yury Delendik
7ac1d6cdc8 Merge pull request #4708 from p01/graphic_optimizations_1
Graphic optimizations 1
2014-05-05 10:37:03 -05:00
Yury Delendik
b3f24ca0c7 Merge pull request #4733 from timvandermeij/postscript-unit-tests
Completes unit tests for PostScript evaluator and fixes two bugs in the evaluator itself
2014-05-05 10:27:54 -05:00
Yury Delendik
70da61fa01 Merge pull request #4729 from Snuffleupagus/remove-LegacyPromise
Remove LegacyPromise
2014-05-05 07:40:21 -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
p01
83cd530f45 Cleaner putBinaryImageData 2014-05-05 14:22:44 +02:00
p01
f70a072cde Optimized CalGrayCS's convertToRgb 2014-05-05 14:22:43 +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
Tim van der Meij
4caf5b694e Completes unit tests for PostScript evaluator and fixes two bugs in the evaluator itself 2014-05-03 12:18:18 +02: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
c68ba07c1c Merge pull request #4727 from Snuffleupagus/remove-LegacyPromise-annotation.js
Remove LegacyPromise in src/shared/annotation.js
2014-05-02 17:04:28 -05: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
Jonas Jenwald
cb59e7f872 Remove LegacyPromise in src/shared/annotation.js 2014-05-02 21:05:03 +02:00
Tim van der Meij
6b9aeb34f1 Fixes rendering of PDFs with nested trailer dictionary 2014-05-02 21:01:34 +02:00
Yury Delendik
f0043f8727 Merge pull request #4730 from yurydelendik/disableworker
Fixes disableWorker regression
2014-05-02 12:29:57 -05:00
Yury Delendik
e45f4767dd Fixes disableWorker regression 2014-05-02 12:23:46 -05:00
Jonas Jenwald
ad732f6403 Remove LegacyPromise 2014-05-02 01:48:17 +02:00
Yury Delendik
2b82eb0161 Fixes cancel rendering regression 2014-05-01 15:51:38 -05: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
Pramodh KP
0d5b41633f Remove legacy promises from api.js 2014-05-01 18:13:13 +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
Yury Delendik
8e517b6d81 Merge pull request #4700 from pramodhkp/refactoring
Reject polyfill and createPromiseCapability
2014-04-29 09:09:04 -05:00
Pramodh KP
04b1eefb1d Added reject polyfill and PromiseCapability 2014-04-29 19:36:37 +05:30
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
Yury Delendik
bda1865fb8 Merge pull request #4520 from timvandermeij/annotation-icon-size
Force default icon size for Text annotations without appearance stream
2014-04-22 16:13:50 -05:00
p01
a66326cc54 Optimized JPX decoder ~6% faster 2014-04-22 15:34:26 +02:00
Yury Delendik
0845f90714 Merge pull request #4655 from Snuffleupagus/issue-4443
Add integer conversion to RGB colour values in convertToRgb in DeviceCmykCS (issue 4443)
2014-04-21 09:18:36 -05:00
Jonas Jenwald
ead5653cdc Add integer conversion to RGB colour values in convertToRgb in DeviceCmykCS (issue 4443) 2014-04-20 02:23:45 +02:00
fkaelberer
11f565547c Fix corrupted images #4649 2014-04-19 19:34:42 +02:00
Tim van der Meij
8d365b23ca Force default icon size for Text annotations without appearance stream 2014-04-18 21:11:56 +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
Yury Delendik
dea4bdac49 Merge pull request #4538 from fkaelberer/lessCopyingInJPX
Less copying in the JPX decoder
2014-04-16 08:52:50 -05:00
Samuel Chantaraud
7a4543e348 Prevent the annotationLayer to be recreated when the page is redrawn
This allows interactive annotations to keep their states after a resize
2014-04-16 08:13:54 -04: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
Yury Delendik
21f5dc22f3 Merge pull request #4616 from yurydelendik/jsdoc
Creates make.js code to build jsdoc.
2014-04-14 14:44:30 -05:00
Yury Delendik
2ca2c387fc Creates make.js code to build jsdoc. 2014-04-13 15:54:24 -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
Yury Delendik
36f1a1019d Merge pull request #4596 from brendandahl/seac-regression
Fix seac regression.
2014-04-11 13:43:12 -05:00
Brendan Dahl
6ac7f97dae Merge pull request #4599 from yurydelendik/issue4428
Adds then method to the RenderTask
2014-04-11 11:27:48 -07:00
Yury Delendik
8c0762a32a Adds then method to the RenderTask 2014-04-11 12:10:42 -05:00
Brendan Dahl
b242826d29 Fix seac regression. 2014-04-11 09:55:39 -07:00
Yury Delendik
175fbce0df Fixes documentation for PDFPage.render 2014-04-11 10:57:48 -05:00
Yury Delendik
88c1747cc3 Heuristics to recognize the unknown glyphs for toUnicode 2014-04-10 19:21:09 -05:00
Yury Delendik
2c61f60a4e Merge pull request #4577 from timvandermeij/reporter
Removes custom test/reporter.js from the lint process
2014-04-10 19:17:48 -05:00
Tim van der Meij
f463f96f35 Resolving new lint issues 2014-04-11 00:41:18 +02:00
Tim van der Meij
4e055169ed Fixes lint warning W004 in src/display/{api, canvas, pattern_helper}.js 2014-04-11 00:41:17 +02:00
Tim van der Meij
df91acf239 Fixes lint warning W004 in src/core 2014-04-11 00:41:08 +02:00
Tim van der Meij
10f80bda23 Fixes lint warning W004 in src/shared 2014-04-11 00:02:32 +02:00
Tim van der Meij
a71a87a821 Fixes lint warning W018: confusing use of exclamation mark 2014-04-11 00:02:31 +02:00
Yury Delendik
d61ee23afc Merge pull request #4556 from p01/OpaqueCanvas
Use Opaque Canvas
2014-04-10 16:54:26 -05:00
Yury Delendik
791c9a7b13 Relaxes murmurhash array requirement. 2014-04-10 07:55:08 -05:00
p01
b10aa18b3e Use Opaque Canvas where possible 2014-04-10 11:50:20 +02:00
Yury Delendik
9c84bfa416 Fixes text-selection example 2014-04-09 20:52:21 -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
f57c6935d7 Implements WebGL support 2014-04-03 08:36:22 -05:00
Yury Delendik
944219ad8a Balance smask process chunking 2014-04-03 08:34:21 -05:00
Yury Delendik
1e8d70af98 Prescales shading pattern packed data indices 2014-04-03 08:34:20 -05:00
Yury Delendik
5262e6f84f Set max size for the group 2014-04-03 08:34:20 -05:00
Yury Delendik
34f0f0962f Merge pull request #4539 from Snuffleupagus/issue-4537
Workaround for missing 'Rect' entry in annotation dictionaries (issue 4537)
2014-04-02 08:05:52 -05:00
Yury Delendik
20f6dedea7 Merge pull request #4512 from fkaelberer/cleanUpStringConversion
Clean up duplicate string conversion functions
2014-04-02 08:04:06 -05:00
Yury Delendik
dc0e60d103 Merge pull request #4535 from Snuffleupagus/issue-4484
Avoid drawing text when the font size is zero (issue 4484)
2014-04-02 07:23:43 -05:00
Yury Delendik
b97127aca2 Merge pull request #4542 from fkaelberer/typoInSpliceString
Fix typo/unused argument in fontloader.js->spliceString()
2014-03-31 09:37:26 -05:00
fkaelberer
4ee35b0d46 Fix typo/unused argument in fontloader.js->spliceString() 2014-03-31 14:48:23 +02:00
Jonas Jenwald
772df5e0cb Workaround for missing 'Rect' entry in annotation dictionaries (issue 4537) 2014-03-31 12:07:54 +02:00
Jonas Jenwald
08eb9a960a Avoid drawing text when the font size is zero (issue 4484) 2014-03-30 13:36:21 +02:00
fkaelberer
c978c026fa clean up string conversion functions 2014-03-27 13:01:43 +01:00
Jonas Jenwald
7e7b728b5d Assign non-zero width/height to all rectangles (issue 4260) 2014-03-26 22:29:04 +01:00
Yury Delendik
1d0286f6a1 Update util.js
Fixes comments for preprocessor
2014-03-26 13:19:10 -05:00
Yury Delendik
e80c6a8a75 Merge pull request #4466 from p01/Faster_1BPP_image_drawing
Faster 1 bpp image drawing
2014-03-26 10:32:05 -05:00
Yury Delendik
31f081ae17 Doesn't traverse cyclic references in Dict.getAll; reduces empty-Dict garbage 2014-03-26 09:07:38 -05:00
p01
4e6ebf2de0 Optimized putBinaryImageData for GRAYSCALE_1BPP
The following changes make putBinaryImageData 2.2x faster.

* Use a Uint32Array to draw whole pixels instead component by component

* Unroll the inner most loop

* Added lazy PDFJS.hasCanvasTypedArrays, PDFJS.isLittleEndian and compatibility
Uint32ArrayView for browsers using the old CanvasPixelArray
2014-03-26 14:05:59 +01: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
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
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
10af056f8f Reset annotation stream; reset page annotation promise 2014-03-03 16:46:05 -06: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
f8c11634d8 Merge pull request #4355 from nnethercote/sliced-masks
Put mask data to the canvas in small slices.
2014-03-02 18:40:38 -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
5c40d686d4 Merge pull request #4357 from d3x7r0/master
Allow a url to omit the protocol
2014-02-28 14:32:19 -06: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
Luís Nabais
220a8e4f0e Fix the combineUrl function
* Allow a url to omit the protocol and use the same protocol as the
* current page
2014-02-28 17:25:46 +00: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
1ec3c341cc Put mask data to the canvas in small slices. 2014-02-27 21:48:55 -08:00
Nicholas Nethercote
fdb7c218da Use a cache to minimize the number of Name objects. 2014-02-27 20:41:03 -08:00
Brendan Dahl
ce9e9e6ff7 Remove embeddedFontsUsed from API. 2014-02-27 14:06:03 -08:00
Yury Delendik
4763e3fe51 Merge pull request #4346 from p01/patch-2
Fill the initial JBIG2 buffer with 0xFF only if defaultPixelValue is set
2014-02-27 12:01:20 -06:00
Mathieu 'p01' Henri
e786649d2a Skip the Math.sqrt for clamped values in convertToRgb
No need to compute the square root of clamped values.
Only the values in the range ]0,1[ need to be processed.
2014-02-27 17:44:40 +01: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
Yury Delendik
4f0dccb15d Merge pull request #4340 from nnethercote/getRgb
Share ColorSpace.getRgb() between all sub-classes.
2014-02-26 09:20:18 -06:00
Nicholas Nethercote
c4fab2f234 Share ColorSpace.getRgb() between all sub-classes. 2014-02-26 05:51:29 -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
Manas (prometheansacrifice)
5a038b17a2 Trying to fix #4166 2014-02-23 23:46:14 +05:30
Yury Delendik
4c22afa380 Merge pull request #4300 from Snuffleupagus/issue-4296
Handle undefined url in LinkAnnotation
2014-02-18 09:00:55 -06: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
Jonas Jenwald
054f1e7e57 Handle undefined url in LinkAnnotation 2014-02-15 13:49:24 +01: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
Brendan Dahl
7be0924ac4 Merge pull request #4212 from yurydelendik/jank4181
Removes scrolling jank after bw image optimization
2014-01-30 10:14:27 -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
Yury Delendik
99bbad3219 Removes scolling jank after bw image optimization 2014-01-29 13:10:34 -06: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
3595c2c360 Respects current ctx scale for mesh pattern 2014-01-29 10:39:06 -06: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
Brendan Dahl
59526a7cf1 Merge pull request #4189 from yurydelendik/split-pattern
Refactors shared/pattern.js into core/ and display/
2014-01-27 17:40:22 -08:00
Yury Delendik
18515b8668 Using blob URL for open file 2014-01-27 13:11:02 -06:00
Yury Delendik
48436b6a0f Fixes smask backdrop 2014-01-26 22:35:56 -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
Yury Delendik
ffe42f580a Merge pull request #4178 from peerlibrary/worker-loader
Allow fake worker loader with namespaced bundling of PDF.js
2014-01-23 15:14:07 -08:00
Mitar
9e8c75a7ff Allow fake worker loader with namespaced bundling of PDF.js. 2014-01-23 14:33:17 -08: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
Yury Delendik
5a6862decc Merge pull request #4164 from Snuffleupagus/bug-957034-followup
Only check for line dash pattern when annotation has a visible border (bug 957034 followup)
2014-01-22 08:27:47 -08:00
Rob Wu
b35ced8c9e RFC 3986-compliant isValidUrl (protocol parsing)
To avoid misinterpreting URLs like "/File:wikipedia.png" as a
non-relative URLs.
2014-01-22 15:10:06 +01:00
Rob Wu
3c0b8073be Try to recover from bad URI value
See https://github.com/mozilla/pdf.js/issues/4159

BAD (http://cms.di.unipi.it/files/bbec7791fac20e98127c77531e4031912392156c/testo.pdf)
<< /S /URI /URI /v#2findex.php#2fFile:Logo.png >>

GOOD (http://www.ioi2012.org/wp-content/uploads/2011/12/practice.pdf):
<< /S /URI /URI (http://127.0.0.1/v/index.php/File:Logo.png >>

The URL should be wrapped in parentheses, but sometimes it isn't.
Consequently, the value is interpreted as a Name (because of the leading "/"),
and the resulting object is `{name: "v/index.php/File:Logo.png" }`. Obviously,
this is not a string, so `url.indexOf` throws an error here.
2014-01-22 15:09:29 +01:00
Jonas Jenwald
46ba8d10b0 Only check for line dash pattern when annotation has a visible border (bug 957034 followup) 2014-01-22 14:04:55 +01:00
Yury Delendik
2c34807fa3 Merge pull request #4149 from timvandermeij/document-properties
Document properties
2014-01-21 15:13:16 -08:00
Tim van der Meij
5f7ded4ff6 Document properties 2014-01-22 00:07:07 +01:00
Tim van der Meij
e612da2c3d Fixes this.reject regression 2014-01-22 00:01:43 +01: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
Yury Delendik
27573ddbad Minor fixes for the jsdocs and removing unused members. 2014-01-21 13:28:18 -06:00
Jonas Jenwald
575bdd8863 Fix loading of fonts with invalid encoding name entry (bug 859204 and 878112) 2014-01-21 02:03:28 +01:00
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
Brendan Dahl
ac91047f6d Merge pull request #4072 from yurydelendik/check-aa
Checks if subpixel-aa enabled before scaling the fonts
2014-01-17 10:45:17 -08:00
Yury Delendik
e7d16ba1a2 Merge pull request #4138 from nnethercote/chunk-ImageData
Do createImageData/putImageData in chunks, to save memory.
2014-01-17 08:55:24 -08: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
Nicholas Nethercote
4332c2fabe Do createImageData/putImageData in chunks, to save memory. 2014-01-16 17:20:20 -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
Yury Delendik
7e75a665d2 Checks if subpixel-aa enabled before scaling the fonts 2014-01-14 17:31:23 -06:00
Yury Delendik
1991efe4f0 Fixes type3 glyph compilation for bitpacked mask 2014-01-13 21:21:03 -06: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
Jonas Jenwald
7c616502c2 Fix annotation border issue (bug 957034) 2014-01-09 13:44:21 +01: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
Yury Delendik
4d01ff4079 Merge pull request #4062 from kkujala/calgray
calgray: fix getRgbBuffer problem
2014-01-07 10:54:09 -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
Kalervo Kujala
4c040dd955 calgray: fix getRgbBuffer problem
This fixes issue 3903.
2014-01-01 23:49:03 +02:00
Yury Delendik
cfb4e95521 Merge pull request #4025 from gjuggler/singlefile
Add singlefile build target
2013-12-20 05:44:40 -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
Gregory Jordan
1838ec0427 Add a singlefile target to build one concatenated file 2013-12-19 08:18:47 -07:00
Brendan Dahl
53549411b4 Add verbosity as an api setting. 2013-12-18 13:39:03 -08:00
Brendan Dahl
81cb24bff5 Merge pull request #3997 from Snuffleupagus/bug-946506
Fix loading of fonts that are not referenced by an object identifier
2013-12-18 09:49:14 -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
Michał Gołębiowski
ba2bbf0677 Correct a typo in getJavaScript function expression name. 2013-12-16 21:40:43 +01:00
Hengjie
b96811df25 Fix Blob creation in Safari 7.0.
It should be !== ‘undefined’ to avoid matching everything that Blob can be a type of
2013-12-06 02:10:41 +13: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
7563a9dfa0 Update docs on the workerSrc setting. 2013-11-18 14:37:01 -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
Benjamin Flesch
d0ae79c994 Fixed Typo 2013-11-18 11:58:38 +01:00
Jonas Jenwald
564ae6e4f7 Prevent updating the current transformation matrix when the stateStack is empty 2013-11-17 01:54:14 +01:00
Brendan Dahl
1f7bfc8cc7 Merge pull request #3904 from yurydelendik/mem-redux
Reduces amount of memory allocated during worker operations
2013-11-15 11:44:40 -08:00
Yury Delendik
d72c94f4a3 Comment fix: shedule -> schedule 2013-11-14 15:45:02 -08:00
Yury Delendik
b70def015f Merge pull request #3916 from brendandahl/remove-slow-commands
Remove slow commands check.
2013-11-14 15:43:09 -08: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
Brendan Dahl
3ac89aacd2 Remove slow commands check. 2013-11-13 13:41:25 -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
Jonas Jenwald
4ae3802484 Fix undefined group bounding box 2013-11-04 18:16:33 +01: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
Brendan Dahl
b34c6a4e02 Merge pull request #3861 from yurydelendik/pc-undef
Avoiding 'pc is undefined' failures
2013-10-31 16:23:35 -07:00
Yury Delendik
104d89856d Renames Symbol encoding name. 2013-10-31 10:33:23 -05:00
Brendan Dahl
f7b2b2e1f2 Merge pull request #3760 from jribbens/patch-1
Fix bug in api.js whereby fake workers didn't load the worker code
2013-10-30 10:47:38 -07:00
Brendan Dahl
f72fad9a1a Merge pull request #3744 from Snuffleupagus/enable-www-links
Enable links beginning with 'www.' even if no protocol is specified
2013-10-30 10:32:22 -07:00
Yury Delendik
83e17c2953 Avoiding 'pc is undefined' failures 2013-10-30 11:14:13 -05:00
Yury Delendik
19485c34c8 Merge pull request #3798 from brendandahl/intersect-bbox
Intersect group bounding box with the current canvas dimensions.
2013-10-25 13:42:56 -07:00
Brendan Dahl
d86c7e3ebf Merge pull request #3577 from kkujala/calgray
Implement initial CalGray support
2013-10-16 14:00:41 -07:00
Brendan Dahl
29269748c3 Merge pull request #3554 from fkaelberer/FasterJPXdecoding
Speed up JPX decoding on Firefox
2013-10-16 11:37:47 -07:00
Tim van der Meij
4fe1e41c35 Minor nit fixes for api.js 2013-10-16 12:07:27 +02:00
fkaelberer
f6841d1720 extract code to own method for faster JPX decoding 2013-10-16 09:47:03 +02:00
Jonas Jenwald
fb52144cfb Enable links beginning with 'www.' even if no protocol is specified 2013-10-16 00:12:23 +02:00
Brendan Dahl
7ebec6c5a4 Add missing jsdocs for PDFJS globals. 2013-10-15 13:41:49 -07:00
Kalervo Kujala
a5bf02573d Implement initial CalGray support
Gamma and Whitepoint are supported in this patch for CalGray.
Blackpoint is not supported.
2013-10-13 19:55:42 +03:00
Tim van der Meij
b9bceb4c4b Merge pull request #3764 from saebekassebil/fingerprint
Simplify get fingerprint() method
2013-10-11 11:55:37 -07:00
Brendan Dahl
29b89f1f1e Intersect group bounding box with the current canvas dimensions. 2013-10-10 12:41:11 -07:00
Brendan Dahl
6d1533293e Merge pull request #3416 from peerlibrary/noHTMLElement
instanceof HTMLElement does not work in jsdom node.js module.
2013-10-08 10:15:00 -07: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
Jon Ribbens
3ddb1720d9 Fix bug in api.js whereby fake workers didn't load the worker code
PDFJS does not work on Windows Safari, due to the lack of support for workers passing typed arrays. At some point, the code to set up the fake worker so that things work on Safari seems to have become broken and nobody noticed - it was just calling setupFakeWorker() without actually calling loadFakeWorkerFiles(). With this patch, the PDFJS works again on Windows Safari.
2013-10-02 17:22:33 +01: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
Mitar
940c77f6c9 instanceof HTMLElement does not work in jsdom node.js module. 2013-09-10 19:50:06 -07:00
Tim van der Meij
48a24a48c1 Fixing annotation icon issues 2013-09-06 21:00:02 +02:00
Tim van der Meij
14912b5a03 Annotation selection 2013-09-05 23:19:04 +02:00
Yury Delendik
8a4a6f498f Merge pull request #3553 from yurydelendik/reduce-scratch-canvases
Reduce max size for pattern and limit group canvases
2013-08-30 18:02:15 -07:00
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
feafb394d6 Use text widget annotation appearance stream if it is available. 2013-08-22 12:29:06 -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
Brendan Dahl
88557041e0 Merge pull request #3583 from yurydelendik/workerSrc
Specifies default workerSrc
2013-08-16 13:27:58 -07:00
Yury Delendik
b1c2c6b8c1 Merge pull request #3576 from Snuffleupagus/undefined-stream-length
Enable loading of PDFs with undefined or missing stream lengths
2013-08-16 11:14:35 -07:00
Yury Delendik
3f530c43a9 Specifies default workerSrc (if possible) 2013-08-16 11:33:54 -05:00
Yury Delendik
ba23a9e8f9 Adds initial telemetry probes 2013-08-16 09:53:05 -05:00
Yury Delendik
b8143b394c Reduce max size for pattern and limit group canvases 2013-08-16 09:50:48 -05:00
Jonas
628f4aaf81 Enable loading of PDFs with undefined or missing stream lengths 2013-08-16 16:32:40 +02:00
Yury Delendik
cb59b31927 IE9 does not need onreadystatechange 2013-08-16 09:19:42 -05:00
Brendan Dahl
5ecce4996b Split files into worker and main thread pieces. 2013-08-12 10:48:06 -07:00
Yury Delendik
e5cd027dce Merge pull request #3557 from timvandermeij/named-actions
Named actions implementation
2013-08-11 19:06:31 -07:00
Tim van der Meij
b2b922b866 Support for CMap GBKp-EUC-H 2013-08-11 10:35:56 +02:00
Tim van der Meij
75035a2970 Named actions implementation 2013-08-08 21:59:59 +02:00
Jonas
d90ad429f6 Enable loading of PDFs with invalid document information dictionaries 2013-08-08 19:40:54 +02:00
Yury Delendik
99db7a8dbc Merge pull request #3520 from brendandahl/single-cs
Create only one instance of each device colorspace.
2013-08-07 11:37:49 -07:00
Yury Delendik
44184a1d5b Merge pull request #3549 from brendandahl/uhandled-stack
Dump the stack with unhandled rejections.
2013-08-07 07:05:39 -07:00
Brendan Dahl
5afef1874c Fix destroy logic for when there are multiple render requests. 2013-08-06 17:35:54 -07:00
Yury Delendik
6736cca8c4 Merge pull request #3542 from fkaelberer/FasterJBIG2decode
Faster JBIG2 decoding for Firefox
2013-08-06 13:08:19 -07:00
Brendan Dahl
97a40252dc Dump the stack with unhandled rejections. 2013-08-06 11:40:35 -07:00
Yury Delendik
b946762e6f Merge pull request #3539 from Snuffleupagus/issue-3538
Prevent link borders from being drawn if their width is undefined
2013-08-06 11:27:42 -07:00
Brendan Dahl
d85e38d629 Fix intermittent blank page on fast zoom. 2013-08-05 16:34:57 -07:00
Jonas
688cea0758 Prevent link borders from being drawn if their width is undefined 2013-08-04 23:41:52 +02:00
fkaelberer
0c10b76aa3 Faster JBIG2 decoding for Firefox 2013-08-04 00:42:37 +02:00
Brendan Dahl
efa8f561a5 Move chars to glyphs conversion to the worker. 2013-07-31 14:01:55 -07:00
Yury Delendik
8d386a5368 Merge pull request #3461 from brendandahl/incremental-rendering2
Incrementally render by sending the operator list by chunks as they're ready.
2013-07-31 13:46:31 -07:00
Brendan Dahl
bf72bc94e2 Incrementally render by sending the operator list by chunks as they're ready. 2013-07-31 11:17:36 -07:00
Yury Delendik
41c7c6f351 Fixing CFF checksum for test font 2013-07-31 10:40:51 -05:00
Brendan Dahl
55d6ede1da Create only one instance of each device colorspace. 2013-07-30 15:35:35 -07:00
Yury Delendik
f7d2a09bf8 Merge pull request #3506 from brendandahl/base-transform
Paint patterns relative to content base transformation.
2013-07-30 14:54:36 -07:00
Yury Delendik
34177b01a4 Fixes glyph 0 in CIDTypeFont2 2013-07-29 15:24:32 -05:00
Brendan Dahl
2aecbe874e Paint patterns relative to content base transformation. 2013-07-22 14:52:44 -07:00
Yury Delendik
95bb727931 Merge pull request #3494 from SSk123/master
Fixing the offset of vertical CJK text
2013-07-20 10:26:13 -07:00
Srishti
6c3e5e5d92 Fixing the offset of vertical CJK text 2013-07-20 20:56:33 +05:30
Yury Delendik
0dd0e2ee64 Merge pull request #3477 from brendandahl/font-loading
Use dummy font for testing when pdf fonts are loaded.
2013-07-18 07:01:55 -07:00
Brendan Dahl
a5cc8d1ec3 Merge pull request #3464 from yurydelendik/bug889327
Fixes ASCIIHex decoding
2013-07-16 10:32:35 -07:00
Brendan Dahl
f04dbcaf2e Use dummy font for testing when pdf fonts are loaded. 2013-07-15 15:37:03 -07:00
Brendan Dahl
6c6719efeb Merge pull request #3436 from yurydelendik/jpeg-cmyk
Removes browser decoding optimization for JPEG CMYK
2013-07-12 17:54:12 -07:00
Yury Delendik
28778e6c1b Rejects incorrect url in download manager 2013-07-12 13:38:49 -05:00
Brendan Dahl
077f08fa6d Merge pull request #3456 from brendandahl/cap-image-size
Limit image size to 1024*1024 for b2g.
2013-07-11 11:44:51 -07:00
Yury Delendik
8ee9db45ef Fixes ASCIIHex decoding 2013-07-11 13:33:29 -05:00
Brendan Dahl
5dcc4cd1b4 Merge pull request #3424 from yurydelendik/lookChar
lookChar refactoring
2013-07-11 09:08:59 -07:00
Brendan Dahl
bcc085ec52 Limit image size to 1024*1024 for b2g. 2013-07-10 09:52:37 -07:00
Brendan Dahl
d71948038f Merge pull request #3439 from yurydelendik/smask-preblend
Takes SMask's preblending in account
2013-07-09 13:26:44 -07:00
Yury Delendik
e67b9a7f17 Merge pull request #3441 from brendandahl/less-cache
Remove caching of stream data and fix object loader for streams.
2013-07-09 13:01:54 -07:00
Rob Wu
cc04cf5d1f Configurable IMAGE_DIR for annotations
The Chrome extension activates PDF.js by inserting the script tags
in a document whose URL and location origin is identical to the PDF
file.
Because of this, the path './images/' was resolved relatively to the
location of the PDF file instead of the extension.

To fix this, the IMAGE_DIR constant is moved outside the local scope,
to allow extensions/chrome/insertviewer.js to override the value.

Originally, the IMAGE_DIR variable was a global variable, but commit
f8f4b3f45d moved the global variable
to the local scope, causing the extension to malfunction.

Impact: low, the only consequence is that some rarely used images
were not visible.

Trivial test:
At the center of page 2, the annotation icon
(images/annotation-comment.svg) should be visible:
http://linorg.usp.br/CTAN/macros/latex/contrib/pdfcomment/doc/pdfcomment.pdf
2013-07-09 16:24:25 +02:00
Brendan Dahl
b0f78609b3 Merge pull request #3386 from yurydelendik/ttf-refactor
Refactoring of TrueType code and implementation of OpenType font repairing
2013-07-08 22:11:31 -07:00
Yury Delendik
19e8f2f059 lookChar refactoring 2013-07-08 21:25:55 -05:00
Brendan Dahl
09aafa830b Remove caching of stream data and fix object loader for streams. 2013-07-03 14:29:38 -07:00
Yury Delendik
419bee1314 Takes SMask's preblending in account 2013-07-02 14:27:06 -05:00
Yury Delendik
5e5b66f688 Removes browser decoding optimization for JPEG CMYK 2013-07-02 09:46:14 -05:00
Yury Delendik
3461d02d05 Enforces trailing spaces 2013-07-01 11:25:46 -05:00
Yury Delendik
121c183db1 Fail if other font types are found 2013-07-01 08:53:28 -05:00
Yury Delendik
6dc4b10b40 Implements reparing of CFF table 2013-07-01 08:53:28 -05:00
Yury Delendik
ba87d2fe11 Merge pull request #3373 from SSk123/master
rotation causes textLayer to get messed up
2013-06-29 17:24:12 -07:00
Srishti
21a8d62624 Fixes Text rotation issue #2095 2013-06-30 03:52:30 +05:30
Brendan Dahl
4e831233a4 Merge pull request #3408 from brendandahl/fix-multiresolution
[B2G] UI tweak for multi-resolution devices support on B2G
2013-06-28 10:11:18 -07:00
Yury Delendik
b421b504c3 Merge pull request #3397 from brendandahl/notdef
Fix notdef typo.
2013-06-27 20:18:34 -07:00
Brendan Dahl
f06dadab3b Merge pull request #3376 from yurydelendik/bad-pdfs
Misc fixes for corrupted PDFs
2013-06-27 15:33:06 -07:00
Brendan Dahl
a0528a5ea8 Merge pull request #3375 from yurydelendik/bug867484
Fixes missing compressed object detection
2013-06-27 13:36:53 -07:00
Brendan Dahl
07fb66dcb4 Merge pull request #3391 from brendandahl/font-cache
Cache fonts by reference.
2013-06-27 13:33:09 -07:00
Brendan Dahl
6d34d422ae Fix notdef typo. 2013-06-26 09:53:51 -07:00
Yury Delendik
8561d2646b Merge pull request #3393 from brendandahl/no-resources
Handle annotations with no resources.
2013-06-25 16:40:03 -07:00
Brendan Dahl
510387f551 Merge pull request #3378 from yurydelendik/aes-padding
Removes AES padding
2013-06-25 15:25:10 -07:00
Brendan Dahl
b22bc2daa5 Merge pull request #3374 from yurydelendik/ei-search
Improves search of EI (end of inlined image)
2013-06-25 15:19:41 -07:00
Yury Delendik
c099d6ba94 Removes AES padding 2013-06-25 16:47:44 -05:00
Brendan Dahl
e62ab300f1 Handle annotations with no resources. 2013-06-25 14:22:03 -07:00
Brendan Dahl
a8ad07ccbf Cache fonts by reference. 2013-06-25 10:33:53 -07:00
Yury Delendik
04a7b036ec Preserving PDFJS in the generic builds 2013-06-24 20:55:12 -05:00
Yury Delendik
df352b375b Refactoring TTF repair logic 2013-06-24 17:21:41 -05:00
Jonas
d206a1ccdc Fix regression from issue 3312 2013-06-24 17:21:12 +02:00
Yury Delendik
004bd848c8 Merge pull request #2956 from vyv03354/cmap4_fpgm
Add more sanitizations to TT font programs
2013-06-23 12:33:18 -07:00
Yury Delendik
aac0f80aad #1277: ignoring error for bad "empty" block 2013-06-22 14:07:04 -05:00
Yury Delendik
4d9ee7b530 #2098: scanning for stream length when it's incorrect 2013-06-22 13:21:19 -05:00
Yury Delendik
c3096d98d4 #3248: fixes hp scanner's bad XRef 2013-06-22 12:06:37 -05:00
Yury Delendik
c3030dee8f Bug 861638: ignoring double-EI 2013-06-22 11:56:58 -05:00
Yury Delendik
0d229351f3 Bug 874851: ignoring bad stream length 2013-06-22 11:56:57 -05:00
Yury Delendik
23ea9d879d Show fallback bar on unhandled rejections 2013-06-21 19:13:26 -05:00
Yury Delendik
7bef903411 Fixes missing compressed object detection 2013-06-21 18:04:31 -05:00
Yury Delendik
c68d125f17 Improves search of EI (end of inlined image) 2013-06-21 17:03:03 -05:00
Yury Delendik
df6fd387df Bug 879211: ignoring bad document outline reference 2013-06-21 15:42:55 -05:00
benbro
ce218d021f Check that the progressCallback is defined before calling it 2013-06-19 18:25:09 -05:00
Yury Delendik
ee1a4cd449 Merge pull request #3354 from fkaelberer/fasterType3Glyph
Faster type3 glyph outlines
2013-06-12 07:04:55 -07:00
fkaelberer
2cdd8de25a compileType3Glyph cleanup 2013-06-11 21:01:10 +02:00
fkaelberer
220627b135 Faster type3 glyph outlines 2013-06-11 15:40:26 +02:00
Yury Delendik
c19f0c4127 Merge pull request #3343 from brendandahl/remove-timeout
Removed unneeded timeout.
2013-06-10 12:48:55 -07:00
Brendan Dahl
7764dd95c0 Remove progress events. 2013-06-06 15:48:54 -07:00
Brendan Dahl
b189749b4a Removed unneeded timeout. 2013-06-06 09:16:28 -07:00
Brendan Dahl
ae1f973204 Use A+ spec compatible promises. 2013-06-05 12:28:31 -07:00
Brendan Dahl
01ce3d056c Load all resources before getOperatorList/getTextContent. 2013-06-04 17:57:52 -07:00
benbro
fc7c1fb6fd Fix check for instanceof Uint8Array in IE9
Fix #2687 and #2617
2013-06-05 03:12:30 +03:00
Brendan Dahl
2e130903ef Merge pull request #3312 from yurydelendik/no-getimagedata
Removes getImageData from canvas.js
2013-06-03 10:44:56 -07:00
Yury Delendik
7b6d247fbc Merge pull request #3314 from brendandahl/annotation-form-tx
Annotation form tx
2013-06-01 17:40:33 -07:00
Yury Delendik
339dc65082 Removes getImageData from canvas.js 2013-06-01 08:41:30 -05:00
Brendan Dahl
3b86ebeacb Merge pull request #3310 from yurydelendik/ignore-bad-downloads
Skips failed-to-download tests
2013-05-30 21:47:33 -07:00
Yury Delendik
702da7f3ea Skips failed-to-download tests 2013-05-30 17:58:48 -05:00
Brendan Dahl
4911c9ee67 Merge pull request #3275 from timvandermeij/lower-warning-to-info
Lowering warning to info
2013-05-30 13:42:21 -07:00
Yury Delendik
b281c91c19 Merge pull request #3307 from yurydelendik/annotation-link-border
Annotation link border
2013-05-29 20:56:15 -07:00
Yury Delendik
d8e3f1da72 Adds missing link-annotation-border file and lint error 2013-05-29 22:05:53 -05:00
Brendan Dahl
59f2e71738 Merge pull request #3268 from yurydelendik/issue-3207
Fixes reading unordered Subrs in Type1
2013-05-29 14:09:13 -07:00
Brendan Dahl
30d55d9c14 Merge pull request #3294 from yurydelendik/status0
Allows status be 0 for non-HTTP protocols
2013-05-29 12:15:13 -07:00
Yury Delendik
10ffc8bc99 Merge pull request #3305 from yurydelendik/annotation-clear-state
Reset canvas state before drawing annotations
2013-05-29 04:59:40 -07:00
Yury Delendik
234812a807 Fixing appendToOperatorList 2013-05-29 06:23:46 -05:00
Mack Duan
fc5b7dbb1f Add support for form text annotations 2013-05-28 17:39:23 -05:00
Mack Duan
a394c1bac6 Support borders for link annotations 2013-05-28 17:18:26 -05:00
Yury Delendik
336aa38f4a Reset canvas state before drawing annotations
Conflicts:
	src/core.js
2013-05-28 17:12:35 -05:00
Yury Delendik
77e7981c69 Allows status be 0 for non-HTTP protocols 2013-05-22 13:11:50 -05:00
Brendan Dahl
efde079417 Merge pull request #3195 from yurydelendik/no-filltext
Drawing without fillText; refactoring ADD_TO_PATH
2013-05-21 16:53:42 -07:00
Brendan Dahl
1fa354d4d9 Merge pull request #3246 from yurydelendik/outline-type3
Outlines Type3 glyphs
2013-05-21 13:24:58 -07:00
Yury Delendik
9d588907a9 Outlines type3 glyph 2013-05-20 13:02:04 -05:00
Tim van der Meij
d22ea7edc4 Lowering warning to info 2013-05-17 21:37:20 +02:00
Rex Lee
3e480f84a6 [B2G] UI tweak for multi-resolution devices support on B2G 2013-05-17 17:52:04 +08:00
Yury Delendik
8e298acb67 Fixes reading unordered Subrs in Type1 2013-05-16 11:21:47 -05:00
Yury Delendik
9b4ca246e4 Ensure we don't modify the original PDF data when sanitizing TrueType 2013-05-16 08:56:22 -05:00
Yury Delendik
0e133f0090 Drawing without fillText; refactoring ADD_TO_PATH 2013-05-15 15:57:27 -05:00
Brendan Dahl
5193cf7ef8 Merge pull request #3203 from eug48/master
Fix for issue #2881
2013-05-14 15:56:32 -07:00
Yury Delendik
67eb3bbc68 Merge pull request #3239 from brendandahl/scope-fix
Bind chunk promises to avoid scope problems.
2013-05-10 10:18:34 -07:00
Brendan Dahl
328cfd0246 Bind chunk promises to avoid scope problems. 2013-05-10 09:45:52 -07:00
eug48
c195daf85e Remove stream.parameters which wasn't being set consistently. Fixes issue #2881. 2013-05-10 13:26:28 +10:00
Brendan Dahl
f07564b07f Merge pull request #3233 from yurydelendik/onpassword
Fixes password for range request loading
2013-05-09 17:28:16 -07:00
Yury Delendik
61a7738a5d Fixes password for range request loading 2013-05-09 19:18:31 -05:00
Brendan Dahl
9d8985f41e Merge pull request #3209 from yurydelendik/remeasure
Forces to measure "standard" fonts
2013-05-09 14:00:09 -07:00
Yury Delendik
09a4352e8c Rejects loading when data is not available for checkHeader 2013-05-09 10:54:53 -05:00
Yury Delendik
cddb5ea0bb Merge branch 'fallback-fix'
Conflicts:
	src/core.js
2013-05-09 08:44:42 -05:00
Yury Delendik
d92c3f8913 Merge pull request #2988 from mduan/annotation-refactor-tx
Refactor annotation code
2013-05-09 06:09:14 -07:00
Brendan Dahl
01cdd68799 Merge pull request #3201 from yurydelendik/fillrule
Adds fill('evenodd') as alternative for mozFillRule
2013-05-08 13:15:04 -07:00
Brendan Dahl
3dadde52dc Propagate promise rejections so we show the fallback.
-Adds rejection support to Promise.All.
-Makes promise.then() callback optional.
2013-05-08 11:55:29 -07:00
Mack Duan
da2c4d58ec Do not show appearance stream for text annotations 2013-05-07 22:07:30 -04:00
Mack Duan
f8f4b3f45d Refactor code for annotations 2013-05-07 14:22:13 -04:00
Yury Delendik
9278abe738 Forces to measure "standard" fonts 2013-05-06 10:43:29 -05:00
Yury Delendik
abc890a9be Adds fill('evenodd') as alternative for mozFillRule 2013-05-03 19:42:38 -05:00
Yury Delendik
a081c2d0f1 Merge pull request #3124 from mduan/issue3118-1
Update loading bar during onprogress of range requests
2013-05-03 16:51:32 -07:00
Yury Delendik
ea6333028a Merge pull request #3187 from brendandahl/cid-glyph-selection
Fix glyph selection for CID fonts that don't actually have CID font files.
2013-05-03 16:21:35 -07:00
Yury Delendik
f87de639af Merge pull request #3197 from brendandahl/type3-regression
Fix type3 font loading regression.
2013-05-03 14:43:28 -07:00
Yury Delendik
90f8f4484c Rounding floats in CFF 2013-05-03 15:42:08 -05:00
Brendan Dahl
c5c2f7a773 Fix type3 font loading regression. 2013-05-03 11:13:45 -07:00
Brendan Dahl
e128f8bb47 Fix glyph selection for CID fonts that don't actually have CID font files. 2013-05-01 16:42:25 -07:00
vyv03354
cc5cba8bec Strip TT programs if it's invalid 2013-05-02 06:07:46 +09:00
Yury Delendik
78ad4d4eaf Merge pull request #3183 from brendandahl/ignore-bad-dicts
Ignore malformed dictionary entries.
2013-04-30 17:22:07 -07:00
Brendan Dahl
beec8abd2a Merge pull request #3104 from vyv03354/issue2907
Increase minimum font size to 16px to avoid conflict with browser's mini...
2013-04-30 15:32:17 -07:00
Brendan Dahl
cec200a664 Ignore malformed dictionary entries. 2013-04-30 15:29:25 -07:00
Yury Delendik
796023fca5 Merge pull request #3007 from brendandahl/delta-encode
Fix encoding of type1 private dictionary arrays.
2013-04-30 12:47:56 -07:00
Yury Delendik
6b33422418 Merge pull request #3179 from yurydelendik/pr-3171
Cont of #3171, Reusing pattern canvas fixes
2013-04-30 10:46:48 -07:00
Yury Delendik
3c0705d0ee Merge pull request #3178 from yurydelendik/issue3156
Cherry-pick of #3157
2013-04-30 10:23:24 -07:00
Yury Delendik
d7808b0db6 Fixing pattern canvas transform for chrome 2013-04-30 12:01:01 -05:00
Yury Delendik
65a884c421 Merge pull request #3075 from brendandahl/font-encoding
Fix priority of which font encoding is used.
2013-04-30 09:40:52 -07:00
Yury Delendik
34eed81b46 Merge branch 'master' into issue3156 2013-04-30 11:09:03 -05:00
Yury Delendik
b52274d2eb Merge pull request #3102 from brendandahl/sub-matrix
Normalize CFF CID sub matrices to work on windows.
2013-04-29 20:09:10 -07:00
Yury Delendik
2896c48e29 Merge pull request #3053 from vyv03354/fpgm
Improve TT font program parser
2013-04-29 12:01:18 -07:00
Yury Delendik
bc57221b9f Merge pull request #3086 from brendandahl/less-warn
Lower two common warnings to info.
2013-04-29 10:21:23 -07:00
Yury Delendik
341d37ef97 Merge pull request #3151 from mduan/issue3149
Remove redundant log in network.js
2013-04-29 10:20:03 -07:00
Yury Delendik
2a7f6d6582 Merge pull request #3082 from brendandahl/min-canvas-width
Use at least 1x1 pixel canvas for groups.
2013-04-29 10:13:54 -07:00
Kalervo Kujala
8ac0690913 Use only one temp canvas for patterns
This fixes a regression #3153 which was introduced by #2177.
The temp vanvases that are being created are not being re-used, which lead
to high memory use.
2013-04-28 23:56:29 +03:00
Mack Duan
1d48e9c201 Handle server returning 200 for range request 2013-04-25 16:20:03 -07:00
Mack Duan
0f4fe7f762 Remove redundant log in network.js 2013-04-24 10:38:55 -07:00
Mack Duan
d69f14328c Use same obj/font id counter for all partial evaluators on page 2013-04-22 16:50:30 -07:00
Mack Duan
c5084d9e8a Update loading bar during onprogress of range requests 2013-04-22 08:46:58 -07:00
Mack Duan
e0d4b322cf Only perform range requests for identity Content-Encoding 2013-04-22 08:36:54 -07:00
Yury Delendik
8e4d9e9aa0 Merge pull request #3126 from mduan/issue3118-2
Clamp end of range request to be the length of the file
2013-04-20 11:20:31 -07:00
Mack Duan
fdd092bb92 Clamp end of range request to be the length of the file 2013-04-19 16:27:39 -07:00
Mack Duan
30e127d848 Do not cache content stream 2013-04-19 14:07:15 -07:00
Brendan Dahl
49ff029f5f Merge pull request #2719 from mduan/chunked
Implement progressive loading of PDFs
2013-04-18 13:56:10 -07:00
Mack Duan
2ce00279be Address more of brendan's comments 2013-04-18 10:41:33 -07:00
Mack Duan
27fe18e8c6 Address brendan's comments 2013-04-18 00:16:53 -07:00
Mack Duan
dbccbaaa27 Make getOperatorList() calls independent and merge queues at end 2013-04-18 00:16:41 -07:00
Mack Duan
6b2c6fc223 Changes to regression tests for progressive loading 2013-04-18 00:16:36 -07:00
Brendan Dahl
15a9ab34d3 Lower two common warnings to info. 2013-04-16 15:45:29 -07:00
vyv03354
0ee757e22d Increase minimum font size to 16px to avoid conflict with browser's minimum font size settings 2013-04-17 00:18:07 +09:00
Brendan Dahl
3cba5a0c8a Normalize CFF CID sub matrices to work on windows. 2013-04-15 16:14:07 -07:00
Mack Duan
ef423ef30c Implement progressive loading of PDFs 2013-04-12 16:13:22 -07:00
terrafrost
78dde0efab fix grammar in comment
migth -> might
want -> wants
2013-04-12 11:06:49 -05:00
Brendan Dahl
ecb04c8bbe Use at least 1x1 pixel canvas for groups. 2013-04-11 11:19:42 -07:00
Brendan Dahl
0f41b2db44 Fix priority of which font encoding is used. 2013-04-10 09:51:06 -07:00
vyv03354
e39c34584a Refactor 'cmap' generation 2013-04-10 01:39:13 +09:00
Brendan Dahl
b898935eb0 Merge pull request #3047 from mduan/remove-display-promise
Remove initialization code that's no longer used
2013-04-09 09:35:12 -07:00
Yury Delendik
a017e105cc Merge pull request #3045 from mduan/remove-gfx
Remove code that is not being used
2013-04-06 09:42:06 -07:00
vyv03354
b697001ce4 Improve TT font program parser 2013-04-06 15:22:42 +09:00
Mack Duan
6beb33c25b Remove initialization code that's no longer used 2013-04-04 16:37:27 -07:00
Mack Duan
db4b199efd Remove redundant getOperatorList() 2013-04-04 13:41:52 -07:00
Mack Duan
96167d2ce6 Remove code that is not being used 2013-04-04 12:24:06 -07:00
Yury Delendik
9c76ed0a35 Fixes Dict_assignXref type 2013-04-03 16:42:23 -05:00
Yury Delendik
ab2cf877e8 Merge pull request #3038 from brendandahl/lab-cs
Fix lab colorspace decoding and rgb conversion.
2013-04-03 13:55:13 -07:00
Brendan Dahl
18d2bb1b5e Merge pull request #1545 from yurydelendik/revert-Dict-xref-hide
Revert Dict xref hiding
2013-04-03 13:11:28 -07:00
Yury Delendik
9699dd16bf Disables cloning of the Dict 2013-04-03 13:01:45 -05:00
Brendan Dahl
b84cbfe451 Merge pull request #3019 from yurydelendik/cmyk-3
Speeds up the CMYK color conversion
2013-04-03 10:39:46 -07:00
Brendan Dahl
09b52d7663 Fix lab colorspace decoding and rgb conversion. 2013-04-03 10:36:09 -07:00
Yury Delendik
bb36833b4e Merge pull request #2947 from brendandahl/decoding
Fix where image component decoding takes place.
2013-04-02 08:54:03 -07:00
Yury Delendik
5839fef84c Merge pull request #2945 from mduan/annotation
Add support for appearance streams in annotations
2013-04-01 19:42:17 -07:00
Yury Delendik
bb7ff61964 Merge pull request #3003 from brendandahl/type1-parser
Restructure/rewrite of the Type1 font parser.
2013-04-01 19:06:11 -07:00
Yury Delendik
c48a689352 Speeds up the CMYK color conversion 2013-04-01 12:21:20 -05:00
Yury Delendik
74b0a51cee Merge pull request #3009 from brendandahl/backdrop
Use white backdrop when possible.
2013-04-01 08:15:30 -07:00
Brendan Dahl
bd7eba0d46 Add back mozOpaque. 2013-03-29 14:25:10 -07:00
Yury Delendik
9b0714ac45 Merge pull request #2914 from mduan/chunked-viewer-only
Changes to viewer to support progressive loading
2013-03-29 14:21:31 -07:00
Brendan Dahl
ec311f303b Use white backdrop when possible. 2013-03-29 13:26:25 -07:00
Mack Duan
4782a3acb9 Changes to viewer to support progressive loading 2013-03-29 11:51:10 -07:00
Brendan Dahl
82eb374fad Fix encoding of type1 private dictionary arrays. 2013-03-28 15:05:03 -07:00
Brendan Dahl
71d257ce5b Merge pull request #2652 from yurydelendik/issue-215-1
Fixes cmap sanitizer for #215
2013-03-27 18:46:09 -07:00
Brendan Dahl
028151d13a Restructure/rewrite of the Type1 font parser. 2013-03-27 17:17:01 -07:00
Yury Delendik
931ce96be8 Merge pull request #2978 from brendandahl/color-maps
Create color maps for single component color spaces.
2013-03-27 05:29:45 -07:00
vyv03354
7ad3e46ca8 Correct a typo in DeviceRgbCS_getRgbBuffer 2013-03-24 17:51:24 +09:00
Brendan Dahl
fea4507c24 Create color maps for single component color spaces. 2013-03-20 17:59:28 -07:00
Mack Duan
79831d7ec5 Support rendering appearance streams for annotations 2013-03-19 12:51:28 -07:00
Yury Delendik
0d54347d57 Adds unicode conversion for js code 2013-03-19 08:42:04 -05:00
Yury Delendik
6809f254eb Protection from empty/invalid root or kid in NameTree 2013-03-19 08:36:12 -05:00
Yury Delendik
783945e4a1 Merge pull request #2954 from vyv03354/msjfonts
Add MS built-in Japanese fonts to nonStdFontMap
2013-03-18 16:33:19 -07:00
Yury Delendik
772c7894fb Merge pull request #2959 from vyv03354/cmap4
Always separate the last segment of the format 4 'cmap' subtable
2013-03-18 15:28:39 -07:00
Yury Delendik
6cb762246a Merge pull request #2936 from brendandahl/trans-groups2
Add basic support for transparency groups.
2013-03-18 14:48:37 -07:00
vyv03354
538894f115 Always separate the last segment of the format 4 'cmap' subtable 2013-03-18 22:06:29 +09:00
vyv03354
9bcd6bb280 Add MS built-in Japanese fonts to nonStdFontMap 2013-03-17 09:45:23 +09:00
vyv03354
9e43ad0673 Implement "B5pc-H" CMap 2013-03-16 19:46:10 +09:00
Brendan Dahl
93b99e7352 Fix where image component decoding takes place. 2013-03-14 14:06:44 -07:00
Brendan Dahl
725cd5407f Add basic support for transparency groups. 2013-03-12 17:20:38 -07:00
vyv03354
99165fb702 Fix the calculation of default vertical metrics
Fixes bug 849627 and 849628.
The current code was obviously wrong per the spec 9.7.4.3.
2013-03-13 02:08:37 +09:00
Brendan Dahl
1f9b28f3f6 Merge pull request #2913 from yurydelendik/combine-os2valid
Removes isOS2Valid; resets fsType
2013-03-11 15:50:22 -07:00
Brendan Dahl
523aa9c152 Add support for blend modes. 2013-03-11 10:23:47 -07:00
Yury Delendik
0ebe91c50b Merge pull request #2912 from brendandahl/empty-private-dict
Use empty private dictionaries instead of removing them.
2013-03-08 13:37:00 -08:00
Yury Delendik
ad3390c24c Removes isOS2Valid; resets fsType 2013-03-08 14:11:12 -06:00
Brendan Dahl
7050a54a4e Use empty private dictionaries instead of removing them. 2013-03-08 11:07:36 -08:00
Ofir
549a35e67f Make sure IE9 gets integers because grad.addColorStop fails with floats 2013-03-08 17:26:10 +02:00
Brendan Dahl
0e14f0ccae Merge pull request #2818 from yurydelendik/seac
Seac support for Windows
2013-03-05 09:02:54 -08:00
Yury Delendik
8ee193892b Seac support for Windows 2013-03-04 12:37:59 -06:00
vyv03354
999cac517a Skip FontName vs. BaseFont check for Type 3 fonts
Type 3 font dict does not have a BaseFont entry (see PDF Reference 9.6.5 Table 112). This check is actually causing false positives:
http://math.berkeley.edu/~daisuke/Bonn2013.pdf
http://math.berkeley.edu/~daisuke/BVSOL.pdf
http://www.ieice-hbkb.org/files/06/06gun_02hen_04.pdf
http://www.asahi-net.or.jp/~td6i-st/fuku-cathedral/new/gat.pdf
2013-03-04 05:24:43 +09:00
Yury Delendik
4c061cdbf4 Merge pull request #2875 from vyv03354/tounicode
Convert CID fonts using "ToUnicode" CMap if available
2013-03-03 12:04:42 -08:00
vyv03354
9310e852db Pass commonObjs to TilingPattern constructor
Broken example: http://www.eiken.or.jp/eiken/apply/private/flow/pdf/ichiji.pdf
2013-03-03 21:36:44 +09:00
vyv03354
6c3d66fb46 Convert CID fonts using "ToUnicode" CMap if available 2013-03-03 15:00:49 +09:00
Yury Delendik
32938d3a66 Merge remote-tracking branch 'mozilla/master' into cidtype2
Conflicts:
	test/test_manifest.json
2013-03-02 16:09:00 -06:00
Yury Delendik
de9f0a9435 Merge pull request #2865 from vyv03354/90pv
Implement "90pv" CMap
2013-03-02 09:31:07 -08:00
Yury Delendik
cb871774d7 Merge pull request #2868 from yurydelendik/issue-2867
Fixes NameTree reading
2013-03-02 06:21:36 -08:00
Yury Delendik
2bdfc0727f Fixes NameTree reading 2013-03-02 08:00:17 -06:00
vyv03354
96f6fcf8ba Convert cid to Unicode when rebuilding Type 2 CID fonts encoded with non-Identity CMap 2013-03-02 21:25:35 +09:00
vyv03354
c9ee7b9bfa Implement "90pv" CMap 2013-03-02 11:02:35 +09:00
Martin Koegler
63c9685ea7 Fix decrypting of arrays 2013-03-01 15:39:12 +01:00
Brendan Dahl
5c43565404 Hack to support automatic printing from pdf javascript. 2013-02-28 15:29:07 -08:00
Kalervo Kujala
6f65fef64b Sharpen the patterns.
Draw the patterns with the intended resolution instead of scaling
afterwards. Scaling leads to unclear patterns.

Also:
Make TilingPattern function for paintType switch case.
Make TilingPattern function for bbox clipping.
Make TilingPattern functions for scaling code.
Increase MAX_PATTERN_SIZE to 4096.
Add Singular Value Decomposition function.
2013-02-28 22:32:43 +02:00
Yury Delendik
d97c5a2b14 Merge pull request #2844 from vyv03354/issue2842
Fix spacing calculation of TJ operator
2013-02-28 09:01:29 -08:00
Yury Delendik
5b195ea7e0 Merge pull request #2809 from divergentdave/TJ_text_selection
Fix text selection for oddly-spaced TJ commands (Issue #2808)
2013-02-28 08:36:02 -08:00
Yury Delendik
e4161f2789 Merge pull request #2826 from vyv03354/83pv
Implement "83pv" CMap and fix CIDFontType0 handling
2013-02-28 08:16:33 -08:00
Yury Delendik
c001aecddc Merge pull request #2836 from sgtatham/master
Fix handling of inline annotation dictionaries
2013-02-28 07:27:55 -08:00
vyv03354
1579c4778b Fix spacing calculation of TJ operator 2013-03-01 00:27:48 +09:00
Mack Duan
70f788a2a5 Merge pull request #2838 from allstarschh/issue_2829_test
Add Support for big5 encoding.
2013-02-27 17:53:36 -08:00
allstars.chh
27d114bd11 Add support for big5 encoding. 2013-02-28 08:39:27 +08:00
Simon Tatham
ff4f7f1028 Use fetchIfRef to get annotation dictionaries.
Fixes failure to display annotations in PDFs where the annotation
dicts are inlined in the page objects rather than in subobjects.
2013-02-27 22:00:55 +00:00
Brendan Dahl
06a49b295a Merge pull request #2786 from yurydelendik/jbig2-len
JBIG2: finds end of a segment when length is not specified
2013-02-27 10:05:52 -08:00
vyv03354
4413262976 Implement "83pv" CMap and fix CIDFontType0 handling 2013-02-28 00:44:38 +09:00
David Cook
355efc46d2 Fix text selection for oddly-spaced TJ commands
This change will discard trailing space adjustments in TJ/showSpacedText()
for the purposes of calculating the text width for text selection. In
pathological cases, a PDF may write one character and then move the text
matrix back to the beginning of the character within one TJ invocation.
This would add up to a canvasWidth of 0, so the text selection <div> would
be scaled to zero pixels wide, even though the character was drawn
normally.

With this change, canvasWidth will not include any adjustments made after
the last character was written. Normal use of TJ will result in the same
text selection behavior, whereas pathological use of TJ will result in the
text selection layer matching the actual width of the characters
displayed.

For an example of such pathological behavior, see http://www.tycovalves-usa.com/ld/CROMC-0297-US.pdf#page=48
2013-02-25 21:00:17 -06:00
Mack Duan
f94221a37f Merge pull request #2789 from yurydelendik/getString
Fixes getString
2013-02-25 14:33:07 -08:00
Brendan Dahl
a13f7964b1 Merge pull request #2686 from vyv03354/bug770409
Implement vertical writing
2013-02-25 12:47:47 -08:00
Brendan Dahl
b89d98eede Merge pull request #2782 from yurydelendik/jbig2-text-align
Fixes symbols positioning in JBIG2
2013-02-25 09:54:05 -08:00
Yury Delendik
4d50965434 Fixes template 1 for decoding 2013-02-24 17:34:00 -06:00
Yury Delendik
95e5429707 Fixes getString 2013-02-23 11:35:18 -06:00
Yury Delendik
1d4372775d JBIG2: finds end of segment when length is not specified 2013-02-23 10:35:41 -06:00
vyv03354
059fd616cd Add a dummy byte at end of the CFF table to satisfy sanitizer
Fixes #2674.
2013-02-23 20:58:54 +09:00
Yury Delendik
cbe829228e Fixes symbols positioning in JBIG2 2013-02-22 22:08:46 -06:00
vyv03354
b591d39130 Remove the test of experimental properties in workers 2013-02-17 14:53:27 +09:00
vyv03354
c5b8ee6a91 Implements vertical writing 2013-02-15 03:53:34 +09:00
j
c33b92036f fix image width/height for zoomed viewport
image width/height is off while pdf is zoomed,
use raw transform values to compute width/height
to fix this.
2013-02-12 16:03:30 +05:30
j
cd42ccd439 add imageLayer
add optional imageLayer object to access images and there
position and size as they are rendered on the canvas.
2013-02-11 00:20:27 +05:30
Yury Delendik
6ce1cfe734 Reverts 729b82, d5f65f and 724add 2013-02-08 14:04:36 -06:00
vyv03354
729b82359a Implements the print permission 2013-02-08 23:28:27 +09:00
Yury Delendik
51c81a1d01 Merge pull request #2695 from yurydelendik/copy-protection-2
Fixes text search for "secured" documents (take 2)
2013-02-07 16:22:31 -08:00
Yury Delendik
d5f65f5431 Fixes text search for "secured" documents 2013-02-07 18:15:39 -06:00
Mack Duan
43e954f11d Merge pull request #2681 from vyv03354/bug767455_basefont
Take BaseFont entry from CIDFont dict instead of Type 0 Font dict
2013-02-07 12:04:46 -08:00
Yury Delendik
129fa5661c Merge pull request #2680 from vyv03354/bug767455_bxex
Reduce warning spam caused by BX/EX
2013-02-05 14:27:40 -08:00
Yury Delendik
578349b4dd Merge pull request #2675 from vyv03354/issue2674
Support non-BMP characters contained in embedded fonts
2013-02-05 14:26:28 -08:00
vyv03354
7fc0c9f2ca Take BaseFont entry from CIDFont dict instead of Type 0 Font dict 2013-02-06 06:47:41 +09:00
vyv03354
521723a9b5 Support non-BMP characters contained in embedded fonts 2013-02-06 06:15:07 +09:00
vyv03354
7dcbf7d2c3 Reduce warning spam caused by BX/EX 2013-02-06 03:57:59 +09:00
Mack Duan
2260458f27 Merge pull request #2671 from yurydelendik/chrome
Workaround for Chrome's issue 174023
2013-02-04 10:00:38 -08:00
Yury Delendik
133d5cf8d2 Workaround for Chrome's issue 174023 2013-02-04 10:51:53 -06:00
Yury Delendik
d13aa38c9c Enforces quotmark=single for jshint 2013-02-02 17:00:13 -06:00
Yury Delendik
5cf0d8fa80 Enforces maxlen for jshint 2013-02-02 16:49:19 -06:00
vyv03354
724add2ffd Make an effort to adhere the spec 7.6.3.2 2013-02-02 02:09:12 +09:00
Jon Buckley
b3634a3826 Issue #2008 - Fix lint errors for src/worker.js 2013-01-31 19:12:46 -05:00
Jon Buckley
e48bb8d966 Issue #2008 - Fix lint errors for src/utils/fonts_utils.js 2013-01-31 19:12:45 -05:00
Jon Buckley
3b3922764e Issue #2008 - Fix lint errors for src/util.js 2013-01-31 19:12:45 -05:00
Jon Buckley
4a292a310f Issue #2008 - Fix lint errors for src/stream.js 2013-01-31 19:12:45 -05:00
Jon Buckley
a1a098fbee Issue #2008 - Fix lint errors for src/pattern.js 2013-01-31 19:12:45 -05:00
Jon Buckley
315ac3ce8c Issue #2008 - Fix lint errors for src/parser.js 2013-01-31 19:12:45 -05:00
Jon Buckley
caaf7e8032 Issue #2008 - Fix lint errors for src/obj.js 2013-01-31 19:12:45 -05:00
Jon Buckley
9b13cbee69 Issue #2008 - Fix lint errors for src/metadata.js 2013-01-31 19:12:45 -05:00
Jon Buckley
21f0ff1dcf Issue #2008 - Fix lint errors for src/jpx.js 2013-01-31 19:12:45 -05:00
Jon Buckley
bc94a4d353 Issue #2008 - Fix lint errors for src/jbig2.js 2013-01-31 19:12:45 -05:00
Jon Buckley
f883a1f40f Issue #2008 - Fix lint errors for src/image.js 2013-01-31 19:12:45 -05:00
Jon Buckley
9ddb4eca95 Issue #2008 - Fix lint errors for src/function.js 2013-01-31 19:12:45 -05:00
Jon Buckley
3793ca5283 Issue #2008 - Fix lint errors for src/fonts.js 2013-01-31 19:12:45 -05:00
Jon Buckley
c281805fde Issue #2008 - Fix lint errors for src/evaluator.js 2013-01-31 19:12:45 -05:00
Jon Buckley
d7b005a79f Issue #2008 - Fix lint errors for src/crypto.js 2013-01-31 19:12:45 -05:00
Jon Buckley
d59e2105b1 Issue #2008 - Fix lint errors for src/core.js 2013-01-31 19:12:45 -05:00
Jon Buckley
4918c6f848 Issue #2008 - Fix lint errors for src/colorspace.js 2013-01-31 19:12:44 -05:00
Jon Buckley
98c2f96260 Issue #2008 - Fix lint errors for src/canvas.js 2013-01-31 19:12:44 -05:00
Jon Buckley
d301c1f13f Issue #2008 - Fix lint errors for src/bidi.js 2013-01-31 19:12:44 -05:00
Jon Buckley
c67d9d40b8 Issue #2008 - Fix lint errors for src/api.js 2013-01-31 19:12:44 -05:00
Yury Delendik
9c044e2c31 Fallback when AcroForm is present 2013-01-31 16:46:44 -05:00
Yury Delendik
e5a6246f70 Fixes cmap sanitizer fro #215 2013-01-31 16:13:36 -05:00
Brendan Dahl
4a19437537 Merge pull request #2630 from yurydelendik/width-cid
Fixes reading of the widths for CID fonts
2013-01-31 07:12:47 -08:00
Yury Delendik
cca1a68adf Merge pull request #2572 from mduan/issue2477
Make canvas transform matrix account for devicePixelRatio
2013-01-30 20:25:43 -08:00
mduan
e4c3b4501d Sanitization of truetype fonts to fix #2537 2013-01-30 19:01:53 -05:00
mduan
0527b8bc8d Fix invalid version number in truetype 'head' table 2013-01-30 16:52:19 -05:00
mduan
6bacb38692 Make canvas transform matrix account for devicePixelRatio 2013-01-30 16:06:12 -05:00
Yury Delendik
0f9b63e8be Merge pull request #2634 from Pomax/type1-string-index-SIDs
changed the type1font cff wrapping to use offsets 391,392... instead of 0,1... for pointing to strings in the String INDEX
2013-01-30 11:33:31 -08:00
mduan
5bffd2e7d8 Implement 9.6.6.4 of pdf spec for truetype fonts 2013-01-30 13:01:32 -05:00
Yury Delendik
8c78268a12 Merge pull request #2628 from mduan/issue2128
Add support for GBK-EUC-H encoding for cid fonts
2013-01-30 09:44:24 -08:00
Yury Delendik
d61d9a23ed Merge pull request #2624 from vyv03354/bug835661
Add Hankaku-Latin cid to Unicode mappings
2013-01-30 08:26:45 -08:00
Mike Kamermans
86c6bf1a67 changed the type1font cff wrapping to use offsets 391,392... instead of 0,1... for pointing to strings in the String INDEX 2013-01-30 11:15:08 -05:00
mduan
81399ee068 Add support for GBK-EUC-H encoding for cid fonts 2013-01-30 09:35:52 -05:00
vyv03354
a8aed74431 Add Hankaku-Latin cid to Unicode mappings 2013-01-30 21:48:18 +09:00
Yury Delendik
b5a38ded4c Fixes reading of the widths for CID fonts 2013-01-29 17:19:08 -05:00
Bill Walker
12af2f9431 fix for #2219, "provide a better error message when file= not found/accessible"
summary: create a new Exception class for missing PDF's, use it in place of generic

add new MissingPDFException to util.js
handle MissingPDF in api.js
handle MissingPDF in viewer.js, using new missing_file_error message
add new missing_file_error to l10n/en-US/viewer.properties
send MissingPDF from WorkerMessageHandler's loadDocument
send MissingPDF from GetDocRequest handler
2013-01-29 13:17:04 -08:00
Yury Delendik
9af6e05456 Merge pull request #2615 from vyv03354/master
Fixes CFF parser failure when CharStrings contains cntrmask
2013-01-26 08:46:34 -08:00
Yury Delendik
df731e7d9d Merge pull request #2527 from brendandahl/type1-charstrings
Evaluate type 1 charstrings for conversion to type 2.
2013-01-26 07:45:23 -08:00
vyv03354
a254de86fb CFF parser didn't count hints defined by hstem/vstem 2013-01-26 22:08:45 +09:00
Yury Delendik
9a58bc9aba Merge pull request #2581 from brendandahl/fix-cid
Fix normalized CID fonts for direct write 6.1.
2013-01-25 06:23:17 -08:00
Yury Delendik
2057855c8a Merge pull request #2602 from vyv03354/issue2598
Update font name matching for Type 0 CIDFont
2013-01-24 15:40:39 -08:00
vyv03354
622276ecc8 Update font name matching for Type 0 CIDFont 2013-01-24 08:03:13 +09:00
vyv03354
0df411a3da Fixes non-Japanese characters spacing 2013-01-24 01:23:22 +09:00
Brendan Dahl
a0313bef22 Merge pull request #2570 from mduan/issue2556
Fix bug w/ exception not being passed to error callbacks of a Promise
2013-01-22 14:46:08 -08:00
Brendan Dahl
45daf4e936 Merge pull request #2557 from mduan/issue2391-invalid-font
Default to a built-in font if an invalid non-embedded font is encountered
2013-01-18 12:35:59 -08:00
Brendan Dahl
dc914fe7ce Fix normalized CID fonts for direct write 6.1. 2013-01-18 11:05:38 -08:00
mduan
b718a3604a Default to a built-in font if an invalid non-embedded font is encountered 2013-01-16 13:57:41 -08:00
Yury Delendik
aac622a9b1 Merge pull request #2567 from vyv03354/master
Supports 'H/V', 'EUC-H/V' and '90ms*' CMaps
2013-01-16 08:07:33 -08:00
Yury Delendik
a3dd0098e0 Merge pull request #2571 from mduan/issue2129
Do not error when an EndOfPage segment is encountered in jbig2
2013-01-16 07:32:45 -08:00
vyv03354
deba913651 Merge branch 'master' of https://github.com/mozilla/pdf.js 2013-01-16 23:40:32 +09:00
vyv03354
38ffebc987 Supports 'H/V', 'EUC-H/V' and '90ms*' CMaps 2013-01-16 21:58:18 +09:00
mduan
317db2e7c6 Do not error when an EndOfPage segment is encountered in jbig2 2013-01-15 16:07:01 -08:00
mduan
5ab3bb1e03 Skip commands that have too few arguments
- Commands that have too few args will be skipped
- Commands that have too many args will generate an info, but still
execute
2013-01-15 14:07:16 -08:00
mduan
fadcb71c21 Handle missing 'FontName' entry in FontDescriptor object 2013-01-15 11:48:20 -08:00
mduan
4f1e94c9f7 Fix bug w/ exception not being passed to error callbacks of a Promise 2013-01-15 11:39:12 -08:00
Yury Delendik
e61b104852 Merge pull request #2547 from mduan/issue2085
Support corrupted pdfs that are encrypted but lack 'ID' in trailer
2013-01-14 14:51:42 -08:00
mduan
48fa0172ed Support corrupted pdfs that are encrypted but lack 'ID' in trailer 2013-01-14 13:43:10 -08:00
vyv03354
0980b4c322 Fix a problem about Japanese PDFs without embedded fonts 2013-01-12 11:18:44 -06:00
Brendan Dahl
a79f005527 Fix isDict when type is missing in dictionary. 2013-01-10 16:32:26 -08:00
Brendan Dahl
b5278c5e27 Evaluate type 1 charstrings for conversion to type 2. 2013-01-09 17:33:59 -08:00
Brendan Dahl
e978ea2617 Merge pull request #2540 from mduan/handle-broken-hex-string
Handle broken hex string
2013-01-08 15:54:43 -08:00
mduan
eb8f4e8343 Handle some illegal characters in hex string
Do not throw exception when hex strings are in the wrong format

Currently pdf.js is throwing an exception for the following hex string:

`<7 0 2 15 5 2 2 2 4 3 2 4>`

The issue is that the 15 is not a valid hex character so pdf.js ends up
throwing an exception.

This diff changes the parser to process the above hex string as follow:

`70 21 55 2 24 32` (Note: the final 4 of the hex string is ignored)

replicating the behaviour of MuPDF, and doesn't throw an exception.
2013-01-08 15:29:24 -08:00
Brendan Dahl
3aea29c7aa Merge pull request #2526 from yurydelendik/create-os2
Fixes creation of OS/2 table
2013-01-08 12:11:42 -08:00
Yury Delendik
318e7f6949 Merge pull request #2500 from brendandahl/private-entries
Add support for more Type1 private dictionary entries.
2013-01-08 11:24:38 -08:00
Brendan Dahl
9635612034 Merge pull request #2525 from yurydelendik/version-info
Traces pdf.js version
2013-01-08 11:17:42 -08:00
Brendan Dahl
2cbb35362e Add support for more Type1 private dictionary entries. 2013-01-08 10:44:39 -08:00
Brendan Dahl
7d9938df5f Merge pull request #2520 from yurydelendik/disable-blues
Disables *Blue* values when HINT_ENABLED == false
2013-01-04 16:21:29 -08:00
Yury Delendik
aa93eac261 Fixes creation of OS/2 table 2013-01-04 11:41:24 -06:00
Brendan Dahl
bf0abd61d1 Merge pull request #2505 from yurydelendik/refactor-cff-float
Refactors encodeFloat, font matrix and flex args
2013-01-04 09:24:58 -08:00
Brendan Dahl
c05f073a73 Merge pull request #2454 from yurydelendik/worker-xhr-response
Tests presence of the xhr-response in the worker
2013-01-04 09:12:01 -08:00
Yury Delendik
7b70710565 Traces pdf.js version 2013-01-04 11:01:31 -06:00
Yury Delendik
10bb6c9ec0 Refactors font matrix operations 2013-01-03 22:38:14 -06:00
Yury Delendik
ccfa0e1972 Refactors encodeFloat and flex args 2013-01-03 18:33:15 -06:00
Yury Delendik
eca6c6cb5d Disables *Blue* values when HINT_ENABLED == false 2013-01-03 17:06:52 -06:00
Yury Delendik
089b60d848 Merge pull request #2463 from brendandahl/remove-cid-keys
Remove cid dictionary values for normalized fonts.
2013-01-03 10:24:49 -08:00
Brendan Dahl
bf1a4adf61 Merge pull request #2499 from yurydelendik/rescale
Refactors rescaleImage: improving quality of scanned images
2012-12-28 12:04:49 -08:00
Yury Delendik
1826daa1d5 Refactors rescaleImage: improving quality of scanned images 2012-12-21 19:10:21 -06:00
Brendan Dahl
a235ec1441 Use CFF compiler for building Type1 font. 2012-12-21 14:11:58 -08:00
Brendan Dahl
acf64b3164 Add support for hmoveto and vmoveto during flex. 2012-12-20 11:14:10 -08:00
Yury Delendik
a2c6429cce Merge pull request #2465 from brendandahl/fix-expansion-factor
Fix cff private dictionary key.
2012-12-15 20:53:11 -08:00
Jakob Miland
4efab13c58 Support Filespec dictionary in annotations 2012-12-15 00:36:53 +01:00
Brendan Dahl
852ff7753b Fix cff private dictionary key. 2012-12-14 12:44:39 -08:00
Brendan Dahl
575f2dd8b1 Remove cid dictionary values for normalized fonts. 2012-12-13 12:32:45 -08:00
Brendan Dahl
78498ce648 Merge pull request #2448 from yurydelendik/issue-2386
Fixes encoding in CFF fonts
2012-12-11 13:31:15 -08:00
Yury Delendik
0e70aacc51 Tests presence of the xhr-response in the worker 2012-12-11 11:07:58 -06:00
Brendan Dahl
6ae135539d Warn on opentype fonts. 2012-12-10 14:59:23 -08:00
Brendan Dahl
b4adbe4967 Merge pull request #2417 from yurydelendik/inline-images
Removes "too many inline images" limit
2012-12-10 09:32:24 -08:00
Yury Delendik
b63da8bc82 Fixes encoding reading in CFF fonts 2012-12-09 12:57:40 -06:00
Yury Delendik
cae62341ac Split large image groups into smaller chunks 2012-12-07 17:19:06 -06:00
Yury Delendik
a0bc215a86 Removes comment per #2372 2012-12-07 14:28:17 -06:00
Yury Delendik
d71c702dcf Removes "too many inline images" limit 2012-12-07 12:19:43 -06:00
Brendan Dahl
0910c5e68e Merge pull request #2425 from yurydelendik/detect-fonts-off
Detecting if web fonts are disabled in Firefox.
2012-12-06 13:30:07 -08:00
Yury Delendik
859aad138c Merge pull request #2432 from yurydelendik/setDash
Using setListDash for dashed lines
2012-12-04 13:58:48 -08:00
Brendan Dahl
39038b7377 Rescale regular images manually if they are too big. 2012-12-04 09:36:42 -08:00
Yury Delendik
a7f0e9612a Using setDash for dashed lines 2012-12-04 08:26:10 -06:00
Yury Delendik
500421ddd2 Fixes "TypeError: info is undefined" 2012-11-30 17:36:39 -06:00
Yury Delendik
3346c284ab Excluding Type3 fonts from the check; removing dead code 2012-11-30 17:31:22 -06:00
Yury Delendik
5dc87a7fca Detecting if web fonts are disable in Firefox. 2012-11-30 17:08:19 -06:00
Yury Delendik
0dc137a0df Refactors Lab CS; uses different conversion for D50 and D65; adds getRgbItem 2012-11-30 12:46:55 -06:00
Yury Delendik
223ad0c117 Merge pull request #2418 from yurydelendik/refactor-cs
Initial refactoring to reduce amount of getRgb calls and objects creation
2012-11-30 07:01:20 -08:00
Yury Delendik
0029b34d45 Refactors getRgb and makeCssRgb calls; reduces amount of created objects 2012-11-29 17:11:51 -06:00
Brendan Dahl
abaed05174 Merge pull request #2346 from yurydelendik/info
Adds basic PDF info
2012-11-29 12:30:06 -08:00
Brendan Dahl
00fad28284 Merge pull request #2406 from yurydelendik/issue-2006
Fixes function array support for radial/axial pattern
2012-11-29 12:26:50 -08:00
Yury Delendik
2c87a6467b Fixes function array support for radial/axial pattern 2012-11-24 15:13:13 -06:00
Christian Mehlis
e95fbb3860 Update src/obj.js
fix Issue #1523
2012-11-24 21:31:05 +01:00
khodzha
18da086b96 fix of combineUrl(baseUrl, url) in case of url - null, empty, undefined + unittests 2012-11-24 04:25:49 +04:00
Yury Delendik
033545cc16 Merge pull request #2392 from benbro/master
Workaround for Private Use Area characters in Chrome on Windows
2012-11-16 14:23:26 -08:00
benbro
9841bc3e8e Workaround for Private Use Area characters in Chrome on Windows 2012-11-16 23:49:02 +02:00
Brendan Dahl
9910699fac Merge pull request #2385 from yurydelendik/issue-2374
Rejects post table if maxp numGlyph does not match
2012-11-16 13:46:11 -08:00
Nicolas Pierron
f5e8838bb0 Ensure the loop counter is not interpreted as a double.
This patch improves pure JavaScript performances by 30% by removing double computations from Type1Parser_extractFontProgram. When parseInt is fed with non numerical values, it returns a NaN which flows into the loop counter which cause every operation to be computed as a double and every index to be trunctated as an int before reading a character.  This patch force the NaN value to be coerce as an integer by using a bitwise-or operation with zero.
2012-11-16 02:33:32 -08:00
Yury Delendik
0646d397eb Rejects post table if maxp numGlyph does not match 2012-11-14 16:17:06 -06:00
Brendan Dahl
d302746c6b Merge pull request #2352 from yurydelendik/issue-1718
Cleaning name table
2012-11-13 10:58:27 -08:00
Brendan Dahl
8d3980a43a Merge pull request #2263 from yurydelendik/tables-removal
Attempt to remove vtmx, and vhea tables...
2012-11-13 09:30:40 -08:00
Yury Delendik
05148e8e7d Removes vtmx and vhea tables; sanitizes fpgm and prep 2012-11-12 21:10:20 -06:00
Brendan Dahl
9f460a9a8f Merge pull request #2251 from yurydelendik/validate-charstrings
Validates type2 charstrings
2012-11-12 11:53:04 -08:00
waddlesplash
32fbf687ab Refactor names in various files.
web/viewer.js
src/fonts.js (& remove unused global)
src/evaluator.js
src/canvas.js
2012-11-10 14:59:13 -05:00
Yury Delendik
68ab17e4a3 Cleaning name table 2012-11-07 18:24:13 -06:00
Yury Delendik
610215bada Validate charstrings 2012-11-07 13:56:17 -06:00
Yury Delendik
4da7be8d28 Verifies some of the OS2 font table fields 2012-11-07 11:11:36 -06:00
Yury Delendik
fbe3d71663 Re-creates invalid post table 2012-11-07 11:03:08 -06:00
Yury Delendik
725195b65f Fixes compressed object entries caching 2012-11-06 12:05:59 -06:00
Yury Delendik
1f56d242ff Adds basic PDF info 2012-11-05 11:12:17 -06:00
Brendan Dahl
68cb985083 Merge pull request #2341 from yurydelendik/issue-2337
Fixes stream loading for XRefStm
2012-11-02 12:54:48 -07:00
Yury Delendik
35af48123a Fixes stream loading for XRefStm 2012-11-02 08:26:45 -05:00
Yury Delendik
37fb625e87 Fixes lineWidth/scale calculation for the fonts 2012-11-02 08:10:22 -05:00
Ben Browitt
19faf4b9eb Fix closure compiler warnings. 2012-10-31 17:31:46 +02:00
Yury Delendik
b47e4b8855 Merge pull request #2327 from brendandahl/un-inline
Un-inline pdf.js for the extension/mozcentral and remove fetch pdf by content code.
2012-10-29 16:43:23 -07:00
Julian Viereck
318b286da3 Fix typo in PartialEvaluator_getTextContent 2012-10-29 23:03:30 +01:00
Brendan Dahl
babd8df176 Un-inline pdf.js for the extension/mozcentral and remove fetch pdf by content code. 2012-10-29 12:44:18 -07:00
Yury Delendik
1f084053e6 Merge pull request #2313 from yurydelendik/issue-1905
Fixes incomplete restore in paintFormXObject
2012-10-29 12:09:11 -07:00
Yury Delendik
3c5a9ba64b Merge pull request #2323 from waddlesplash/master
Vectorize the logo
2012-10-29 11:17:03 -07:00
waddlesplash
60e2e36ff7 Vectorize the logo. 2012-10-29 14:08:52 -04:00
Brendan Dahl
a592e02c49 Merge pull request #2317 from yurydelendik/memory-1
Refactors how page objects are stored
2012-10-29 10:44:39 -07:00
Yury Delendik
69b72078c0 Separate page objects/images from the fonts; does not store large images 2012-10-28 15:24:54 -05:00
Jean-Sebastien Legare
0cdecf007f try/catch bug. var not unset when getter length() throws error 2012-10-27 21:18:37 -07:00
Yury Delendik
4c533d065d Fixes incomplete restore in paintFormXObject 2012-10-26 23:30:01 -05:00
Yury Delendik
ee87a44c03 Merge pull request #2298 from zalun/show_alert_on_invalid_pdf_structure
Display an error on Invalid PDF
2012-10-25 19:18:26 -07:00
Piotr Zalewa
812bc6795d * InvalidPDFException added
* Act on throwing an Exception and InvalidPDFException by rejecting the worker
instead of throwing
* changed message for all builds
* alerting and closing window only for B2G builds
* invalid_file_error added to l10n (en and pl)
* UnknownErrorException added and used for every error()
2012-10-25 11:15:19 +02:00
Yury Delendik
4c0f9eb924 Fixes getNumber at the end of stream 2012-10-24 10:47:16 -05:00
Adil Allawi
88bd912840 Clear unused code 2012-10-23 04:31:01 -07:00
Saebekassebil
58d6974bf5 Implement NullStream, fix #1832 2012-10-22 17:53:15 +02:00
Brendan Dahl
ece9cd15d2 Merge pull request #2249 from yurydelendik/issue-2234
Reducing parameter of Mac->Win heuristic
2012-10-19 17:01:00 -07:00
Yury Delendik
13c430c6e1 Using CMYK SWOP colors 2012-10-17 10:57:51 -05:00
Brendan Dahl
c8cf4458c6 Merge pull request #2245 from yurydelendik/issue-1912
Fixes reading CFF with two .notdef in charset
2012-10-16 09:24:21 -07:00
Yury Delendik
0bc5216601 Merge pull request #2262 from waddlesplash/master
Support 'GoToR'-type links
2012-10-16 07:16:29 -07:00
waddlesplash
c111154979 Support 'GoToR' links.
Fix tabs.

Make changes as per @yurydelendik's request.

Forgot to remove 'TODO' comment.

Support 'GoToR'-type links.
2012-10-16 09:54:08 -04:00
Brendan Dahl
336d5041dd Merge pull request #2243 from yurydelendik/issue-1233
Removes useless font tables for PDF rendering
2012-10-15 17:04:28 -07:00
Brendan Dahl
d76f4d735f Merge pull request #2244 from yurydelendik/issue-2074
Fixes cmap when 0xFFFF character is included
2012-10-15 16:27:37 -07:00
Brendan Dahl
c31c79761c Merge pull request #2240 from yurydelendik/fix-text-clipping
Fixes text clipping
2012-10-15 15:27:44 -07:00
waddlesplash
1ed1de10a5 More descriptive link types warning. 2012-10-15 17:23:17 -04:00
Brendan Dahl
c67cc874e8 Merge pull request #2215 from yurydelendik/issue-1836
Falls back to ErrorFont when font object is not available or corrupted
2012-10-15 11:51:09 -07:00
Yury Delendik
ab058dbe75 Fixes text clipping 2012-10-15 12:52:37 -05:00
Brendan Dahl
846038991c Merge pull request #2214 from yurydelendik/issue-1859
Adds Type1 sbw command support for horizontal fonts
2012-10-15 10:07:36 -07:00
Yury Delendik
8c3a82ff4d Falls back to ErrorFont when font object is not available or corrupted 2012-10-15 11:48:45 -05:00
Yury Delendik
b09f0ccbaa Adds Type1 sbw command support for horizontal fonts 2012-10-15 11:40:55 -05:00
Brendan Dahl
8c3fdd069a Merge pull request #2254 from yurydelendik/no-glyphs
Fixes font processing when no glyphs are found
2012-10-15 09:09:46 -07:00
Yury Delendik
b6ad7fd103 Defines at least one glyph if none was found 2012-10-15 11:08:50 -05:00
Brendan Dahl
565d13f670 Merge pull request #2213 from yurydelendik/bug762657
Removes PutBinaryImageData compatibility check (re:bug 762657)
2012-10-15 08:58:24 -07:00
Yury Delendik
c129ecea8a Partially reverts #2239 due to reftest fails 2012-10-15 09:20:52 -05:00
Yury Delendik
19002cc8a3 Merge pull request #2239 from yurydelendik/no-glyphs-message
Stops font processing when valid glyphs are absent in the font
2012-10-15 07:06:27 -07:00
Yury Delendik
3ed6db69d0 Reducing parameter of Mac->Win heuristic 2012-10-14 17:52:14 -05:00
Yury Delendik
31b5f566d6 Fixes reading CFF with two .notdef in charset 2012-10-13 15:35:23 -05:00
Yury Delendik
7ea87c875e Fixes cmap when 0xFFFF character is included 2012-10-13 14:21:15 -05:00
Yury Delendik
e4c8121ed4 Suppresses useless for PDF rendering font tables 2012-10-13 11:41:44 -05:00
Yury Delendik
62b2c5a030 Stops font processing when valid glyphs are absent in the font 2012-10-12 17:54:20 -05:00
Clement Skau
5edd6d253f Fixes Viewport rotation above 360 2012-10-11 00:27:35 +09:00
Yury Delendik
b5f952a63a Fixes font debugger; text builder api refactoring 2012-10-09 08:25:41 -05:00
Yury Delendik
ee133197ee Removes PutBinaryImageData compatibility check (re:bug 762657) 2012-10-07 21:09:00 -05:00
Yury Delendik
bc19b5581e Removes usage of print as log 2012-10-04 10:01:53 -05:00
Julian Viereck
47809fe316 Address yury's review comments 2012-09-26 19:46:06 +02:00
Julian Viereck
658c6936fc Tune whitespace insertion 2012-09-25 16:07:59 +02:00
Julian Viereck
e98eba1b11 Merge pull request #2127 from jviereck/text-algo-3
Use the text extracted in the getTextContent function for the divs of the textLayer.
2012-09-25 05:52:46 -07:00
Yury Delendik
574d626f04 Merge pull request #1906 from brendandahl/use-plain-blob
Use Blob constructor when available instead of deprecated MozBlobBuilder.
2012-09-24 17:11:32 -07:00
Brendan Dahl
739ee47865 Use Blob constructor when available instead of deprecated MozBlobBuilder. 2012-09-22 09:44:49 -07:00
Julian Viereck
f1e0edbaa9 Address Yurys review comments 2012-09-22 11:18:26 +02:00
Adil Allawi
5bc2934014 Handle normalization of Arabic Unicode Presentation Forms A to Arabic Unicode 2012-09-22 08:10:53 +01:00
Adil Allawi
c04b4c1679 Handle normalization of Arabic Unicode Presentation Forms B to Arabic Unicode 2012-09-21 18:36:59 +01:00
Brendan Dahl
47340d557c Merge pull request #2145 from yurydelendik/fix-export-keyword
Renaming export to exportData
2012-09-20 21:30:40 -07:00
Julian Viereck
e48530d391 Fix AppendText after API changes 2012-09-20 22:09:03 +02:00
Yury Delendik
75e928c102 Merge pull request #2058 from Pimm/master
Small fixes for normal and potential post-compilation bugs
2012-09-20 11:36:55 -07:00
Yury Delendik
59eca230fa Merge pull request #2131 from saebekassebil/metadata2
Metadata optimization
2012-09-20 10:31:19 -07:00
Julian Viereck
a33ba145bf Don't compute the string for the TextLayer in the canvas backend anymore and change the syntax of appendText 2012-09-20 17:15:55 +02:00
Julian Viereck
3d0e6da2ff Move some more font conversion into loadFont function to make type3 fonts work for now 2012-09-20 17:12:36 +02:00
Julian Viereck
36d358fff8 Don't use shadow() for spaceWidth as otherwise sendering the font over to the mainthread causes issues if the worker used the property and the main thread tries to assign the spaceWidth to the getter function 2012-09-20 17:10:52 +02:00
Julian Viereck
fdb6a013c9 Fix unitialized text/dirs array 2012-09-20 17:10:52 +02:00
Julian Viereck
a525492f65 Make lint happy 2012-09-20 17:10:51 +02:00
Julian Viereck
6bc2a0b84a Remove spaces that don't make sense when using the text in divs 2012-09-20 17:10:51 +02:00
Julian Viereck
e22fc80d3e Add handling for gs in getTextContent 2012-09-20 17:10:51 +02:00
Julian Viereck
bd4434a7ea Apply bidi algorithm to the text in the worker 2012-09-20 17:10:51 +02:00
Julian Viereck
8d6565d1a8 Change the format of the BidiResult object. 2012-09-20 17:10:51 +02:00
Julian Viereck
897b99500e Fix typos that prevent space insertion for showSpaced in getTextContent 2012-09-20 17:10:51 +02:00
Julian Viereck
7432e596a1 Improve the space detection for the getTextContent function 2012-09-20 17:08:43 +02:00
Julian Viereck
9b9de87ac4 Undo some changes for now until there is support for font.spacedWidth 2012-09-20 17:08:43 +02:00
Julian Viereck
3a8426e179 Fix typo in new return value of bidi function 2012-09-20 17:08:42 +02:00
Julian Viereck
83c499595c Change the PDFJS.bidi function calls slightly to avoid creating a seperate object to pass to PDF.JS bidi and just pass in a string 2012-09-20 17:08:42 +02:00
Julian Viereck
668c2867d4 Change the format of textContent to be an array 2012-09-20 17:01:16 +02:00
Julian Viereck
a38c4bc729 Make getTextContent return offset array and improve the algorithm. Make
parts in viewer.js work again.
2012-09-20 17:01:15 +02:00
Yury Delendik
3d78ccd570 Renaming export to exportData 2012-09-20 09:38:59 -05:00
Julian Viereck
43f2db30b3 Fix current.x for type3 font word break 2012-09-19 22:19:21 +02:00
Brendan Dahl
81e708bf0f Merge pull request #2118 from yurydelendik/disable-font-hack
Removing font loading hack from MOZCENTRAL
2012-09-18 09:17:05 -07:00
Brendan Dahl
8dc49a3c9b Merge pull request #2124 from yurydelendik/fallback-font
Provides right fallback fonts for text layer
2012-09-17 10:06:42 -07:00
Yury Delendik
8d506212a8 Adds heuristic for monospace font detection 2012-09-16 14:38:30 -05:00
Saebekassebil
c88924f411 Optimize metadata parsing 2012-09-15 18:54:08 +02:00
Yury Delendik
ac7b6aeff4 Provides right fallback fonts for text layer 2012-09-14 11:17:35 -07:00
Yury Delendik
45741c33a5 Fixes RTL text extraction 2012-09-14 10:26:46 -07:00
Yury Delendik
38bb3b4880 Removing font loading hack from MOZCENTRAL 2012-09-13 16:45:56 -07:00
Yury Delendik
e086cf36f4 Refactor text extraction / font loading logic 2012-09-13 15:12:42 -07:00
Yury Delendik
9fba150dd2 Move font translation to the worker 2012-09-12 17:31:04 -07:00
Yury Delendik
40eb44eae4 Merge pull request #1809 from brendandahl/shading-extend
Adds support for the extend option for linear and radial shadings.
2012-09-11 05:24:53 -07:00
Brendan Dahl
164931d2fc Adds background support for gradient.
Warns on case when we don't handle radial gradients correctly.
Fixes chrome extend gradients.
2012-09-10 13:23:07 -07:00
Julian Viereck
bd0e42220b Merge pull request #2089 from yurydelendik/remove-currenttransf
Removes unnecessary ctx.mozCurrentTransformInverse transforms
2012-09-08 08:59:21 -07:00
Brendan Dahl
455bb6d98c Merge pull request #2076 from kkujala/dev
Add initial TilingType support.
2012-09-07 15:39:28 -07:00
Yury Delendik
954ea97158 Removes unnecessary ctx.mozCurrentTransformInverse transforms 2012-09-07 11:00:05 -05:00
Brendan Dahl
59016bcf59 Merge pull request #2082 from yurydelendik/chrome-fontload
Workaround for chrome's issue 145227
2012-09-07 08:50:55 -07:00
Kalervo Kujala
5f202e1596 Add initial TilingType support. 2012-09-05 22:36:20 +03:00
Brendan Dahl
76d877e48b Strip out license for bundled version. 2012-09-04 10:22:32 -07:00
Brendan Dahl
332ae4ce41 Change to the Apache v2 license. 2012-08-31 15:48:21 -07:00
Pimm Hogeling
080ab94a0d Lint syntax fixes. 2012-08-31 15:51:31 +02:00
Pimm Hogeling
0fbbc5a840 Syntax changed that will help minifiers/compilers (such as the Closure Compiler) in their processing. In particular, preventing said minifiers/compilers from making dangerous renames. 2012-08-31 13:40:37 +02:00
Pimm Hogeling
438e3c8f6d Fixes for subtile bugs that were introduced in 59283bdf6d and 99440ab691, among others. 2012-08-31 13:37:44 +02:00
Yury Delendik
deedb0a911 Workaround for chrome's issue 145227 2012-08-29 19:16:57 -05:00
Artur Adib
8e50da78ee Merge pull request #2050 from yurydelendik/issue-2040
Fixes incorrect font type and prevents future this.objs.objs[fonts[i]] ...
2012-08-29 14:47:32 -07:00
Yury Delendik
621686ca67 Fixes incorrect font type and prevents future this.objs.objs[fonts[i]] failures 2012-08-29 16:11:56 -05:00
Brendan Dahl
33f7e86171 Merge pull request #2047 from yurydelendik/font-linux
Fixes fonts on linux
2012-08-29 12:35:25 -07:00
Yury Delendik
e32ecc44d3 Fixes CFF test and CFF int16 parsing 2012-08-29 12:58:12 -05:00
Yury Delendik
93f9efde39 Fixes ascent and descent values for windows gdi 2012-08-29 12:19:09 -05:00
Brendan Dahl
d26ecff294 Reduce math for color key mask. 2012-08-29 09:36:12 -07:00
Yury Delendik
4550ffe14e Fixes fonts on linux 2012-08-29 10:31:59 -05:00
Brendan Dahl
19fa6a5260 Adds support for color key mask. 2012-08-28 17:19:31 -07:00
Brendan Dahl
d77bafa678 Merge pull request #1997 from yurydelendik/font-refact-1
Rectoring font loading concurency
2012-08-27 09:15:56 -07:00
Yury Delendik
a89cb5dd7a Disables symbolic encoding for non-standard fonts 2012-08-24 08:05:06 -05:00
Yury Delendik
296b98f977 Merge branch 'master' of git://github.com/mozilla/pdf.js.git into progress-indeterminate
Conflicts:
	extensions/firefox/components/PdfStreamConverter.js
2012-08-23 15:23:44 -05:00
Yury Delendik
cd1a645881 Adds support of the indeterminate loading progress 2012-08-22 10:48:56 -05:00
Tom Schuster
fad38f8286 Update src/fonts.js
One simple thing that came up while looking at the new Octane benchmark.
2012-08-22 07:22:47 -05:00
Yury Delendik
51b2587340 Copy decoded image data and keeps non-decoded pixes as transparent 2012-08-20 15:57:21 -05:00
Yury Delendik
4f20f5f1bb Verify the request id parameter 2012-08-17 16:56:47 -05:00
Yury Delendik
52d229761a Removing sum of the iframe times, browser does it for us 2012-08-17 16:08:42 -05:00
Yury Delendik
8459fef6c3 Cleanup: remove iframe and message handler 2012-08-17 14:00:35 -05:00
Yury Delendik
3c1d63055d Invoking callback via setTimeout 2012-08-17 11:32:34 -05:00
Yury Delendik
c414c76461 Fixes font loading concurency 2012-08-17 11:05:51 -05:00
Brendan Dahl
fd416d3788 Stop streams from being sent from worker for indexed color spaces. 2012-08-16 15:22:28 -07:00
Artur Adib
c9c5ae32d9 Merge pull request #1979 from yurydelendik/issue-1685
Discards invalid values for Blues
2012-08-16 09:58:10 -07:00
Brendan Dahl
590c6c413e Merge pull request #1978 from yurydelendik/issue-1655
Fixes bias calculation for type2 subr
2012-08-14 14:50:32 -07:00
Brendan Dahl
7acbe15061 Merge pull request #1977 from yurydelendik/callothersubr
Adds callothersubr support
2012-08-14 09:46:19 -07:00
Yury Delendik
972d08209a Discards invalid values for Blues 2012-08-11 23:05:41 -05:00
Yury Delendik
6277e6eda7 Fixes bias calculation for type2 subr 2012-08-11 20:10:31 -05:00
Yury Delendik
b4d75ca83b Adds callothersubr support 2012-08-11 11:57:42 -05:00
Yury Delendik
3093427480 Marks xref entries with offset 0 as free 2012-08-10 21:31:33 -05:00
Artur Adib
6ccf711966 Merge pull request #1971 from yurydelendik/issue-1970
Using fast pixels copy in putBinaryImageData
2012-08-10 11:40:12 -07:00
Yury Delendik
5e3882ab69 Changing cubic spline interpolation error to TODO 2012-08-10 08:30:20 -05:00
Yury Delendik
55b3b005b8 Using createImageData when available 2012-08-09 13:40:40 -05:00
Yury Delendik
65bc78d870 Using fast pixels copy in putBinaryImageData 2012-08-09 10:41:18 -05:00
Brendan Dahl
2ca8c0d999 Cleanup references to dom elements. 2012-08-08 09:07:31 -07:00
Yury Delendik
70beb11a50 Merge pull request #1953 from brendandahl/b2g
Add B2G build and new preprocessor.
2012-08-08 08:37:26 -07:00
Yury Delendik
5d95782ea1 Merge pull request #1957 from brendandahl/fix-doc-info
Sanitize the document info.
2012-08-06 15:18:55 -07:00
Brendan Dahl
70e415900c Address review comments. 2012-08-06 14:32:54 -07:00
Brendan Dahl
69eca3c50f Use timeout for font ready callback to avoid intermittent chrome failures. 2012-08-06 08:51:20 -07:00
Brendan Dahl
29263836c2 Sanitize the document info. 2012-08-03 16:11:43 -07:00
Brendan Dahl
9ddbe1fac7 Merge pull request #1947 from yurydelendik/issue-1944
Fix loading of the font widths
2012-08-02 11:54:58 -07:00
Yury Delendik
41a4272463 Implement textRise; reduce ref test to one page 2012-08-01 15:10:48 -05:00
Brendan Dahl
492fa6edb4 Add the new preprocessor. 2012-08-01 11:55:39 -07:00
Brendan Dahl
6d35073a9c Initial build for b2g. 2012-08-01 11:55:39 -07:00
Yury Delendik
f947b3bb4c Fixes Shading.Dummy return type 2012-08-01 10:59:21 -05:00
Yury Delendik
8aab1a7a7b Fix loading of the font widths 2012-07-31 17:58:28 -05:00
Yury Delendik
af4bd10c70 Allow relative URLs in getDocument 2012-07-26 12:11:28 -05:00
Brendan Dahl
b3a603c199 Merge pull request #1840 from yurydelendik/loadpdf-1
Moves loading of the binary PDF data to the worker
2012-07-23 16:27:55 -07:00
Brendan Dahl
7fff630e87 Merge pull request #1892 from brendandahl/seac
Add support for type 1 seac charstring command.
2012-07-20 17:27:18 -07:00
Brendan Dahl
792ef1b14d Support div number format for seac operator. 2012-07-20 15:53:39 -07:00
Brendan Dahl
377a96dda7 Merge pull request #1909 from benbro/master
Prevent the error callback from being called twice when getPdf fails because of a cross domain request.
2012-07-20 15:46:39 -07:00
Brendan Dahl
6ed639e4d8 Merge branch 'master' of github.com:mozilla/pdf.js into seac 2012-07-20 15:12:09 -07:00
Brendan Dahl
a667a874db Merge pull request #1910 from brendandahl/fix-hsbw
Support more type 1 font hsbw formats.
2012-07-20 15:10:45 -07:00
benbro
97e72d5864 Add missing bracket 2012-07-21 00:51:36 +03:00
Brendan Dahl
34eb537160 Add another warning for malformed stack. Fix/add variable names. 2012-07-20 13:48:48 -07:00
Brendan Dahl
24a3e0c8cc Don't trigger TODO on marked content. 2012-07-20 09:09:48 -07:00
Brendan Dahl
8fccd19948 Leave div commands on stack and change evaluation. 2012-07-19 18:06:37 -07:00
Yury Delendik
7a0e91af4b removes expandUrl(url); fixes error message 2012-07-19 16:10:26 -05:00
Brendan Dahl
ac005ed359 Support more type 1 font hsbw formats. 2012-07-18 16:23:51 -07:00
benbro
f60d7c564f Moved the check for calledErrorBack inside the xhr.onerror function 2012-07-18 22:05:55 +03:00
benbro
813b5e78b0 Prevent the error callback from being called twice 2012-07-18 21:41:36 +03:00
Brendan Dahl
e6b75f4a56 Also check abbreviation for colorspace in jpegs. 2012-07-17 13:42:49 -07:00
benbro
a63814e2b9 Changed warning 2012-07-13 18:09:20 +03:00
benbro
278dc81a54 Move the try/catch block deeper 2012-07-13 18:00:55 +03:00
benbro
9de94991e9 Catch errors when parsing the linearization header so we can display corrupted docs 2012-07-13 17:41:20 +03:00
Brendan Dahl
c98b905e0d Add support for type 1 seac charstring command. 2012-07-11 16:29:07 -07:00
Alex Kwiatkowski & Daniel Yankowsky
00dbce612f Skip properties inherited from array.prototype 2012-07-11 11:45:28 -04:00
Brendan Dahl
f4c16aab9e Merge pull request #1882 from yurydelendik/jpx-segsymbol
Segmentation symbol check for JPX
2012-07-09 14:38:14 -07:00
Yury Delendik
48e115cf30 Implements segmentation symbol check for JPX 2012-07-09 13:59:50 -05:00
Yury Delendik
f9f715b656 Adds lossless segment types; fixes generic region prediction flag 2012-07-09 12:13:03 -05:00
Yury Delendik
07a24c5589 Warn instead of fail for CID fonts 2012-06-28 07:51:18 -05:00
Yury Delendik
f199a8b19e Fixes merge with 1849 2012-06-28 05:33:32 -05:00
Yury Delendik
eb863b2298 Merge branch 'master' of git://github.com/mozilla/pdf.js.git into loadpdf-1
Conflicts:
	src/api.js
2012-06-28 05:26:16 -05:00
Yury Delendik
665ff0d36f Merge pull request #1849 from kingsquare/master
Fix for web worker test in Safari
2012-06-28 03:05:04 -07:00
Yury Delendik
54db7489bd Merge pull request #1831 from brendandahl/priority-rendering
Change to priority/pausible rendering.
2012-06-27 12:44:58 -07:00
Tim de Koning
17c1018eef lint compliance 2012-06-27 11:14:14 +02:00
Tim de Koning
4845bb586e Merge branch 'master' of github.com:kingsquare/pdf.js 2012-06-27 09:28:53 +02:00
Brendan Dahl
f90a05f5f8 Merge pull request #1837 from yurydelendik/jbig2-1
JBIG2 implementation
2012-06-26 16:00:32 -07:00
Tim de Koning
0c33615301 Fixing web worker feature detection for Safari 2012-06-26 23:07:37 +02:00
Tim de Koning
c131715a2f Make web workers debuggable! This way an error can be caught in the browser when the web worker throws an error.
See http://www.nczonline.net/blog/2009/08/25/web-workers-errors-and-debugging/
2012-06-26 10:12:10 +02:00
Yury Delendik
25d4467fa3 Fixes .length and capitalization nits 2012-06-26 00:32:59 -05:00
Yury Delendik
0b1111f368 Cleanup: removing main thread loading fallback code 2012-06-23 15:49:17 -05:00
Yury Delendik
0dd445bf18 Fixes unit tests and adds few for util.js 2012-06-23 15:35:59 -05:00
Yury Delendik
00f1d6dbf1 Fetches pdf data in the worker 2012-06-23 14:48:33 -05:00
Yury Delendik
f014481149 Replaces throw to error() and uses shadow() 2012-06-22 05:55:19 -05:00
Yury Delendik
699abbd4f2 Removing huffman tables; decoding context refactoring 2012-06-22 05:36:56 -05:00
Yury Delendik
2e5414cd18 Fixes template 2; implements end of stripe 2012-06-22 00:50:04 -05:00
Yury Delendik
aa877e1d40 Implements refinement 2012-06-21 17:26:24 -05:00
Brendan Dahl
8b0ec4b2b0 Merge pull request #1693 from benbro/master
Use a reusable style sheet instead of creating a new tag for each rule.
2012-06-18 13:06:45 -07:00
Yury Delendik
e09eb529d9 Adds basic symbol dictionary and text region. 2012-06-18 15:03:20 -05:00
benbro
76a296cac4 Remove space at end of line. 2012-06-18 23:02:23 +03:00
Brendan Dahl
ffc27bca1e Fix missing charset for iframe. 2012-06-18 10:49:00 -07:00
Brendan Dahl
3c874c9bb7 Change to priority rendering. 2012-06-18 09:48:47 -07:00
Yury Delendik
95bc99f698 Initial JBIG2 code 2012-06-16 15:15:42 -05:00
sbarman
5cbe3a517e Undo removal of Mode line 2012-06-13 16:09:57 -07:00
sbarman
7c48297794 Adding call to resolve unfulfilled promise 2012-06-11 15:05:06 -07:00
sbarman
c900dfeced Updated lint errors 2012-06-11 14:57:58 -07:00
sbarman
dd14b3051e Fix for issue #1796 2012-06-08 22:42:56 -07:00
Brendan Dahl
5d8f463162 Adds support for the extend option for linear and radial shadings. 2012-06-07 16:00:07 -07:00
Brendan Dahl
1c1447e599 Merge pull request #1763 from yurydelendik/type3-1
Type3 smoothing: pre-scale image in the paintImageMaskXObject
2012-06-06 09:26:38 -07:00
Yury Delendik
d5da15e001 Fixes brackets 2012-06-05 17:56:18 -05:00
Brendan Dahl
6175e4b526 Use already downloaded data for the open with/save as dialog. 2012-06-01 14:17:09 -07:00
benbro
6de284acc9 Set the style element ID. 2012-05-31 12:05:06 +03:00
benbro
4e39685753 Use a style tag with an ID instead of keeping a reference to it. 2012-05-31 12:01:15 +03:00
Brendan Dahl
d9764ab468 Merge pull request #1674 from mozilla/textsearch
Text search with new API, new UI
2012-05-29 10:16:18 -07:00
Brendan Dahl
2ba7cbc4fa Merge pull request #1766 from yurydelendik/encryptmeta
Suppress metadata decryption
2012-05-29 09:44:24 -07:00
Yury Delendik
1fb02300a4 Removing log 2012-05-29 11:01:46 -05:00
Artur Adib
9597efb3f4 merge upstream 2012-05-29 11:54:11 -04:00
Yury Delendik
50b86ff480 Move putImageData 2012-05-28 15:10:44 -05:00
Yury Delendik
48811f362b Skipping incorrectly encoded metadata 2012-05-27 19:00:13 -05:00
Yury Delendik
413e5357b9 Suppress metadata decryption 2012-05-27 18:03:04 -05:00
Nils Maier
40b9be137f Decode XML metadata as UTF-8
XML uses UTF-8 by default, which needs to be decoded to a Javascript
String prior to feeding it to the DOMParser.
In an ideal world, the XML would actually be analyzed and the specified
charset would be used, however that does not seem feasible unless JS
engines get iconv bindings.

Fixes GH-1692
2012-05-27 22:56:49 +02:00
Yury Delendik
81681e7914 Pre-scale image in the paintImageMaskXObject 2012-05-27 13:50:46 -05:00
Brendan Dahl
5416b92392 Add todo comment. 2012-05-25 13:07:07 -07:00
Brendan Dahl
2da12930a6 Merge branch 'master' of github.com:mozilla/pdf.js into fallback-ui
Conflicts:
	extensions/firefox/components/PdfStreamConverter.js
2012-05-24 14:01:10 -07:00
Brendan Dahl
e16a5c81d4 Merge pull request #1734 from yurydelendik/issue-1721
Adjust heuristic to properly handle unicode characters
2012-05-24 09:44:29 -07:00
Brendan Dahl
139200e772 Merge pull request #1716 from yurydelendik/issue-1709
Adjusts MacRoman switch heuristics threshold
2012-05-22 18:09:51 -07:00
Yury Delendik
6971aec9f3 Adjust heuristic to properly handle unicode characters 2012-05-21 22:15:09 -05:00
Artur Adib
5ac7513fa3 Merge pull request #1728 from yurydelendik/lexer-1
Allow parsing of the "glued" commands
2012-05-21 13:55:29 -07:00
Brendan Dahl
a9136d9f0f Merge pull request #1720 from yurydelendik/remove-cid-1
Removes the CID data from the CFF font
2012-05-21 13:48:51 -07:00
Yury Delendik
874357aac1 Comment for knownCommands 2012-05-21 15:23:49 -05:00
Artur Adib
1e41f65735 Merge pull request #1712 from yurydelendik/winfont-1
Moves Subrs to Private tail in CFF top dict
2012-05-21 11:25:47 -07:00
Yury Delendik
43f1946c7a Add prefixes for literals 2012-05-20 14:05:23 -05:00
Yury Delendik
ec6c185cf5 Allow parsing of the "glued" commands 2012-05-20 13:44:03 -05:00
Yury Delendik
ed02be8352 Removes the CID data from the CFF font 2012-05-18 16:51:55 -05:00
Yury Delendik
84b4f53ed6 Adjusts MacRoman switch heuristics threshold 2012-05-18 11:15:44 -05:00
Yury Delendik
45ae175d0b Fixes CFF: moves Subrs to Private tail 2012-05-17 18:15:11 -05:00
Jakob Miland
b655b414d8 PasswordException in closure 2012-05-17 21:34:39 +02:00
Jakob Miland
3ddf9b5dfd Merge branch 'fixpassword', remote-tracking branch 'origin/master' into fixpassword 2012-05-16 21:03:09 +02:00
Artur Adib
0bac4abcb5 Merge branch 'master' of github.com:mozilla/pdf.js into textsearch 2012-05-16 12:51:19 -04:00
Brendan Dahl
e962d93946 Change to info for most gstate settings. 2012-05-15 16:05:45 -07:00
Brendan Dahl
60dd0e08e4 Merge pull request #1694 from yurydelendik/owner-password
Fixes user and owner passwords logic
2012-05-15 11:52:56 -07:00
Brendan Dahl
080c3e79fc Merge upstream. Use new l10n. 2012-05-15 10:33:01 -07:00
Brendan Dahl
034583e1a1 Add new severity log info(). Change severity of some log messages. Trigger fallback on errors and warnings for extension. 2012-05-14 17:19:09 -07:00
Jakob Miland
45d6daa853 Wrong variable name, fix 2012-05-14 20:58:56 +02:00
Jakob Miland
0a30d3961b Support password and add the relevant l10n strings 2012-05-14 20:45:07 +02:00
Brendan Dahl
3586b7579f Merge pull request #1686 from yurydelendik/evaluator-tests
Evaluator tests
2012-05-14 09:06:41 -07:00
Jakob Miland
b7ea788b0c Merge remote-tracking branch 'origin/master' into fixpassword 2012-05-14 17:58:10 +02:00
Yury Delendik
910ba0b91f Fixes user and owner passwords logic 2012-05-12 21:34:32 -05:00
benbro
b6077c7398 IE9 breaks when adding to many style elements to the page. 2012-05-12 03:40:40 +03:00
Dmitry Kataev
6acdf1791c Two or more operations can be combined together like qqBT 2012-05-09 21:29:50 +04:00
Artur Adib
2d3ed7fc78 Merge branch 'refs/heads/master' into textsearch
Conflicts:
	web/viewer.css
	web/viewer.html
	web/viewer.js
2012-05-08 17:22:48 -04:00
beat
e1146b64ad fix 4 lint errors 2012-05-08 16:34:46 +02:00
beat
e11cad884c code style fixes 2012-05-08 14:17:51 +02:00
beat
7786e4fefb Make authentication work 2012-05-07 09:17:00 +02:00
asraniel
315071ca28 Add stub for the last piece of the puzzle 2012-05-06 21:32:30 +02:00
asraniel
353a43cb46 Add first API change, not working yet 2012-05-06 21:24:42 +02:00
Yury Delendik
3f2adc04ac Merge pull request #1620 from merkste/opera-jpg.js-issue
Opera, Mac: exception on importScript jpg.js locally (clean pull)
2012-05-01 17:50:31 -07:00
Kalervo Kujala
117256ce78 Correct PDFDocumentProxyClosure name. 2012-05-01 20:54:16 +03:00
Kalervo Kujala
889b3d3168 Correct class method names. 2012-05-01 20:48:07 +03:00
Brendan Dahl
f8ed7bb31a Fix object id counter. 2012-04-26 09:38:58 -07:00
Steffen Märcker
2b81f3c2e9 changed load order to fix viewer in Opera locally 2012-04-26 13:28:38 +02:00
Brendan Dahl
92e355dc35 Address review comments. 2012-04-25 18:44:28 -07:00
Brendan Dahl
ba9c828117 Merge pull request #1600 from yurydelendik/issue-1586
Don't check gen number for free entry; don't index objects twice
2012-04-25 17:04:11 -07:00
Saebekassebil
9287ab12e7 Add mailto protocol, to whitelist 2012-04-25 20:17:26 +02:00
Brendan Dahl
0cb6d62089 Merge pull request #1599 from yurydelendik/issue-1597
Guessing pdf char size based on the CMap numbers
2012-04-24 13:49:30 -07:00
Brendan Dahl
2db0ee6ba3 Add next line operators for text collection. 2012-04-24 12:29:23 -07:00
Yury Delendik
fcabd176a0 Don't check gen number for free entry; don't index objects twice 2012-04-23 22:14:58 -05:00
Yury Delendik
78213e826e Guessing pdf char size based on the CMap numbers 2012-04-23 17:44:51 -05:00
Yury Delendik
f7ccb291f4 Fix broken metadata 2012-04-23 16:43:20 -05:00
Brendan Dahl
8eaf0cdb18 Remove cache of page text content in core. 2012-04-23 13:16:57 -07:00
Brendan Dahl
92d0d1d694 Merge new API and text search. 2012-04-20 16:49:08 -07:00
Yury Delendik
cf19de8fcd Merge pull request #1573 from brendandahl/issue-1516
Handle junk at the end of postscript functions.
2012-04-18 14:00:58 -07:00
Brendan Dahl
cec7a92a99 Merge pull request #1568 from yurydelendik/issue-1557
Fixes annotations; adds text annotation icon
2012-04-18 10:51:13 -07:00
Brendan Dahl
56079d77bc Merge pull request #1504 from yurydelendik/issue-1502
Rebuilding invalid OS/2 table
2012-04-18 10:32:55 -07:00
Brendan Dahl
6ab7584ba4 Fix to lowercase. 2012-04-18 09:50:47 -07:00
Brendan Dahl
e5732f489d Handle junk at the end of postscript functions. 2012-04-18 09:48:28 -07:00
Yury Delendik
237e1d941d Fix annotations; add text annotation icon 2012-04-17 15:33:15 -05:00
Brendan Dahl
9b0224b5cf Merge pull request #1551 from yurydelendik/issue-1549
Fix the operator list deallocation
2012-04-17 09:02:47 -07:00
Yury Delendik
cff6c8db08 skip cached objects and has consistent font ids 2012-04-16 21:42:05 -05:00
Yury Delendik
b6edbb38c1 Fixes content stream reset; terminating rendering when destroyed 2012-04-16 16:46:26 -05:00
Yury Delendik
32684fe324 Change render status logic 2012-04-16 16:19:45 -05:00
Yury Delendik
0380d408e0 Fixes comment 2012-04-16 15:28:34 -05:00
Yury Delendik
f701a1427a Remove operatorList cache from the backend 2012-04-16 15:23:24 -05:00
Yury Delendik
357805696b Fixing concurrency and test driver 2012-04-16 14:49:55 -05:00
Yury Delendik
1e96c73207 Fixing concurent draw page requests for de-allocation 2012-04-16 14:13:41 -05:00
Yury Delendik
08830731c0 Fix the operator list deallocation 2012-04-16 13:38:27 -05:00
Brendan Dahl
32b7eba6de Add RL abbreviation for run length decode. 2012-04-16 11:35:42 -07:00
Brendan Dahl
4616ee0ee8 Show error on JBIG2 images. 2012-04-16 11:34:00 -07:00
Brendan Dahl
04c8d1454d Add Util functions to PDFJS. 2012-04-16 09:45:49 -07:00
Yury Delendik
12b0282836 Remove debug code 2012-04-14 17:57:14 -05:00
Yury Delendik
6bf640260f Fix jsdoc comment; remove resources dict from type3 properties 2012-04-14 17:52:49 -07:00
Yury Delendik
4953e0fecc Merge branch 'api' of git://github.com/mozilla/pdf.js.git into api 2012-04-14 13:56:57 -07:00
Yury Delendik
42911f1fc9 Async getAnnotations(); hide map and xref for Dict 2012-04-14 13:54:31 -07:00
Brendan Dahl
c207d4a7d6 Add docs to API. 2012-04-13 09:25:08 -07:00
Yury Delendik
dee158d80c Fix title info for PDF document 2012-04-12 15:56:17 -07:00
Yury Delendik
f955befc4b Merge pull request #1532 from brendandahl/api
Fix page error handling.
2012-04-12 15:17:33 -07:00
Yury Delendik
eba8f5a22c Fix finger print, remove unused code 2012-04-12 15:14:18 -07:00
Brendan Dahl
23df48bf0e Fix page error handling. 2012-04-12 15:14:18 -07:00
Brendan Dahl
c02b18b5e8 Merge upstream. 2012-04-12 14:11:22 -07:00
Brendan Dahl
07fc34551d Minor clean up. 2012-04-12 14:07:11 -07:00
Yury Delendik
494fd1ccf9 Fixes make files, removes stats from backend, stepper 2012-04-12 14:02:47 -07:00
Brendan Dahl
7c35f10af8 Fix thumbnail view. 2012-04-12 13:04:03 -07:00
Brendan Dahl
2c49cab3a1 Fixing names. 2012-04-12 12:11:22 -07:00
Yury Delendik
f0687c4d50 Refactor pageNumber/pageIndex concept 2012-04-12 10:01:07 -07:00
Yury Delendik
b312719d7e Fixes test driver and examples 2012-04-12 08:23:38 -07:00
Brendan Dahl
5608f8e445 Test refactoring for async api. 2012-04-11 18:05:43 -07:00
Yury Delendik
3b83a42a91 Outline fix, destroy, and linting 2012-04-11 17:09:55 -07:00
Brendan Dahl
fd58f04117 Refactor API to be async. 2012-04-11 16:47:42 -07:00
Yury Delendik
73cab9c302 Initial API refectoring 2012-04-11 15:52:15 -07:00
Yury Delendik
d61c4f07f8 Initial view bug and rename viewport function 2012-04-11 10:18:29 -07:00
Yury Delendik
2f4423cffb Fixing zoom and rotate issues 2012-04-11 09:42:41 -07:00
Yury Delendik
82dd32e807 Merge branch 'api' of git://github.com/mozilla/pdf.js.git into remove-rotatept 2012-04-11 08:30:24 -07:00
Yury Delendik
47c43b5779 Removing the rotatePoint, width, height from the API 2012-04-11 08:29:44 -07:00
Brendan Dahl
fbd9fcd8fb Fix fingerprint name. 2012-04-10 12:17:43 -07:00
Yury Delendik
737ed84174 Initial API implementation 2012-04-09 22:20:57 -07:00
Julian Viereck
c9fb5637c3 Extract one page after the other and not all pages at once 2012-04-08 16:18:43 -07:00
Julian Viereck
3c77291013 Merge text search with current master 2012-04-08 08:57:55 -07:00