diff --git a/src/display/canvas.js b/src/display/canvas.js
index cbe4537f3..c5144b378 100644
--- a/src/display/canvas.js
+++ b/src/display/canvas.js
@@ -644,7 +644,6 @@ class CanvasGraphics {
this.baseTransformStack = [];
this.groupLevel = 0;
this.smaskStack = [];
- this.smaskCounter = 0;
this.tempSMask = null;
this.smaskGroupCanvases = [];
this.suspendedCtx = null;
@@ -712,7 +711,7 @@ class CanvasGraphics {
if (transform) {
this.ctx.transform(...transform);
this.outputScaleX = transform[0];
- this.outputScaleY = transform[0];
+ this.outputScaleY = transform[3];
}
this.ctx.transform(...viewport.transform);
this.viewportScale = viewport.scale;
@@ -1231,8 +1230,14 @@ class CanvasGraphics {
case "SMask":
this.dependencyTracker?.recordSimpleData("SMask", opIdx);
this.current.activeSMask = value ? this.tempSMask : null;
+ if (this.current.activeSMask) {
+ // Save the current blend mode so that it can be applied when
+ // compositing the SMask result back to the main canvas.
+ this.current.activeSMask.blendMode =
+ this.ctx.globalCompositeOperation;
+ }
this.tempSMask = null;
- this.checkSMaskState();
+ this.checkSMaskState(opIdx);
break;
case "TR":
this.dependencyTracker?.recordSimpleData("filter", opIdx);
@@ -1247,10 +1252,10 @@ class CanvasGraphics {
return !!this.suspendedCtx;
}
- checkSMaskState() {
+ checkSMaskState(opIdx) {
const inSMaskMode = this.inSMaskMode;
if (this.current.activeSMask && !inSMaskMode) {
- this.beginSMaskMode();
+ this.beginSMaskMode(opIdx);
} else if (!this.current.activeSMask && inSMaskMode) {
this.endSMaskMode();
}
@@ -1346,7 +1351,7 @@ class CanvasGraphics {
);
ctx.save();
ctx.globalAlpha = 1;
- ctx.globalCompositeOperation = "source-over";
+ ctx.globalCompositeOperation = smask.blendMode || "source-over";
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.drawImage(layerCtx.canvas, 0, 0);
ctx.restore();
@@ -1463,7 +1468,7 @@ class CanvasGraphics {
// state then copy it over to the temporary canvas.
copyCtxState(this.suspendedCtx, this.ctx);
}
- this.checkSMaskState();
+ this.checkSMaskState(opIdx);
// Ensure that the clipping path is reset (fixes issue6413.pdf).
this.pendingClip = null;
@@ -2687,9 +2692,6 @@ class CanvasGraphics {
this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);
- if (group.smask) {
- this.smaskCounter++;
- }
const scratchCanvas = this.canvasFactory.create(drawnWidth, drawnHeight);
if (group.smask) {
this.smaskGroupCanvases.push(scratchCanvas);
@@ -2701,6 +2703,24 @@ class CanvasGraphics {
groupCtx.translate(-offsetX, -offsetY);
groupCtx.transform(...currentTransform);
+ if (
+ !group.isolated &&
+ !group.smask &&
+ inSMaskMode &&
+ group.needsIsolation
+ ) {
+ // For non-isolated groups that need isolation and are entered from SMask
+ // mode, copy the current canvas background so that inner blend modes
+ // (e.g. "screen") interact correctly with the background rather than
+ // compositing onto a transparent canvas.
+ // Groups without needsIsolation have no inner blend modes; their content
+ // is composited correctly via the SMask in endGroup without a copy.
+ groupCtx.save();
+ groupCtx.setTransform(1, 0, 0, 1, 0, 0);
+ groupCtx.drawImage(currentCtx.canvas, -offsetX, -offsetY);
+ groupCtx.restore();
+ }
+
// Apply the bbox to the group context.
if (group.bbox) {
let clip = new Path2D();
@@ -2724,7 +2744,6 @@ class CanvasGraphics {
subtype: group.smask.subtype,
backdrop: group.smask.backdrop,
transferMap: group.smask.transferMap || null,
- startTransformInverse: null, // used during suspend operation
});
}
if (
diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index cbd9f5330..b9a8ea6e6 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -902,3 +902,4 @@
!recursiveCompositGlyf.pdf
!issue19634.pdf
!three_pages_with_number.pdf
+!issue13520.pdf
diff --git a/test/pdfs/issue13520.pdf b/test/pdfs/issue13520.pdf
new file mode 100644
index 000000000..74d760ef9
--- /dev/null
+++ b/test/pdfs/issue13520.pdf
@@ -0,0 +1,6601 @@
+%PDF-1.5
%
+1 0 obj
<>/OCGs[9 0 R 10 0 R 11 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<>stream
+
+
+
+
+ Adobe Illustrator CC 2017 (Macintosh)
+ 2021-06-08T16:53:13+08:00
+ 2021-06-08T16:53:13+08:00
+ 2021-06-08T16:53:13+08:00
+
+
+
+ 256
+ 228
+ JPEG
+ /9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEA
AQEsAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA5AEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4qo3nP0KI5jZnRQ60q
KuBtUEfhgKJKcFlPECGvJpKmvJxHX8EA+4YAPNAj5qnoS/8ALRJ90f8AzRhpNO9CX/lok+6P/mjG
lp3oS/8ALRJ90f8AzRjS070Jf+WiT7o/+aMaWnehL/y0SfdH/wA0Y0tO9CX/AJaJPuj/AOaMaWne
hL/y0SfdH/zRjS070Jf+WiT7o/8AmjGlp3oS/wDLRJ90f/NGNLTvQl/5aJPuj/5oxpaSPXdK8wXG
s6PcWMgeytPrBvg97PaM/qxFEX0reJo5fi3q5HDqu+FKUaT5c89x3/ly5vryNYtNhnj1O3jv7udZ
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
rsVf/9k=
+
+
+
+ AIRobin
+ application/pdf
+
+
+ 2021MEN-TEST-1 Graphics 8 June 2021
+
+
+ proof:pdf
+ xmp.did:ebe9c29d-3f41-4a69-9627-e865a074db5d
+ uuid:518f8f42-2754-0143-b8e6-a1b81774ef62
+ uuid:7d7898b5-e921-464e-91cd-2ec6acd36b6b
+
+ xmp.iid:cfa1477f-9111-4cd7-8b43-4bdf0b371dc7
+ xmp.did:cfa1477f-9111-4cd7-8b43-4bdf0b371dc7
+ uuid:7d7898b5-e921-464e-91cd-2ec6acd36b6b
+ proof:pdf
+
+
+
+
+ saved
+ xmp.iid:e2d4efde-aa12-49e6-a901-7edeb0d34ec1
+ 2019-01-16T08:52:51+01:00
+ Adobe Illustrator CC 23.0 (Macintosh)
+ /
+
+
+ saved
+ xmp.iid:ebe9c29d-3f41-4a69-9627-e865a074db5d
+ 2021-06-08T16:53:10+08:00
+ Adobe Illustrator CC 2017 (Macintosh)
+ /
+
+
+
+ Adobe PDF library 15.00
+ 1
+ True
+ True
+
+ 29.699994
+ 30.947914
+ Centimeters
+
+
+
+
+ Courier
+ Courier
+ Regular
+ TrueType
+ 11.0d2e1
+ False
+ Courier.dfont
+
+
+ SourceHanSansCN-Heavy
+ 思源黑体 CN
+ Heavy
+ Open Type
+ Version 1.000;PS 1;hotconv 1.0.78;makeotf.lib2.5.61930
+ False
+ SourceHanSansCN-Heavy.otf
+
+
+ ToppanBunkyuMidashiGothicStdN-ExtraBold
+ 凸版文久見出しゴシック
+ エクストラボールド
+ Open Type
+ 11.0d6e2
+ False
+ ToppanBunkyuMidashiGothic-ExtraBold.otf
+
+
+ HelveticaLTStd-BlkCond
+ Helvetica LT Std
+ Black Condensed
+ Open Type
+ OTF 1.029;PS 003.000;Core 1.0.33;makeotf.lib1.4.1585
+ False
+ HelveticaLTStd-BlkCond.otf
+
+
+
+
+
+ Cyan
+ Magenta
+ Yellow
+ Black
+ PANTONE 108 C
+ *cut
+ *Annotation
+
+
+
+
+
+ Default Swatch Group
+ 0
+
+
+
+ PANTONE 108 C
+ SPOT
+ 100.000000
+ CMYK
+ 0.994900
+ 10.952900
+ 99.893200
+ 0.000000
+
+
+ PANTONE Red 032 C
+ SPOT
+ 100.000000
+ CMYK
+ 0.000000
+ 88.439798
+ 68.017101
+ 0.000000
+
+
+ *Annotation
+ SPOT
+ 100.000000
+ CMYK
+ 100.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ *cut
+ SPOT
+ 100.000000
+ CMYK
+ 0.000000
+ 0.000000
+ 0.000000
+ 100.000000
+
+
+
+
+
+
+ 21.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
endstream
endobj
3 0 obj
<>
endobj
13 0 obj
<>/Resources<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/Properties<>/XObject<>>>/Thumb 39 0 R/TrimBox[0.0 0.0 841.89 877.264]/Type/Page>>
endobj
14 0 obj
<>stream
+HW늜?OvWWZM2D"^8}Ω2 gYv;շS~Wqm\?.iY>>tzx"~R{y]j!<~8qKC,}y%A()
Vlj!I[)څHfP caƠCWj)m刺=v'$w/بCCtMcՊ_Nxp :
+?bhUCJGYh%n>)( 7¦q
AWAPG Jh،jJJ .sҠX~FZspϺP+5:kQ8B<(®9w\<5.j}dR։d υ2 yLܦM-sY"RS+ Ǩ =1n!͝g; E@]bL#,Jҋ zqc^mi$y|OvHkϸ*84WhJ_Z<@GC\BT20978D,pFsqK`yl$5ҠS.7$"tni!ci! 5-S#!)T8M
Fޏ.Z\~qyscjLcr5cΘ+wꝱvgWcz}:o*ەb5qvq1yaL!8y ڔF!0DH>+R9eTh)qj韰oF\~Ǧ逷p !Cp)9mÃUqbhTa
+jt*# 0U\-W
+"8Dj6Ϡkݽ\\BA>(>uXM;n8jTL~gp={qgHݣhpuKb**$6 xIlcU_(a<Дuv I]_YjMcߘ
+`AްQяVm"=Q̸*g\l6?&v<0yhjn2uI3ixf^:V6tޚKh g#Ll]h5Tn'`vѼɰ%5hc'ƪX.\r'v|XP7Rt~#%XŅ(yˀrlݷQ6gYGihvpS*ϵx.1ѓ6vDM'G0ueB`ul6187Wf=g#Z4ϖRb)zف)} \Z:-(BRAGNS q0r-K@Vݬ؛ل;HO=I>4-\g*Zmrx#*zf?/nq{5_e^oVf0bCfiyfU%>֜}FDYY:a
92hto!\wpu";iG(ΰ
+$<|HQGwj6M8a첬1 tD'`'-\˥j![H~{6jEkqn#yqV7*¾ײw$6&FoI
ENe/,,{sv)}N}WY>@t@Eulb-2/*sl+ynTfket2Vew*s=VިkюF{iXqg7\Vz{y}|Wd?A3-dgEA@ N\"KMZ?H$B ,L
+~5htl.qxfIw
+ h/ Z%rˁu)Kn, i1Ur+QxxE z77o#ƯƄhgI+NCk/0:CMa(2̻4nZY-1KͱZz,wB}BH@ -
l'k3נ
+q.'!}1lQ3:ab>Λ-Mt4La<#ȃnmmߊ"7%6J2@gsG1\콵c^)鹄ˣn_JD<݈-Z7 ^IFobGe+t1b:]/
Mb^-`w%=!Hu#%aj*d;P{\tә+
+#XtlwHI6Aww
[qA[ pKհe)iTfЋI8:gӜߢx.0D+ęD̊\vAd_δt%)pVMhɒ{] A
+a7U=
#mxXC0ɠs'#|!.h~̋=v"ZZ$}`i Xƚ+O%3?Y3n̂T2q
*m'+7$*]M 5UY:!Wȧ݊uMVoJ֚g/aZr$mNQȁ({s/;"(|
(>OۛUiX}TU{_U{_U{k#ۻgI:hC
E"TT1AYy!UN3/^ .4-; ݝ߽3jPRM!;B'F? [_X Jr `PuH:xٌ$
+MbHsij``Xmh3MЈvqD))5S*qaAi}IД[JD4QJ\hyA R㖬b=jfJ]k4b厴to>)OTA=SKC%Pj'/{=UTaHݒ(ХȎ6d¯YJIr+?l&%ךPEӏMwm|=0Ν°IhkXU.Udy\oY`" a[q틷mc#0-[8Vŀr]PZǓ-g>܅*^@cJ1B_vcjj;/{xnEhĽ2T6IؚVuR2S{4cm5b E6́A_j4D$S3phDN'̤G{FI͞=a_R_^b{1&1GDÉ/,t j5RG0[]&>M`@HY#-ǎx`qTTz:رCG:\5.mL~$Rh^k}k-5"JCǐgӠMȘ=Fd
-26˝EG`O֙ 3Ƶᕛאz11-up3Kl<
e~Fw[C\2>bÒJk g.58z2/lT"侥6`"U0-b'y1r=F~>Pm= -z6gh2UFJbO#.:rv&"*Z^5[:O3:pS1Ef/B/ dE1rmG>Ⱥmӳe\ӑj[M9,q`߽o@l YayU1G.Z_ΫiC8]_
Ыy
c]RKtƫEKHx5M?izzЅoRE2\^Q,stxU i I#P'AI'T-"H&VԹSB")
+c~L#k?jٶeBآD' : +s6rUm
i%pTu9^aG3i-A#QhDӉD.a|r?Ϧ5KK`œND3"UŠgT`5J9l=
+J:1LDA/*@aSoE }
+6`IF}qI!dbQy jQ@(SzUڤx|?mg>lwa|Xwt GBdGBj$u]G
+JFL9G|Cv k0te\NJd\Oㄜ" y'}%t-EaD#)D-h-BSA F-fSok47^e>GYZH! zKakyBxy.]*ͼJd~0%H+FQN`+no"㚗&a;,[cfnE=/U20fQzݤKha jbدMj[?04ԈWaTg+<>Q>|Hϖ6sMQ=L9zHJ56re^J^q8
Iޗ