Commit Graph

99 Commits

Author SHA1 Message Date
Yury Delendik
fa46b73c47 Better spacing in text layer. 2015-11-02 08:54:15 -06: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
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
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
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
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
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
75624c8d82 Clear the |getSinglePixelWidth| cache when rendering Type3 fonts (issue 6117)
Fixes 6117.
2015-06-17 14:30:32 +02: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
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
Collin Anderson
54e984c763 cleaned whitespace 2015-02-17 11:07:37 -05:00
Jonas Jenwald
fc1e2483b4 Enforce minimum line widths 2014-12-20 18:05:55 +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
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
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
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
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
Jonas Jenwald
4ac4d49158 Avoid rendering invisible Type3 fonts (issue 5421) 2014-10-18 22:29:21 +02:00
Yury Delendik
be998261cc Fixes Type3 negative font direction 2014-08-18 17:57:52 -05:00
Jonas Jenwald
c1f1f2f0e1 Add strict equalities in src/display/canvas.js 2014-08-01 12:39:56 +02: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
2485f11829 Fix loading of PDF files with invalid or missing Type3 characters (issue 5039) 2014-07-24 15:03:22 +02:00
Tim van der Meij
34728ee49b Removing unused code 2014-07-18 22:34:50 +02:00
pramodhkp
8407d28c9e Combine re element into constructPath 2014-06-25 00:27:42 +05:30
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
Yury Delendik
1ac8ca66f7 Fixes optional backdrop regression 2014-06-10 15:47:25 -05: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
Jonas Jenwald
7e6cdc74af Merge pull request #4832 from yurydelendik/showtext
Refactors showText: split type3, remove showSpacedText
2014-05-29 12:58:09 +02: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
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
Yury Delendik
e5a0d89da9 Refactors loadFont for translateFont be async; fixes type3 dup data 2014-05-19 16:27:54 -05:00
Jonas Jenwald
b907e15a90 Build paths for glyph accents when drawing text as curves 2014-05-14 00:04:44 +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
p01
83cd530f45 Cleaner putBinaryImageData 2014-05-05 14:22:44 +02:00
Yury Delendik
63d5aae3f6 Groups path commands into single command 2014-04-30 09:09:04 -05: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
a00f854848 Refactors buildImage to use Promise; don't draw bad images 2014-04-14 15:22:35 -05: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
Brendan Dahl
5bd8a83c9b Build the text layer geometry on the worker. 2014-04-09 16:44:07 -07:00