Tony Jin
11f3deac56
Allow link rel to be customized. Defaults to 'noreferrer'
2015-12-17 10:36:53 -08:00
Tim van der Meij
df81b832bb
Remove unused variables
2015-12-16 23:52:16 +01:00
Jonas Jenwald
d4c026980e
Only export Uint32ArrayView
when it's actually defined, to prevent breaking e.g. the Firefox addon/built-in version
...
*This is a follow-up to PR 6683.*
2015-12-16 11:15:36 +01:00
Brendan Dahl
f1c64b6a2a
Merge pull request #6683 from yurydelendik/module-core
...
Adds UMD headers to core, display and shared files.
2015-12-15 17:10:21 -08:00
Xiliang Chen
8bf17f5df8
Fix incorrect position of text widget
2015-12-16 11:21:01 +13:00
Yury Delendik
b084dc09ee
Allows requirejs and node load fake worker files.
2015-12-15 13:24:39 -06:00
Yury Delendik
6b60c8f4db
Adds UMD headers to core, display and shared files.
2015-12-15 13:24:39 -06:00
Tim van der Meij
1b5940edd2
Merge pull request #6714 from timvandermeij/annotation-web-to-src
...
[api-minor] Move annotation DOM manipulation logic to src/display/annotation_layer.js
2015-12-15 19:06:48 +01:00
Tim van der Meij
edce8daeac
Implement annotation layer rendering and updating in src/display/annotation_layer.js
2015-12-15 17:00:01 +01:00
Tim van der Meij
b1937e7670
Remove superfluous comments in the annotation layer code
2015-12-15 16:27:35 +01:00
Tim van der Meij
8d36aad30a
Implement constants for all annotation types
...
Now we have a full list of all possible annotation types and the
numbering corresponds to the order in the specification. Not only is
this more consistent and complete, it also prevents having to add these
constants when a new annotation type is implemented.
Additionally fix an issue where a regular Widget annotation would not
have `data.annotationType` set. It was only set for a
TextWidgetAnnotation, but instead move it to the base Widget annotation
class to add it for all Widget annotations (since TextWidgetAnnotation
inherits from WidgetAnnotation it will have it too).
2015-12-15 15:23:55 +01:00
Tim van der Meij
f93a220736
Merge pull request #6684 from dsprenkels/issue-6296-radial-shading-size
...
shading-pattern: While drawing patterns, use transform to baseTransform first
2015-12-14 20:39:08 +01:00
Yury Delendik
f7ec866c39
Merge pull request #6747 from Snuffleupagus/issue-6742
...
Remove the superfluous `PDFJS.disableFontFace = false;` statement at the top of font_loader.js (issue 6742)
2015-12-12 12:53:56 -05:00
Jonas Jenwald
12068490ed
Remove the superfluous PDFJS.disableFontFace = false;
statement at the top of font_loader.js (issue 6742)
...
Fixes 6742.
2015-12-12 12:39:56 +01:00
Jonas Jenwald
f0e4795302
Reset the styleElement
when clearing out loaded fonts (bug 1232017)
...
*This is a follow-up to PR 6571.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1232071 .
2015-12-12 11:33:43 +01:00
Brendan Dahl
91b27aae46
Merge pull request #6651 from yurydelendik/fix-chars-scaling
...
Fix chars scaling for standard fonts. (redo of #4908 )
2015-12-10 14:18:48 -05:00
Tim van der Meij
bce3214105
Move link creation logic to src/display/annotation_layer.js
...
Additionally simplify the div creation logic (it needs to happen only
once, so it should not be in the for-loop) and remove/rename variables
for shorter code.
2015-12-08 23:56:17 +01:00
Jonas Jenwald
ee0d522187
Use adjustWidths
for TrueType fonts if we handle them as OpenType (issue 5027, issue 5084, issue 6556, bug 1204903)
...
In `Font_checkAndRepair` we can decide that a font isn't TrueType, and instead parse it as CFF. In that case it's quite possible that the `fontMatrix` will be changed, and without calling `adjustWidths` we're failing to update the glyph widths correctly.
Fixes 5027.
Fixes 5084.
Fixes 6556.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1204903 .
2015-12-08 00:49:22 +01:00
Jonas Jenwald
084bb8682f
Merge pull request #6723 from yurydelendik/smask-transfer
...
Adds transfer function support for SMask.
2015-12-05 22:41:56 +01:00
Jonas Jenwald
4810b7b8fc
Fix the charCodeOf
method in IdentityToUnicodeMap
in order to prevent text selection from breaking
...
After PR 6590, `font.spaceWidth` is now called in more cases than before (in `PartialEvaluator_getTextContent`), which exposed an underlying issue with `IdentityToUnicodeMap_charCodeOf` throwing an error.
This breaks text-selection in some PDF files found in the wild, hence this patch replaces the `error` with an actual function instead (modelled after `IdentityCMap_charCodeOf`).
2015-12-05 13:15:55 +01:00
Yury Delendik
15c9969abe
Adds transfer function support for SMask.
2015-12-04 12:52:45 -06:00
Jonas Jenwald
e2aca385c6
Merge pull request #6720 from yurydelendik/smask-state
...
Fixes canvas state after smask group ends.
2015-12-03 22:19:37 +01:00
Yury Delendik
d4843ebf6d
Fixes canvas state after smask group ends.
2015-12-03 14:34:12 -06:00
Brendan Dahl
87762afec4
Remove glyph id's outside the range of valid glyphs.
...
OTS does not like invalid glyph ids in a camp table.
2015-12-03 11:53:06 -08:00
Tim van der Meij
2dc3ee38c0
Move most rendering logic to src/display/annotation_layer.js
2015-12-03 00:20:18 +01:00
Tim van der Meij
38567ac3a3
Rename initContainer(item)
to getContainer(data)
...
Naming it this way makes more sense when compared to the core
annoatation code. That code also uses `data` for the annotation
properties.
2015-12-02 23:35:21 +01:00
Tim van der Meij
91274d6d2d
Rename annotation_helper.js to annotation_layer.js
2015-12-02 23:30:28 +01:00
Daan Sprenkels
a9081653fc
shading-pattern: While drawing patterns, transform to the baseTransform first
2015-12-02 21:49:38 +01:00
Brendan Dahl
376788f2b2
Merge pull request #6698 from yurydelendik/rm-UnsupportedManager
...
[api-minor] Replaces UnsupportedManager with callback.
2015-12-02 10:57:44 -08:00
Jonas Jenwald
5f56a20b34
Merge pull request #6701 from timvandermeij/pdf-manager-inherit
...
Make use of `Util.inherit` in `src/core/pdf_manager.js`
2015-12-01 19:53:43 +01:00
Yury Delendik
4a82f2f5fd
Merge pull request #6695 from Snuffleupagus/issue-6692
...
Ensure that `Lexer_getName` does not fail if a `Name` contains in invalid usage of the NUMBER SIGN (#) (issue 6692)
2015-12-01 10:25:57 -06:00
Jonas Jenwald
361fa83f3b
Merge pull request #6699 from timvandermeij/annotation-refactoring
...
Improve code structure of the annotation code
2015-12-01 13:31:18 +01:00
Yury Delendik
c9cb6a3025
Replaces UnsupportedManager with callback.
2015-11-30 14:42:47 -06:00
Tim van der Meij
0c41866433
Make use of Util.inherit
in src/core/pdf_manager.js
...
While we are here, fix some incorrect function names.
2015-11-29 00:58:19 +01:00
Tim van der Meij
8b79becad6
Improve code structure of the annotation code
...
This patch improves the code structure of the annotation code.
- Create the annotation border style object in the `setBorderStyle` method instead of in the constructor. The behavior is the same as the `setBorderStyle` method is always called, thus a border style object is still always available.
- Put all data object manipulation lines in one block in the constructor. This improves readability and maintainability as it is more visible which properties are exposed.
- Simplify `appendToOperatorList` by removing the promise capability and removing an unused parameter.
- Remove some unnecessary newlines/spaces.
2015-11-29 00:04:21 +01:00
Jonas Jenwald
e8e79029b1
Replace font.bindDOM()
with font.createFontFaceRule()
in the FontLoader
for MOZCENTRAL specific code (PR 6571 follow-up)
...
This is a follow-up to PR 6571, and fixes font loading in the `MOZCENTRAL` version.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1228603#c2 .
2015-11-28 21:33:07 +01:00
Jonas Jenwald
995e1a45b8
Ensure that Lexer_getName
does not fail if a Name
contains in invalid usage of the NUMBER SIGN (#) (issue 6692)
...
*This is a regression from PR 3424.*
The PDF file in the referenced issue is using `Type3` fonts. In one of those, the `/CharProcs` dictionary contains an entry with the name `/#`. Before the changes to `Lexer_getName` in PR 3424, we were allowing certain invalid `Name` patterns containing the NUMBER SIGN (#).
It's unfortunate that this has been broken for close to two and a half years before the bug surfaced, but it should at least indicate that this is not a widespread issue.
Fixes 6692.
2015-11-28 11:59:09 +01:00
Yury Delendik
e4e69e2f05
Set error font for Type3 if its loading failed.
2015-11-27 13:05:51 -06:00
Yury Delendik
8dff301ce1
Worker shall wait for MessageHandler to be created at api side.
2015-11-25 18:21:23 -06:00
Jonas Jenwald
6dfe53b976
[api-minor] Add a parameter to PDFPageProxy_getTextContent
that enables replacing of all whitespace with standard spaces in the textLayer (issue 6612)
...
This patch goes a bit further than issue 6612 requires, and replaces all kinds of whitespace with standard spaces.
When testing this locally, it actually seemed to slightly improve two existing test-cases (`tracemonkey-text` and `taro-text`).
Fixes 6612.
2015-11-25 17:28:40 +01:00
Tim van der Meij
c2dfe9e9a9
Merge pull request #6571 from yurydelendik/worker
...
[api-minor] Allows a worker to handle multiple documents.
2015-11-24 22:42:44 +01:00
Tim van der Meij
c280fb516d
Merge pull request #6679 from Snuffleupagus/better-openExternalLinksInNewWindow-deprecation-comments
...
Improve the comment and deprecation warning for `PDFJS.openExternalLinksInNewWindow`
2015-11-24 22:38:43 +01:00
Yury Delendik
06c1904675
Refactors FontLoader to group fonts per document.
2015-11-24 13:27:22 -06:00
Yury Delendik
09772e1e15
Creates PDFWorker, separates fetchDocument from transport.
2015-11-24 13:27:22 -06:00
Yury Delendik
acdd49f480
Adds peer communication between MessageHandlers.
2015-11-24 12:16:58 -06:00
Yury Delendik
4b243cdd89
Merge pull request #6675 from Snuffleupagus/getAnnotations-intent
...
[api-minor] Let `getAnnotations` fetch all annotations by default, unless an intent is specified
2015-11-24 12:11:51 -06:00
Jonas Jenwald
27c8e1e22f
Improve the comment and deprecation warning for PDFJS.openExternalLinksInNewWindow
...
This patch:
- Updates the JSDoc comment in `api.js`, to more clearly point out that `PDFJS.openExternalLinksInNewWindow` is deprecated, and explains what to use instead.
- Changes the `warn`, in `isExternalLinkTargetSet()`, to use the new `deprecated` function instead. Also updates the message with more detailed information about what to use instead.
- Changes the pre-processor tag to ensure the deprecation warning is seen in all build types where it could possibly matter (in case people are using `PDFJS.openExternalLinksInNewWindow` in e.g. custom-built extensions).
These changes were prompted by seeing http://stackoverflow.com/questions/33813373/pdf-js-how-to-open-hyperlinks-in-a-new-tab-window , since it seems to me that the current comments/warnings might not be worded well enough.
2015-11-23 13:12:23 +01:00
Jonas Jenwald
a2a5d36d5b
Restore the data.annotationFlags
parameter for annotations (PR 6672 follow-up)
2015-11-23 10:17:11 +01:00
Jonas Jenwald
b05652ca97
[api-minor] Let getAnnotations
fetch all annotations by default, unless an intent is specified
...
Currently `getAnnotations` will *only* fetch annotations that are either `viewable` or `printable`. This is "hidden" inside the `core.js` file, meaning that API consumers might be confused as to why they are not recieving *all* the annotations present for a page.
I thus think that the API should, by default, return *all* available annotations unless specifically told otherwise. In e.g. the default viewer, we obviously only want to display annotations that are `viewable`, hence this patch adds an `intent` parameter to `getAnnotations` that makes it possible to decide if only `viewable` or `printable` annotations should be fetched.
2015-11-22 15:51:37 +01:00
Yury Delendik
0029000c9f
Merge pull request #6671 from Snuffleupagus/make-stripCommentHeaders-less-gready
...
Make `stripCommentHeaders` less greedy, to ensure that it doesn't eat 'use strict' directive at the top of files (PR 6627 follow-up)
2015-11-22 07:24:20 -06:00
Tim van der Meij
0991c06395
Refactor annotation flags code
...
This patch makes it possible to set and get all possible flags that the PDF specification defines. Even though we do not support all possible annotation types and not all possible annotation flags yet, this general framework makes it easy to access all flags for each annotation such that annotation type implementations can use this information.
We add constants for all possible annotation flags such that we do not need to hardcode the flags in the code anymore. The `isViewable()` and `isPrintable()` methods are now easier to read. Additionally, unit tests have been added to ensure correct behavior.
This is another part of #5218 .
2015-11-22 01:06:37 +01:00
Jonas Jenwald
373da010ac
Move the globals
comments in bidi.js and metadata.js to after the Copyright comments
2015-11-21 18:43:08 +01:00
Yury Delendik
56ccaea99b
Move text layer building logic into src/display/text_layer.js
2015-11-19 10:50:27 -06:00
Yury Delendik
2f34fd46cb
Move CustomStyle.
2015-11-19 10:47:17 -06:00
Yury Delendik
194994a289
Merge pull request #6551 from yurydelendik/subaa
...
[api-minor] Enables subpixel anti-aliasing for most of the content.
2015-11-17 19:45:32 -06:00
Yury Delendik
8200f099a3
Fix chars scaling for standard fonts.
2015-11-17 13:21:27 -06:00
Yury Delendik
2f1a626d6a
Merge pull request #6640 from dsprenkels/issue-6006-radial-gradient-size
...
Apply transformation matrix to RadialGradient radiuses
2015-11-17 11:40:13 -06:00
Daan Sprenkels
6ce83d3290
apply transformation matrix to RadialGradient radiuses,
...
not only to circle origin points
fix for #6006
2015-11-17 00:20:42 +01:00
Yury Delendik
1d8800370a
Allow subpixel anti-aliasing for most of the content.
2015-11-16 10:50:02 -06:00
Manas
a2ba1b8189
Uses editorconfig to maintain consistent coding styles
...
Removes the following as they unnecessary
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
2015-11-14 07:32:18 +05:30
Jonas Jenwald
50a70429ec
Ignore the /Mask entry in images unless its /ImageMask entry is explicitly set to true
(issue 6621)
...
Fixes 6621.
2015-11-12 22:49:26 +01:00
Yury Delendik
7381ff9523
Merge pull request #6599 from prometheansacrifice/generate-better-api-docs
...
Generate better API documentation
2015-11-12 14:26:18 -06:00
Manas
dbcb46c8de
Uses @alias to fix missing comments on JSDocs pages
2015-11-13 01:24:15 +05:30
Yury Delendik
3c6df26704
Merge pull request #6608 from Rob--W/improved-error-message-local-file
...
Improve error message for non-existent local files
2015-11-09 15:40:41 -06:00
Rob Wu
c604cc22d1
Improve error message for non-existent local files
...
I received multiple reports about the following cryptic error in the
Chrome extension when the user tried to open a local file:
> PDF.js v1.1.527 (build: 2096a2a
)
> Message: Cannot read property 'Symbol(Symbol.iterator)' of null
This error most likely originated from core/stream.js:
function Stream(arrayBuffer, start, length, dict) {
this.bytes = (arrayBuffer instanceof Uint8Array ?
arrayBuffer : new Uint8Array(arrayBuffer));
^^^^^^^^^^^
`arrayBuffer` is `null`, and that in turn is caused by the fact that
for non-existing files, there is no data. I've applied two fixes:
1. Never call onDone with a void buffer, but call the error handler
instead.
2. Show a sensible error message for local files with status = 0.
2015-11-08 18:03:28 +01:00
Jonas Jenwald
ff64ef0243
Prevent readCmapTable
from failing if the cmap
is missing in TrueType fonts
...
Fixes http://arrow.dit.ie/cgi/viewcontent.cgi?article=1000&context=aaschadpoth#page=3 .
2015-11-08 16:48:37 +01:00
Yury Delendik
bb29e13307
Merge pull request #6601 from yurydelendik/ascent
...
Fixes incorrect PDF file font metrics.
2015-11-06 20:16:04 -06:00
Brendan Dahl
9a830a7b62
Merge pull request #6590 from yurydelendik/combinechars
...
Combines standalone chars into text groups.
2015-11-06 15:06:41 -08:00
Yury Delendik
cc5bc18728
Fixes incorrect PDF file font metrics.
2015-11-06 14:47:10 -06:00
Yury Delendik
fa423cfab0
Refactors fake space heuristics for speed.
2015-11-06 10:55:43 -06:00
Yury Delendik
376f8bde14
Combines standalone divs into text groups.
2015-11-06 10:20:49 -06:00
Yury Delendik
601d29b14e
Fixes all examples to require workerSrc to be set.
2015-11-06 07:50:21 -06:00
Yury Delendik
28d340679a
Uses document.currentScript for pdf.worker.js path.
2015-11-06 07:50:21 -06:00
Yury Delendik
fa46b73c47
Better spacing in text layer.
2015-11-02 08:54:15 -06:00
Brendan Dahl
b56b41514c
Merge pull request #6578 from yurydelendik/issue6577
...
Ignore any pending data when worker is terminated.
2015-10-29 11:49:40 -07:00
Yury Delendik
8d15ecb14b
Ignore any pending data when worker is terminated.
2015-10-29 13:06:22 -05:00
Yury Delendik
d26ef21d52
Merge pull request #6568 from tonyjin/api-rangeChunkSize
...
[api-minor] Add an optional param to DocumentInitParameters for speci…
2015-10-28 16:52:52 -05:00
Tony Jin
ef667823dd
[api-minor] Add an optional param to DocumentInitParameters for specifying the range request chunk size to use. Defaults to 2^16 = 65536.
2015-10-26 17:22:11 -07:00
Jonas Jenwald
1c66d4a106
Add a totalLength
getter to OperatorList
, since the length
is zero after flushing
...
In the `RenderPageRequest` handler in `worker.js`, we attempt to print an `info` message containing the rendering time and the length of the operator list. The latter is currently broken (and has been for quite some time), since the `length` of an `OperatorList` is reset when flushing occurs.
This patch attempts to rectify this, by adding a getter which keeps track of the total length.
2015-10-26 18:12:14 +01:00
Jonas Jenwald
5bd95df427
Prevent TypeError: page is undefined
when the document has been destroyed (PR 6546 follow-up)
...
*Follow-up to PR 6546.*
If rendering has already started when the document is destroyed, then `this.pageCache[data.pageIndex]` may already have been cleared when the `StartRenderingPage`/`RenderPageChunk` messages are recieved in `api.js`, which results in `TypeError`s being thrown.
2015-10-23 22:16:34 +02:00
Yury Delendik
5135aa9bec
Adds deprecation warning for the API calls.
2015-10-23 09:06:32 -05:00
Yury Delendik
58c3ea0820
Adds thread abort capabilities.
2015-10-23 09:06:32 -05:00
Yury Delendik
59c13b32aa
Adds destroy method to the document loading task.
...
Also renames PDFPageProxy.destroy method to cleanup.
2015-10-23 08:57:14 -05:00
Jonas Jenwald
487ba9065a
Fail gracefully, and with a notification, if paintXObject is encountered in canvas.js
...
We should never actually try to execute `paintXObject` in canvas.js, but in some cases where we fail to parse the PDF file correctly it can happen. Currently this will potentially cause an entire page to fail to render, which seems suboptimal.
With this patch, we will instead continue rendering with a warning that things might not work correctly.
2015-10-21 21:30:59 +02:00
Jonas Jenwald
2e751199fb
Prevent getOperatorList from failing to correctly parse OPS.paintXObject for TilingPatterns that are missing some /Resources entries (issue 6541)
...
Fixes 6541.
2015-10-21 21:30:56 +02:00
Rob Wu
50ff2d4c2a
Ignore operators that are known to be unsupported
...
`operatorList.addOp` adds the arguments to the list which is then
passed as-is by postMessage to the main thread. But since we don't
parse these operations, they are raw PDF objects and may therefore
cause a serialization error.
This is a conservative patch, and only affects operators which are
known to be unsupported. We should ignore all unknown operators,
but I haven't really looked into the consequences of doing that.
Fixes #6549
2015-10-21 15:39:25 +02:00
Brendan Dahl
e4f0e6f2a0
Merge pull request #6531 from covlllp/new_merge
...
Fixes bluebeam password protection issue
2015-10-16 13:47:06 -07:00
Colin VanLang
6d8e883fe6
Fixes bluebeam password protection issue
2015-10-15 21:22:27 -04:00
Jonas Jenwald
49883439a5
Ensure that Dict_getArray
doesn't fail if xref
in undefined (PR 6485 follow-up)
...
In PR 6485 I somehow missed to account for the case where `xref` is undefined. Since a dictonary can be initialized without providing a reference to an `xref` instance, `Dict_getArray` can thus fail without this added check.
2015-10-15 11:47:07 +02:00
Jonas Jenwald
9ab896e307
[api-minor] Add an option to PDFJS for specifying the |target| attribute of external links
...
Replaces `PDFJS.openExternalLinksInNewWindow` with a more generic configuration option.
*Note:* `PDFJS.openExternalLinksInNewWindow = true;` is equal to `PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK;`.
2015-10-13 21:52:00 +02:00
Brendan Dahl
3eaeacfe19
Merge pull request #6476 from Snuffleupagus/PartialEvaluator_readToUnicode-cmap-length
...
Right-size the `map` array in PartialEvaluator_readToUnicode
2015-10-09 10:31:28 -07:00
Tim van der Meij
5e4910f7b6
Merge pull request #6491 from Snuffleupagus/check-trailer-if-xref-missing
...
Make `XRef_indexObjects` even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
2015-10-04 16:00:00 +02:00
Tim van der Meij
dd9d0b8770
Merge pull request #5480 from CodingFabian/issue-5458
...
Remove TryCatch in canvas for EvenOdd winding rule.
2015-10-04 15:31:34 +02:00
Jonas Jenwald
9b12c64be5
Cache the regular expression used for finding obj
s in XRef_indexObjects
, to avoid unnecessary allocations
2015-10-02 12:46:58 +02:00
Jonas Jenwald
192907e0d2
Make XRef_indexObjects
even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
...
Fixes http://www.cyjack.com/cognition/Terence%20McKenna%20-%20Lectures%20on%20Alchemy.pdf .
2015-10-01 15:01:25 +02:00
Tim van der Meij
1bdfc47de8
Merge pull request #6411 from Snuffleupagus/remove-Parser_fetchIfRef
...
Remove `Parser_fetchIfRef` since it's obsolete
2015-09-30 00:38:35 +02:00
Jonas Jenwald
1b8cb52555
Prevent PartialEvaluator_buildFormXObject
from failing if the Matrix
or BBox
contains indirect objects
...
This patch fixes yet another instance of bad PDF data, specifically a case where the `BBox` array contains indirect objects (i.e. `Ref`s).
Fixes the missing image in http://www.int.washington.edu/talks/WorkShops/int_08_37W/People/Franz_M/Franz.pdf#page=24 . *Note:* There are missing images on a number of the pages in that file.
2015-09-29 10:11:49 +02:00
Jonas Jenwald
75557d27d1
Add getArray
method to Dict
...
This method extend `get`, and will fetch all indirect objects (i.e. `Ref`s) when the result is an `Array`.
2015-09-29 10:11:47 +02:00
Jonas Jenwald
9eab463b6d
Ensure that the baseTransform
is always defined for TilingPatterns
...
Fixes http://www2.emersonprocess.com/siteadmincenter/PM%20Micro%20Motion%20Documents/High-Pressure-Measurement-WP-001287.pdf#page=3 .
2015-09-27 22:49:34 +02:00
Jonas Jenwald
8d831449ab
Right-size the map
array in PartialEvaluator_readToUnicode
...
We can avoid a lot of intermediate resizings, by directly allocating the required number of elements for the `map` array.
2015-09-24 13:08:53 +02:00
Fabian Lange
2564827503
Fix text spacing with vertical fonts ( #6387 )
...
According to the PDF spec 5.3.2, a positive value means in horizontal,
that the next glyph is further to the left (so narrower), and in
vertical that it is further down (so wider).
This change fixes the way PDF.js has interpreted the value.
2015-09-15 09:28:45 +02:00
Tim van der Meij
12b0b9744b
Merge pull request #6427 from Snuffleupagus/slightly-more-robust-get-fingerprint
...
Make `get fingerprint` slightly more robust against corrupt PDF files
2015-09-10 22:07:44 +02:00
Jonas Jenwald
5853553455
Make get fingerprint
slightly more robust against corrupt PDF files
...
This patch adjusts `get fingerprint` to also check that the `/ID` entry contains (non-empty) strings, to prevent more possible failures when loading corrupt PDF files (follow-up to PR 5602).
Note that I've not actually encountered such a PDF file in the wild. However given that `stringToBytes` will assert that the input is a string, and that we'll thus fail to load a document unless `get fingerprint` succeeds, making this more robust seems like a good idea to me.
2015-09-08 13:42:53 +02:00
Jonas Jenwald
29a1cdb6a6
Only choose a (3, 1) cmap table for TrueType fonts that have an encoding specified (issue 6410)
...
For (1, 0) cmaps, we have two different codepaths depending on whether the font has/hasn't got an encoding. But with (3, 1) cmaps we don't have a good fallback when the encoding is missing, hence this patch changes `readCmapTable` to only choose a (3, 1) cmap table if the font is non-symbolic *and* an encoding exists. Without this, we'll not be able to successfully create a working glyph map for some TrueType fonts with (3, 1) cmap tables.
Fixes 6410.
2015-09-07 16:56:05 +02:00
Fabian Lange
063ca95f5f
Remove TryCatch in canvas fill
...
As verified by @Rob--W, the evenodd fill rule works correctly in all supported browsers. This now allows optimization by JS engines.
This fixes #5458
2015-09-05 11:10:51 +02:00
Brendan Dahl
238e16feeb
Merge pull request #6407 from Snuffleupagus/bug-1200096
...
Fallback in `readCmapTable`, instead of using `error`, for TrueType fonts with unsupported cmap formats (bug 1200096)
2015-09-04 18:10:34 -07:00
Jonas Jenwald
cfd5a64df5
Ensure that the clipping path is reset when the state is restored (issue 6413)
...
According to the specification, see `NOTE 2` in http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3882161 , it appears that we should ensure that the clipping path is reset when the restore (`Q`) operator is encountered.
Fixes 6413.
2015-09-03 17:35:32 +02:00
Jonas Jenwald
b1d148a4aa
Remove Parser_fetchIfRef
since it's obsolete
...
This code was added in PR 1214, but was made obsolete by PRs 1488/1493. Prior to the latter ones, `Dict_get` retured the raw objects. However, afterwards (and currently) `Dict_get` now resolves indirect objects, which makes `Parser_fetchIfRef` redundant.
*Potential risks with this patch:*
This patch passes all tests locally, but there's a *small* possibility that it could break some weird PDF files.
In the current code, wrapping `Dict_get` inside `Parser_fetchIfRef` will potentially mean two back-to-back call of `XRef_fetch`, if a reference points directly to another reference. I'm not sure if this can actually happen in practice, and I'd think that if that were the case we'd already have run into it elsewhere in the code-base, given that `Parser` is the only place where we try to "double" resolve references.
2015-09-02 23:11:00 +02:00
Jonas Jenwald
0fb31a4a9e
Fallback in readCmapTable
, instead of using error
, for TrueType fonts with unsupported cmap formats (bug 1200096)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1200096 .
The problematic font has a `format 2` cmap, which we've never supported properly. Prior to PR 2606, we were able to fallback to a working state, despite not having proper support for that cmap format.
Obviously the best/correct solution would be to implement actual support for more cmap formats[1]. However, I'm hoping that a simple patch will be OK for now, given that:
- `format 2` cmaps seem to be quite rare in practice, since this has been broken for 2.5 years before anyone noticed.
- Having a simple patch will make potential uplifts a lot easier.
[1] See the specification at https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6cmap.html
2015-09-01 14:01:19 +02:00
Tim van der Meij
0020f33873
Merge pull request #6357 from Snuffleupagus/bidi-result
...
Avoid more allocations for RTL text in bidi.js
2015-09-01 00:44:33 +02:00
Tim van der Meij
b42b894570
Merge pull request #6386 from Snuffleupagus/Parser_makeFilter-warn-on-empty-stream
...
Add a warning when we encounter an empty stream in `Parser_makeFilter`
2015-08-30 23:14:22 +02:00
Rob Wu
582573b96b
Merge pull request #6358 from Snuffleupagus/Parser_tryShift-missingDataException
...
Don't catch `MissingDataException` in `Parser_tryShift`
2015-08-27 14:46:24 +02:00
Jonas Jenwald
f814fdc215
Add a warning when we encounter an empty stream in Parser_makeFilter
...
Having a warning here would have meant that issue 6360 could have been solved in approximately five minutes, instead of an hour. To avoid that happening again, this patch adds a warning whenever we treat a stream as empty.
2015-08-26 20:14:30 +02:00
Brendan Dahl
88e0326787
Merge pull request #6337 from Snuffleupagus/issue-6336
...
Adjust which TrueType (3, 1) glyphs we attempt to skip mapping of (issue 6336)
2015-08-25 09:49:46 -07:00
Jonas Jenwald
56a43a3181
Make XRef_indexObjects
more robust against bad PDF files (issue 5752)
...
This patch improves the detection of `xref` in files where it is followed by an arbitrary whitespace character (not just a line-breaking char).
It also adds a check for missing whitespace, e.g. `1 0 obj<<`, to speed up `readToken` for the PDF file in the referenced issue.
Finally, the patch also replaces a bunch of magic numbers with suitably named constants.
Fixes 5752.
Also improves 6243, but there are still issues.
2015-08-21 20:33:02 +02:00
Yury Delendik
23cb01c8af
Merge pull request #6372 from Snuffleupagus/issue-6360
...
Also check `maybeLength` when deciding if a stream is empty in `Parser_makeFilter` (issue 6360, bug 1191694)
2015-08-20 17:43:11 -05:00
Jonas Jenwald
5128603f64
Also check maybeLength
when deciding if a stream is empty in Parser_makeFilter
(issue 6360)
...
The problem with the PDF files in the issue, besides the obviously broken XRef tables which we're able to recover from, is that many/most of the streams have Dictionaries where the `Length` entry is set to `0`. This causes us to return `NullStream`, instead of the appropriate one in `Parser_makeFilter`.
Fixes 6360.
2015-08-20 23:04:18 +02:00
Yury Delendik
b11bc727c2
Merge pull request #6370 from castevinz/fix-getdocument-pdfBytes-check
...
api/getDocument: handle ArrayBuffer check for PDF binary data (byteLength)
2015-08-20 07:01:53 -05:00
Vincent Castelain
0cd4cc4e80
api/getDocument : handle ArrayBuffer check for PDF binary data (byteLength)
2015-08-20 08:56:05 +02:00
Jonas Jenwald
ede5235d3d
Merge pull request #6332 from Rob--W/postMessage-error
...
Serialize errors before invoking postMessage
2015-08-19 12:00:02 +02:00
Yury Delendik
c56dc9a093
Merge pull request #6141 from skalnik/fix-font-csp-issues
...
Provide a fallback for font rendering when not allowed to use `eval`
2015-08-18 18:50:11 -05:00
Jonas Jenwald
3fa5f6cc3b
Only take the fast-path in PDFImage_createImageData
for un-masked JPEG images with "standard" colour spaces (issue 6364)
...
Fixes 6364.
2015-08-18 22:25:37 +02:00
Jonas Jenwald
8c3b8238ac
Don't catch MissingDataException
in Parser_tryShift
...
I overlooked this while reviewing PR 6197, but I don't think that we should be catching that particular kind of exception here; hence this patch.
2015-08-16 11:35:54 +02:00
Jonas Jenwald
b1cf4d98ad
Avoid more allocations for RTL text in bidi.js
...
Instead of building the resulting string char-by-char for RTL text, which is inefficient, we can just as well `join` the `chars` array.
2015-08-14 21:46:59 +02:00
Jonas Jenwald
88bf19396e
Merge pull request #6349 from yurydelendik/node-mozchunk
...
Fixes supportsMozChunked for node.js
2015-08-14 10:33:18 +02:00
Mike Skalnik
341c5e9d1f
[PATCH] Add fallback for font loading when eval disabled
...
In some cases, such as in use with a CSP header, constructing a function with a
string of javascript is not allowed. However, compiling the various commands
that need to be done on the canvas element is faster than interpreting them.
This patch changes the font renderer to instead emit commands that are compiled
by the font loader. If, during compilation, we receive an EvalError, we instead
interpret them.
2015-08-13 14:33:18 -07:00
Jonas Jenwald
ee5ce4b4a2
Fix typo in drawFigures
, in webgl.js, which causes shadingPatterns with figure.type === triangles
to render incorrectly
...
The file `issue2948.pdf` from the test-suite can be used to (manually) test the patch.
2015-08-13 17:58:18 +02:00
Yury Delendik
20b46aaf88
Fixes supportsMozChunked for node.js
2015-08-12 18:48:59 -05:00
Jonas Jenwald
99d29487ab
Adjust which TrueType (3, 1) glyphs we attempt to skip mapping of (issue 6336)
...
Fixes 6336.
2015-08-09 12:51:43 +02:00
Rob Wu
1e3078d6c4
Serialize errors before invoking postMessage
...
Serialize errors to make sure that the callback is still invoked when
an error is thrown.
Firefox:
"DataCloneError: The object could not be cloned."
Chrome:
"DataCloneError: Failed to execute 'postMessage' on 'WorkerGlobalScope': An object could not be cloned."
2015-08-08 21:44:57 +02:00
Rob Wu
b0a8c0fa40
cmaps: Use cmap.forEach instead of Array.forEach
...
CMaps may be sparse. Array.prototype.forEach is terribly slow in Chrome
(and also in Firefox) when the sparse array contains a key with a high
value. E.g.
console.time('forEach sparse')
var a = [];
a[0xFFFFFF] = 1;
a.forEach(function(){});
console.timeEnd('forEach sparse');
// Chrome: 2890ms
// Firefox: 1345ms
Switching to CMap.prototype.forEach, which is optimized for such
scenarios fixes the problem.
2015-08-08 13:30:30 +02:00
Tilman Hausherr
6d1e0f7e8d
fix handling of flags 1-3 in tensor shading
...
pi is an index in the stream and is explained on page 201 of the 32000-spec (however 1-based there), and ps is an index to something in PDF.js. I used the code from flag 0 (which works) to understand which is which. It is also important to understand that for flags 1,2 and 3, the stream is always assigned to the same coordinates and colors. What changes is which "old" coordinates and colors are assigned to what is "missing" in the stream. This is why for these flags, the code is identical except for the assignments in the first "row". (Same principle as in #6304 ). Note that this change will not improve the lamp_cairo.pdf file, only the two files mentioned in #6305 .
2015-08-04 18:21:29 +02:00
Tilman Hausherr
c85fa00d62
fix handling of flags 1-3 in coons shading
...
Short story: somebody got lost in two different indices. pi is an index in the stream and is explained on page 198 of the 32000-spec (however 1-based there), and ps is an index to something in PDF.js. I used the code from flag 0 (which works) to understand which is which. It is also important to understand that for flags 1,2 and 3, the stream is always assigned to the same coordinates and colors. What changes is which "old" coordinates and colors are assigned to what is "missing" in the stream. This is why for these flags, the code is identical except for the assignments in the first "row".
2015-08-03 21:15:26 +02:00
Brendan Dahl
977397ebfd
Merge pull request #6270 from Snuffleupagus/opentype-cff-2
...
Adjust the heuristics used to detect OpenType font file with CFF data (bug 1186827, bug 1182130, issue 6264)
2015-08-03 09:43:33 -07:00
Tim van der Meij
72ecbec49d
Merge pull request #6292 from Snuffleupagus/issue-6287
...
Fix various shading pattern regressions (issue 6287)
2015-07-31 22:26:01 +02:00
Jonas Jenwald
1d65daf5e5
Correctly access colorSpace.numComps
in MeshStreamReader
(issue 6287)
...
This regressed in f750e35224
.
2015-07-31 18:00:58 +02:00
Jonas Jenwald
7fe2442a18
Ensure that we don't use the same typed array for both coords
and colors
in Mesh figures
(issue 6287)
...
This regressed in 1e8d70af98
.
2015-07-31 18:00:23 +02:00
Jonas Jenwald
55bc98a8b0
Rename PatternType
to ShadingType
to avoid confusion
...
The current name is somewhat confusing, since the specification calls it `ShadingType`, see http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.4044105 and http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3882826 .
The real problem, however, is that there is actually another property called `PatternType`, which makes the current code very confusing, see http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.1850929 .
Since `ShadingType` is only relevant for shading patterns (i.e. `PatternType === 2`), and *not* for tiling patterns (i.e `PatternType === 1`), this patch should help reduce confusion when reading the code.
2015-07-30 20:03:45 +02:00
Tim van der Meij
4f920ad100
Refactor annotation code to use a factory
...
Currently, `src/core/core.js` uses the `fromRef` method on an `Annotation` object to obtain the right annotation type object (such as `LinkAnnotation` or `TextAnnotation`). That method in turn uses a method `getConstructor` to find out which annotation type object must be returned.
Aside from the fact that there is currently a lot of code to achieve this, these methods should not be part of the base `Annotation` class at all. Creation of annotation object should be done by a factory (as also recommended by @yurydelendik at https://github.com/mozilla/pdf.js/pull/5218#issuecomment-52779659 ) that handles finding out the correct annotation type object and returning it. This patch implements this separation of concerns.
Doing this allows us to also simplify the code quite a bit and to make it more readable. Additionally, we are now able to get rid of the hardcoded array of supported annotation types. The factory takes care of checking the annotation types and falls back to returning the base annotation type (and issuing a warning, which the current code also does not do well) when an annotation type is unsupported.
I have manually tested this commit with 20 test PDFs with different annotation types, such as /Link, /Text, /Widget, /FileAttachment and /FreeText. All render identically before and after the patch, and unsupported annotation types are now properly indicated with a warning in the console.
2015-07-29 00:31:51 +02:00
Tim van der Meij
d08895d659
Merge pull request #6236 from Rob--W/print-javascript-action
...
Detect scripted auto-print requests
2015-07-25 19:42:31 +02:00
Jonas Jenwald
0a024b5051
Adjust the heuristics used to detect OpenType font file with CFF data (bug 1186827, bug 1182130, issue 6264)
...
*This is a tentative patch.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1186827 .
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1182130 .
Fixes 6264.
2015-07-25 12:26:36 +02:00
Jonas Jenwald
385e2e5aaf
Check if the Decode
entry is non-default when deciding if JPEG images are natively supported/decodable (issue 6238)
...
Tentatively fixes 6238.
2015-07-21 12:23:07 +02:00
Tim van der Meij
980aa10e04
Refactor annotation rectangle code and add unit tests
...
This patch refactors the code responsible for setting the annotation's rectangle. Its goal is to:
- Actually check that the input array is actually an array, and if so, that it contains exactly four elements.
- Only call `normalizeRect` if the input array is valid, i.e., we do not call it for the default rectangle anymore.
Unit tests are provided just like with the other patches in this series.
2015-07-20 22:01:47 +02:00
Rob Wu
c676ecb5a0
Detect scripted auto-print requests
...
Fixes #6106
To avoid future regressions, two new unit tests were added:
1. A new PDF based on the report from #6106 , which contains an
OpenAction of type JavaScript and a string "this.print({...}".
2. An existing PDF from https://bugzil.la/1001080 (from #4698 ).
Although it does not matter, since we don't execute the JavaScript code,
I have also changed "print(true)" to "print({})" since the print method
takes an object (not a boolean). See "Printing PDF documents", page 62:
http://adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_developer_guide.pdf
2015-07-20 18:25:02 +02:00
Tim van der Meij
995c5ba205
Simplify annotation data passing
2015-07-19 14:02:49 +02:00
Tim van der Meij
465611a2ff
More cleanup regarding annotation border styles
2015-07-17 21:51:24 +02:00
Jonas Jenwald
c718d1ab10
Ignore double negative in Lexer_getNumber
(issue 6218)
...
Basic mathematics would suggest that a double negative should always become positive, but it appears that Adobe Reader simply ignores that case. Hence I think that it makes sense for us to do the same.
Fixes 6218.
2015-07-16 12:11:49 +02:00
Tim van der Meij
a2e9845093
Refactor annotation color handling and add unit tests
2015-07-15 18:49:19 +02:00
Jonas Jenwald
28f40b1b58
Fetch all indirect objects (i.e. Ref
s) in NameTree_getAll
and NameTree_get
(issue 6204)
2015-07-14 10:56:56 +02:00
Brendan Dahl
367794f0c7
Merge pull request #4990 from fkaelberer/refactor_chunked_stream
...
Minor refactoring of chunked_stream.js
2015-07-13 16:51:35 -07:00
Tim van der Meij
1416a1b521
Merge pull request #6187 from Snuffleupagus/more-efficient-getDestination
...
A couple of improvements of `getDestination` (unit-test included)
2015-07-13 23:03:13 +02:00
Rob Wu
e211c25f06
Improve robustness of stream parser (invalid length)
...
When the parser finds a stream, it retrieves the Length from the stream
dictionary and advances the lexer to the offset as specified in Length.
If this Length is incorrect, the lexer could end up anywhere.
When the lexer gets in an invalid state, it could throw errors. For
example, in issue 6108, the lexer ends up inside the stream data. This
stream has the ASCIIHexDecode filter, so all characters are made up from
ASCII characters, and the lexer interprets it as a command token. Tokens
cannot be longer than 127 bytes, so eventually 128 bytes are consumed
and the lexer throws "Command token too long" error.
Another possible error is "Illegal character: 41" when the lexer happens
to end up at a ')' due to the length mismatch.
These problems are solved by catching lexer errors and recovering the
parser via the existing stream length detection branch.
2015-07-11 20:12:49 +02:00
Tim van der Meij
7d4303b7c4
Merge pull request #6194 from Rob--W/recover-mode-start-offset
...
Subtract start offset for xrefs in recovery mode
2015-07-11 17:22:08 +02:00
Rob Wu
fd29bb0c57
Subtract start offset for xrefs in recovery mode
...
Xref offsets are relative to the start of the PDF data, not to the start
of the PDF file. This is clear if you look at the other code:
- In the XRef's readXRefTable and processXRefTable methods of XRef, the
offset of a xref entry is set to the bytes as given by a PDF file.
These values are always relative to the start of the PDF file (%PDF-).
- The XRef's readXRef method adds the start offset of the stream to
Xref entry's offset: "stream.pos = startXRef + stream.start".
Clearly, this line assumes that the entry offset excludes the start
offset.
However, when the PDF is parsed in recovery mode, the xref table is
filled with entries whose offset is relative to the start of the stream
rather than the PDF file. This is incorrect, and the fix is to subtract
the start offset of the stream from the entry's byte offset.
The manually created PDF file serves as a regression test. It is a valid
PDF, except:
- The integer to point to the start of the xref table and the %%EOF
trailer are missing. This will activate recovery mode in PDF.js
- Some junk was added before the start of the PDF file. This exposes the
bad offset bug.
2015-07-10 23:33:10 +02:00
Tim van der Meij
6c1906fd53
Merge pull request #6193 from Rob--W/long-name-is-warning-not-error
...
Issue a warning instead of an error for long Names
2015-07-10 22:58:08 +02:00
Tim van der Meij
5af49f8bbb
Merge pull request #6166 from Snuffleupagus/issue-5801-2
...
Add a supplemental glyph map for non-embedded ArialBlack fonts (issue 5801)
2015-07-10 22:29:50 +02:00
Rob Wu
456ad438d8
Issue a warning instead of an error for long Names
...
The PDF specification (cited below) specifies a maximum length of a name
in bytes as a minimal architectural limit. This means that PDF *writers*
should not create names that exceed 127 bytes.
It does not forbid PDF *readers* to accept such names though. These
names are only used internally to link PDF objects to other objects. For
these use cases, the lengths of the names do not really matter. Hence I
have changed the implementation to not treat long names as errors, but
warnings.
> (7.3.5) The length of a name shall be subject to an implementation
> limit; see Annex C.
>
> (Annex C.2) Table C.1 describes the minimum architectural limits that
> should be accommodated by conforming readers running on 32-bit
> machines. Because conforming readers may be subject to these limits,
> conforming writers producing PDF files should remain within them.
>
> (Table C.1) name 127 "Maximum length of a name, in bytes."
http://adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf
2015-07-10 16:10:24 +02:00
Jonas Jenwald
7df78f997e
Slightly more efficient getDestination
...
For named destinations that are contained in a `Dict`, as opposed to a `NameTree`, we currently iterate through the *entire* dictionary just to fetch *one* destination.
This code appears to simply have been copy-pasted from the `get destinations` method, but in its current form it's quite unnecessary/inefficient since can just get the required destination directly instead.
2015-07-08 18:31:51 +02:00
Jonas Jenwald
940bedf75f
Add a unit-test that attempts to fetch a non-existent named destination
...
Doing this helped uncover an issue with the `getDestination` implementation.
Currently if a named destination doesn't exist, the method (in `obj.js`) may return `undefined` which leads to the promise being stuck in a pending state.
*Note:* returning `null` for this case is consistent with other methods, e.g. `getOutline` and `getAttachments`.
2015-07-07 22:05:08 +02:00
Yury Delendik
8e59528e60
Merge pull request #6175 from Rob--W/font-loading-promises
...
fontLoadPromises -> fontsToLoad
2015-07-06 16:00:47 -05:00
Jonas Jenwald
e5b7258586
Merge pull request #6180 from timvandermeij/border-regression
...
Do not draw a border if neither a Border nor a BS entry is present
2015-07-06 18:04:57 +02:00
Rob Wu
f9dd7318f7
fontLoadPromises -> fontsToLoad
...
fontsToLoad is always an empty array, Promise.all should wait for
fontLoadPromises instead of fontsToLoad.
2015-07-06 17:31:42 +02:00
Tim van der Meij
3a6eed6248
Do not draw a border if neither a Border nor a BS entry is present
...
Fixes #6179 .
2015-07-06 14:48:59 +02:00
Tim van der Meij
5aa1d9fdfd
Remove InteractiveAnnotation abstraction
...
This became obsolete in bdeca30fbf
. All it does is call the Annotation contructor and add hasHtml. This patch lets the Link and Text annotations directly extend the Annotation class and add hasHtml themselves.
This patch also removes an unused global.
2015-07-06 11:58:26 +02:00
Yury Delendik
0787182e6f
Adds more characters to the PUA range
2015-07-02 16:47:47 -05:00
Yury Delendik
9ad6af4a3f
Merge pull request #5531 from Rob--W/moz-chunked-only-moz
...
Feature-test moz-chunked-arraybuffer before use
2015-07-02 09:08:08 -05:00
Jonas Jenwald
d0477302be
Add a supplemental glyph map for non-embedded ArialBlack fonts (issue 5801)
...
This should, hopefully, finally fix 5801.
2015-07-01 22:16:52 +02:00
Brendan Dahl
d8e201446d
Merge pull request #6135 from Snuffleupagus/issue-5677-v2
...
Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677)
2015-07-01 11:15:55 -07:00
Brendan Dahl
98339f63a8
Merge pull request #5585 from timvandermeij/annotation-layer-borderstyle
...
Annotation border styles
2015-07-01 10:48:12 -07:00
Rob Wu
2e63dcdcf5
Feature-test moz-chunked-arraybuffer before use
2015-07-01 15:31:40 +02:00
Yury Delendik
f3c3b1fc2d
Removes B2G preprocessing directives.
2015-06-30 16:53:32 -05:00
Tim van der Meij
18e1a14e65
Merge pull request #6138 from Snuffleupagus/issue-4558
...
Ignore paint form XObject when the name is missing (issue 4558)
2015-06-23 20:28:02 +02:00
Jonas Jenwald
46a8485db4
Ignore paint form XObject when the name is missing (issue 4558)
...
Fixes 4558 (since the font issues already appear to be fixed).
2015-06-22 22:10:26 +02:00
Jonas Jenwald
bc865b9e2d
Ensure that we fetch all indirect objects (i.e. |Ref|s) in ColorSpace_parseToIR
...
Recently I've landed a number patches which fixed issues with ColorSpaces. In most of these cases the cause of the failures were, either partially or entirely, related to the fact that we didn't resolve indirect objects (i.e. the code was missing `xref.fetchIfRef(...)`).
The purpose of this patch is to fix the few remaining cases where indirect objects *could* potentially cause failures.
Given that we have seen how this causes failures in practice, I thus think that it makes sense to try and avoid further issues, instead of waiting for users to file even more bugs for this part of the code-base.
2015-06-19 10:34:27 +02:00
Jonas Jenwald
aa3a64e975
Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677)
...
This patch slightly extends the heuristics used when trying to skip mapping of missing glyphs.
Fixes 5677.
2015-06-18 21:53:15 +02:00
Tim van der Meij
9550c00184
Transform old implementation to new implementation of border styles
2015-06-17 22:28:06 +02:00
Tim van der Meij
9ba4f74370
Implement setBorderStyle for annotations
2015-06-17 22:28:05 +02:00
Tim van der Meij
88b2059ed9
Implement annotation border style class and constants
2015-06-17 22:26:47 +02:00
Jonas Jenwald
75624c8d82
Clear the |getSinglePixelWidth| cache when rendering Type3 fonts (issue 6117)
...
Fixes 6117.
2015-06-17 14:30:32 +02:00
Jonas Jenwald
60fbb5ef69
Ensure that the result of |constructStichedFromIRResult| is a number (issue 6113)
...
Fixes 6113.
2015-06-14 23:29:38 +02:00
Jonas Jenwald
bc5e43b45c
Use the Alternate entry, if it exists, in ICCBased Colour Space dictionaries (issue 5836, issue 5939, issue 6055)
...
Fixes 5836.
Fixes 5939.
Fixes 6055.
2015-06-14 12:10:22 +02:00
Jonas Jenwald
bf20334bea
Merge pull request #6090 from Snuffleupagus/issue-6068
...
Map missing glyphs to the notdef glyph for TrueType (3, 1) fonts (issue 6068)
2015-06-13 00:29:08 +02:00
Yury Delendik
0259448e13
Merge pull request #6091 from Snuffleupagus/bolder-ArialBlack
...
Increase the font weight used for non-embedded ArialBlack fonts
2015-06-12 10:25:53 -05:00
Jonas Jenwald
a64536901a
Increase the font weight used for non-embedded ArialBlack fonts
...
Currently non-embedded ArialBlack fonts are not rendered bold enough, compared to e.g. Adobe Reader.
The issue is that we set the font weight to `bolder`, but since that is actually relative to the font weight of the parent, the result is that there's no practical difference from just using `bold`.
This patch attempts to address that, by explicitly setting the font weight to the maximum value instead (see https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight ).
*Note:* I expect one test "failure" in `issue5801`, which in this case is an improvement, since that PDF file uses ArialBlack.
2015-06-06 21:29:41 +02:00
Jonas Jenwald
5eae3e29c5
Map missing glyphs to the notdef glyph for TrueType (3, 1) fonts (issue 6068)
...
Fixes 6068.
The most notable issue with the font in question is that the `differences` array contains lots of strange entries (of the type `uniXXXX`, instead of proper glyph names).
2015-06-06 18:28:16 +02:00
Jonas Jenwald
6f2f0700b7
Don't map glyphs to certain problematic Thai/Lao Unicode locations (issue 5994)
...
*This patch depends on PR 5990.*
According to https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-fallback.cc#38 , certain Thai/Lao characters are treated as special by the font shaping code in Firefox.
Further down in that file, https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-fallback.cc#216 , the vertical position of glyphs is modified, which should thus explain why some glyphs end up in the wrong position in the PDF file.
Fixes 5994.
2015-06-05 23:53:22 +02:00
Brendan Dahl
749a60a0b7
Merge pull request #5990 from Snuffleupagus/missing-glyphs-identityUnicode
...
Skip mapping of CIDFontType2 glyphs in fonts with a |IdentityToUnicodeMap|, unless |properties.widths| is defined for the glyph
2015-06-05 14:50:02 -07:00
Jonas Jenwald
64e1fb99fe
Fetch parameters if they are |Ref|s in Pattern color spaces (issue 6081)
...
Fixes 6081.
2015-06-04 22:01:01 +02:00
Yury Delendik
82c5cf6617
Merge pull request #6062 from Snuffleupagus/revert-parse-all-jpegs
...
Revert PR 6024 "[Firefox] Parse all JPEG images in the addon", since it's fixed upstream
2015-06-01 07:43:18 -05:00
Jonas Jenwald
a28ed7c834
Always traverse the entire parent chain in Page_getInheritedPageProp (issue 5954)
...
This enables us to find resources placed on multiple levels of the tree.
Fixes 5954.
2015-05-30 12:21:05 +02:00
Jonas Jenwald
a1743d9952
Revert PR 6024 "[Firefox] Parse all JPEG images in the addon", since it's fixed upstream
2015-05-29 12:58:17 +02:00
Mike Corbin
4c9b65f0e1
Extract correct PDF format version from the catalog
...
The 'Version' field of the most recent document catalog, if present, is
intended to supersede the value in the file prologue.
This is significant for incrementally-built PDF documents and generators that
emit a low version in the prologue and later apply a format version based on
PDF features used, such as Apple's CoreGraphics/Quartz PDF backend.
Fixes the internal version variable, as well as the PDFFormatVersion reported
by the API and consumed by viewers.
2015-05-26 01:56:09 +01:00
Yury Delendik
07af86cf70
Merge pull request #6016 from Snuffleupagus/issue-6010
...
Convert UTF8 encoded passwords to ISO-8859-1 for |R = 6| encryption (issue 6010)
2015-05-18 08:22:47 -05:00
Jonas Jenwald
dd4fc29cbc
[Firefox] Parse all JPEG images in the addon
...
Workaround for:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1164199 .
- https://github.com/mozilla/pdf.js/issues/6017 .
2015-05-15 21:40:34 +02:00
Tim van der Meij
7da9626d16
Merge pull request #5901 from Snuffleupagus/bug-1050040
...
Fall back to the |defaultEncoding| when no valid "post" table is found in TrueType fonts (bug 1050040)
2015-05-15 12:54:04 +02:00
Jonas Jenwald
6fbc5428bd
Skip mapping of CIDFontType2 glyphs in fonts with a |IdentityToUnicodeMap|, unless |properties.widths| is defined for the glyph
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1142033 .
Also fixes issue 5874.
2015-05-14 22:38:04 +02:00
Jonas Jenwald
44240798be
Convert UTF8 encoded passwords to ISO-8859-1 for |R = 6| encryption (issue 6010)
...
For passwords where the encoding already is correct, the conversion is a no-op.
Also, since `encodeURIComponent` might throw, we need to make sure that we handle that case too.
Fixes 6010.
2015-05-14 21:46:31 +02:00
Tim van der Meij
90982332bf
Merge pull request #5995 from CodingFabian/tweak-char-spacing-text-selection
...
Apply char spacing only when there are chars.
2015-05-14 20:06:22 +02:00
Jonas Jenwald
0365baf5ab
Fall back to the |defaultEncoding| when no valid "post" table is found in TrueType fonts (bug 1050040)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1050040 .
With this patch the file is completely readable, but given that the font is broken enough to be rejected by OTS the rendering differs slightly from Adobe Reader.
*Note:* the PDF file is sufficiently broken that even Adobe Reader complains about the font, *and* also about another more general issue.
2015-05-14 13:16:14 +02:00
Jonas Jenwald
70b839386a
Ensure that the cmap position is within the bounds of the font file in |readCmapTable|
2015-05-14 13:16:09 +02:00
Tim van der Meij
67816bd085
Merge pull request #5999 from hellemar/handle-utf8-in-url
...
Bug 1122280 - Handle UTF-8 encoding in URI
2015-05-14 12:52:40 +02:00
Fabian Lange
c2013094e7
Apply char spacing only when there are chars.
2015-05-13 23:45:20 +02:00
Tim van der Meij
d484ebd492
Merge pull request #5910 from jordan-thoms/fix-concatenated-files
...
Fix error reading concatenated pdfs
2015-05-13 22:40:55 +02:00
Tim van der Meij
b34366d2fc
Merge pull request #5898 from stri8ed/master
...
Extract more accurate glyph heights from type3 fonts
2015-05-13 21:07:17 +02:00
Yury Delendik
dd07ef9c6a
Disables rAF for the printing.
2015-05-12 08:44:42 -05:00
Martin Heller
a61a4b18cc
URL annotations handled as UTF-8 to accommodate some bad PDFs. For proper 7-bit ASCII this makes no difference. Fixes Bug 1122280.
2015-05-11 00:46:59 +02:00
Jonas Jenwald
6d2d854f65
Merge pull request #5815 from Snuffleupagus/type1-diff-refs
...
Ensure that entries in the Differences array of Type1 fonts are either numbers or names
2015-05-07 22:33:23 +02:00
Brendan Dahl
cd53cbe7d4
Merge pull request #5964 from Snuffleupagus/bug-1157493
...
Handle the Encoding being a dictionary in PartialEvaluator_preEvaluateFont (bug 1157493)
2015-05-05 14:41:32 -07:00
Tim van der Meij
0c84899c0a
Revert #5603 regarding Chrome range request bug
2015-04-30 22:37:52 +02:00
Tim van der Meij
6159da0598
Merge pull request #5828 from Rob--W/mozCurrentTransform-fix
...
Fix flaw in mozCurrentTransform polyfill
2015-04-29 19:27:02 +02:00
Jonas Jenwald
760222cf0b
Handle the Encoding being a dictionary in PartialEvaluator_preEvaluateFont (bug 1157493)
...
*This is a regression from PR 4423.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1157493 .
2015-04-25 16:48:14 +02:00
Jonas Jenwald
7c7d05e7a3
Attempt to infer if a CMap file actually contains just a standard Identity-H
/Identity-V
map
2015-04-25 11:28:33 +02:00
Tim van der Meij
48b2f6d023
Merge pull request #5756 from Snuffleupagus/issue-5751
...
Guess CIDFontType0 subtype based on font file contents (issue 5751)
2015-04-24 23:50:07 +02:00
Brendan Dahl
846eb967cc
Merge pull request #5655 from Snuffleupagus/issue-5644
...
Avoid getting stuck in empty nodes in the Pages tree when calling |Catalog_getPageDict| (issue 5644)
2015-04-20 11:46:27 -07:00
Jordan Thoms
d0ea772fc6
Fix error reading concatenated pdfs
2015-04-18 20:56:07 +12:00
Jonas Jenwald
4c2ad3bc7b
Ensure that entries in the Differences array of Type1 fonts are either numbers or names
...
This patch is yet another installment in the (never ending) series of bugs in PDF files with non-embedded fonts.
Fixes http://www.int.washington.edu/talks/WorkShops/int_08_37W/People/Franz_M/Franz.pdf .
2015-04-17 20:32:27 +02:00
Marco Castelluccio
1bd952f897
Use Int32Array instead of Uint32Array in FlateStream
2015-04-17 16:33:04 +02:00
Brendan Dahl
63aaf1b969
Merge pull request #5923 from Snuffleupagus/bug-911034
...
Don't map glyphs to certain problematic General Punctuation Unicode locations (bug 911034)
2015-04-15 14:31:54 -07:00
Thomas Leitner
3ebc85e55f
Crypt filter EFF key should have StmF value as default, not StrF
...
This fixes the problem.
2015-04-13 21:27:32 +02:00
Jonas Jenwald
fda858ae33
Don't map glyphs to certain problematic General Punctuation Unicode locations (bug 911034)
...
Fixes the remaining missing characters in https://bugzilla.mozilla.org/show_bug.cgi?id=911034 .
For reference, see http://www.unicode.org/charts/PDF/U2000.pdf (and also http://en.wikipedia.org/wiki/General_Punctuation_%28Unicode_block%29 ).
2015-04-09 17:27:03 +02:00
Jonas Jenwald
a54ec673c5
Move the checks for problematic Unicode locations from |adjustMapping| to a separate helper function
2015-04-09 12:56:29 +02:00
Levi Melamed
a5159a7942
extract more accurate glpyh heights from type-3 fonts
2015-04-03 08:49:06 -05:00
Andrew Dacenko
bdde3d6622
Restrict logging of errors with verbosity level
2015-03-28 21:44:41 +02:00
Jonas Jenwald
2b1a13ba28
Don't map glyphs to Unicode position 0x0E33, i.e. Thai character SARA AM (bug1046314)
...
*A similar approach as in PR 5705.*
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1046314 .
According to https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/hb-ot-shape-complex-thai.cc#270-365 , `0x0E33` is treated as a special case (by the font shaping code in Firefox). Hence it seems reasonable to skip it when adjusting the font mapping.
2015-03-26 13:22:45 +01:00
Brendan Dahl
3a8d4a7d72
Merge pull request #5713 from Snuffleupagus/evaluator-IdentityToUnicodeMap
...
Create a IdentityToUnicodeMap in evaluator.js when toUnicode contains IdentityH/IdentityV
2015-03-25 10:33:29 -07:00
Brendan Dahl
519b6669f0
Merge pull request #5705 from Snuffleupagus/bug-1108301
...
Don't map glyphs to Unicode "Dotted circle" combining mark (bug 1108301)
2015-03-24 16:33:04 -07:00
Jonas Jenwald
d762cad420
Fix the node getinfo.js example
...
This broke in PR 5366.
2015-03-17 14:26:58 +01:00
Jonas Jenwald
f7b3852dd5
Merge pull request #5843 from timvandermeij/svg-commands
...
Enable OPS.setHScale in the SVG backend
2015-03-16 12:50:07 +01:00
Tim van der Meij
989eac2f1e
Enable OPS.setHScale in the SVG backend
2015-03-16 00:37:31 +01:00
Jonas Jenwald
e894a0a4c6
Guess CIDFontType0 subtype based on font file contents (issue 5751)
2015-03-15 13:35:48 +01:00
Jonas Jenwald
65a5543efe
Disable PresentationMode for certain problematic configurations
...
Instead of trying to hack around various browser defects, let's just disable PresentationMode in the affected browsers. This patch:
- Disables PresentationMode in IE11+ when the viewer is embedded; fixes 4711.
2015-03-13 22:09:36 +01:00
Rob Wu
6eb9e6a6a4
Fix flaw in mozCurrentTransform polyfill
...
Set transformation matrix in (polyfilled) mozPrintCallback when a scale
is applied. Removed _scaleX and _scaleY in favor of _transformMatrix to
emphasize that the caller MUST ensure that the state of the matrix is
correct before `addContextCurrentTransform` is called.
2015-03-11 20:55:26 +01:00
Jonas Jenwald
4a9ff471c4
Correctly detect the presence of the Adobe specific APP14 JPEG marker (bug 1140761)
...
According to the specification, http://partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf#G3.851943 , the content of the marker segment should begin with `Adobe`, and not `Adobe\x00` as the code currently look for.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1140761 .
Fixes the colour conversion part of issues 4090 and 5623.
2015-03-10 13:07:09 +01:00
Tim van der Meij
c69ad5885c
Merge pull request #5770 from Snuffleupagus/opentype-cff
...
Correctly detect OpenType font files with CFF data
2015-03-06 22:58:43 +01:00
Tim van der Meij
5eedfff647
Merge pull request #5734 from Hengjie/lower-space-threshold
...
Lower space factor threshold
2015-03-06 21:00:01 +01:00
Tim van der Meij
026b57641f
Remove unused isNull utility function
2015-02-28 18:50:58 +01:00
Jonas Jenwald
f81fc9091a
Correctly detect OpenType font files with CFF data
...
Fixes 5334.
Fixes 215.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1125614 .
According to the specification, http://www.microsoft.com/typography/otspec/otff.htm , OpenType font files with CFF data should have `OTTO` in the header.
2015-02-28 13:43:53 +01:00
Jonas Jenwald
00ee6bd6b6
Merge pull request #5693 from collinanderson/whitespace
...
cleaned whitespace
2015-02-28 10:09:21 +01:00
Yury Delendik
4c2640dcf0
Merge pull request #5758 from mjlyons/ext-link-new-window
...
Add option to open external links in new window
2015-02-27 10:49:39 -06:00
Yury Delendik
2e14cc70cc
Merge pull request #5731 from Snuffleupagus/issue-5331
...
Skip fill bytes (0xFF) when decoding JPEG images (issue 5331)
2015-02-27 06:36:30 -06:00
Yury Delendik
23916b2b14
Merge pull request #5748 from Snuffleupagus/issue-5747
...
Fetch parameters if they are a |Ref| in CalGray/CalRGB color spaces (issue 5747)
2015-02-26 17:44:46 -06:00
Jonas Jenwald
0a3341dadc
Don't map glyphs to Unicode "Dotted circle" combining mark (bug 1108301)
...
It seems that `0x25CC` is another bad spot for charCodes.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1108301 .
2015-02-27 00:20:38 +01:00
Mike Lyons
d271811740
Add option to open external links in new window
2015-02-26 13:34:08 -05:00
Jonas Jenwald
888cbe0bde
Avoid getting stuck in empty nodes in the Pages tree when calling |Catalog_getPageDict| (issue 5644)
2015-02-22 17:42:15 +01:00
Jonas Jenwald
7c8996558a
Fetch parameters if they are a |Ref| in CalGray/CalRGB color spaces (issue 5747)
2015-02-20 12:53:02 +01:00
Jonas Jenwald
417800a1b5
Only skip the |!isSymbolicFont| check for TrueType (3, 1) cmap tables if no previous cmap table was found (PR 5703 followup)
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=894572 .
2015-02-19 13:58:03 +01:00
Brendan Dahl
6bb0a483b1
Merge pull request #5703 from Snuffleupagus/issue-5701
...
Relax the |isSymbolicFont| check for TrueType (3, 1) cmap tables (issue 5701)
2015-02-18 14:50:19 -08:00
Collin Anderson
54e984c763
cleaned whitespace
2015-02-17 11:07:37 -05:00
Hengjie
109d67691c
Lower threshold
...
Fixes text selection formatting with https://github.com/vortext/vortext/blob/master/resources/public/examples/TestDocument3.pdf
2015-02-13 22:27:49 -08:00
Jonas Jenwald
3651c9e1f7
Skip fill bytes (0xFF) when decoding JPEG images (issue 5331)
2015-02-14 00:08:43 +01:00
Tim van der Meij
27e3558a41
Fix CCITTStream regression by byte-aligning rows before checking EOL marker
2015-02-13 21:29:00 +01:00
Jonas Jenwald
592890a758
Relax the |isSymbolicFont| check for TrueType (3, 1) cmap tables (issue 5701)
2015-02-13 01:03:10 +01:00
Brendan Dahl
394b38b22f
Merge pull request #5651 from Snuffleupagus/missing-glyphs
...
Try to skip mapping of missing TrueType and CIDFontType2 glyphs
2015-02-11 19:31:22 -08:00
Brendan Dahl
fb8200096b
Merge pull request #5634 from Snuffleupagus/cmap-0,0
...
Add support for TrueType (0, 0) cmap tables (issue 5501, issue 5574, and bug 1037973)
2015-02-11 15:04:03 -08:00
Jonas Jenwald
f19a1db414
Create a IdentityToUnicodeMap in evaluator.js when toUnicode contains IdentityH/IdentityV
...
Currently if a font contains a `toUnicode` entry, we always create a new `ToUnicodeMap` in evaluator.js. This is done even for `IdentityV/IdentityH`, despite to possibility to use the much more compact `IdentityToUnicodeMap` representation.
This patch refactors the `IdentityH/IdentityV` cases, to:
- Avoid calling `IdentityCMap.getMap`, since this prevents allocating and iterating through an array with 65536 elements.
- Ensure that the handling of `toUnicode` is actually correct in fonts.js.
We rely on `toUnicode instanceof IdentityToUnicodeMap` in a few places, and currently this does not work correctly for `IdentityH/IdentityV`.
2015-02-09 16:52:31 +01:00
Jonas Jenwald
01e6565dd4
Try to skip mapping of missing TrueType glyphs
...
Also don't skip mapping of glyphs which are empty, if the corresponding charCode is included in toUnicode.
2015-02-07 12:19:38 +01:00
Jonas Jenwald
8174da61fb
Don't skip mapping of glyphs for CIDFontType2 fonts with a CIDToGIDMap
...
Also don't skip mapping of glyphs which are empty, if the corresponding charCode is included in toUnicode.
2015-02-07 12:19:37 +01:00
Brendan Dahl
cb27707277
Try to skip mapping of missing glyphs.
2015-02-07 12:19:37 +01:00
Jonas Jenwald
bb16475070
Use the |shadow| function from src/shared/util.js in viewer.js
2015-01-31 22:43:30 +01:00
Tim van der Meij
06004d6a92
Make sure that an A entry in an annotation dictionary is also a dictionary itself
2015-01-29 13:21:18 +01:00
fkaelberer
8013100ab8
avoid out of range array access in JBIG2 decoder
2015-01-23 23:50:09 +01:00
Tim van der Meij
465f52e7ce
Merge pull request #5567 from CodingFabian/fixup-5439
...
Add marker segment (PLT, PLM) and refactor TLM
2015-01-15 00:37:23 +01:00
Jonas Jenwald
daba13aebb
Amend the docs for |disableAutoFetch| to mention that streaming must also be disabled
2015-01-14 18:33:12 +01:00
Jonas Jenwald
c2c54257f2
Prevent setting |isStandardFont| to |undefined| for non-embedded fonts
...
This is a very small follow-up to PR 5536, which sets `isStandardFont` to `false` instead of `undefined` (as currently happens for some font names).
Since the patch is so small, I hope it's OK to also fix an unrelated copy-and-paste error in a comment that was added in PR 5260.
2015-01-13 15:44:34 +01:00
Tim van der Meij
95fcbc2325
Merge pull request #5624 from yurydelendik/base64
...
Base64 example and be more flexible what type of data is passed
2015-01-12 23:06:06 +01:00
Yury Delendik
81649b00a9
Base64 example and be more flexible what type of data is passed.
2015-01-12 14:52:52 -06:00
Emanuel Arguinarena
3d01c345a1
Add marker segment (PLT, PLM) and refactor TLM
2015-01-11 22:54:50 +01:00
Jonas Jenwald
ad41a2d574
Add support for TrueType (0, 0) cmap tables (issue 5501 and 5574)
2015-01-11 14:54:12 +01:00
Jonas Jenwald
eac168f3cc
Refactor searching for end of inline (EI) JPEG image streams
...
This patch changes searching for EI image streams to rely on the EOI (end-of-image) marker for DCTDecode filters (i.e. JPEG images).
2015-01-10 23:55:55 +01:00
Jonas Jenwald
6dfc73a5da
Modify |getUint16| to correctly handle missing data in Stream, DecodeStream and ChunkedStream
2015-01-10 23:55:54 +01:00
Jonas Jenwald
35e668079d
Merge pull request #5627 from yurydelendik/tel
...
Whitelists 'tel' schema.
2015-01-10 18:21:36 +01:00
Brendan Dahl
6ceb652abb
Merge pull request #5554 from yurydelendik/apiref
...
Refactors getDocument and adds PDFDataRangeTransport.
2015-01-08 14:24:38 -08:00
Yury Delendik
982accf1d7
Whitelists 'tel' schema.
2015-01-08 09:10:42 -06:00
Yury Delendik
34bed638bb
Merge pull request #5600 from timvandermeij/str-undefined
...
Implement guards for stringToBytes and bytesToString
2015-01-06 16:27:17 -06:00
Yury Delendik
e0f6071178
Merge pull request #5603 from Rob--W/xhr-range-206-bugfix
...
Use Content-Range instead of Content-Length #5512
2015-01-06 07:40:38 -06:00
Rob Wu
c02b2cb37c
Use Content-Range instead of Content-Length #5512
...
Use Content-Range header instead of Content-Length when the
response has status code 206, to work around issue #5512 ,
which is caused by a bug in Chrome (since version 39):
https://code.google.com/p/chromium/issues/detail?id=442318
2015-01-06 14:26:41 +01:00
Yury Delendik
3a61edfcae
Refactors getDocument and adds PDFDataRangeTransport.
2015-01-05 21:45:01 -06:00
Tim van der Meij
6e99c29cf8
Implement guards for stringToBytes and bytesToString
2015-01-02 23:35:51 +01:00
Jonas Jenwald
1fea44ce14
Ensure that |get fingerprint| doesn't fail if the ID is not an array (issue 5599)
...
According to the [PDF specification](http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#page=51 ) the `ID` should be an array. To prevent errors if the PDF file violates that part of the spec, check that the `ID` is actually an array.
Fixes 5599.
2014-12-30 16:16:43 +01:00
Tim van der Meij
b835ef425e
CCITTFaxStream: fix regression when EncodedByteAlign is true and EndOfLine is false
2014-12-30 00:07:35 +01:00
Jonas Jenwald
50fe7c8d0a
Merge pull request #5571 from timvandermeij/annotation-rewrite-2
...
Remove unused hasOperatorList code
2014-12-27 12:14:08 +01:00
Jonas Jenwald
406b57fae4
Merge pull request #5569 from timvandermeij/annotation-rewrite-1
...
Remove unused annotation highlight div
2014-12-23 11:17:20 +01:00
Yury Delendik
72bb48b92e
Merge pull request #5566 from MaMazav/Bug_fix_Empty_packet_advance_iterator
...
Fixed empty packet parsing bug
2014-12-22 08:15:41 -06:00
Yury Delendik
96647877ec
Merge pull request #4615 from Snuffleupagus/canvas-enforce-min-line-width
...
Enforce minimum line widths
2014-12-21 22:12:45 -06:00
Tim van der Meij
91aa3925ee
Remove unused hasOperatorList code
2014-12-21 19:33:14 +01:00
Tim van der Meij
c67ad28673
Remove unused annotation highlight div
...
This is now done using CSS. For annotation-heavy documents this change makes the DOM much lighter.
2014-12-21 17:38:22 +01:00
Tim van der Meij
6e994b15e2
Merge pull request #5214 from CodingFabian/optimize-annotation-layer
...
Improves rendering performance of annotation layers.
2014-12-21 16:50:36 +01:00
Fabian Lange
979635138a
Improves rendering performance of annotation layers.
...
This change does the following:
* Address TODO to remove getEmptyContainer helper.
* Not set container bg-color. The old code is incorrect, causing it to
not have any effect. It sets color to an array (item.color) rather
css string. Also in most cases it would set it to black background
which is incorrect.
* only add border instructions when there is actually a border
* reduce memory consumption by not creating new 3 element arrays for
annotation colors. In fact according to spec, this would be incorrect,
as the default should be "transparent" for an empty array. Adobe
Reader interprets a missing color array as black however.
Note that only Link annotations were actually setting a border style and
color. While Text annotations might have calculated a border they did
not color it. This behaviour is now controlled by the boolean flag.
2014-12-20 22:49:58 +01:00
MaMazav
3d8b71175c
Fixed empty packet parsing bug
...
Packet iterator was not advanced for empty packets.
2014-12-20 22:31:28 +02:00
Jonas Jenwald
fc1e2483b4
Enforce minimum line widths
2014-12-20 18:05:55 +01:00
Jonas Jenwald
d8b905048b
Add fallback for non-embedded "Century Gothic" CIDFontType2 font (issue 4722 and bug 879561)
...
According to practical experiments, falling back to "Helvetica" when we encounter a non-embedded "[Century Gothic](http://en.wikipedia.org/wiki/Century_Gothic )" `CIDFontType2` font seems to work well.
(Also, the section on Wikipedia about "Printer ink usage" *might* provide some anecdotal evidence that Century Gothic is a fairly standard sans-serif font.)
Obviously this patch doesn't make "Century Gothic" fonts render perfectly, as is often the case with non-embedded fonts, but all the text is now legible in the referenced issues.
Fixes 4722.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=879561 .
2014-12-18 23:19:34 +01:00
Yury Delendik
a018e933ea
Merge pull request #5446 from CodingFabian/minorImprovementsInCanvasjs
...
minor improvements and code cleanup for canvas.js
2014-12-18 15:05:52 -06:00
Fabian Lange
5405b1c8e4
minor improvements and code cleanup for canvas.js
2014-12-18 21:59:40 +01:00
Yury Delendik
31ae5f2a3d
Merge pull request #5379 from brendandahl/nbsp
...
Don't map glyphs to unicode non breaking space.
2014-12-18 13:38:03 -06:00
Yury Delendik
0c3a8ba657
Merge pull request #5463 from Snuffleupagus/wingdings
...
Add basic support for non-embedded Wingdings fonts
2014-12-18 11:29:37 -06:00
Yury Delendik
c918cc5fa6
Merge pull request #5494 from MaMazav/Issue5418_Progression_Orders
...
Support all progression orders
2014-12-18 10:21:35 -06:00
Yury Delendik
f4fa7aaf19
Merge pull request #5383 from Snuffleupagus/bug-1077808
...
Fix searching for end of inline (EI) images with ASCII85Decode filters (bug 1077808)
2014-12-18 10:03:27 -06:00
Tim van der Meij
ee70aadb56
Merge pull request #5549 from MaMazav/Support_EPH_and_SOP_markers
...
Support EPH and SOP markers.
2014-12-17 22:23:36 +01:00
MaMazav
c7acbfd901
Support EPH and SOP markers.
2014-12-17 12:55:52 +02:00
MaMazav
48ee94e8ed
Added support for all not supported yet progression orders: RPCL, CPRL and PCRL.
2014-12-16 21:45:51 +02:00
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