From e8dd842c6699c665225c03e904a40887f8424e30 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Wed, 13 Apr 2022 11:59:05 +0200 Subject: [PATCH] Fix bug with basically empty paragraph --- src/library/text/par.rs | 13 +++++++++++++ tests/ref/text/justify.png | Bin 29155 -> 29296 bytes tests/typ/text/justify.typ | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/src/library/text/par.rs b/src/library/text/par.rs index d740df030..cf7dc4a96 100644 --- a/src/library/text/par.rs +++ b/src/library/text/par.rs @@ -824,6 +824,19 @@ fn line<'a>( mandatory: bool, hyphen: bool, ) -> Line<'a> { + if range.is_empty() { + return Line { + bidi: &p.bidi, + range, + first: None, + items: &[], + last: None, + width: Length::zero(), + mandatory, + dash: false, + }; + } + // Find the last item. let (last_idx, last_offset) = p.find_idx_and_offset(range.end.saturating_sub(1)).unwrap(); diff --git a/tests/ref/text/justify.png b/tests/ref/text/justify.png index aa01016f829dd400a215e1dfe7bd733aadb3233f..d0b6c7bf017eb55f4c3c0c7757d441b26dbc2659 100644 GIT binary patch delta 8184 zcmbWcRaDdu^e;MegCdS2we!FQK2k*`aZp6=hZudLhUF~-XotM^|#HMtJlAo!&>s+nz ze!5AoU}50S9Vn8vK>=8lC~zp1Xg!x3zEIw76IZ{{GcfR*H^JiRG-a_tn4sLUZA`z^ zO5fmp`(V^y%%S7TT~*L+0X16P75MIe2D*_Hh=T8DHgzm&2CY`NXp_R8{Fr`^Ww*eB zorV*Ss+tlsmPnij9W>uQLXnNaGFgjWAuky>dEpURNmZdMu>g}0pwi%K+fptNanF@x zShO~c8;QWkIvGLg>?l0251I&^(W;N~cI9zF@%L^&-Jz@d!Qe3NmfiJr3eAJ$DBjmT zbJA(8`F{GCvX+s}u_Wtu2)^;fs8I8CrO7>!sKr#^kk3ibPBEFa2O?tX29i=puO5oe zQQMC52Azwx0Gs-#=PN(usZVtH`KF#b`t#~X=fuBqn6|OAJN3$R(lJI64|a8VKFjG+ff%_;WmH8L!LSj3o~zrVcg)y^|V0XLqc$wW&zKgn0x*te}-*!}I;*pHqN zyFT5SSJ*0})&uERiOg>X(=znw^IgAb9E;~0iO5CA0FZPgBmr$Ji2vjb_tt@W&k3$J zt{Z>D7R4_<HLpmeXuqmIVxRJS~I@X5B+|xvexyGR(AiU z*tBDiAmX_7n{C^>09SwWb;+%dL4v@YSe|(}t;oC^?Z%I&EcRyQg9(~ov5O6UL!J8*bfnMoM3)Ka*52OmSpTj9mX|7pIKWrM&#TD~^5C!*$;-K^^%Q z022{L%16o;!^$-wx-qO7?GbR(F;(v{AcL~AT=wwB{lKr&-%R&kF2R)eyN;QQmOG^& z-Y&bel!{rUS_SCArU_QtN+gb)yKj$?Jb((rNmhbzg>vnVPb4LepRd|%gA z%NTiJ-k?f>U$dD*(8tDLe2%U;NynRKbCz4MQb*as5Io_3x_kvjCu)PSI@Tfms5QW} zy}10r%UZ=WRxiHmHlwS^VZGPx&`TC8&u4Y1O64^F)zA{5X%yN2g%1a3inH;Z50E=* z^NZbOP0KGeUW!KhzCA^u@X3F&x9DfAcBu0ze2TjeM!<-o*=^+z9;RLK#hrF$YTdv} z|4L6~J!?6TBS~b|97#k+BXsq%o4@C2@Uu>Nv9K$9l1!Z`KKCN+V08jEOxe>jvV8tM z=~?X1Yi}-=Rw*~kOi!OcrYDdbljMywc9Q(ck-?#ZCMr=O9 z$yd@+!n_liax-T^lNw$~KUsK_)xqEEoOCudnO_wgaSC77y}I&AYs1e3^JP@_);v~wBh6uuXRdEOFL zErvd$rR~VK@f7yHdjs~NmIf-WLh!XC9yyWOIzW zs4}JFgq#~*j<2m2HBm zlsPD~J!a#!FsmD{xk!UNa^QInS+!GUeAD6EBL`M!iuQmhQ%CY3+i{T|M+XvS4!cln z;2(fX@ih8AmX!#=pyXSqJ|gWqI3UU@SWiVAtKYqEm!9A31aYYNC5n6heSMJ4age7; z<9wD#Sbgpga!_2HS}uqAm~1zR`eQqzv?8Az?Z z6(1j{Bk9W?Jwp*BNCwP&c{p2DvlCu;@bMziNG}<+0BuD@MKNY(1_tAAEWsPPZ+1v` zHTO(!@uU12JYWl))2xWCdc`thWuzfBoaCvI5onvH1pFsID+XJbscv=Nu|Iu}5GBSd zOWfKGO{#-tpwFQQ8GH$m{iK7_7~)qL?dioi%S~E!fpdj&oGpa(X#ymh=-94f)%3#O zg$I)I(qtv#CU28X!C{Iw>)UlbG!#UzWhlEO_?{roWc2p-YUCnk9R^Pj_!1cIzn{pB zh_yC0D(z3Yij4&l#_m9HDcmMHm)JNttKxplzbzp^GJMjd1_jP|rDl%CsOI}inq5^* ze6H+$8`0?rIT1q3xsKYxNXl1?%{PNR>-^5RkgLf$xS~6rNV(1aW(+a)_>IdM87D6Zv5^)l z^yiHOq|Kn6sHn&)+uaPA)c4ph{6%{iWd;Hlr1+L$!8Nob!}!fz>%7+zM@jtgzvsCl?SrK!imv&9Jv%=oQj5u8 zH_Dl_n~aXf4ZNsr^1+}sc!;WDfecJ=*k2tmnxNzS^Go{2ScVhgr_xxq2HIfJj<(=^ zYj9aPi_7AhIPiU;uv-S`NSM}i``pgx;1z*GmGQj@7Pp2$?sGj&0ndHqYwV0h+EngO zyBi;L>?+ndY|tRtuZI`-n|=$X=32K_<@RtIdSiT|kmPjc-JgpXlE<2|Oryg*dhM?U zjKYmCy~9gieTrZ8tjvk(Qia6Q!^Ya5%9_;aIiu+&bSkzLVC*R$Uq>>t zq;KYF(P-;a;oL`T?fBXj9ctEQJ)1%{omm$;&uWWxGn6qjK(y&vO{D9T@FC#(J-(po zs?``m>cp6~<+CR2Ac z;{I?v+e5Va{<8uR42;LRH-I9n*(ItH?47AR{DA;#)32p-+MYnxwnO|ieCLCKNaw)C zYzPi+(dbf+oOaqDx0tX+fI={wn9Wj!q6hs#QS9U67SVxL)t_RI0M9oezG)?|Kk&z& zU>bUF{eF-bG?pOY4@BXiuDDN{Maoa6mO9>!23KI%#DLxB7YX0IF`i%^9;V$$tJgsr zm6bTU#!ejknBCLUlZKf}(A&>8U%6R$96)F$xFbl23EMVKrTLqN2DtGy%Ow8}6vVm& z!YE|e-Sb1cQymkI-x5WqAsxFshtbD7QV-C-TB2RvW-FJ9ZCah0+Zf_R-fw6X-$q&> zC}gGLOtL|D-R3AHJt@TC05RFRk%M^nD3v9?RUx&Mp5#C+%irMnYQBv(lnF*=)pG)~ zd3bv2JAzG>YHag#fm-yHxF^k`xY<*6P6(UNs!u&uf18HJkB{H#~gk`7J%Uc>Q*8G8a8!Hy^>T&;gV=BWZN#k1Hvvwc9mWoEmYj5;8 zn7Mse>?Zei@kq)4{TlqfCSS;~$V&Iz=%XAo^`DY(MFFY<4)6;MEv6{>)sj?MTfI9> z?CWo03{$+1v4%Gzk`$6%H^E4RM-#u(;HJ>k=4Rn{;mSzXZ=elge^E!05)6Nbva0oK z@l>7;4DMXFj@}(x5DyHmQp7SFC=8S`aQLX+8#`i;lUYFiObE*a-274JuoA~@8R14} z^mRX1&-oML59k*sQS;Tf#gV{nCE`HXH^Q#mC^7Zc9j>xblL>C$4Hg1Oat;};B|z(! zr1nulkKAW62?382$6pW_tTJg6%ayZadjz$9_|Qs)1GkVx@6FBiypI7JGL`l_TYei^Q`*_#}{-J(&ouVcRTjAo}mQA6~5X_qyW`RTSE8(V2xFERDOPLGsp z?q;r25=h3h!&Z25&D*KI$>)GtwUKuSr#9YuPe)~4322y^wpkPPjZ4X|q>a&g{_8Vz zMOV@0M8=oUe8LtS{xOd}NTQva-~6ioTQi}Yc< zATaT}Q^lcD%o>^eWx%J}!---ry_@BfG$mk;DZre0WBX=|y~GPPCI9Ng(kr18IPMIk zVpxW4((PH$l@VlmE7DkO@a!^43K;A{9VbeomvxomT^9TjRep+<9#Rluwf{GvG7%PT ze{7iJ@xH$y*AjP;)512-R*(**Y#@`%;ph~@&pY}hM9}v>rsQOkQN8+M>0p;s42GF{ zjw`?xDMZ20pq&*4GWUHYQ%^q(*wSsrBCFvm4e<5D6b!q}To5ii>ON|T1?2B0zX&&e zrC4WpH>VWt+d1zFPSPWPVp4wC{K`FMxFm|Yd24AfuB;164j`NKUVTL z;lGBB-qqI5BYIGjcJ?*1KA8le^eME|%Z3{&FRw zxAZqi;^N;^*NC+74c2z%Bn?Ikzuu2hzEE6R+5$Sofpj-M`}Nj8IaIHHlT9SyExz^> z1^w2#rVKO>{o8uR3G$E6CXCfLjITmSZL;`U~;r-^uR?l)wA+)__Re!b={*C~kr zVLA=0tYSmQ@vc`77ZJ?4z#rbD(_z`=9~pIxbq8jrRiD%?_-JMyf)fd(sx+-2?2^_Y z6`s{3jPAH$KS`7)Y9xB+`J`^I1%zNuU_54++2q@qD5Cn%#SXUxTB*gAm8V(XqW~Jh zSZn(57*}%5vfQ*feK%u!`@_s%YUpQ7dx5D2KG!q9x z2V0=ZAE-Wmd(H@svA%d&6C#N~Vxq?g3 zDxJb)oZ7H!vx;T|K6znF#fgw~L9!G@Sdjv1BJqUXwyBrFZH_}Ur^)6Y`52Ae`5Mt{L zvgUuxPG?hss`Kv4#_Jh}gCKFZAJMC5utG!Kyfiimf$t2kUc8k=prxn}OX0{DBXbKn z9ZXDawk9_VO=Q~1zhM8SK-HVEJTHGj8F}G|2Pu#^`DMKagiKe?%c{P*#S1Qc z*Stl9QE>c2#S!yJQvD_kn&8gFO_=JgvCR<93;%AZIcl90Ze1V!&!w!IT8d)xdmRsp z&GqHmU^6!nd%1`Fa$5~8@C73V(Bgx}6)ysD;{({)@nz+x4u*FE;fsT75fOqPu&`Rr znXzE`hlU9}256UxCPVMDwb*)3L>**kphhzlwA!NREq@I_JX!W&iPa7v`SW(s%}LY4 zrZz%|=f!L}8^ga8*d=8m7Ao}5r+SSj#N$_3+z_J!8$L_+68oRrM$fN&B%`%Ob#--J zk3c7r=M0m>*KTX|IR05y{PV|KuNKaQs74Px5-z^fgddllTg^vRi?j?J^z`%;4+^+0 zg9N^c^4$C+GK8YbIFgyCG)`q8*6am_Bz>xXy1+&Q(PZOhG=yI?QbZc|UWvVRTbjS> zbJF{+sQ6o-eZCZAIA^D;Z;J4aH~LYB62N0QKl@}-Gx00buW=ZZpqF**bF|&MO=SaCOx9MoSR{ev~6@%MNJJsh{>~|f(4D1 zsiPT`2nn-~sZB^q5;T27P5oSEsj+NeKn!O}xc2gLGtcQHY3#Tm2eGVh3DYD3HW5@b z-cVeRmMi|AqvJ@+dVVWav(d>+VOq;R1|-7vD1ZR~UfP^dwDk^4^&W$0wDa*RyWzt7 zKdO#gPrr8L)yvF>1Z2QSHtPyISR{jD>9E2wG^Vclsag8h@`FlBKLJ9hV>M|5%WKJb z3b3;;O$`tdFd7;LMhg}y>k)AHN$@N9OYa>|X#F}^uB?}eBx74O=+;t9gg^QqEF^7Nca4{yc3U-`&z z9p)h`sIRy4t17e#YH~fSQ6&6o7}@LByestdmVV*MANsBi3MYee1ug-K=z60eJ(0~N z_1=ccyf>1#Ttcf=t7T|M)$4|Le2Tbi$~`;~b+81UdO64;>6Y2BP=&;pdyBCeNx*#c0!^kGCXeYEMJtakkA7v=doKj;CoOjw)L!SE?Id}Wj z3`cXX&CJ;7EIut13Ij-UWNNvEVgL4$KV39McUad*;tC~TH0e3W5Kbu7L_hB#u&21q zI$M7cF1r)OD)A|$yDSEstoWd~+O2=OUyYoZ>SDK>8Fk;gwsm?Y<*M4s`Y?#Uo=egc zHK}7C2RH>=SZvy@{YL;KhAhMjJU8$`gj!z3_jlh})*QV<-_k3vVnd6lAwDXEchi`jvJp{aY>2T1*}_o&?1iO&iBNd92LR@YV%Ak-%6A% zBIDO8(%ePKy{n$dPp{#{aR5s!i?k!ooM^xR%~_{l&!FebW?l4e<%1iCCoB2a7)Rm# zrkv8tf`77yu)CXz{^^q!mXAN(P002 z&1q@Hlo4gh8ej2*)nBJrzDq?U36d-D>s9C`((8@UsYq8XH18i=;?>b*rltMJ|8fZf z(mB;W?DaKbXll6|@C#kon`HXs{Y8SfmHHEd_W}TGnG~v*Z$?sQ^Y)EF>o#5WwlKvQ zo%Pm|A^ocKxK3(^wd^TcC`@)KWqrMWwX-Wa{%rSC*vD@RRmM%V3szR(iQ)obu4f!u zo?bN)iN1Hg&e9mP-@j!TxIxE~PU6`Dq}q7!LgUkDM2Vk+7h_Z;CkylP3_>ai3FU1- zofjCW6(ZuvYcBrEC2Q{T@-W+19pMaR+Pf!W1>`#?Co3z2U%m$Nn#N-huafkyMY1M}fzJ-}??le=HESU&E{5VZPUIsaR>Tt$;iO-H_$&uI zYrdrvD;6&LgSDg)Sxz>Yu(4tSjYAF(QE7SKX(=Mf<@(R!>}se}DgnT{KGlLoN&V1O zO*1J7w>!);Cc=jqJyI`c3`1rTnbEj<>daX6LCc?R#oqRJA@pD)8a^mGQT1K1;L)xa zeGS6)OYCz)X}{c7-Ph)Avg}DmP% zM;)EyI)DxIzW;~lEhf&Fr~5Sd{X!F(pU%ac=HHg7!{*-W7QeH!kd~J2szFA6@a+ww zSzEXfN1RjS;x|uc`%r3aPj$GvuZiz$mjRdbDWlT=+DIGsoUmpxwC<_kREHg5omt!Z z=&#GLBY$`$%hDkXG0!`@s;Ihxv)cB(CL0ph1ptXmriI7Jcu>$|7}-os=37=!o-8{| zIhw+CLRD3KaOkwDbGwbA>%PibI`8_`$00o5?g6{#eMUh4^GkzEqc06X#XLo*zg!cz z%JxAE)PAP4Rkh^B;!jO48bba|~mfLHdgLT@84nB~? z0}W!2x1z=p(r!zP9W}gM5crQ4fjo%j&NY`dSb?-_QI?5&0;CiBDlpsv3_i ztGQ>AuBu_BBuv-dB^ICW%1&s3hHc)11=2DDkk+Z2^fxrY4e*M<{$+Z|Dfrkfl z6NM(xah~fm+iNq6d(hQQ_B02gLmS7fNC}x7eR3Wb-577ooLa~4QC;kWb@kC=RWLBVssk97IzB^aX13NT{-Z*3nbPp4G` zV`XIjf7k@sVp%#Z$p7eVrOjZiBH2i6Vs_nf&HpzzG%H{FA0dwQzasya&gB0*@qfqg fADBHUrWceiY*7XFi4v~=Bk(IJsLNN&T73Fn4$*=& delta 8042 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 f|Nr2_`h*P;