From 6dd43aeed16cfd38e5a5fd8451fcf476cf807ed9 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Wed, 29 May 2024 13:26:12 +0200 Subject: [PATCH] Add `text-max-width` render tests from MapLibre GL JS (#2441) --- .../force-newline-line-center/expected.png | Bin 0 -> 7461 bytes .../force-newline-line-center/style.json | 59 ++++++++++++++++ .../force-newline-line/expected.png | Bin 0 -> 4210 bytes .../force-newline-line/style.json | 52 ++++++++++++++ .../expected.png | Bin 0 -> 6280 bytes .../style.json | 66 ++++++++++++++++++ .../zero-width-line-placement/expected.png | Bin 0 -> 6319 bytes .../zero-width-line-placement/style.json | 66 ++++++++++++++++++ .../force-newline-line-center/metrics.json | 35 ++++++++++ .../force-newline-line/metrics.json | 35 ++++++++++ .../metrics.json | 35 ++++++++++ .../zero-width-line-placement/metrics.json | 35 ++++++++++ 12 files changed, 383 insertions(+) create mode 100644 metrics/integration/render-tests/text-max-width/force-newline-line-center/expected.png create mode 100644 metrics/integration/render-tests/text-max-width/force-newline-line-center/style.json create mode 100644 metrics/integration/render-tests/text-max-width/force-newline-line/expected.png create mode 100644 metrics/integration/render-tests/text-max-width/force-newline-line/style.json create mode 100644 metrics/integration/render-tests/text-max-width/zero-width-line-center-placement/expected.png create mode 100644 metrics/integration/render-tests/text-max-width/zero-width-line-center-placement/style.json create mode 100644 metrics/integration/render-tests/text-max-width/zero-width-line-placement/expected.png create mode 100644 metrics/integration/render-tests/text-max-width/zero-width-line-placement/style.json create mode 100644 metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line-center/metrics.json create mode 100644 metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line/metrics.json create mode 100644 metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-center-placement/metrics.json create mode 100644 metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-placement/metrics.json diff --git a/metrics/integration/render-tests/text-max-width/force-newline-line-center/expected.png b/metrics/integration/render-tests/text-max-width/force-newline-line-center/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..fcff572b38381454f1c284caff2f51b46219b3bb GIT binary patch literal 7461 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 OuFz0FO36?=bK^gdryW-S literal 0 HcmV?d00001 diff --git a/metrics/integration/render-tests/text-max-width/force-newline-line-center/style.json b/metrics/integration/render-tests/text-max-width/force-newline-line-center/style.json new file mode 100644 index 000000000..e307145f0 --- /dev/null +++ b/metrics/integration/render-tests/text-max-width/force-newline-line-center/style.json @@ -0,0 +1,59 @@ +{ + "version": 8, + "metadata": { + "test": { + "height": 256 + } + }, + "zoom": 4, + "sources": { + "maplibre": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + -20, + 0 + ], + [ + 20, + 0 + ] + ] + } + } + ] + } + } + }, + "glyphs": "local://glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "white" + } + }, + { + "id": "literal", + "type": "symbol", + "source": "maplibre", + "layout": { + "symbol-placement": "line-center", + "text-field": "abcde\nabcde", + "text-font": [ + "Open Sans Semibold", + "Arial Unicode MS Bold" + ] + } + } + ] +} diff --git a/metrics/integration/render-tests/text-max-width/force-newline-line/expected.png b/metrics/integration/render-tests/text-max-width/force-newline-line/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc7574535ad592adc6372b99595ac10c111e949 GIT binary patch literal 4210 zcmeI0=UY?D7RFIg5eytJ3L*kZ5s)UmNI<1Y5fBbtnsn*C1+apMfCQx%l`c)Xp(H9& zLVzeBNUxzo0wL4@clPn#=eZy5e{jyH>`Z2_nOXC`zqOu3>+5R3=r7RI(9pm%Z>t*6 z&>RJiM`-9yfRC0}-A>@+sHW=8KZA}eUkLA^q4`4y`nK{V)a_irK51=hXXB#Hh#QJ- zh1OW4m+tXfW}G`xBnbP^p2s<(_Z6z}h*-Mq$A?(S%r~%{TkqYvT|T!bIiER&J0Y1E z-R{-?9ed*RkWWSX5bV5uhf8R86*b8rxXsNrTiA4VEHZpgH7Rf6p z|A<#pOBWhq{%7d#nTgzD^$OEmeF4&;iirs;vW)XlZgFd+1J3l5*JT(C)|eQ6K+cwo zI6!0t&$97aavaq(iEV9F&k9)-G`Fw_=9iX|`WUts0G<>4{ONc#4SXtZFG_Z2E8}Ct z(6?1ojv}--x(a|x_a>mc!e~n7U`;sPZcHnTSl1_}xk+7VC<|roeR|c`~ zV`JUz2|TIdb|-k$U%s7rV`61X9BZ<#GRxOVy(N>*mx%ptsFXb?7O}$+8ykE2{I!Q5 zgoMY494`fC#!ETn?(QyZUj5v}I_%Ah7xY8J!}9)%XJc4I?(gqXKol+dXGbwqg4ke< zD=XMpZ-JhqOAjw+@XVPjIw?2a=}$a5$!PE1 z67!lDadC`Sg@oATye@H3Cr&Obj2|Az29Afx;*}2-c{Ji?zCL4^AqS(knuy+Q9D$dL zws71xZ~<~U_MM%r1?q~jiqYwB9iX1yk8T>DFGH|Bp( zXJs*y1f;)wQUo=%xWN zNzEX;!f(N#>>ldYJAIp9A8ip+%-K*BDQRi%=~&qw_l2Ik&UD#$a(hT1kX{PRw1yhy66!_R>+}@&4sn=IOJ!x32k3nJ+`Kv;=JY?L5RIv-a z1v|}L2RHovrO9*n0+5XLbsvu=iZLgGbaQicRQt{y7&4?z7`gitp@e7FQ~Z*Bu)z<+ zwXnQAvpiVk7ZA|%^QT%}`2MbVI5nugX>XJ`yHAWzZU`jK&R`QSUJrN~*tBG+lOdN- z=j!H`TUC`PXqf+9BoTYf_A9Lq>LMS%ZpPcZyk|*CEa?3e&)yXf72KA&x%sQUJ%@xo ze#BP8IKfGIkIgV&$9AkS_)lZwO5ZtMtDwo_AszM-_7ZF%i;Iizfo1fCS)%EHsDm1A zy}O|)nw(Rhb48`@e#LEIsLD#@(2zM;Z$xCNmU+k?&NZ42+D_931$f7&+b-6-5I6WMY&e58 zot>TE76A43{`hfI6HFlx2&Xv}Qyg$f;(qh`ycGDOTq`kd0U@CrQ{kSGkxrEF-1aor zVS9h6h2UBG#!9DqzKYlQ^ztXviD^ z2r!5ayAGCf+9pl*4GdJ-wK1lprw`V;v!}~?=9>x|NCYgKDp88`yf^0Wa)!)bPD@L3 zc6TTIs<2aB`^H>dSI6_04F=d1`~(Jdj(!H2cpFk4Q;L>04TM)uAaO+>gb=*J7xY@`yY%IxB2%Q#^=dGZr)rL$ALn zCjl8`Une#uMsbEb$A_)@-V0r+fnc+s7m;=+UFI$lYj2A3;p^(^qRwk5PX%K3IG&t< zO#!z;nFGp{1ZUu-c%)8Qyy{ybkb`AB$2uP!J9%Ep`48D~grt#?k>dVFFJily%W%GoNHmVp6SWce#vn?Y1pG7 z_D7CJ@6Vqty?V-B;|H6vm4m{*bKMT@uP!eS)x-e7T)C5`ihahw3i5Um@)yd7K%b)? zdw+LhK_^`XrrBhjzs&+5Yj9K(`8wkUl9!MF6|W}t6vW-%Lp?@zqxJqJ_fW|Ge&aDs zi#iX&SSZn9936JMUV#=_b^#CHy13L|n)B}6qrjdlc&KSZfJixd_bRfC5ujho$%&s> z4K)0_7yzOQ7U*Wa2Y$X^(Vil1SNP$>dr0PHW^Cn6n-?Givq?N#l+@zm&*CM1yDh2+>m}tN?umjwIRD4cd{XI&(1nR9(a0+d48ar3%MKlAIl^8 zw0~hDly?wWfL?&rF|1;aEicab;p`>chHGP2hU>^6Zf}2o>mAwAZ%>$%+6(XI2n<%c zFhgeoz6N{4PPN3Cft$uFl1~>KmqMEdlzH&rL19S=FZXA~VS#SmaAx2bRu;2!M+Hug@;Z`#go}1hUErU+F!q9?8Vj4Z47oYqm#| z#jI!hiVRDvF2tGQQ z3U555rKKSd1Ec=v>-&Zi!|14~9j~dWX&eP?o1dSzne9xS@sZcs-6Gi4UYk;rNIeZ# zqeb0|^Eh)8fEd_vb2C8H8m%LfPDpbtn_L+h8WLcMfsCF7R?}0}M*@+arB|h$>(1m! z?=mpBd-n^V(0O=>6wrV$GNeg6S#*um%;dY!!v}!?lnFr;5xw`EE~I0QTwPn+v$9UW zHEs^Mp1vseDuG8s0q!W?E^R*59ll!wKFi%Ujt z@YQ;bcjv?_byVS%a35`(<$~9F>&C;cGbxg27+8cS1~3QGvZH>?AZP(F?NV7o9Oz{X zkT}98kYhRTDO&9$;mIEwTzQR+8K6`H5>P0Vm+Z2PnoSmihrtZsg5txL?KX(x*?^!4 zIKnodCH}oy40PBWu6+TZy^HXW*8uBP_Sk=c_vi50PM~#y8o1*OEcymkR^1~g-=f08 zxB3EqoI%X+a7}IwdpdQdhZooU`yN&NF;m z`1IB8BgDa>R8y9d*77*B*68W@DrDw#>!1`JZzwd9D*pXRWgv6$#WQc%^(^mx!(r6v zVu*Z6y`23{3GanMB&tNGx8{L`oW z!arQdLrpeOKHHsagCipY)$R@|19SCj|GbQ8+t7kxTVn6`(MGA=xR8D24DR;!_F;iH zT|QGjmXBvMyJA_#_)^FOjavlsvF8@LJ{fQc4`s`Y!(kj;392nJG)i^6jAeZ+V;^2thRY(dgXkO^w|KMT3{%1HyX_* zDw^`~Bd1JiYHG5Sza#+xfq<~^tcw^{`#-M2iovVGngdKIgD?E&BlPt3i#cDE|JS?7 zj!H<2dF!Xpse-mT)o!=)R5KWbgc8L!YT}E{+Am+ZBHsZ;`kKOTb%;g#_kM9*xxvl7 z@H5T9@@G%V;fdeFLZh$a4)tG`2J*JNY9nbSQs2minNs2=BqVU^m4!!;vu$s+(`oAI z-GypaOgIygNbHgh4Gq;`f2Iu%4#p%VDo9J8!D6unU#~mVNTX1fU_&k&lNnQ|zYo$S zeN&xg+qQbeH}1o{X=(lSw_>yS#a=q3T`8n2M?|!TJU;oKBD#6lulP=)7CUJ{MyZ3-xF{SPf1nPvL&3X@`pV& zF`kKEeU_l@aFN@Zo@$1e{F5h~?vtKuX6;cd?Cj4AOS}*46S)k#>U@u2Zg!Uj!U)J& zzkSjdmSN}M&@FpR77`LNI5br3vZMhoA-u}P%*q;CPE0M*P-4;j?*03>RaGgGkwkzQ zN@08IYPU7hzPIuden)FW*M%Z67}IjQaRpUXVsbXsmNhp`EiE}qOV+iMy+Z%_4gXW| zFk%`Qv4L7|_qJ#{G>QMAtW2igFYDfP(dKvRec26GvHA;laV>DGD)I@F&C<*8-0t?co6?LH1Ars)EV-QeP~951(Z8Vnm<*+&tbv&+cF=XF{)!)_M!Cj1*c8f7HFb*>EoXwrAYX z2kocJgExCK#KT5bEH)- zym)bOvQ`|Agx0+E`4ykzt#)K?va^}l+1W?StjUwOjV&=P5y$K9^|LuiMvTJ3Nw9s# z)luHxyLnQ)Peyqd85!Sw{Ft4a8wzU%z!8YLF8}3^?KTdNj%Ld)E{`q`+=STFGPBFdUcGwt*YGEOMTDy-J(y_3TwZ^A zah2P7%J-nyeZvTsm|DrjML^treGVu)l14l+o=vU9YtP0CU9u$l$aCD&(FU~N`khDcx=*hJpA|wohf1P#UZ#SF*UGKiv?Mt>IgwQSp-IMmDP&9vn;?JWbaZM?PQ1QH`#GOKCuruW!n`*^9k99Z zK2hIa0)U(e_bFdQtOl}vzv}9`>$STm?dd5R5fM?d)pmWt|MUd9!E4>mJf>ge%;LSj zYSN#r+>;@m)X||dTwr()XjENYJ$QAzA{w9>mzmiMfbQt(!t|u@!-}`ZYzukKJ4i!G z=v4KAwWN+`NPvJhf2|bq1ETfx^gMtEZ?dz$&CU*vi@PiX2y2HY++b(NWO}bN@bSfk zhvSclL3@EVCY;)7IE`wOfp?czRul9;?`_?e0;pDl8p^J3OOVVGBxJCWT0PF0QB;kjV@{c?rNyHC?39b;Ph;>J+P%>471*NJvN} z;z&%W-VXcs^= z1vb*duINE-z(J9clgoBwxKDQOjTob0mjvI7&G0^d{v1gsm6@JSEu*2SNhRvc4D+e= z@FAbiq2rhs5L31L#!oz{!!ylcB=AI)0dtuAo;2ZTC<>QRjZ(M?CDP8$cs4U#3hjY> zO*S#t<(9--`pKeCS;<*dUTYT`dEBNgV1*Hhfliy6nPJ6XE68;9Dbn?gj)sq~vCd6Y zJuMRi8pU8R_)Fsz+_~2MAGEolNns|G2JSyxUDhX303S|U7cFSXh_I?2w->3awrRn3bB4!dlrOEF^PeakKb zIx{@{aMJg{Q1Wp4T+_8{*PxCwAm+?1C7f|_arpd1=LQ6vs(*m5C5OAf&e|pCDg#xR zkdcvPXJ>CV;?aHk_N}4N|HKxm4Zf8Y5qLJXuzbxtjr;c-Doj#Yd3kyN+@H$I;N;{K zoRS*>yF!8IadmYC353EEJQd4eW@dK$wQDWYn<)Y9W4m?hWjTBUx`hneKH^Nx%$Pbm zJ6#sP1r&{r>R@JPMcvn_!NmrHWPZ!Jca^gn^MRR#Mcu%l2MVfN=ObEJ|62?+&Juj= zgv$WxxO#tM3LUQ|*$DtvR#RI@wJn(0p6>=TIab2?0sz~jGQiBt#YNoAgU^p5hfh)O zeNLdYnxpk@4DQ$b*371GwhXh&%KR00)AdqZ5!^TBvoEfy?q>1VWD_ zQpYi%ASJ-hV4fB9^sc3(qy!^twR!ybbxuymK3HNK#1`|Q$ScNCJe1k_`4L5T=Xj=1Lk#R1`~ZB-0Ga^;Nd*r8wufEE`?E+% zWzn51Dr#wIA>uIUcVrhuC#4Evb6Sv>>Giz7U&9Zi-5I)#+49h-@!&l@Y?peB<{=v6 zha_8=xILQAYIC}=rL}d-PF_KQ z&t>sGE)iuzI2qIE7gvrj61rRo=&}ek5=;(`cv12DfV$CYcWyw*g!e|R%gXR2h#U~v z6zEB({onr&g@BfaHA{nY`IDRotZi&C(~UtcOZ_3q$&@X$oN{&T5P2MG_b5Qr*?I&} z>(v{Q0E6alZ)A1r{UpF$Pq>ZSQH!~R=iE!`uW&F{h@$QssRGYW#b=HWh6Lfo#vnZ4 zwJhI#DuCHvSFi3&6@f7TSqAV}K`ayy5^_F0IY1N~%mwfoLRK)LU0q#{Vi{m};~>L4 zd`OWd?C=w!PM-hiZ)y?8XD~p&D~RYM(}kye;(?(+4HSV>z%I{15CFcE`QKKm>Nt&Kmy??tmz>-IqM9P^&IPkEx3B;{4gbaS=Zs8DL1?MdbZukb1V~@8@87dSFu|%- z{_6_Gr>5RDHD!biTdq%30UO0;Wuf0c_<%(A3l}bcbdVI|L598w-2)T-?$aj=(9>X1 zYGTL@&j*&~sunVvXSeRFt2geijRQsao%~XV^aAK-;7WS2y7~k#Ygc8!g%|;T^zCM# zhIa)8tVlWnU6(Q7x@uVM*1F`<|4>HeEI6q$3tbA}4V}c+A>dlD+dM=;JW1WH$Us62 zfK2-qs00WK9u(R<(;$HQeY_x53U!3}0n?>E zN9NFTw@>kVk;yp*kfnu8Z{p~7S$X*j;}s6=JVc;5OB6%!*S#rRL*vTTSXj0KB0vQXB{X7|8l!Ky%dMZjpB5<$a)ya9RNN&H`qHnT>7M zxoUCjGY7md2FyRL-=WFfyLUb26SR?>!p~2hg;q?qPDMg8l0BX0?@oFy&;V(BU?SL% z7J}*pBV{Zt{p0Bp66C#soInUkG0s)V!Va|P+dD*QLUwPzd`XP~ByR8Q5WrZ?%!JY9 zf_Kz5@(cmj&&SUXXBs(>U~_X>TO&pcyi1HD^Jk%fs3!IfqO1x~3)_PATf5 z&)$a*0by3WMF5gSkC__Kb#x2L91jw7&|BDJ%}0Oy@oBTDgDvlHlyTyqzXO zZpY(8CkWgGNIO87imV56d2I%7EH5u_dfZ0NQXrf4*Zcc_ao>m<4GZZwcx9mr_PH(s zJju=jFkOe*5HKaPqW2*!(ME^uUnVEFMhl=Ijv2E+7xuwtfyt<>6alx0h%O%=Uq?sB z^am)X^U2=GK;p;>3s?=fey!?iu8`@SdH_g&T&OH`JM>?+LIg+d82 zma=4DM(DYI^*+b(etF*Gc)veBWc+64zVGY0&g(qS>n`;2CH4J`yo_{obo(_f;I7iq z?Sz+fclXl6zdqNy_R-OCyK3N6blrE%zVouzT^ad3(kDL|eaBFKdy3I`5a>d%FbaG2kbmO;>u&{8UDeHj)2l~(<@H5Sg!{HiSnBeiK z0zEu-;17Vumkz`8e^vAODY;iOu@d7|x|}>C%K>dvm-PZ6eLCe6i)YhNdPp z7~{9CnB})E-<~EXCMTEt`*mfdLIk?MEHY$(2j{C&@a!3(++N7R!GWEF!-T+DXD;YH zze5L0J1n9W@hw(eV8pLE&91gN{A6v@t4?g|*4l63A-x_Z1ch2iHV8#>rLQ=Ky+|@Fv}8|&rZr?(d_EgtLr%m-s@6!)eH3T zVmhKnj_ir`V+d$Ec|n#pCpR}p@ED4jNZ>59S@L<@B_4ZWH^sqH0v-*VP9iP%ydRN@ zqJGfFpvW&J?hH&+eRXV=l(id5U!5IrlJBxiu#^q688EyA@0Zy~w2tO62G>J=NCeps zwI?{?11QQ!Fr2aB&ol32drSn0&|lWh!V#$!iW9~})z@9Uc{3UvG>8B5i(c|Znc3>h zXZIRoMFAG{alPjc%ga-)JW-2<^whCMs{IpO&rMv%{(ECty}#dPV-AMQwZ62x(-_9V z&c!8j`=dAn&PsEW3fW|w9jZw?qM0=RBQMKz;PhaXTV8Q-Om(%QX_@U{OSQ)mw~RTH zMQ0{yVYIPOgINScg@pX! zxb*vZ8?@yH8+vqd6;^GKKg#g&C2&k4O+Mi@+?=%9jb$s&6NXKYi3?KP+1hERnfOje zKu!+euU%`bXHnLw^WFOX`IVT{WXE{x$-1#nvCM~Vb3?Lv@b=<(E1}L;X|f|jL_{RO zx~L}Uk!tYh5-ml^>$JSQyy8-u%yYwvxIOzg?WaB-g=SG}gG_Q`y)oKIDMv?5FKTM$ z7ZeD?x6jN~$9v7ya8VrkD_xF548-N{T_{EOm{Zohtc-!>+Z)q7a<(W2X4I{&$LCS< zj`!Qzw6^Dil|R(^`SH$tDGi72cbfmE0uA`RCyymCFmQd#H%ama`QDy=7?&ybo?LAa z^S5_*FbQH&v03jAEgr{Tz52etgedQ`A*E|7UA6L>U56ddiJ9Y{{T(=vwNpEZ9MtTm)D_1b=#@5rO8(wOXg}3-2Q#j<3W73 z-!^GWfCHzMPuF{@-0Zd&qWy|}w>$+rzY7_>vDMacaXIx&?}hM*6H%$DywHokHz$<| zWp{Xft<6mWPi5!il-Ld`oW9flmK@3Vxzw8Lg+b})bWvSycJ_S;?3FjoQKI#6$%Vu3 z$C~2_#kY0zt3;koR<3%q0Kj;uTk|ABj}x6)I>F5R zmQypIUquKgrNUQxYJI#6UR%B^xb{rH%2iUvyzSPtkojc;< zrT3ZPfjz`2UrGJBynUP2i-`?&(QUFx( z^y$+>SZpT53+Vn_>vJaUw2d&d7Oc1QL6zkS9<*QBfN>CZnrItIylyNs z0Y|7_>Aj(qDjN#z6PJ*1A00$^Wq#!^B7O|lDZjfFvp}W1y8Y?cX}cjU6_p*()#-{J zaT@WWXveV&1qB7=zkXH$A?(XI<7Q4JN1Bn&~eIh*sWC2@7M))q3#0+<{tblLqn<7aRL7nu9sGxw&~{JozSh zdPUl4LMzjIQKPr$W+&w4$ERmpSw5>g0rdM#fiwZuvGMV$#9ynkMBwhR@$nMJ@r#AE z8@Fq>H>?p3;{{bS??`Ws6;aoRDys%D39&OSOg$@-b{NG?v^}UlUQ~S!Z&$OziKy=r z_2`L;$xIP>`3JKDZ_OX*S%WOzX*Vbkp6uT6Yk%92+es8ScD~ryF?_E#4p$2WKr@{eHqZsC78KCMQ zCLRPR#S-D4o?Un9R9c(g{xyey#S{p69n6G2AjYWD*#rXo>N;Ta+^8yv%h=r?kq`h2 zSO7$1ZoIKQA|@96pUM}+BG>`tmiJs1zv;8W@yfjYF_995i3(`aA+gdpkmp{jGeXMB zSt$!chPMVQT^hzF zCfJzhKiByw@7c45o7mLSG79w;gWg|WcCK`tZGlz31D+%eULVQ@Wdn6ScI?>R;Ce*A zArV^}D^E0&Pc*!?>IoX&UVQ^c4K}KB?J6OvgYXp9tn$WQxL-9_n+BqH@L;4Gt>kAp zmH8?jANr%~2?N-RQtRu!OKHQm2%P*1&JTe}Q5gHX`?yYg_&8MKg=iD7vh(*3{wc1r zUmON(-jvu4V@;z3lv*;CyqY>YEj~O{fn-oIOah824`eJ}l3FPTDdSH%LBvz63oC+hG?TAhxuOECBgeS34}HMQa9vid&o5H~ zXB73@il+mL;g4G@xjmzmiSZ4x1*q?Cbtoxqu&pRb>E z9!wpQ7I~0M*ii3xOlpt=6%KV`U5d(^SsiFN3rlOF(=|<|pWuWRmcGmQ^wRL`Bp(s=uIX&Ws1fm&;Of(v;?SV}2>({cp znwpwV{7D2@91mt04~7?J0;}hce@oemrl!JC)cJL4w2WC3D< z@_rABA_U||UuFZQepn1xrSGO+hR?6nh2*-;z`%W6i+RdhpbHi-%JNI9F>&J0brQ7rygJo>@Tz717-jU;WY%`6TyEb37UPeYIrLO+76}# z9dB>N($Z4zU$bwV=Y}#;y1TDl%1{XGoTLuFfM{VVa-Hc{v9XZ^N4&A&362qFhXykX zi}>VZbt|i*S>B8P0QrfSgDj(zJQHr%)g(fz@V=4=2RVOfQcn-l!NoVWgCU5~L+BNz z0C3^H5f={Mvl(!n?v1n^tc*=eY|Pe(?|)+_2pXD;ZhdKw3bw~+85!{plYVb+A*LQ- zKE&jv#Ko~eGbmpJN73BcN?qzy7K1f6H@$i9pA#A#9er9L*Ba~57B>l*rPtsu+|js>Lt zZKT{#)7J_odH4B4eMWBl*sN&KQ#|lXmFsLscsR9kx{#XTHZ=0tB5QnofeKb^d!w(8 zEflvdzdZ9f9?78tRZYNS>_DZ8JN|Ex1r}!H;T4Bfq zy9z@vFqZay9_jmUhJDkLZ~8ufRy8QS-T0-{THg6PEBKJ?hY#;AE;{;#{FTn8j*eUq zLfn%p*!6F_MyXV*zCwO&9wH>o1iS@ev0$PaS^HHnU07xL9E1gE3d*5rV89EOGY4i% zOW78k@fFXbaH#HV4FqN;^+B;fbD$#_`)_mz|G>bLo{lQB86ZR7BmTv=E(?(GvvT?b zuqJI_cv}q?6jlyW8RKerDN$HCb*v*(skI~Hj8)s@(gCO6TWbK=&i8@)U{PjZNT7~f zovaQ>pGE|Q`p9OW4Ccd?>TIfkY2<_jZ1yKL6>{Z-AaL@agRA>{31(&M;8U|Jp)ki%32> zn7EPVar^4PfJA2wJ~JUHX%PksY3p8z?w+0>18+_e2n0}<4{xap_F#J8GGIU0dFU(I z#MoGs)+EV_^#2J0rqOmpP{BoldqAq%XY3V8zc%cryt1+)VOSmmEYHdu3>PZIjpZL- zJti|6Fj1-zz`r22OB>TgOJAKj7r<~FWDE>}Ng42pC^9#Z3B<+B+! zfTA9VRBLW;KY}ndWR(QwJ3BA0CxMEI5LC_tt9w;XPYp-}+72;ITwLn1yrfSB*Wiew zAmLIjQ@WyBDQCkuB`v|uGK7VP|G7?4#s9Cx4)I1JLp5A70mFXm>vI}UydDRF*j8*( zUp}661LLuH_|vCPVERAgYV%373X8JtMeIK_zd{3yR4`LMhHRyuaf^a$uT5WNbSL(g z1UNZPNrMj$b+WK9$HgQh;C2m^Jvifb;*U3ZJH9+SkPOWh1s5BjKfw3UaWO)w^E7X` z18Rq{nMc7{9OhgR-pIJLG)+XDA&Jn8N_%(jlr3K%^C1le)1NRmQ};`fCN!8;49pZT z_+8M_YM5SG^qJ_$Xe}X9kco>ovb*5gaj>#z9v+_O2Bl$;XRw^;8m~2TAa@w|;XVTn zfuQysM6*5`eiG#O_3ck#5fMy3tLCtvJ0&)0V7L&r0_DFfw*Ul6 zNc~V0lg;&o2$X!>%a_vN?jfevwu7nVj=j6rPhhiHz!ebT zrVG>yvJafo+T7H12n_2S++tlf_Bav=*LU6ehgcsTg`2Og$9uGC-dHe(!<6Zj?tHu$ zZ!1*rXx(u1@Z6*$jKy%rnR^s2_l9eglA$)x;hU^Uq*$18z@>uHpV!ml)TV9u!e+yW z`A39FQ%5JyzjLyFa;ZyKO^se#K1vn&6kM(#2VXGydoXfg#RM;IyXfDS(6nf)-se0@ zUaQ$2OA{d>n{qt3F=gZuW%)->Fr*TP+fHK=UKC7BNeKyQ@=N>gRrUY#5`R;<$8)rZ Uhph|wj|e)A^Otai=WgBm7bAloPyhe` literal 0 HcmV?d00001 diff --git a/metrics/integration/render-tests/text-max-width/zero-width-line-placement/style.json b/metrics/integration/render-tests/text-max-width/zero-width-line-placement/style.json new file mode 100644 index 000000000..5d2be5891 --- /dev/null +++ b/metrics/integration/render-tests/text-max-width/zero-width-line-placement/style.json @@ -0,0 +1,66 @@ +{ + "version": 8, + "metadata": { + "test": { + "height": 128, + "width": 512 + } + }, + "center": [ + 10, + 0 + ], + "zoom": 4, + "sources": { + "maplibre": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + -20, + 0 + ], + [ + 20, + 0 + ] + ] + } + } + ] + } + } + }, + "glyphs": "local://glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "white" + } + }, + { + "id": "literal", + "type": "symbol", + "source": "maplibre", + "layout": { + "symbol-placement": "line", + "text-field": "Lorem ipsum dolor sit amet.", + "text-font": [ + "Open Sans Semibold", + "Arial Unicode MS Bold" + ], + "text-max-width": 0, + "text-anchor": "left" + } + } + ] +} diff --git a/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line-center/metrics.json b/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line-center/metrics.json new file mode 100644 index 000000000..9ab164292 --- /dev/null +++ b/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line-center/metrics.json @@ -0,0 +1,35 @@ +{ + "network": [ + [ + "probeNetwork - default - end", + 1, + 84942 + ], + [ + "probeNetwork - default - start", + 0, + 0 + ] + ], + "gfx": [ + [ + "probeGFX - default - end", + 2, + 13, + 13, + 1, + [ + 143108, + 143108 + ], + [ + 262, + 262 + ], + [ + 3264, + 3264 + ] + ] + ] +} \ No newline at end of file diff --git a/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line/metrics.json b/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line/metrics.json new file mode 100644 index 000000000..b553d8692 --- /dev/null +++ b/metrics/linux-gcc8-release/render-tests/text-max-width/force-newline-line/metrics.json @@ -0,0 +1,35 @@ +{ + "network": [ + [ + "probeNetwork - default - end", + 1, + 84942 + ], + [ + "probeNetwork - default - start", + 0, + 0 + ] + ], + "gfx": [ + [ + "probeGFX - default - end", + 1, + 4, + 9, + 1, + [ + 35777, + 35777 + ], + [ + 142, + 142 + ], + [ + 1664, + 1664 + ] + ] + ] +} \ No newline at end of file diff --git a/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-center-placement/metrics.json b/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-center-placement/metrics.json new file mode 100644 index 000000000..539a5a8da --- /dev/null +++ b/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-center-placement/metrics.json @@ -0,0 +1,35 @@ +{ + "network": [ + [ + "probeNetwork - default - end", + 1, + 84942 + ], + [ + "probeNetwork - default - start", + 0, + 0 + ] + ], + "gfx": [ + [ + "probeGFX - default - end", + 2, + 13, + 13, + 1, + [ + 164840, + 164840 + ], + [ + 574, + 574 + ], + [ + 7424, + 7424 + ] + ] + ] +} \ No newline at end of file diff --git a/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-placement/metrics.json b/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-placement/metrics.json new file mode 100644 index 000000000..539a5a8da --- /dev/null +++ b/metrics/linux-gcc8-release/render-tests/text-max-width/zero-width-line-placement/metrics.json @@ -0,0 +1,35 @@ +{ + "network": [ + [ + "probeNetwork - default - end", + 1, + 84942 + ], + [ + "probeNetwork - default - start", + 0, + 0 + ] + ], + "gfx": [ + [ + "probeGFX - default - end", + 2, + 13, + 13, + 1, + [ + 164840, + 164840 + ], + [ + 574, + 574 + ], + [ + 7424, + 7424 + ] + ] + ] +} \ No newline at end of file