From 529d0c89d5db25c6b5ec1537fb4473dbfe9a760f Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Mon, 19 Aug 2024 09:27:28 +0200 Subject: [PATCH 1/3] Fix flat-brace flipped content anchor fixes #687 --- src/lib/decorations/brace.typ | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/decorations/brace.typ b/src/lib/decorations/brace.typ index 891986a1..1ff20ac5 100644 --- a/src/lib/decorations/brace.typ +++ b/src/lib/decorations/brace.typ @@ -208,8 +208,6 @@ type(amplitude) in (int, float), message: "amplitude must be a number, got " + repr(amplitude), ) - // we achieve flipping by inverting the amplitude - if flip { amplitude *= -1 } let aspect = style.aspect assert( @@ -264,6 +262,12 @@ set-origin(start) rotate(vector.angle2(start, end)) + // we achieve flipping by inverting the amplitude + if flip { + amplitude *= -1 + content-offset *= -1 + } + let length = vector.dist(start, end) let middle = aspect * length let horizon = amplitude / 2 From 7040067085aedfc084b6bdb02484fad4dae30b0d Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Sat, 24 Aug 2024 02:08:52 +0200 Subject: [PATCH 2/3] Add test --- tests/decorations/ref/1.png | Bin 15659 -> 19354 bytes tests/decorations/test.typ | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/tests/decorations/ref/1.png b/tests/decorations/ref/1.png index f88cd9fa5ea695818e1b42dbb7208ff4275972b1..16d9848346766e867b15a8c98dc55d0643b7dcd9 100644 GIT binary patch literal 19354 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 literal 15659 zcmd6Nc|4Te`~Q8^HEsRk;qry!nm9$LB5|1r} z>M7MADTzdR9ww3^d$Rq`)bsg%KHum2{rmg+&5Lv2_jRsw&UMapuJ?7FC3%bMW-(zU zVF-f69B8(52!b&P66zPk1Ii-?Wg7(HNL!rU?UuoBa$;<3YJ$lgA*0x+-v0R+LT$JB;x1z7A{Nclg4<0;NzIti->czH#TWz;*E@!5UWvBoC z`|o4fSZQhLGCT3%<%K=Eg#UEaHM znXzLmc+Xf+0ES^{X=x9mA|6B?eGqlzDl0LM#mq}gSoU^X-tN}7XJ=o)j%62{(nG<^ z&elvOGa(_NZKp@u4i7BiXxh>6W$K1LSG%i>-Ff`KT@O9n9=N;q*_w}88Xi7;n7Myn zXlQ7{zCg@pd#MYp&vbp7k5`+q_Te2qS2tVdZMME@PYw0)&a*94SyHsPuC72pBO^gyujIL^}%+p%A z%fif!in^gzn1=dc1Kl(Y^-z6X6h*D9te7j56ILj1G0=B2Snt196E!kIjSQ^}4G*g- zgsLj6U%%dM)e3ZtrkVUWF_5XC9M?Y*Q=@Osi`6eqOPuv zN{U;N#n;Qq=*h|;N=oWViinKNdNC1o8EHLHVMJU^U0e(i79x|$h!9CaLPA}TL>3d1 z;Qxt|g@q-Ag~@&Bj`^ zj?^f`7_n}H!+sPzwH>+yUim`|j6O zw1~@0t$wNW-sqBz)6Ic)y4bbPd(+7sHRpqo>wl1v5BY9??%c8My4_Ki?3Lap0vr|H z#B~ZL7t*u7e)ruNWMAH&Gq-nkPA%o(xA@;vigWe_o^t!qfj2-0CtnqG#XHO0*OH_P(i@* z@B(rXU0Er3U5Fu`2J$SlPk>ZgibXzw5LO6M?>0Za3^*9D6ZV<9Ft|owaQtfbW?Squ zwchV^$jwuT2kZMP=**hm?Jbng!b{cFj^t1XnRxQ?q<3?h&02g=KKlLL+@;%YSTI_z zpb$G@zlpjQF39H=*Gu;O=1wqxp4tmuCp0>zSK0EPd8;N*B0lJ6`6L6vE1VRRE=a9p zPBF8|wqjgJ@C3+u4te_uUMGSQp!2fGizH+%+Pfr6b!VDLux>+P^VbPm;eHFj>$t{f zGAD*Sq`!gBcS!Ftq6CJR+QIB-vlP58K!H}SU<;Fns9*%)m-4LJa1bt$Y)fR%o16y2 zDZs_?vuDRiK!7NDH6TsEw&!Qbwjwm>YzlY)aqNCdyi()@BAa;B-|Eta-@ly%uPT40 zg*W7Cz1(Px6{4xkx95tKj_lfPCrDSM4UtV^e|(}=&;MEUY~RDlq(k|i1T#qO-8&vt zS!|C>MBcE9X;-vi?X=agx#HBdq*^tq!k)AGPyc%|6W8)h@aUUaF#7Y=wi>ziNcD;qWZ*e~>3WQGz z(jnTO)aUY6HV1_0rfl!9U4v&XpFuw86AHu|OQ&x^a(}G5v>s2c4pE~D3l#X4zVb6> z518sIk@^kp5aeA3YP$TYw$-UoKfsMeRXsOM?ETJgLO)hHH{>z6S}6lt>%0vKwJ_H; zG<8Iy>&zpM#H#!CmVNI$Yl1KD3^_H@8oPLzDI`W@_)D$orV|L!CFGm*TT##m9P>$k%5 zEg!4TH8B!u3g>5r&;3=n_-5q3uWs0zrU9$3QoP*IGk23rUpPJ8z00zDb(_F$gSvaK z&sEz!z_Wv1z}nZd^~SCoOfiJQl8_y&3u;WePc2{f&MRVfh04WfhQy~4wO?6^>r171 zw~!?n+HtLw=J)_z(_T@|m4L11uLtj?#j$!Jj+m|e>6Yi10HIrfBXNR$K$1*m*Z>IO ze6oJ1$+bs1qh)+fbZBw~kkxjSy_vflF)`HoIVaQk6cY)d#>1I+1x{2tVG)S`s*G~S z^((kanD0ZHxA$d9h8TCnQ@WqX7io$*PbM+bi@geH;LBfD^Z+#!+lk?i>+GG85EaTG zO%VJYb5z6n_0$>3dYtFtVYZkB`OhJGpv@uO5`3-Z-n%WWPa;-b_{cg60Ue2!EqvU! z*B+}va_OsRn`n_WUItuj%qGhG(fn&tp1WjQ?my=}P|}yh(WJB@_K@Gh2=Dis>vf%^ zX|n{kI>J_bd8ELf94Blg8XqzCba94w<$b~_`Ps4eCaeQyg+aU#G zQED?`T)9CDI(w(yd%Xa&rg}hqZ+S+Z*fWux#%Ti|PTvX?oNz^Mb$;<(Uy}i*eO$MZ@`*);z@JJkbz4_)Hz4K> zTDm(f8&(!iGkT7PJeGCI_^Z6;t2ECZ@zWzRWo^YDA2Zr*gl9(gkQsZhK;h@s>xg?l zFA}j%p>jpGBAl-GB=8y9MrKs(9Vym*($&1)nBXlTwI`5sc0ut6!CPcP!(i1%-oCe* zK*uX~-7NMo>CvEV;!6IY`|VMY0!kLWlIf+YNoXQ=KQq*-IR93IrpA?A+A?uy>;w{x zXx8ZMz1x=aw#u-q_v_;Bv6(AUz{=#?Y8{(%wmXU{vg5tczMZq` zjOAAta4Ojs$Q%W%ZS2tNzHeQ1J+@en>K{kpu?6z*GI;!8 zGZN*fnM_g0ABP}pVeAhLJ3#`WK&|nq7a3mv4FD{AfQw6CCnGc zo{Riw5)IW!A$>iy8B=DxeWh~f?T_o<>b|V?K3CS+Y2#&8yFbyZm83@9Kq}K`9#HAL zliu^9f@<;t6189*5C{lBL@c!oteTk@Y??1IziXAhq`k_)Y?_r5d)=Ir>3+N3X#fR` ziVSUy3Ou!kRSf5tq)8blo+31nOznJ|*EQ->!>Qum+_dy3rTFNkJszu7q1pS@x2~rp zXS)mX(9KHMkac+VOarca$0jXBMpGWyZ*gg9>Q%$q{#wI-c#NN)$Iiq}dCM+dAeH`U zT|4TPmgaW&_`>(yzsU!BNKAawDv5E$nyE9X@bOra-VxE?&Vgo=7QUQg%}+%>>`Pc2 z)|6ko{dxuW-e1gs$y;b&%@_@Y0ShvQ{wEMe^s|=Ks(*WI0=fp6q!jeip-uu_@%`-I z&KmgOfB9;)|8Uj7^Zp+*;@b(p$17nlnIB|akSqrg5s{O=5=0=5=z;>xVg)S=nGSmW zpkx1wL~Zg4+D#+_zVK8FV#KW?6ev-srzYhF?y+dOPE5f$3 zCId@&Q2ybD)n~#hLdHWWTS+!7N|i}G!RAL_&cgg?%i5M7tf?)vd{C{}Ap3NyLPA^> zq4bQG{Hvy-q$JmVMz*WZFp~35)LX?YVy#$i2P*K#ABQ!!);5^sNoWaL?l9l5IqFK< z;RH^i)1=iqm_p)|RQf|ruxa}}Tn4_pv`h{SK+OuYm;~nA8|#?1%(r+btD8YF^`d+p^=20r|D1d&4G zp?kK0-pm!0@JYokFh!8JQx%~i&whA7Lb$m?Jeq;t9}zFNTYo^b^X< z(HBPrXi~IN2~gm2hyabub(*d>6T%fFR6-O%M&Xt7XQ)WTOB{w^+v0fBv1IPGr#(y% zuqY{~w(*#i^k>FbRj|O9nUl^!$jpT!dh38jRMwvX3X=Z_^z}#b1E9XcNA&sRKh6TO zm%}PR&UwoxS8wE#>8XHx{tlm9FwQ5>Tk^>RX@EQ;2-Li*WF;Vc`3=m5BBFFgM8)sN zwcp?}2nM%tQUtoO9MGtb4%~$EhBKgk3TllW8{HHiU)_Bhra-(u(sg45xt&x$iHr>` zbH{7bXW(uF+PurV`r9A<%~g>eV!;?EV#nzLr??^{;%1nSFtP$^bsV_`W#HOHeY$Wo zt%UBnzAlrDh17wFs-9!}A6ha>mvQqEf>D~VGl9==fdq%wiVZRhn9 zTxw)zALiWERVgN|?q!{OPW!z#Amf-hX~lT_68G(%qV3CDLX0jBFE!7{Cp}reOZl^1 z#Pr#Fb@v34)lNn-6`*9b7jOVfiGc!e|Gy;y6pLA?QIxh?R-9~z^t3;O1Bet;%z(s} z#qKypw88EA+{n__`I)r)Sp2woS7+}S7{~JY?_INFy|oF;+uP4A=1!AnhFr_snQx;n z#F6*v<%jxW4~I|u`DwH@R~0oITXehkNkSp&AG;CPLxU4nY;TG1Zn-;ublx}ISJ!&*?3>_r-vwIe)QJ70Rxh@NAGjQ_X)ww&u`fz{# zXY(NeB^ZpYmuY0d8&V@gI~G&?*+C1*P2!xMEtfB(qxbqmBL8$%4*miU$LRH5J2RL3 zR0vUJF|r)T{3HwLs2RRHLwMFP{`OitM;Tk6{Xu2HT1kUhDbYX6@je{dS#}w~7YyDZ*OK>sZ)?6^3v|Bsq?c^bkx#CPCN61^CaqLM|tlg70@jdwP-B@u(_?Ty& z9w!Lmv5;zxLD-0vGe;CV!~AZkbz~$2d5>d+k*z#cd(B!nmZ+S7=}Ya15uJ{Acm@@- ze3QH*vLF*KC(~}3MU3d3i(zU*8ICz2H+E)`c*n7Hfs$NDS>|PtiO7r5U9QQM5@2&` zLe5_gA{7aPWKYx|YAC{wr?=O$H>yL)iY#IGFd{8&jkPyDc zvO$auW1qq%oC#P2^Z3}0lk?Z69*-j)ud5{(WQUnF35sFI1N8;%=|LuE!Ze-q%E30)wY7}!fhg1q@q~7ePy;ceKYk~b%%=IeJZV<3T)b_7s?ok`{ItphF zMWJT!xU%x4>RTC~ub8)<&p7&fLs>emU5ee;`(cwp%2fHi3r89=mTaAjl~fOe_CdS= zBz_W2zphP+?udFqQO|ZNcaPl&c`G#b6;fO#EKdCC=_}Y^kw+`M3ww)Favjgb_jh_& z^ruLpa!_~n>Vh2!yKk+<^LAnh*#ae53tR4yzzmA?Aa!}>9972bu}f~#=Oo^Zs84H1 zi0>zuc0SIPtDB=qKtWKB)#vN2hphU&H7$GwK2Lr4&9|{eTJj&iFkd-@d4XiwE(s!l z{V9emSx0slAx!=bH50OC){h`W+%vAlU}d0>yC13|NUALt`>8t0Mt`^S-cGA&D)CncA1Yh&@`*^DWc@Pru8%-#CITZ2IlxeobUGTA%rRs7Zz_ zjnoRy*5??YqRj7(e^~0hmLcPjr0+MIoa0b4(y+sDmmjWOpXQ@A|BjIpgPIYCJ=R`6 z<6`6j50e=?lwyVg;#clv9wnBWX8j1&9#=YuYlms&z77?C`ju`xck7Z6a);GhW1Qt4 zIC^lep~JuqWo9vfSJ!p%N5j~{r_lK6la$4ovE@(iycdV{;@3I&FMKXt=9%~1@03A? zn7#FeWBX?Phbsn#;tJk2z51FvIHPVs{}T0K(QCdtH=1e0`chQ8Su;=l>)5Dv=hwQ; zd3hFFj{tJ-rkvStpWe*mMaJ&yo*7bYc=z}mV4qsj{NI!qQJ)uccCiD7dCyai5(JT6 z^+$t^KXnK`n9ziafFks$v*>TFKB~e0)b4*J_0k9)=qB@Lz8BH=`az!Xm0Et6l>tHHC-=-vv1X~reHv9m6hWI@Qka+mntNHjhbu>7voO}t?050et59;>y?ihs5A5O zQu*Oq{E0B`bncn~s?E&&+;Bn>oKSG+;Xmfcz@qyvZfbJ^!Nu^Cb>)GMaF9G_&UC?M z8Xi_-C=J=&S^>NtrEtK>gLzcE-AmHnO$Hh!^HS21@M6%glI_HJ#7hM%l^S!=M7}5s zYS*G!45vKPL+=p_GR@>$j08B_FlXu6>EN5pqe2GsnRk-K5XT0ytxEWs(u{A{rA?k# zlLfcS(Izw0&PM=m806PJP%cjMLiX$pH9rlvOVYM1-i`1RLf$i--$aIb?kCVRk=npf zojD&E1Lq+TPan=26FGRy`etk_82d``j4KUMBo8(0F4bP_^;LJ6)`HXqkG)u%Zh-m_ zn>c<0SrQ(?v@=N1&HEvRFFWwyq)Wrd1fW9 zT=V9cJM%l3#p;b|a+djDono2A$`r*S*Y^Q?+qw91Ppq036uLS5-MDAzmhIIwB-X~6uK}wLf4mTy;Na#>) zjNvdsWb8$n?i9GszHgta&%U)o2w4Y>U)tkP(OcJ&38DegB{i&t`CYkZl|zJN@5d1_ z4G&U}vKsKw3*Ds2O+Wr{OPEu(9P?kExFO;Bdb8D>gyq=A2MfazeoL2_m+|HE-Q(lq z=VQ9PG&e^^MtXLG?Mdm}V++M?P!OTpt1{}af{thJ*U}=W-NI({>)2S|hoJn$eedy{ zYqOiatbCgL4`1^sc=k>RFvN{J&%Zgg)A8PF?7ev%b32ZYq9gF!8Mo}=p&xUaEd;LF z%(gUTnToiL|AtgPwDxVsq<+CEz|s?8q`$HCUnqM5iXNh#;+qW2husokuFSs>_9qPQ z?(O;y%XEaxh*CfCxkQeJ1C|N#L3yh<-}J+)Py=AvykF)CS{6f23WGS2w-zqLuOxy7 zIWXmo4A}{B#eqn63m?yoSRDXq3G}rP2xq;WDTWFGc<43V=q>>a89(j+J2(pDxI>LV&g?6H72dNQ9D>y6+4ji#@C+vzN zFlyQ%Kd6zw_KN#q4J=tGEC4_NC;!@+B6H+@60dm`O#&OGo@(C7fjO~Qn8lX8O1O4Q zHqS3RSd=z|6a@NLz??l;REBZrbs5Z++V7~=6$u`UJe5fZ{S%@Gf{W=eDB)K(cXx|Au*VmdrQ>9oN1^b+Ldl=T?|!Z;4hmA`{H5Tr z7HZd^UHdX^tcK}=I{lXmB{5g@Ma@gfRw8X45%c$J&4l=nkfHA`K#N4iXNSw2ZP0hP zAV2H=l{i`tlJa2rf)UX}O|{25B1Z(2t^k3R2+v;puUbg}l7 zlorf!!LEgOxnEPkcbGBAgT0m@`Po5WZ|NJ{sfTwFt9d_|}c z{c`JQLdb|f&f3T`03Ep(so|}?kLG+V(N1A0&YyCnrE6hE3KCzKSVyx-fxK67udE)m zp7Sw9Lhw!Q`J(|uEh57ODafonvtdgXu3QeQr2nPsS5QV`h#~RC*LJM5dL@W?ux!(k zBU^YOU!&1%0q>m6+INg+nA#%c0cmS+Tw!Ya+8Aw}45-`y)3Hm_aMCP{VHSh6g~Q1@ zM*JGEYLG=PWqp3`dw=Ie0aRBcBbDRu*>md!2a*tS9u|tFzmHtkJXBSA9xA7>`&1m1 zqN?v@T;seFLv_V74ye)!CmZkFEREat>U0$kYpYo2)o}V5~Qc+XK1qktIo0-KVUToL-;b%X_r}yF*!=hsE*-yIY9 zg;rRRhymg65b#&H_&)**5I{mWu=M+PbisuBvx7w0I%N32qL1~XKO>92qrYf7C4b`A z&l>B^5uu-9Bmgq|xSu%otEF%uObuj&^CQu-r!GPPLLB#>(8Uxrh8m@4B~oN_WY08+ zFn(ej0V~31>=$NhkTu}|0m>^;fOk|4J|uHJa9Xkuh)VFFCnfxlCWxSw2?q!P-~+)Z z9sWrf2A55w_`oJhZsH4`f)qRja1TNo`@cgQxQs+^!Sls{8U_AUQO+`SlO8}v3W;q=E)@nLY;vHUFQgAkftX2>af?6}L2^#NuJ8vK#}ASO z>1*&{S$={GR_-vUpV73Gmuub;ruy3>lSAGH`i5e4e{6L7eT9>kT}yD#xXyO7ztUIg zIA6JXiS*ryw>Ni~@zn8Bqwe=j?p5FN&kgJ`x0Ip06ynLE4+VL$RFxYjfKkKu48jBs zNpwX@3G}e&u~D3sM0>k1&zQP01#M2+dHX{Ufv(0`)r-3Fa|Zglc7P`i+(aM*{IxjX zfe@+LdtscGI6V$h6vSzf%6E<&103Pk7r%QWAJJ@&SHc_%TH5kkHv(OW@LY$AJfUh& z=BA>;Nd&XRdMR4#$NP^(I4a!m-EX!EakOci+964rDfZE(@GlBhj(GLPosp+)C5sH& zsCXsvNDi5V?TML$g5BW^Vg*asPo*#4vB!}8=`0Ru{O%ap++V#2)onUdiYJRa9 z?z$>ZlO(r&OF4%cBysXwRH=vty0SI0!4EuR79vB}2y!6y$+5vFTlw|GQVd=B)&Eu{ zADqY|I{5F~&&D;0WNcEJI*V(9GEDCKZjc1M2nyO(oy3>NGHs(R_)hH5?OKC9M~2V6 zQ`E%j5uJlSP8R?{rcO-R|BjZkOa`agyb>9Z_k$beWI_hah&X2wCPi~4|Grw*O%FSZ z$R;`Ldn!c1b3ZG;Nw-JlQ2Tm^{Qi~L0pv>16S!2CCV;&Oxh+zKh9{o=ZhQ`mH?#N3 z_TjgR>o8HI$ZHEI6OESCcvLv*0m7Mr^~TD=ptg58ZMHt3-LhS+7o+U?0wg5uzAnWb zM^^1#RG${%9mXCqJfFTWN&F&QKCaP2TZbi4RVs`_25N+PyRhv2o%uK9xYv-G(}pA4 z422ny*wI9e;Z_kIN{-b~nB1N$$V0L07Z%ycj!0}0M}(4labuzioS};y1z8ZEyN->D zE5j*oS5RadF>3;94M{)Wb_d+rlDn-I9%|MuASQQ=Uj&;@c}{x@FA2If2)D{p}Sx z@q^k}F8ac`^TJnPHpgI7!`KQ-wRmBMIeRf;^6dqs7r1WWfcZ<$j-}^R$Z}U>>kUjQ zycV3t2oo0UMG>=*nKR0NN+eo{NZIdiEh&?X(Zlwk@%7Z9)(=9`^~6LA!T$Kv^&1D- zl@Gr^7GkJ^?TqEgG4Ow>!F=$blHg;LrO%kWo5E@X*?l&)0dV4a8+R@GI*F}~^dg}` zg^P*0I$?zdFWI!pX7V$U+?}yn*W)%(R(hB-k?D`RDW4|$v_qF1u6&4`g{z1Cy)@-=6X3iR~R%C5qm(yEP)A}nydfN z;?S!2$Qwtz?;NX3@Thyw+u8Xw(a35_bLe}+q(efH19md0a#LP_Px`HSubV-ML7Izl zRMA9>1e3bWMSaj^)dQP$%niJ6E^19Og#10#KOn3NHA$bt1Sr?mC6r1HK72c%>V5_a zi$%Y*oXyOGdQKyq)Lu~syF+xHXKyvwd&%nTj@FGY7`oJARt>uS^YeqZ1Op-!6DWI6 z>mzJCjBKNo<@l#``nc@pb1Mhpky}VK_6h&BmF$4iT4nC4>O~AW`-yQ@T-{omTQm=J6^3_Yh3Y7NS_Y z92F*$fol*=1DAx@VPy3cfZPa*vU*`mUj}>-_{U%T8$>(Supz< z5g`@U1yaEZnTCKUg1&?lLT*_3o$!jJZ<-b1;y|86^etYsY_WLj)=^1zyd;jLKnzP?_o~ef3=Ft5 zMCMvN`6Stha5tQC9CY~j7GZ0V-`I?DkJmmFpgw2T;CUs_cW7*GTftpGf>jmF3=$5d zeleyF62dkbAX@@f%EI0EY{&<(`4K$iyV?2U6DY>bmz4=cd*AWQGg2BmmInX%?3ujB zxrR9c)Rz|7w?XN_75)@6HhmKDWOx3d`?H&gCFVI~ULKrkle)^Mo)}b zT(_Cgw|1$M;sf8?N)7d$XPfOF$v9ZRzsa1r#A!GBEi5eXjGaqOq9s{qMvlIs@qXl5 zRyiXn$^FX*YwO|wBNpW(xLl^iz|z0IdGUOHG{vdoos{BYmD3_IG>-J(!qCC(1z6jZ3|?x0-)JH@O_I(Ihu;F~BkRbZmlz2`%( z^;+0eip#?um)yi*H<;gTES|45Hbpi=P0B7`F*zSov^`0?>i4AZkT*;UNlQH8w${0D zR4S<^#nHU7Ae%`MD5xBrTC)wN`Cuvasvm5f&~lM3_Y%;I#Hf>-S_GM*#N^r-8Fz4lmecmv z=w<>%mUg4KO-dIjKq(_TZwX+DNLapx1}c@9=`(dHi@;Ez^#(P8C22deW9@vaBQ8UL z!o?e`#X#{I#v$eEqL}U+c9BgAvxPs%uvqH88zn0sA|FsbR zdlk;#$$Sb21Vf7QVC#!Fn8bL8GgwV7<=quk%}}xsJtV-U&;!i5Mu!}+rVu>M7E6}fP<%%i z?N2=5zP-&a9VaEm>F5*~q)5;xFno_|rxoU0Nr8H<*bYjxbAtZEs-Cg>TYz z^w`30e3Y;IsE=FJ1$Q7AkYk+`2e z_27MxA9!yx-kAI6$K?#5amuuJki^PVQ0A=tPMnwUuCe{UB7y z6n#oqsfdJH(Qb(Wo7NY?C`fH5FlkT=V0#6w;6lGFl*qN+2AJsuzfLEH5rAF4KCwuM z;|X&wpezgiI#3Yd@06bv;A{~CG|R9^=TtEX-OlKn^p!>l9 zNK#ZlPt!#Kuw)d#6f^d=khpVDvUtBNRI7ymgDaz+hWWtrmS4>wVcH!j@G2tPSq+e} zj0!rr2j{I-eLtFr1|-o0xNP*Y&qyw)L9}1CI3WX1(WMo<`ytPRlSSwS* zTKf;L0vtt`>sUKo3T|N3AQ@t7x&*M>h+l|u1`nW&!PbK|!T`Pq-nT1PxB$432J_2i zZ6%Jf63j0#r*LK?zQCwzH&GV62(3M^UD^ds7U-w!d)!S> z<5=PWb9a%uxH~Sdeg_#SFba2-y$i;1QHhK>Fs=CBQo z99x_+>+hZIZTbBE3&(4xMv8<%?BR&%3BOP0Ncqg28@cZ_Gp3ejMlX1TkDPt{{mdhy z*SRj~SD)INWZls92p2q1MPa|?)Cu>lKAFF9ogQbsw49V6<0*%2v+JeY@D+)mNZss) zSYxw&#SQUS9B+4&cFzB{5&AY8OBGI97#turd{_V0<>r5U;{Bwi-lj$6Z)1IN^$0cF zKRoJc-=o^l{`q6kgY8dxOtqu&*q{cl+AsBRm*51RX|#DzCbX+ng;=Y@ef+?AY~LuM z)|9I{w7TDSWfHPcKvC_-NlU6G*M%xoIX-HpYfe2R6wXQe&Fot(vXL-s`e6Ctbz~aN z_Rnd#OsG}la;Gkggt2-B8Kk->e;s-1Awq_tdSsIi*2CQS_SyW1i7;J_@g(ZWb3d#f zS@(3EfIamPRKD+!n&p-iv>?oQKvp^zxk>Fj>vdEG+}JK3P)RF>sgA5-zbA1n>u3it z{6UMm&k>pfR(0-FtSh+O8kEyN-ui`5AY#z|Y(ROKSRfKkc``6!B1o4f$m#wmOqZqT zKgqZ%$yrTnBRgHBu{sEf!vPL>Z|ownd8Uk$nuHirca4`cAhJ}cZQ3EXBspq;vxU!z zZ{lt5r0LPXZn;cLGlTj$QKkD?xzB3wf@*7r$#9gosYkTM2n7Ne7XpF|Q;;guN4%^u znL^XSoaJ~nB*jm}0;0jIr|kybSPY_--DxOH7vVMPW@ld@6cBMMxW9oeQfL~O>Je=T zLIEM;0%7hOHBgCqmtc@iD8Oelu>@Drc4LX!G*v8dQ}%g&b?F32TkH{H2`*RT9GqDl zaP3RMat(0bk08lePkU^K=_C>a=|s+7+T3hZ>Kp>9;BF)35WD5Lwo#ac9(%rxdujI^K1K=aPf%d4C{ap!TRrN z{>A!tq5mlSi=zLlroXenuFaJjpaVkWf0v_tc$Ml6q^GR@#p?XCW-QW}-(xcMkVtzt znc;-wX#bMpy#fzi_jgCGSp1jJheUs|B|Bgfh&+EN!G%bKFb zKxbG;?29s8G6$hOThTdvkpi~I5>-Z&hKX7vgY*Dj%Nt;$>}qm^Mk-4N-+d&tin@xX zg*{gYxwIc_rH6A;s;19^>;6HAXY~+;wgOAFDINn>Xn?GWD-Pwzb40l(eTz%?N^t~f z{VE!)T(ARXAD;OMmE%A(eBGL@{S+FEU9rg=c3#Jg!KAgCJC2YU#(?)^aNsdkF)`Xf z{ic#4!CR=^VB^+8)h`5ZQuy_>aItzBhAeGRg%}c;fviI>ifB1@9+6@YxlZC+?{@VH zg&T8KCv}^%uS)YAG4YwL_rx<0uf)oic5?>j8xSw%f^c}peqOs!xeRAc<<#xh@Djo` z!2B;?=(+77@hned!UXfTik*3tw=A*zhk*K5a_h*ZfKNdgcL4p$qcVFrKn&sD%J0cR6KW8BlQ|I!Q$aC*o gpZ}lz4%EeoT;2Oj^RJ8D>Ja!j*ty!4Snp!}KXyQx<^TWy diff --git a/tests/decorations/test.typ b/tests/decorations/test.typ index e452518c..e66c781d 100644 --- a/tests/decorations/test.typ +++ b/tests/decorations/test.typ @@ -45,3 +45,20 @@ (amplitude: 3), (amplitude: 4), )) + +// Bug #687 +#test-case(args => { + decorations.flat-brace((-1,-1), (1,1), ..args, name: "brace") + draw.circle("brace.content", radius: 0.1); +}, args: ( + (flip: false), + (flip: true), +)) + +#test-case(args => { + decorations.brace((-1,-1), (1,1), ..args, name: "brace") + draw.circle("brace.content", radius: 0.1); +}, args: ( + (flip: false), + (flip: true), +)) From e54b078e9fe5ff7f40cce3e6ddff15ca7341ee75 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Sat, 24 Aug 2024 02:28:32 +0200 Subject: [PATCH 3/3] Fix CI --- src/draw.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/draw.typ b/src/draw.typ index 9baf614b..59b9f5ef 100644 --- a/src/draw.typ +++ b/src/draw.typ @@ -1,4 +1,4 @@ -#import "draw/grouping.typ": intersections, group, scope, anchor, copy-anchors, place-anchors, set-ctx, get-ctx, for-each-anchor, on-layer, place-marks, hide, floating +#import "draw/grouping.typ": intersections, group, scope, anchor, copy-anchors, set-ctx, get-ctx, for-each-anchor, on-layer, hide, floating #import "draw/transformations.typ": set-transform, rotate, translate, scale, set-origin, move-to, set-viewport #import "draw/styling.typ": set-style, fill, stroke #import "draw/shapes.typ": circle, circle-through, arc, arc-through, mark, line, grid, content, rect, bezier, bezier-through, catmull, hobby, merge-path