From 4ac4d49158fa940bb0a45b2532d81a674cb1217c Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sat, 18 Oct 2014 22:29:21 +0200 Subject: [PATCH] Avoid rendering invisible Type3 fonts (issue 5421) --- src/display/canvas.js | 4 +++- test/pdfs/.gitignore | 1 + test/pdfs/issue5421.pdf | Bin 0 -> 3209 bytes test/test_manifest.json | 8 ++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue5421.pdf diff --git a/src/display/canvas.js b/src/display/canvas.js index de0a2ccd0..5f03e6418 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -1463,9 +1463,11 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { var textHScale = current.textHScale * fontDirection; var fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX; var glyphsLength = glyphs.length; + var isTextInvisible = + current.textRenderingMode === TextRenderingMode.INVISIBLE; var i, glyph, width; - if (fontSize === 0) { + if (isTextInvisible || fontSize === 0) { return; } diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 2e34a2b7c..244481a23 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -65,6 +65,7 @@ !issue5070.pdf !issue5238.pdf !issue5244.pdf +!issue5421.pdf !gradientfill.pdf !bug903856.pdf !bug850854.pdf diff --git a/test/pdfs/issue5421.pdf b/test/pdfs/issue5421.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f288a712517c428d897bf66042af067f3c4e3973 GIT binary patch literal 3209 zcmeHJdu&rx81G(TT(LtL|B{q8%}>Gwan_CyzL%@~uqV(hIux7)XL?;bMg zUSGn}gb(j68d$icv3ul^{S8NUcCS5aDYhvsBFIVll(Eq_#1Ge7!^=-93 zFU~&DZ%J+{U422jdDxeI_m=vyyjW{%FU>g5zt(-SBBMX$M)tDWV=adp>Sj;5Q0C3p z(eZm$@35AnSy#VpuSrR{-~DI*?DszYwdK^DN$D+nIvUqrnWuevck{esd;Olofg`WS zw$}6&b=K6SU!D@tuxYC;Mq5%e=7*Bh#WyBaQl|P_NfBcs)@>ZI&LpIkjv7i#(J|jm zJUa2{2~*;E-n2IIdc?R?`}~f$NYeXUByGyCTAsM=KwN2wDIu=tO!WFV+GG`C6Jo4g z#lxTJvTZn4a^956yOpQb_N{s)t2Q-x#`bJa4j}7%Nlny<#{Y1<`YkAwG zA+@o4inOT_NVpO8>Y1L%o^d!oKH|{vs?74nXyxmDZQEkEk9Mt$?5aL}E`96Vrm4k8 z-=5pl+Bsu&+SaU^WsWCL2^sNk=0^MDt0VH4E0@17p0OdXIqu+ae*CcO&sWyBHhht1 zsW~I$_a?rp22TIB&tBOiWHerV3rLMxvMIBX z-e2X(diL|qmQT8d&i^Au++{iVs9NL(*J6&NQ1ufYNV$~RUNK)K=5$BEQQ|AaG7Ob3 z?uVNsQ+0V9X})rjPXn2yX(G^bDD#URm!ISdhy<&2Uzs;Rm=LC}W-uc1g%NWcnhM-O zEB*mLSM~eKG$&YVw5kszj2S~j)Qa%%1J&LD!1;-!Q-fZi1%nMhk+1$b2Kr# zAO9Xl;Qt%}sBokCLxpT~64ZN+=5q#H&P}i{^gc7^l@$c^(*ngfcu6{f?ZFBHbPM!T zntnt~76h40=4c5I3Ysu9D}t_B9#^0UdP98G6eWEO%|(XM4MZb3S<&_29QhQUH+XR! z;sXpp5FfzN9YMelC>jxRN{|^HH0&G*^8kz>I1Z+VWnd5I7#!r&oyIXF1BU8y!9CO) z3XG1a@PuU{;xGy@qC+wSLF7bTju(IqYu)gWV3+_@BNs41p9EbNF$7N1<-;}u1_ucW ziz1T|4cW-Iq)3ng!*U!kof2ng4=V->(OO*V>ER_JqBdA#`cRt$G)xcN$%w#%_b}I^ zg(*XP-Y6OL9t;o&&lw>Jg()OpqzGOpkY5akC)ACma*bM8%Q$@E9$IazrkiB6GkPVN**Gv`-48=gTh!rIM?F= zW3UQ%#i%S%31(mC2a_NM_y{t@4P{w~8-zm=fyOi8lK^{o@Cy^)rr{T6@J=k!$Pv5~ zr`aiv*folQSkuIAg=2srj7aQm%HpD(f{SswU7V9~7C2?6!%4dsS3wG~7gN*h)FbXG z<(lfI-~^!H90-1hC6ejQpD#f0h6R^`JkKH(?AIgY&;q(ctRnMNQqr_+8}%3WigXYF literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 4d2165928..5032a01a6 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1555,6 +1555,14 @@ "type": "eq", "about": "True type font with encoding dict with no base encoding but with differences." }, + { "id": "issue5421", + "file": "pdfs/issue5421.pdf", + "md5": "273f6813758a2349090003c7c8a0d85e", + "link": false, + "rounds": 1, + "type": "eq", + "about": "Invisible Type3 font used for text selection and searching." + }, { "id": "issue5280", "file": "pdfs/issue5280.pdf", "md5": "0ea1230e2964e74cb6db063a89b78803",