From 07b094729e139f372569f36cf7fe2839d058bfbb Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Thu, 9 Mar 2023 14:13:28 +0100 Subject: [PATCH] Fix search in pdf a containing some UTF-32 characters (bug 1820909) Some chars were supposed to have a length equals to 1 but UTF-32 chars can be longuer. --- test/pdfs/.gitignore | 1 + test/pdfs/bug1820909.1.pdf | Bin 0 -> 48031 bytes test/pdfs/bug1820909.pdf.link | 2 ++ test/test_manifest.json | 7 ++++ test/unit/pdf_find_controller_spec.js | 46 ++++++++++++++++++++++++++ web/pdf_find_controller.js | 15 ++++++--- 6 files changed, 66 insertions(+), 5 deletions(-) create mode 100755 test/pdfs/bug1820909.1.pdf create mode 100644 test/pdfs/bug1820909.pdf.link diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 86847a119..1c6e6b325 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -576,3 +576,4 @@ !bug1770750.pdf !issue16063.pdf !issue16067.pdf +!bug1820909.1.pdf diff --git a/test/pdfs/bug1820909.1.pdf b/test/pdfs/bug1820909.1.pdf new file mode 100755 index 0000000000000000000000000000000000000000..29774cb80fd5634c5ac131c1d898b7db9ba895c6 GIT binary patch literal 48031 zcmeFYWpo@#wlyl2EM~TtStUk`nVGr7%*@Qpve;sanb~5pn9*Wpu%5f8XQuDHeearC z>wW(wSN({JjI+-ychSHJJ6PoYCO472@ zu+nGDbR(&lN_s|%Jj46j{ryQ%55tUhU**Hnx?fIqr@Eg{pZ4$eC+-Ms?FhWxyl>{_ z2hX;TuHGtk?@ppl(B3xcH8i?-ydB<-5AOEwvij>6hfn7AkNShEkr;iSw{N%CuP&A1 z?A<+XN=~F*xEU6FVCJDIJZ>duKbfw~0iHR%f1Vyi?ON1w-Tc71=;GJwdb%o_SnYbX z@QAnM^!9MMI(Sp^Nu-pw{aMQ&PU@Zn^)POd#o_C5b$@-_PkF-{6?=13+10`QWiYc^ zc(57EF7AOahk#M8d3dgZ5NUH`t*f);y8PnDxg$)NSxHpIn0j3Grq0JSdv^!!uD6@n z{&mUax3m5BxrwuF#+Q6YOW&VgiJnu_>h>7mG_}j5S(L3-Le(^tzD6x)20c5A-I15Ybtl;* z7Dflu$}D#B$2KM(u6vZQr>dEx){V}-C|PN0(MXs1Py?n+pY+h^r40yLK+3zbRi)-|cJ zEgWIcl`*bV8=`oVY&%fJ+{x6=+UHIcS`3!hQ5@Qo6%&0Z0IY(c4u->x?A{svadnVhk&#T+oQzE1>MmF)zwP&badnoOKJ z?k8+|+CGw~NEbOQN;X{yE|#G;vlU3Ph8me=-gin~q=iEiftXVyU5-FsUuan`cu&?U z$&P>nMcp{2)wb4P6|S9*IHQ$&BmEdc4U4ysEEKSeR2a`xBcMs}zFX7C`qBL`Z^cS{ zOBie&;gb}~$L1t3Tw@6E7W6>6zOyyv^5eS}k3^6Hbj`>im^E$eIsXnubCoZ6W5R2q z%T|L#Z2HW(cp0jlQ#T%j&!dHbDK&mUnTv&-5*iM;cQ3QnVUMuRZ|3?;Fvld~Ks zYU11+fgctd7dz!9lib2@-YdyHo<3ugKIy|h_DlEMF9G|h9Sk(flLM{H47CZK86o$e z6x=R;V15ZoPBp^;CCT&D^B3JsEs8%4oA-;NCCJ^YDodt6*}|cH;I|Q#kkl{*pGv6N z8;tdcjYAE-Czsv?sO3_ao=jJGRlp| zKl2Xhh{uwfCtXE zeo=unncf-Dn)!RvksY2cNsa=7f4sBOC?&yX1ynxf#LDQW!Fko~SVL=xyN!kQ> z<4QQQC@gUk8UyU-L)Z)gjiP8Ag`l7aFQJsJf`xJr8Q1E>hp)xE7Vabv{!fv^6%^*i zmARmgW)~xdzO+P$@B@;8RbXEyI_DK*;`3R^&YDR}aByLvVE4wt$IL6nFmXb09QS%p z0P#VhR zB>Zn+wc29??<-tfx@dGKxm!GPf+54x>NzbE2u{|jHyl(oHfX#OWAPhk$0<3&CNp1X zz?H+cp}?}r$g2WVCN$%NrFbhs+>=#Hd|iYRh;+z=Tm0rU&`pK zYe8dH;ICR`*;U#pQEjaot#ont8rtuVB^151bBHBzRPEJ^-G3G?(S!u>V`vbpr|3gw z?SM`e7&ygXBQ(R*v>!y5kMtj#=;7IOB`67{6tbb`E6kA~Z}54uGAr~xEkMjqAixjd zsKZyGw2|Fvs_%K3=>zkgD(+t?PB1m%RvTc|hEVho0}L zaRzW*Vh%6Mc68~(DL|VNN#Bi`3oFZ7_I(&4pvq+d6QAYH!KDOYO6cZskhazSVVzgb zC`ZHRp|*t>cZ0E)%ZFyKO~u1as=jRW1D*%#jBTVh>lmW)F>vS}Rzj(yzA>Z9d8A7k zQMm3nvb1xG%ZrjH14kx}SDb0{2B!YPyn_<%#uF4hJFYQIzz75;q*(w*56`)jco)~h z)*D7wJfmz1nZ^q&*9K2$PH;3I0V&#CKBEoaW{Z`x{G0b(tr=(-wMl^zL6^nEhnY2~ z4GK35X#vYjZA|9~-PLKgLFIC6h}c6J|S0p;stfm4S2Y;_XA7!YlO>=7=-hQ-{(;U;z<* z?r^*u3HGOpfXi3JXP8!ePDE07x${mzkO4m^|YT_$8eVFq;GF+TAB zSl5}wZYEUQDYB*!`QdP&uSb)j+Vs zxpIDJigyx(neX7OXyTsVBP#(^@E}^kLgcnHQ#pn2wnQ8!ILC6reEr&pOSH+5s2IC(OL9~Z$>cG|=ZrvCD9MZy6lfaBqH2X9 z&rtfuV14oAHxl|soL3_oDXrNG9b>h)ua%%21U#ExFDuJ}upjUeEMIIS*6k#AAolc{ z&t^#T>C*OA`@_OEH@o;Z^z^!)_FnIH=K9@+InplVn+f?nUY`%bc1yyrK6QGzxp)eB*jf3RPqyhpWueEYk+Q@(C$2Ba`E7?%^OekPQwlx5Z+KJcoa@ETk6QA|nQqg|Kh{q56WdoH=(#c-0t=5W$uR2*gN*eVvUn%HOhK_n3N#em-N1O>&SO>0}y{dkTC>UpsmRtV&_-uH{Ha>`Y#A5 z*1zi~R<7UF)Bh%(>QtB%YHDZPCK)Ga6`8(2Ov+Hlva>?LLJb~=sbCfzLz8_e!CYMi zg}?^cVuP#xt7zE%g=m=n5e_qe^H)49|64o&WhMnCb*5UC8ig8GwLeAXHbzIo04jw; z1#$F3)|Ww?0$KL_vzVMK!=r4_)l~o?R-lR~!+)SaB~Okeyly-(TP4PS;8rE1Zv1<} zt%_`oR+_o6agDc#3Hmo9Y0{96+3akMHv^xC*LZIp9)A#UkhOlwnZHVp{a;A$A7Ygm z0QkSyjvnuX4PrtM-PY#H`k=)3B{#SW%{9AdkvHV|oImZaX_Aw!gRs$&QDI&Ds$l++$ zKajhsOHsQZbI3}PeqZIOZE9|UG3MfN((xYFAm zHQ(?$NlakkW<1k0yo_K8oLOAW%W3_xXbotc0?A8 zYkX`)J`xht!gFyA_WO7^me_LM?{gJ(_1qunfYZogY|FJ@SG@Gz)7OvQ50;ys$a_G@ z%{HOM`HMEBLi~(YX8>FNJ8}c5N9hs62ae25NXIN5DD8k0*TlenCOj}nAnLp zxEOw23wBmcIwAlQfSHkrnUNVl&&nEMn*R`HwHHr20KSH#$P#eF){%d0RZ}6Bj}wxY@H3=>1~}z{|54R91)K>z;7^r#`x37|Az7R8Tl6||1*+5X7BG~{~ONl9_$=d?Ch-h|2E+SjUDZb z44sJ-9PNmx*jed~ES#x{000IS1^^Qa0Pwfu{%rOqL=$6fQ#(f+LuYQCc;zjE9ncE&EhU13QPeis)D6K+-xW>ywv7G`>YDVrfZD~mCZ-iVdm zl-`7kotevsiOUec{x^G4sedf5|5uHFCi(x$!!O+bIQh58{SRILq3hpb;NKejpV{>v zy8bN&{;k3PnO*3HrMa%-(MsP|B^P=c4qwi2!E7SnE!93|A$s$X8)%il8E5$832L02LXiw zfyM>}`>O!|Z<+mfP-af%e+V#PNf9wSTj$?`WD@?fGw)_5KbQ>}zF$81tZc1o zcTm>rPONi8V?6ycb-s(5Fa{|G#|=d8MzPAxiQ&&H2)(L-V7K6TXVI-GiYMKD<<~ZJ z-(4-{oP^Kz+O438QL*u0N`i3)(%Vn&~w3>k5PT#WG6!`Wi2vs;D{>P&-Q<3-t<= zqS9HFRmE(Y4viw+%9u4{FvaAvILt0+=#B9#XmV#~8{c)mwoqZCazJ8?0+k>HBNPf6 zy1*4as346QeB|x?Vm|@YJP7)#`Lmaf?l@EvXY*>Qe`h|nI}(NeJs%eh7NT1L1esEhM33aCNP=dbSfLff4`c;sKyYgWR$-q!B3Lhk;o=KJAlF;_VlbBm z@HK;X%1!cGk7cKv=?mQ;@8vg{!-`D)bzLh7!N#?rEp|KAsmcD6n`fT* zSvNX1BGe3v5Ai!PvsbYv^azPsQ;kD60=<=1lA1r2(Cc*t01K3ZiNiC#Czc3zI?6Cw;JcLKC7WKU{E*gp~!K zdttrrf!=$3`|DBFlcch6i)%>`J%T$IL}+CDKSf&cKN9dft=UGy>EG)Ub#)e^po4i{ zhIn6Zjf65^Ag>T`&S3Sa3Qw+XE#kNvX%3+Ygns1Gx!@H_HkAc;1UhW**4C=ciC*9N zSNDtC_xGcGC7m8k5cKk?37tM~UQ~$}#kdoN8C0<+3#P8UZ$N7WCS zgp6so?%@KMO6NSHaHh@{c)zoqnm2be4ew_4KjjV@M#ieTE3h~=Pb}v5&V>e3CNz|8 z8lAc#3$^8;8U&!1ru6Nz{P5ZgPv9uLUYE$UV7?Z$Z-JJLf?eidTBxi)3FixmBEm88 z#>)Df-mn-GUvB8oP$wA=K#XGy7`*^`j}oTqiLY9P=d6AWx|KsEd+=}cF>9Z(kDK}w z?5FC?*j>!3o@K62(r}+%)W)KhHD<=lYL}JGU1f9kWYLGeXw;6M4&3XX~8& z*P6~*V^O{Z*Fw-{5}KoCsU6AvAq~$yj;0l)69esGGb2AZCXk(JBH&-`eE)Z)?T?)gz|QvPElww4%Cesce(1s%_T#FsL*kcZ zL}G;%1ji-9)H6_g?GgAW8~h*f&AG-Yh!i#3VYegCCcYNcRWqQE?ag)lAVKV-yVh8Y zD4zI@h900&WA=s4W0IUhg)Q1Y{FSYs#*T3x#bqXYt7~{@S9d>Oaa2!RvGkpv%$^0f zMLB)q%>NKCIOpF-%G5$v`1`A>_gBPxiR?M1S(@ye_`?vKgn7+q zsN)~l2*QOw_X#EEk*>8LRdR-p>1gXHX3%EX6gA1p9ScYm1yxW#M#zbfD~dXkcoLP* z@;0Y6kL-YL+iEjxh!0zgjU1aQ;dS^0*CQ5K@|>#sgMt{F2m1XLoxk0>{`X%^{Xr)i z*Pq$U?C}S~$7TW{1rGu%1OW#}W~O2i_&{U|ItJ@+feA$+6C*GUQmm;E0!aiFFhPL` z1M;hIis%8R_80yEO#h01W)>E>qW=r#b+-RqTpn6d_@@5#e>Jy z6V{1=Yi^GfH?fDa$4e8Lh4+AXzqa-Y@dr2sZ_+M zR`HR8d90OKGf7>TCRmXpgHtXp(ONS&loR@ggMF+m4YgWe^YG+!p*~@m60eY_MB;hr z?Kpyo2tjfP>@)()JjrLr*FkrG| zp-^KvMcnnmrBTs4L^Wc;my_M7sWjo8mu`%*VMkAl0fW{?*r}YJF@am;g}!=Q9xJa3 z+zdYaJaB4DZwL5)RR4LC3QcgmizPMeJRGD2CdQE?5%fLCJJ*x70D5{_B zHZ>(eY1&qe-a;Svj^CK9@3r$?&E;eqiDMT|vX!sO)ooI~xGDopxwC^k0BAh}4(?iW z-AK<#|GHouP-kFk>ro)JHIErUKRTO{tYv2{vPSarDkGot*dfPOvs1hcP5vk#J29o` zw$=HyH^{v_zVS=<%;Jom)jq(x?bN)1?T&Y`VN|yvq<^e}Aq5K_iv||zW|2+>aXEkL z=WD%qJic$HwsO&<(DumpC-Ie)F!63dAqAkx0)-=d{s&- zd=}($zR_qKV$jpl)M4pboacDK!P8&#Ne-pt6eE44N3^Yl@xWn^pA?Uk^CmHAQ{hkH zk&f@ks-DEkVsCn)Aao9UV7EkvE!RRYbRo#nP_eG#dK4Pyb1UK*9S%-KOqP{cmO1Qz zPN>p2KqnOoSMD{2hkgxANbNQ2{l>yjg5?h?cI!E4Plk%=jv4MH;)?dIW|$Ck3;btI zTA)4E;hjRk*oYEqei;aQKVAkFn#T^JUV;b_nGsNHL{ZQ3v5ZlDp0SbJNd*6S787>4 zYk-(}n7Z-4!f}>fO_J7vezr`6Cr8L>jjco}BYJZ?Iuafz6$uDpcc_KTL77WuKZf{B z5LzK*d-}{GEETz}dFuHUL_N&Hu-bsHpnpXwCx?D!_Un;J@vKM8u7pUt3Z1#MM*CMK z=r+=YvP79|=<4FgSbR|&wMq>XZ93&W&H)t*zf)gRNfMaZO|3M%*|^^_~y)nkEZIK~q>>ZK)^|re&X8=XUb(IByJu%DF2Q9dGVM z?V@^3`?YH9Cp_8i;_IiJq+~U6GMUW9q*~;dR)v|y1Vc)riP-(cX29B_6c%R>d=#;H z9chC|#{4%K73#!jM0Jpv_{2&ijzI*aHeNU4>0HvW_dW9Sc*WM7i%c);lqKRiLBY+8 zN~hnah-yIT+uO6@ParjsEu0xr$kn3p#v6!+Q4Gqo0w{k*7KMgisiTryxfx;PA5aZS z5mFY*5yYF8C9HNL#6-$(&Rt5056-uJ#HuT5_F(aP11C;(pr1`lXz7x*{$@rp@#(^| ze z6{}ShtJqN6A!RuNiazbjro3%Aa7`TPx7N&CIOsm{r5=oGty*C*dpj3@-Pzv3GcBZ| zNjZ|bkC5M5H)Wx%g8j;f&)Zf1lICOK_35;la9Jto1o_T_|FU;iUs~K4u2}Q2pk;g) zhSP6f+N~v9Q;DPNQjzI3Nq?FXx-_Dw9G9hG{`0vkgAB7q+I)_6LH#LOnpP9Lpq(tFTGeoQ&kIEb!@k>1!9+p?)noLu8GXJyb-4)E2a6qd@qzb72Z=}~i*5{u zESZw|uulvrCZOIws?ay_xYI^<`%+R*He4C>*xdX8lH(W@qE>AIV) zvJ}J{QAzX$dUb=XI2Q`TT0@|jVn1R#*!62FRE$-ai+OGq@lUrxVuOkyd8BYs6zjjV zZ@uPUdyfocBC`0J|0&_Sg>%s@#{IJ&1dhym35OWP-y0|=Y5Am@u+x#$F?tTrI z29IjcegD2sb~rOD&W2{K3w3ukpe|qg^WM>9=m+vbY4hAleNKCWd_6~1p`A~?#vDB%6T*zi*q!cUxrq;-HrL(lJzepy?R~_yHZ)cqjzQCRIj(3_9v1)VKoO%Wk;5)GBug2a!y2p0W4k6tIkMye z$cTVD`AKV7X)+saTD<=7_P#pb_0aXe2iD~j>9TDU&q7FH`N5Cae7hhVosZ+&1-`jN zo`v~UEgi$f$?}_(@A86TdzZUGVfjc7`OG{D&8?2?w+p2C?=p{XXtkaXZHQp6R^(IR~5C&sow+@5A3i6N#tPVC#SPzXkW zEXJ_do}Mw6S~ix0iTWgjlY^#_+&tXX_ca-lTVK*bjiw%3plaYKaB9S5uZnay0M@$8 z0WBJQ{)%*u-f{ht>n2-}@>bE)&AI@@1_DA7#WmDxdMITNxnnn5!}5TZV<%igI}$Eh zr+BBqi)8%MmQ1P;;RSJZg7n2EWm@7Q@0F+MLI$+K3|!dAr+AjBRsPUt1pq%H8PS#T zs-RN!^QSxHNfne5zr!qqwx5HC?#+ zNAmPR)b#GC1XmNtz3fdA^@LUX%yy&}0eC3jE0=I1TkA&+km{bdEVX--SNU{ z^pp!YA?QFy%_3})9EQG-Z79mLT18G}>TbWd5T`tfOQvpA?B3iTs^997p&&kydSgtkRhXwQU$1x0ZJerwV+P(t7&JqQ#=4RQ4` z&SsM1S178OM6NT&^=!5q!KI9|bjP*Esvqy2nkI9&#s^E|(3CR2bY$}~7umLOkqDv) zs1jEFu3xq;HEAA+2Y+0mvZVaFYzB0paY+eE7$Mft@EAW`9T9a@wuNn>Tf=nz=;Iq+ zfl{6btlamyUzSp%tdc5IuhLt^ow!M}tp;EyJKkF%l5SZv4#naWXP-``sncwIM(;wS;o(*QI>>vs) zpWe|DvawlwQyMI!c{EC69CafPhM6@LR_&TSY;@ypjfv!?P+j?QZkw`r3St9xosmrP zIme!URUvO|SSq8QulT zqmmpPYw|NlW+FE_+GVX)Ce!!S+*Bd(vE#tPXDt;;uc-UYMw)z4T3Z{32m_a5kG7Xa zkt1muo6@i5`c(0s8ImM$-EvB`+OP~s(}>m^gxh9FT#F#e!VsKbCcl)#Z<40PcN4#h zbb-Q0nxI=!2~6;Yu!cokyWhA}=phrjw;<-#5K|esD-8hVlkOkh1z`t$QFGEnkC_%l zTS!S<6;;AU$ywdq2$1BzsAzm=xO;$@mEX)I5TieUl#zYwgwYkn?07&~zPsko@A~j8 zaLVZa5gFv&#AmJx^L3opt zgh9Evq{rIAZT}*!j$uwkd)-sFvkHQ*`+9upIVz$HwQuXSmDI1Uj(v~tE&dhBBjnW} z(Ocv*XXj~9P)QGZIs^8V`W{BKit666%x8kANuBS)UqrcdZAPu529G zb-X?dmmv}paWRF11LZ}5-y_!8lLo(QpE(!0%-rXEZL-dp*f9U*SXeCvPCK3=Ri&K8 zNIpu~WoyxJph7b^C>Tbeol9Kbrv4%%0D}Eq*nVuB#X0rZX_h+``)Tt2=^THxc8c&y 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�Fd@w-r%^*vwUySaTd3?EBFL!PVf4&>7?y# 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