Yury Delendik
32ce369d88
Fixes some static analysis warnings and recommendations
...
* Useless conditional
* Superfluous trailing arguments
* Useless assignment to local variable
* Misspelled identifier
* JSDoc tag for non-existent parameter
2016-05-02 17:34:58 -05:00
Yury Delendik
4cde9984f9
Fixes unneed conversion to array in CFF encodeInteger.
2016-05-02 15:24:16 -05:00
Yury Delendik
4016f9fd43
Fixes weird loop in the bidi.js.
...
Closes #7231 .
2016-04-27 16:14:33 -05:00
Jonas Jenwald
e281ef15db
Adjust incorrect first obj number of "free" xref entry in XRef_readXRefTable
(issue 7229)
...
Fixes 7229.
2016-04-21 16:36:32 +02:00
Jonas Jenwald
19e0599f74
Split the two paths in PDFImage.resize
into separate helper functions, placed in colorspace.js and image.js
...
Re: issue 6777.
2016-04-17 10:24:36 +02:00
Jonas Jenwald
f3f825cc71
Various improvements for GoToR
actions
...
- Add support for the 'NewWindow' property.
- Ensure that destinations are applied to the *remote* document, instead of the current one.
- Handle the `F` entry being a standard string, instead of a dictionary.
2016-04-15 22:55:05 +02:00
Jonas Jenwald
b63ef7a8b6
Refactor LinkAnnotation
slightly to add data.url
/data.dest
at the end
...
This patch also makes sure that all URLs are converted to the correct encoding.
2016-04-15 22:55:05 +02:00
Jonas Jenwald
079b563e2d
Ensure that the params
parameter of the PredictorStream
is a dictionary (issue 7200)
...
Fixes 7200.
2016-04-15 16:30:18 +02:00
Jonas Jenwald
f59c3a0644
Remove the remaining usages of new {Name,Cmd}
in favor of {Name,Cmd}.get
...
Using `new {Name,Cmd}` should be avoided, since it creates a new object on *every* call, whereas `{Name,Cmd}.get` uses caches to only create *one* object regardless of how many times they are called.
Most of these are found in the unit-tests, where increased memory usage probably doesn't matter very much. But it still seems good to get rid of those cases, since no part of the codebase ought to advertise that usage.
Given the small size of the patch, I'm also tweaking a few comments and class names.
2016-04-08 12:14:05 +02:00
Yury Delendik
118b71925c
Forces UMD header to have relative path and extension for CommonJS.
2016-04-02 11:10:36 -05:00
Jonas Jenwald
ef551e8266
Extract Type1Parser
from fonts.js
2016-04-01 23:38:53 +02:00
Jonas Jenwald
b961e1d21b
Extract CFFParser
from fonts.js (issue 6777)
2016-04-01 22:32:39 +02:00
Yury Delendik
a250c150ab
Merge pull request #7134 from yurydelendik/circ-stream-colorspace
...
Refactors to remove stream.js dependency on colorspace.js
2016-04-01 08:23:24 -05:00
Yury Delendik
ff3ce973b8
Merge pull request #7106 from Snuffleupagus/issue-7101
...
Keep track of the character to glyph mapping in font_renderer.js, to prevent errors when different characters point to the same glyph (issue 7101)
2016-04-01 08:09:21 -05:00
Yury Delendik
35cbf74b12
Refactors to remove stream.js dependency on colorspace.js
2016-04-01 07:36:16 -05:00
Brendan Dahl
13d440df61
Merge pull request #7078 from Snuffleupagus/refactor-toFontChar-without-file
...
Refactor the building of `toFontChar` for non-embedded fonts
2016-03-31 10:43:11 -07:00
Jonas Jenwald
05cf709f8e
Parse Type1 font files to determine the various Length{n}
properties, instead of trusting the PDF file (issue 5686, issue 3928)
...
Fixes 5686.
Fixes 3928.
2016-03-31 11:08:12 +02:00
Jonas Jenwald
c40df8a393
Make Type1Font
more class-like, by adding closure
...
*Note:* Ignoring whitespace should simplify reviewing a great deal.
2016-03-31 11:00:27 +02:00
Jonas Jenwald
17aaa125df
Keep track of the character to glyph mapping in font_renderer.js, to prevent errors when different characters point to the same glyph (issue 7101)
...
Fixes 7101.
2016-03-30 11:33:04 +02:00
Brendan Dahl
4e2f70440f
Merge pull request #6711 from yurydelendik/errors
...
Better errors capturing at the core and stop rendering on error.
2016-03-29 09:19:28 -07:00
Jonas Jenwald
13d7a5070e
Prevent failures in the Annotation code if the Rect
array contains indirect objects (issue 7115)
...
Note that in the PDF files provided by the reporter, this issue was limited to `Rect` arrays in AcroForm entries (which we currently don't support).
However, since a bad PDF generator could create this problem in *any* kind of annotation, the reduced test-case included here uses a simple LinkAnnotation instead.
Fixes 7115.
2016-03-26 20:55:16 +01:00
Brendan Dahl
df7afcf004
Merge pull request #7053 from yurydelendik/rm-pdfjs-core
...
Removes global PDFJS usage from the src/core/.
2016-03-25 13:19:43 -07:00
Yury Delendik
2fa4dd6f40
Proxy global PDFJS.verbosity to properly configure shared/util.
2016-03-23 19:24:37 -05:00
Yury Delendik
e372f3608b
Makes WorkerMessageHandler non-global.
2016-03-23 19:24:37 -05:00
Yury Delendik
bda5e6235e
Removes global PDFJS usage from the src/core/.
2016-03-23 19:24:37 -05:00
Yury Delendik
54ee15d866
Merge pull request #7100 from yurydelendik/stream-wo-parser
...
Removes core/stream circular dependency on core/parser.
2016-03-22 15:08:12 -05:00
Yury Delendik
6038c236b2
Removes core/stream circular dependency on core/parser.
2016-03-22 14:06:01 -05:00
Jonas Jenwald
d78fae0181
Ensure that TrueType font tables have uint32
checksums
...
According to "The table directory" under https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6.html#Directory , TrueType font tables should have `uint32` checksums.
This is something that I noticed, and was initially confused about, while debugging a TrueType issue.
As far as I can tell, the current (`int32`) checksums we use doesn't cause any issues in practice. However, I do think that this should be addressed to agree with the specification, and to reduce possible confusion when reading the font code.
2016-03-22 13:40:50 +01:00
Yury Delendik
21ed8ff71d
Merge pull request #7039 from prometheansacrifice/async-cmap-factory
...
Refactors CMapFactory.create to make it async
2016-03-21 13:57:36 -05:00
Manas
f6d28ca323
Refactors CMapFactory.create to make it async
2016-03-21 23:08:19 +05:30
Jonas Jenwald
91756f6e86
Pass the PDFJS.postMessageTransfer
parameter to the worker, so that the MessageHandler
can be setup correctly in createDocumentHandler
(issue 6957)
...
This regressed in commit acdd49f480
, i.e. PR 6571.
Fixes 6957.
2016-03-16 18:34:26 +01:00
Yury Delendik
8ba413e761
Better errors capturing at the core and stop rendering on error.
2016-03-11 07:59:09 -06:00
Jonas Jenwald
cd2bd057ab
Refactor the building of toFontChar
for non-embedded fonts
...
Currently there's a lot of duplicate code for non-embedded `toFontChar`, which this patch simplifies by extracting the code into a helper function instead.
2016-03-10 21:25:39 +01:00
Jonas Jenwald
dfe9015a43
Convert uniXXXX
glyph names to proper ones when building the charCodeToGlyphId
map for TrueType fonts (bug 1132849, issue 6893, issue 6894)
...
This patch adds a `getUnicodeForGlyph` helper function, which is used to recover Unicode values for non-standard glyph names.
Some PDF generators, e.g. Scribus PDF, use improper `uniXXXX` glyph names which breaks the glyph mapping. We can avoid this by converting them to "standard" glyph names instead.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1132849 .
Fixes 6893.
Fixes 6894.
2016-03-09 19:37:15 +01:00
Preetham Mysore
be1e12dbcb
Fix for descent calculation while reading font hhea headers
2016-03-03 08:51:41 -05:00
Yury Delendik
a022f6f069
Reverts back un-need change made at #6879 .
2016-03-02 09:57:33 -06:00
Jonas Jenwald
8402c79171
Merge pull request #7050 from brendandahl/issue4402
...
For CIDFontType2 use CID as glyph ID when missing CID to GID map.
2016-03-02 10:11:42 +01:00
Brendan Dahl
a6acf74b54
Merge pull request #7023 from brendandahl/issue6721
...
Only draw glyphs on canvas if they are in the font or the font file is missing.
2016-03-01 18:03:37 -08:00
Brendan Dahl
6e1d131384
For CIDFontType2 use CID as glyph ID when missing CID to GID map.
2016-03-01 17:05:33 -08:00
Brendan Dahl
ff87f3fb86
Only draw glyphs on canvas if they are in the font or the font file is missing.
2016-03-01 13:24:58 -08:00
Jonas Jenwald
505f15f221
Avoid accidentally getting the entire font file in readNameTable
(issue 7020)
...
In the PDF file in question, some of the 'name' table entries have `record.length === 0`. This becomes problematic in the non-unicode case, since `font.getBytes(0)` will fetch the *entire* stream.
Given that OTS rejects 'name' entries larger than `2^16`, this thus explain the sanitizer errors.
Fixes 7020.
2016-03-01 21:59:49 +01:00
Yury Delendik
22341c0761
Merge pull request #6879 from yurydelendik/streams
...
Makes PDF data reading Streams API friendly.
2016-03-01 09:10:52 -06:00
Tim van der Meij
ad31e52a26
Group popup creation code and apply it to more annotation types
2016-02-25 00:35:45 +01:00
Jonas Jenwald
41efb92d3a
Merge pull request #6988 from timvandermeij/fileattachment-annotation
...
Implement support for FileAttachment annotations
2016-02-24 12:58:06 +01:00
Tim van der Meij
6a33dfd13a
Implement support for FileAttachment annotations
2016-02-23 22:49:53 +01:00
Tim van der Meij
c53581f4e5
Merge pull request #7009 from KamiHQ/annotations-fix
...
[api-minor] Always expose data.title and data.contents for TextAnnotation
2016-02-22 22:59:38 +01:00
Tim van der Meij
ebe6fb2560
Merge pull request #7012 from KamiHQ/fix-annotation-popup
...
don't render highlight/underline/squiggly/strikeout annotations that doesn't have popup
2016-02-22 21:54:08 +01:00
Xiliang Chen
6762ff2fd6
don't render highlight/underline/squiggly/strikeout annotations that doesn't have popup
2016-02-22 13:10:20 +13:00
Xiliang Chen
266cedd960
always expose data.title and data.content
2016-02-19 13:50:25 +13:00
Yury Delendik
0d591719d9
Makes PDF data reading Streams API friendly.
2016-02-18 13:17:53 -06:00