From 9a143d79bd9ff5d5773c4619951be37a37d5d344 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed <68402624+ahmed5145@users.noreply.github.com> Date: Wed, 9 Sep 2026 12:01:10 -0500 Subject: [PATCH 1/3] Fix mathtext spacing of operators at expression boundaries Relation, binary and arrow operators are "spaced symbols": mathtext puts a space on each side of them. TeX, however, discards the glue at the boundaries of a math list, so an operator at the very start or end of an expression (or of a {...} group) is not spaced on that side -- e.g. in "a$=b$" there is no space before the "=", only after it. mathtext instead spaced both sides, and only binary operators were special-cased at the start of the string. Decide the left and right spacing of a spaced symbol independently, and drop the space on any side that abuts the start/end of the expression or an opening/closing delimiter. The lookahead for the next character now skips over the source token (which may be a multi-character command such as "\doteq") instead of just loc + 1. This restores the simpler \ddots test that had to be worked around with negative \hspace, and adds a check_figures_equal regression test. Closes #23315 --- lib/matplotlib/_mathtext.py | 34 ++++++++++++++++++--------- lib/matplotlib/tests/test_mathtext.py | 20 +++++++++++++++- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py index 319d6f065389..8c439366cf06 100644 --- a/lib/matplotlib/_mathtext.py +++ b/lib/matplotlib/_mathtext.py @@ -2452,21 +2452,33 @@ def symbol(self, s: str, loc: int, "Unknown symbol: %s" % c) from err if c in self._spaced_symbols: - # iterate until we find previous character, needed for cases - # such as $=-2$, ${ -2}$, $ -2$, or $ -2$. + # Find the previous and next characters (skipping spaces), needed + # for cases such as $=-2$, ${ -2}$, $ -2$, or $ -2$. loc points + # at the start of this symbol, so the next character is looked for + # after its source token, which may be a multi-character command + # such as "\doteq". prev_char = next((c for c in s[:loc][::-1] if c != ' '), '') - # Binary operators at start of string should not be spaced - # Also, operators in sub- or superscripts should not be spaced + next_char = next( + (c for c in s[loc + len(toks["sym"]):] if c != ' '), '') + # A binary operator acting as a unary operator -- at the start of + # the string, or following another operator or an opening delimiter + # -- is not spaced. Operators in sub- or superscripts are not + # spaced either. if (self._needs_space_after_subsuper or ( c in self._binary_operators and ( - len(s[:loc].split()) == 0 or prev_char in { - '{', *self._left_delims, *self._relation_symbols}))): + prev_char in {'', '{', *self._left_delims, + *self._relation_symbols}))): return [char] - else: - return [Hlist([self._make_space(0.2), - char, - self._make_space(0.2)], - do_kern=True)] + # Otherwise a spaced symbol gets a space on each side, except on a + # side where it abuts the start or end of the (sub-)expression: TeX + # discards the glue at the boundaries of a math list, so e.g. in + # "a$=b$" there is no space before the "=" (gh-23315). + left_space = prev_char not in {'', '{', *self._left_delims} + right_space = next_char not in {'', '}', *self._right_delims} + return [Hlist([*([self._make_space(0.2)] if left_space else []), + char, + *([self._make_space(0.2)] if right_space else [])], + do_kern=True)] elif c in self._punctuation_symbols: prev_char = next((c for c in s[:loc][::-1] if c != ' '), '') next_char = next((c for c in s[loc + 1:] if c != ' '), '') diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index 1e1bf793cdae..f7865f85e0a6 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -114,7 +114,7 @@ r'$\mathring{A} \AA$', r'$M \, M \thinspace M \/ M \> M \: M \; M \ M \enspace M \quad M \qquad M \! M$', r'$\Cap$ $\Cup$ $\leftharpoonup$ $\barwedge$ $\rightharpoonup$', - r'$\hspace{-0.2}\dotplus\hspace{-0.2}$ $\hspace{-0.2}\doteq\hspace{-0.2}$ $\hspace{-0.2}\doteqdot\hspace{-0.2}$ $\ddots$', + r'$\dotplus$ $\doteq$ $\doteqdot$ $\ddots$', # github issue #23315 r'$xyz^kx_kx^py^{p-2} d_i^jb_jc_kd x^j_i E^0 E^0_u$', # github issue #4873 r'${xyz}^k{x}_{k}{x}^{p}{y}^{p-2} {d}_{i}^{j}{b}_{j}{c}_{k}{d} {x}^{j}_{i}{E}^{0}{E}^0_u$', r'${\int}_x^x x\oint_x^x x\int_{X}^{X}x\int_x x \int^x x \int_{x} x\int^{x}{\int}_{x} x{\int}^{x}_{x}x$', @@ -596,6 +596,24 @@ def test_text_escaped_braces(fig_test, fig_ref): fig_ref.text(0.1, 0.2, r"$\text{\{example\}}$") +@check_figures_equal() +def test_spaced_operator_at_boundary(fig_test, fig_ref): + # A spaced operator (relation, binary, or arrow) at the start or end of a + # math expression is not spaced on the boundary side, matching TeX, which + # discards glue at the boundaries of a math list (gh-23315). The reference + # cancels the would-be boundary space with a matching negative \hspace. + fig_test.text(0.5, 0.1, r"$=b$") # relation at start + fig_test.text(0.5, 0.3, r"$b=$") # relation at end + fig_test.text(0.5, 0.5, r"$\doteq$") # named relation, both ends + fig_test.text(0.5, 0.7, r"$b\doteq$") # named relation at end + fig_test.text(0.5, 0.9, r"$\leftharpoonup$") # arrow, both ends + fig_ref.text(0.5, 0.1, r"$\hspace{-0.2}=b$") + fig_ref.text(0.5, 0.3, r"$b=\hspace{-0.2}$") + fig_ref.text(0.5, 0.5, r"$\hspace{-0.2}\doteq\hspace{-0.2}$") + fig_ref.text(0.5, 0.7, r"$b\doteq\hspace{-0.2}$") + fig_ref.text(0.5, 0.9, r"$\hspace{-0.2}\leftharpoonup\hspace{-0.2}$") + + @check_figures_equal() def test_boldsymbol(fig_test, fig_ref): fig_test.text(0.1, 0.2, r"$\boldsymbol{\mathrm{abc0123\alpha}}$") From 25781de6ac9c32191dd6b57171afb63191eb7c12 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed <68402624+ahmed5145@users.noreply.github.com> Date: Thu, 10 Sep 2026 13:16:55 -0500 Subject: [PATCH 2/3] DOC: add API change note for mathtext operator spacing Document the behavior change from #23315: spaced operators (relation, binary, arrow) are no longer spaced on a side that abuts the start or end of a math expression. --- doc/api/next_api_changes/behavior/23315-AM.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/api/next_api_changes/behavior/23315-AM.rst diff --git a/doc/api/next_api_changes/behavior/23315-AM.rst b/doc/api/next_api_changes/behavior/23315-AM.rst new file mode 100644 index 000000000000..dd37eb7c711b --- /dev/null +++ b/doc/api/next_api_changes/behavior/23315-AM.rst @@ -0,0 +1,12 @@ +mathtext no longer spaces operators at the edges of an expression +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +mathtext puts a space on each side of relation, binary and arrow operators. +Following TeX, which discards the glue at the boundaries of a math list, such an +operator is no longer spaced on a side that abuts the start or end of the +expression (or of a ``{...}`` group or delimiter). + +For example, in ``"a$=b$"`` there is now no space before the ``=`` (only after +it), matching ``usetex``, and a lone operator such as ``$\doteq$`` no longer has +surrounding space. This slightly changes the horizontal metrics of math strings +that begin or end with such an operator. From 6abfb08e16b2bdf87f18710938e8cb587a0845b8 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed <68402624+ahmed5145@users.noreply.github.com> Date: Fri, 11 Sep 2026 12:14:45 -0500 Subject: [PATCH 3/3] TST: regenerate mathtext baselines for operator-spacing fix Regenerate the baseline images that change now that spaced operators are not padded at the boundaries of an expression: index 71 of test_mathtext_rendering (a lone \leftharpoonup / \rightharpoonup) and index 1 of test_mathtext_rendering_lightweight (\rightarrow / \leftarrow inside \overset / \underset). PNGs are optimized with oxipng. --- .../test_mathtext/mathtext1_dejavusans_01.png | Bin 1601 -> 1585 bytes .../test_mathtext/mathtext_cm_71.pdf | Bin 5986 -> 5933 bytes .../test_mathtext/mathtext_cm_71.png | Bin 719 -> 725 bytes .../test_mathtext/mathtext_cm_71.svg | 16 ++++++++-------- .../test_mathtext/mathtext_dejavusans_71.pdf | Bin 5802 -> 4631 bytes .../test_mathtext/mathtext_dejavusans_71.png | Bin 789 -> 796 bytes .../test_mathtext/mathtext_dejavusans_71.svg | 16 ++++++++-------- .../test_mathtext/mathtext_dejavuserif_71.pdf | Bin 5824 -> 5637 bytes .../test_mathtext/mathtext_dejavuserif_71.png | Bin 712 -> 701 bytes .../test_mathtext/mathtext_dejavuserif_71.svg | 16 ++++++++-------- .../test_mathtext/mathtext_stix_71.pdf | Bin 4992 -> 4955 bytes .../test_mathtext/mathtext_stix_71.png | Bin 729 -> 717 bytes .../test_mathtext/mathtext_stix_71.svg | 16 ++++++++-------- .../test_mathtext/mathtext_stixsans_71.pdf | Bin 4992 -> 4955 bytes .../test_mathtext/mathtext_stixsans_71.png | Bin 729 -> 717 bytes .../test_mathtext/mathtext_stixsans_71.svg | 16 ++++++++-------- 16 files changed, 40 insertions(+), 40 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext1_dejavusans_01.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext1_dejavusans_01.png index d2859e939cffffa1a4c0b6d91ec2110698f8efde..c493576abab867f5a2e224f2fce8c71bbd9fa5c5 100644 GIT binary patch delta 1540 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 A(EtDd diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.png index b87943be2d69ecee1945d4b64bbc4f89f1e136e4..846bbc1787982fff0cbc9f7f02dd2bc3f0872a88 100644 GIT binary patch literal 725 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%Om&iEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3T5o}r$BUP@}2si~2nk#=cbc3ysYo?g03o;E{-7;x87dz@8~I% zIsVahLi3E?S_Bq!A^@=W> z>k-&mraUX?R$^l4R6aQoDhgxx|Wzn)ku&z^DSTYX)? z-_n%YEdjiL{ih^o-L_i9BCcID`?Besn?E!+=N`>SKKqz8OTucsiutGQ<(dcIbaGmr zeJRy9f7iC?z3HV13LD!_I!AYZt_fK)arK!kdxO@5m^9B#-FfDvR26rtL#u=1!k@;E zWe*3YeR)2qbLVfnAE!H#j_xtp5x%kdU`_4iq8Z_)IXg>DZ*SDB+GZ5gm67W@>*U_4 z^?O!5{I}}*({}qTX+Q0=cjrzj+3fxA<0`hfkyRf~ZM2PG*uqS!z*nW`3Tro}r5LVRD*jiiw4pnO=&KfsvVkv7wQU zLPkkRL9vy-elA?UUVc%!{{LQOQ=lE31s;*b3=I5b6D~MS0@)!6HXzg#w}aEY~zUHb-gvgQ-CGcT~Jb0v`}Pc#szM+YXRl1 zW+EmgE-a3Gdi9?QCa}F!c(*RUSv|hndbj4o@6~p`9<{s&UI}DH6Byb9?UOZ!M)!G*Yhwtxuzg{Y^q-n3BeZh+_ z(V=(GKWU#Lf2p}g>QlB?AlH{RulUn5rI~%xS6A*V-xK}#?yg(fkyUY}Ho3o7-pZ>B zI>5B|q1Wv*pHF^z{xwlESC5EYs{=r=Coa2la@?(7oBU6ud&=q+e>?DNXI`!FgrZL6RHHm{z3h3UXJ9| Uc0o`67J*W#r>mdKI;Vst0G)>_zW@LL diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.svg index d8d57d568c7f..0a1ec033b363 100644 --- a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.svg +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_71.svg @@ -6,11 +6,11 @@ - 2026-03-12T19:45:20.304341 + 2026-09-11T11:57:04.486406 image/svg+xml - Matplotlib v3.11.0.dev2072+gb1cf5d4866.d20260312, https://matplotlib.org/ + Matplotlib v0.1.0.dev55212+unknown.g25781de6a, https://matplotlib.org/ @@ -30,7 +30,7 @@ z - + - - - - - + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_71.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_71.pdf index 6c942b6ed538b1213ca3d5a055939d79590174ae..02e56c2cdbfae055ebb3e9946c51e8159920fc9a 100644 GIT binary patch delta 2588 zcmZux3piBiA8v-mG$EG>rPjej3Ukhxdl)jZGOQ$O6VWtsYbIkbk;Wx0iR8Gn#j3W8 z*e*jhk3~@M!<4kta2VA7gpM1pY}{@Z|Uy8WMqrka0OJ5)6RAMgn=0&{g2a6Yk^#5FJGTHk-f~>=f?sCqR@` zmDRFUs))Ht41)qOXU?I^QIb1=PI&ychBk$pn*-$FJ>EP-SDuKWBUbZ?vfQVzdQy*+ z0{?1I@nD!`+}(G3Mook9Y41`yTOM6?>FsD1fz(3hEM4LDXPKU-u-uwk>_PYON0y(6 zaL?xC&uI7_>-v8Q9%Win3Ca58hm`qT@s0 zNUTb9uVwc#ps+F7$3ZC>?VP6f?3U79=cSU8FqKN6wx)9j{yj7NgnmLlRnw#-u}#mYdr_;$#lh;g3zr!C z`26|tDB^YPuI@Zj{heXEfo;QFNIDN^)t<#FUe?>9y3pLLqd{H96 zHK<#!ktjB^sA{WW-Us+t(^6H#+B#~3l7}dusmQfyS3do;Q+8T_rB;+JkU+U=0705JdZ7|vwZQrRa`famC2y}Dee^vvw9-Y5N?RK#9io$gzD!MGY zw6I;A5LDG}o2nG1uN=K4D$?2@+VNuviTH>7ayet%*~gzk{0KujX3JT{yQsEBzLFw0 zlkD(k^u7oCzH;CmU>LL7)=f*>_u3OtN`$}4%9|O9dD32Cy=|&;9w)xR!ANtVjvIT; z*nqFJ@cQMPfY+vGnbxw`A%;aH(bAczm3rL>s|u>=`Oz7D7`62WYhusj z4;%|AHM(l?5K#`}8h+ zf0rD2iFd;1;8!J&=pg%*HIWfKYI}+}8#`-PyS0e2oTf}SvV(W9nB(g$0;mMCtxzDg z;Ro|XetX115dg7JgPi7TSA0NJmFW~Wm0e5tl5P=^I+rZNSlA7G&u~$|-!)?38qN73ZNNZ|PUzw7FeTR^`P1Mpc7(|pp(RTN=ZIQYulD)HH&h+2$RBH4a=f%G`~L8GNxNQ5 zZrOAFUavg~v3IGX3w{mECE9V%YK0F9_Xj5pry$q&Zs<3P17q;FBcnr`(%(OPYa5v! zd8@v#q^+~&;?uO1A`7>=tsB=Ixo5$PzvDWtPFr#K~@Ed;VSe3p0^K zb!{xnLUPr~z7!@41VHow1OQ<&04WT*%;aZbOi(8BYz)1_voWgd&(Fr_EX0z?lA|#h zNCc52gtXSt{OZXQ#n#v*o literal 5802 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 AsQ>@~ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_71.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_71.png index 98ef98370d217ca2029283c83fd7f060c861088f..4ec1a823b378b13ee7b006f2f193efe7150fdf23 100644 GIT binary patch literal 796 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%Om&iEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3T5o}r$BUP@}2si~2nk#=cbc3ysYo?g06X&E{-7;x87c|_Ly2I zbL?Y%y2p|?O<@rWQWh=oc3E^`fs0AY4S^zoNqWw~!7PG;e3t^ey~QV%hvUhCaWX=l2#3^xKEiEw%>1Tem~rHXU<Q`^+ni&3)Ad(uM(+vZuI3uwB7Xp>FdYBzV3LUyF4}gbIB^F z{mJF_?92VsjCitd9=SEyYImB-jO0$9#h=2CWW6X@xqRKSoWmb#r-yZvU0-_r-8Ln) zBvYT9yr6LB%g0ZCvTC)QX1%nvsmj&oNY(}0avR;Rq3iv%jyTmdFA?5(xog^rs|&X6 zi8#r({qx>Kdx~-=?YiUa+I`;CrhfG~eJS6bdjAtWcP+~o7KbhTCH#0&nvf?*mb?hV e5wSn+|6?k!i(c{JUS|a;*?YSBxvX22s-h literal 789 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%OmUiEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3Tro}r`{kKHmn3_-IEGZ*dV6WV z_mx7K;~)LYXU%k#YSC4-Fq!h-!IY&-fmc*b^HzY%1%XL|F1m|&#U$7~1)Kz&+Arv9 zu09yBY3VJi(@T`HI_d;MqSU`14tJjSUV7ghQ`MS%=a1k2P{6cl4ue?(ZvyiTBu zuR%^jA~TP4!VQMQY!YS%HZZnf6Y^Fwo;WpV#RkO#J*R)I3iw!h_{hFjykDCob+cqD z_gk-%Ui->=sgu#iHCvpHUgnL>`~30p)^!iJZ(1b&IM2s6`^vW1opO5u7g*0V7k%+q zxAOFP-sW}Hc9yHFm$Gx`O2ij>G-kzYWtyuaHEsQ$I{{ah6su0Wmhyko^`GW8v9a?5 zCX}zczmsY>HkvBe4BA`*SkH^Y%zV3C$FqKACeooZiTV!r^(Z$kKGB04_S44^(jBy zh{}J>(m}`FOs{5MydBXu<;?d-hqL-?CY}j6vuDbDr_BqO`QAQNE;e_@db>r3*6rL~ z^ - 2026-03-12T19:45:35.284542 + 2026-09-11T11:57:05.026933 image/svg+xml - Matplotlib v3.11.0.dev2072+gb1cf5d4866.d20260312, https://matplotlib.org/ + Matplotlib v0.1.0.dev55212+unknown.g25781de6a, https://matplotlib.org/ @@ -30,7 +30,7 @@ z - + - - - - - + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_71.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_71.pdf index 64e9d66b2d2ee8ef827229d5a8e361d63b5b7b56..47f084a1430856e80c41d0f84d2105c644056d72 100644 GIT binary patch delta 3070 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 EH_&;NUjP6A diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_71.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_71.png index ff17cdfdc63c56658dbc3ac28ee5560932425a9e..daf72de8ecafe14928518f62eafb2c8e24d0d5ce 100644 GIT binary patch literal 701 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%Om&iEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3T5o}r$BUP@}2si~2nk#=cbc3ysYo?g04K5E{-7;x87dz@9tq_ zIR5c?A;0lyHPvozO+P-b+=bs*1x{W&7qyjdcJ9q@DLXSZot$9r`C4Q3l4k~bw=Au- zrbKNFvN@x&*mtsu@n4y5mA|H@&tJXv`Omtz!|DP8+$-ZNe+8s7Gt-PC?X_TjFYo$Hr8zU=iP=6qfIn*1HRz8=0D_55oayQZ|A ze1`Tz-;LjA3%y!A^ZkUcynnB5zFo%m^4z|w<}KFW{Ep1i2%BYD>bTKcc;g|DYt|_> zhrcg~t&v;z`{%m!tGxUD`EJZndVhWUv|rOiEe#XCPsx?MFTln%i)+?dhe=CjAJ5ty zYPsmsj7z;|Jr<`v4LE0}lk@M^{{7omIg2j+b>sS^X=Yoe+FRcKkbeE;vB%SQ1!ibn zo%wl^Nl@UwCppbx+u!f3_?eLCxKc_wdeWD&)A~>S?wPHq-ELxXJ78Dz=1D5PVNP;B-UQ|w3}y{r$}^{7BjYhP3F!pV7zh4;6EA9CDQufwTLwy(p00i_ I>zopr0P%P$Qvd(} literal 712 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%OmUiEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3Tro}r5LVRD*jiiw4pnO=&KfsvVkv7wQU zLPkkRL9vy-elA?UUVc%!{{LQOQ=lE31s;*b3=I5niq6j=}5?nJE*o#f%B%wyYhKo*Qg6!5aWEnR=~W2@eV^CgL#AW z0bUUIS|M|fbiy5m$7~Yj2X-(X<2A@@z$x^hzD9S8O?bhMhxuC%>$0+{pEVCDcK6>G zaC&Y{soz!0yXU>X{cS%Zb^gjl@uksK`5tL(e)ms&oqKVY_hs%#-IUVQsIdL(`rh@K zq=ZF=ty=oM?R2zV$f@4#&D(e153t{$v^g#9^4@a~A4o5atjd?rnkywY^U~S7vH3sD zENyOwO;|G}^3J^}d*|fdw*L{OIqjCToqIO(`bWH9r|w&4K4 - 2026-03-12T19:45:40.640954 + 2026-09-11T11:57:05.058530 image/svg+xml - Matplotlib v3.11.0.dev2072+gb1cf5d4866.d20260312, https://matplotlib.org/ + Matplotlib v0.1.0.dev55212+unknown.g25781de6a, https://matplotlib.org/ @@ -30,7 +30,7 @@ z - + - - - - - + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.pdf index 97b62612d0b1b93822d5c1ad8594210a171a86b0..3f855d29e8c7def319ca361e8e1bb5fd20987413 100644 GIT binary patch delta 2738 zcmZuzc|25Y8_quF9g=-%8T(S{oHJv_s3B{_B(nT$jb$j5$=JecEka_j;LiW8ZEfh+T6zQ8$-&gUSzs|Xz`?>GuxvuBAt`n&|q*Ua@!KsOb5A(}K{F_uE zSPP&GgGnpMWPm;x+}`r4LyEaA^{!9{hiu14qkx`qV%%7BRY!+!3F+H?t54ZGPK2GF z?z*)bFfuuN+M-k5P1Q3hC%~DuYcBo9osxF%3=Zi52iN0kUt0+WgFK?F#%y4n=*3=-0aR>|PE5np ziA8lkMCue{Y_PNR(3{bI8h|aa$dILy2QD7Y<}_tK(w=kp+NtwN6q>Y63amzH)7>1$ zo5fuotJ1abqtUIQws$f~miD7A4p1BMOWvUP{N*^)*8+mc>Pd@P8}>db(igm0Nh0E}t9`);qK`*UC62c#*QBB%9wl zlrfq0NjOuF_I*B6`kVIi)G>y3OzKzbG;-PKtHK~^pu4z3fNYPsuQ1~MZc|X~R>roL z23o=|2L1~Xg!v63cn=RhiwHInM2p=8bpUE847s)D>(E3~o&K5m6>rttNue|$MTTV{ zw^D7kR&j3iy%*+2b?OfrFIH?DuWwV+!klz00+943 zfieMyK{J&^jQ#wDE9RO5-f1Na!8v|%Loo3T)2iB3s($jN2~WY;0n)_b#LTTb-xkYJ zl$@5X;kMupftS=hZslMqp!Az2iXNH;Euxg$2b$68w}CT*bIn?2@`t1SW_-0K?nn`F z)bo^}d|@g<+jlsixcuYv@cU00nUgEuB10=1zVj`on2W%syvm%=56(4GKpGE-&|f0P zBsp{O{(Xf4sfNEBc|Gt&HISQ$sCie0E!FeT4>hY73~QS>ojX5Q`Jhigi=Q_0J@56o z625-triJcCm?=qq$Lq3iVdE*))Ucd{mWjXJ$g#|fX8Kark*I*4$@rLX=7$s>cnY}m zv9?By(1o$DnggoD99vAh>xY}AkjZsf+ltH5B|Oo=1MbUPBU@ivmTu475BX+C%Te=q z?du&HT}YefpSARZ_ta)f`sF|9>7d|@D<0%)xz8v8xGBG$&0f%7T_ewupM2Mu4XOI4 zkPIgwB;Y7M5%@kr(W*sPFcLs;SMM(D-_V09xb4!UAN;Z+!J+|Mrix5XJJ}w+&b>Fr!-E6ypM~`gn)610cDC!sq zl6}3|Dw4MF?C~eQ_<~c6CJ7Tf<0YcNZm-Ds$f}zT^$|P5N&*{lw7OpfU(-)8EKaUI zn;>mXP)m{sTJmnZO3j`zm5Y^bTyUX){6mLZJ9~A@D~Cx0DOsx^CB^J0!=}x_%MDDo z*-?}$(X$tmIS_tO96ugY@$&fIC+)&biix3GjVhb_CvgwTb>&knlt; z;d-w@=p?Tl@%Z907aW0d55fu|+e`i@%pH_H($*ZSs;d`Gn<9tX7 z4~LBMZBq&IN1pQ_iC3?xOtH0-Dnm?oc-C&w9e6b?YSy+S-luNv=N{m%i}DSu_8RXx z*5VpSRuOAUrzJLV zv}%^LFMArL+$FMsDYDZh&`0q7LRW^ixl&wke$$Tey1dBIq=IN&tDFMZPRZy=5iONz zc314qgSUoWSEOX}@AhxF*PyFL;j?wz=}7ng&*cDM(Nx(-1*lI5TBT)LBAOR+!;yFN;71(`#rv0r^*!i$WZ6)QyW6Xd1QdMX~n^t>E zt>i|cTU@>MSH9Nv;A3m;0_GJGM*T$82t-2wtRR%Nl}#Jld|4*@%b-uv+&z#i{0Z>5 z5a467SwBEAO=_;(_rzuHV@A_7;9q$3>>_Pz@?$70heu3hyWoB zi`zewKwy0X07qb*i8Xl;Zrwsah_J36fCJXe#o#dP#YM0x{@N`D%l_~9vkB(^ECz#H zzcUOTzYaZ6gRnlPN%(EiMyuTb2-IZJ^JilSvmR0iM_3OtgvY|5hzu4Ypm$kPss3p8 kjbmLN6CV#M8v1ctS&aMnyU_es`DSI}kcx_i=0?c>0IaP}4*&oF delta 2721 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 AZvX%Q diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.png index 679505e06d2963f854860b41c61f7b157e3266c8..b87c5b292bfb780765f1364f65e5891d1111242f 100644 GIT binary patch literal 717 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%Om&iEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3T5o}r$BUP@}2si~2nk#=cbc3ysYo?g03=`E{-7;x87d0_n1;B zbNu6SGxn*AT2B1a5xgR^#pR%{@A60$4P7&tmeMU;g6+#w9tZ}SZ%I{XJftgo@5%*@ z(kTiTA6#IzGqEVqV!3x%{YB*$ZQDD>T7Tw!&;I%8=KT*}S>AkN31D8qc!eR0!L&ij zfp-BLh%1=Yu#ioHXu?9~^wo$3XBM{oKl?m+^(mR_*%=~vz4bwFVpj%+EMD<*(j`;# zDV}-P1^T|(R0Y1MT65ydi5S0POI!Ji^M1Lj-mO{GvUYjVyxXQW)|F;`!?cm zd!cIWJKKNJoLd*gJTK$@%guj2PU6~W?YUVIXSPl?3D{@5bjeF6jqR4PhugN_-26uV z=D&+q7q*?cn0?jOUNqYB;;(Dl*WQ@@Y90H%2h-*}E8*Rzu0KJXC2oth^H%R!k^z}I zx4M7+-KSBuU5EFqR+;+#^GEt(rmd8k=J)s2{#&~jNE>^7{F~zatLj((CiP&`H!*wm z|J%3n<~s+?cfMYi9%QHbFUz{{YUgR;$=7#JpOUn8y{hNg&w2K&Srg3Sd-kK>i=V%wu|hY=ZAreBGuMpVk&^nhi>)p00i_>zopr E0Qe9uAOHXW literal 729 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%OmUiEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3Tro}r5LVRD*jiiw4pnO=&KfsvVkv7wQU zLPkkRL9vy-elA?UUVc%!{{LQOQ=lE31s;*b3=I5y>F&%E0Za^+BRYB&Wyvy+SXcXi1R6_ zpFHT=`(#6El%0GEjHS6uD;TdZWHFdF zNICE>U<+UdavQX=8UmSnq!O+$EM}81J+Ok&jn@FD(7%53m$RmG$!7fsRtx+buu%Ah zl-=Cdb_Q`lXV=x7pHj7Ki}m`YKR!4u6uBZbujI`hgI&3Yx2y_#VrBg5Oh&3-@1^{! zR|>Yz+9mhFiz&+4((Kc_w0F-BEIXBC8Y3GXEU$bq-01f;)3plR8NAoGopCE)b4qW` z{{0@j$?aF~th_hT&NQ?mT{MAlZQ_d?OKo4-uWWw)KkD%JgWJ}9$xprcXV&%BZ;>}Q zm)t#a>;yAwxI^{}|D}_>RHyoc)_HrW@5VQKU+Jk!ojn<}_tH$pn|EEBYbSH9 znQ&#p-&02;YOeYE=Z+|8TNTgc{aQ6nLCt<<_Le*9*2bDEd(KZT=9;_V%7W#GfA`DHZnffGrJS)CD9w7h`njxgN@xNAw+u2+ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.svg index d289462d1972..7e98466830c1 100644 --- a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.svg +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_71.svg @@ -6,11 +6,11 @@ - 2026-03-12T19:45:24.730087 + 2026-09-11T11:57:04.968921 image/svg+xml - Matplotlib v3.11.0.dev2072+gb1cf5d4866.d20260312, https://matplotlib.org/ + Matplotlib v0.1.0.dev55212+unknown.g25781de6a, https://matplotlib.org/ @@ -30,7 +30,7 @@ z - + - - - - - + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.pdf index 97b62612d0b1b93822d5c1ad8594210a171a86b0..3f855d29e8c7def319ca361e8e1bb5fd20987413 100644 GIT binary patch delta 2738 zcmZuzc|25Y8_quF9g=-%8T(S{oHJv_s3B{_B(nT$jb$j5$=JecEka_j;LiW8ZEfh+T6zQ8$-&gUSzs|Xz`?>GuxvuBAt`n&|q*Ua@!KsOb5A(}K{F_uE zSPP&GgGnpMWPm;x+}`r4LyEaA^{!9{hiu14qkx`qV%%7BRY!+!3F+H?t54ZGPK2GF z?z*)bFfuuN+M-k5P1Q3hC%~DuYcBo9osxF%3=Zi52iN0kUt0+WgFK?F#%y4n=*3=-0aR>|PE5np ziA8lkMCue{Y_PNR(3{bI8h|aa$dILy2QD7Y<}_tK(w=kp+NtwN6q>Y63amzH)7>1$ zo5fuotJ1abqtUIQws$f~miD7A4p1BMOWvUP{N*^)*8+mc>Pd@P8}>db(igm0Nh0E}t9`);qK`*UC62c#*QBB%9wl zlrfq0NjOuF_I*B6`kVIi)G>y3OzKzbG;-PKtHK~^pu4z3fNYPsuQ1~MZc|X~R>roL z23o=|2L1~Xg!v63cn=RhiwHInM2p=8bpUE847s)D>(E3~o&K5m6>rttNue|$MTTV{ zw^D7kR&j3iy%*+2b?OfrFIH?DuWwV+!klz00+943 zfieMyK{J&^jQ#wDE9RO5-f1Na!8v|%Loo3T)2iB3s($jN2~WY;0n)_b#LTTb-xkYJ zl$@5X;kMupftS=hZslMqp!Az2iXNH;Euxg$2b$68w}CT*bIn?2@`t1SW_-0K?nn`F z)bo^}d|@g<+jlsixcuYv@cU00nUgEuB10=1zVj`on2W%syvm%=56(4GKpGE-&|f0P zBsp{O{(Xf4sfNEBc|Gt&HISQ$sCie0E!FeT4>hY73~QS>ojX5Q`Jhigi=Q_0J@56o z625-triJcCm?=qq$Lq3iVdE*))Ucd{mWjXJ$g#|fX8Kark*I*4$@rLX=7$s>cnY}m zv9?By(1o$DnggoD99vAh>xY}AkjZsf+ltH5B|Oo=1MbUPBU@ivmTu475BX+C%Te=q z?du&HT}YefpSARZ_ta)f`sF|9>7d|@D<0%)xz8v8xGBG$&0f%7T_ewupM2Mu4XOI4 zkPIgwB;Y7M5%@kr(W*sPFcLs;SMM(D-_V09xb4!UAN;Z+!J+|Mrix5XJJ}w+&b>Fr!-E6ypM~`gn)610cDC!sq zl6}3|Dw4MF?C~eQ_<~c6CJ7Tf<0YcNZm-Ds$f}zT^$|P5N&*{lw7OpfU(-)8EKaUI zn;>mXP)m{sTJmnZO3j`zm5Y^bTyUX){6mLZJ9~A@D~Cx0DOsx^CB^J0!=}x_%MDDo z*-?}$(X$tmIS_tO96ugY@$&fIC+)&biix3GjVhb_CvgwTb>&knlt; z;d-w@=p?Tl@%Z907aW0d55fu|+e`i@%pH_H($*ZSs;d`Gn<9tX7 z4~LBMZBq&IN1pQ_iC3?xOtH0-Dnm?oc-C&w9e6b?YSy+S-luNv=N{m%i}DSu_8RXx z*5VpSRuOAUrzJLV zv}%^LFMArL+$FMsDYDZh&`0q7LRW^ixl&wke$$Tey1dBIq=IN&tDFMZPRZy=5iONz zc314qgSUoWSEOX}@AhxF*PyFL;j?wz=}7ng&*cDM(Nx(-1*lI5TBT)LBAOR+!;yFN;71(`#rv0r^*!i$WZ6)QyW6Xd1QdMX~n^t>E zt>i|cTU@>MSH9Nv;A3m;0_GJGM*T$82t-2wtRR%Nl}#Jld|4*@%b-uv+&z#i{0Z>5 z5a467SwBEAO=_;(_rzuHV@A_7;9q$3>>_Pz@?$70heu3hyWoB zi`zewKwy0X07qb*i8Xl;Zrwsah_J36fCJXe#o#dP#YM0x{@N`D%l_~9vkB(^ECz#H zzcUOTzYaZ6gRnlPN%(EiMyuTb2-IZJ^JilSvmR0iM_3OtgvY|5hzu4Ypm$kPss3p8 kjbmLN6CV#M8v1ctS&aMnyU_es`DSI}kcx_i=0?c>0IaP}4*&oF delta 2721 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 AZvX%Q diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.png index 679505e06d2963f854860b41c61f7b157e3266c8..b87c5b292bfb780765f1364f65e5891d1111242f 100644 GIT binary patch literal 717 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%Om&iEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3T5o}r$BUP@}2si~2nk#=cbc3ysYo?g03=`E{-7;x87d0_n1;B zbNu6SGxn*AT2B1a5xgR^#pR%{@A60$4P7&tmeMU;g6+#w9tZ}SZ%I{XJftgo@5%*@ z(kTiTA6#IzGqEVqV!3x%{YB*$ZQDD>T7Tw!&;I%8=KT*}S>AkN31D8qc!eR0!L&ij zfp-BLh%1=Yu#ioHXu?9~^wo$3XBM{oKl?m+^(mR_*%=~vz4bwFVpj%+EMD<*(j`;# zDV}-P1^T|(R0Y1MT65ydi5S0POI!Ji^M1Lj-mO{GvUYjVyxXQW)|F;`!?cm zd!cIWJKKNJoLd*gJTK$@%guj2PU6~W?YUVIXSPl?3D{@5bjeF6jqR4PhugN_-26uV z=D&+q7q*?cn0?jOUNqYB;;(Dl*WQ@@Y90H%2h-*}E8*Rzu0KJXC2oth^H%R!k^z}I zx4M7+-KSBuU5EFqR+;+#^GEt(rmd8k=J)s2{#&~jNE>^7{F~zatLj((CiP&`H!*wm z|J%3n<~s+?cfMYi9%QHbFUz{{YUgR;$=7#JpOUn8y{hNg&w2K&Srg3Sd-kK>i=V%wu|hY=ZAreBGuMpVk&^nhi>)p00i_>zopr E0Qe9uAOHXW literal 729 zcmeAS@N?(olHy`uVBq!ia0y~yVB!U`y*Ypc!?m}s1%OmUiEBhjaDG}zd16s2gKuI< zK~8>2PG*uqS!z*nW`3Tro}r5LVRD*jiiw4pnO=&KfsvVkv7wQU zLPkkRL9vy-elA?UUVc%!{{LQOQ=lE31s;*b3=I5y>F&%E0Za^+BRYB&Wyvy+SXcXi1R6_ zpFHT=`(#6El%0GEjHS6uD;TdZWHFdF zNICE>U<+UdavQX=8UmSnq!O+$EM}81J+Ok&jn@FD(7%53m$RmG$!7fsRtx+buu%Ah zl-=Cdb_Q`lXV=x7pHj7Ki}m`YKR!4u6uBZbujI`hgI&3Yx2y_#VrBg5Oh&3-@1^{! zR|>Yz+9mhFiz&+4((Kc_w0F-BEIXBC8Y3GXEU$bq-01f;)3plR8NAoGopCE)b4qW` z{{0@j$?aF~th_hT&NQ?mT{MAlZQ_d?OKo4-uWWw)KkD%JgWJ}9$xprcXV&%BZ;>}Q zm)t#a>;yAwxI^{}|D}_>RHyoc)_HrW@5VQKU+Jk!ojn<}_tH$pn|EEBYbSH9 znQ&#p-&02;YOeYE=Z+|8TNTgc{aQ6nLCt<<_Le*9*2bDEd(KZT=9;_V%7W#GfA`DHZnffGrJS)CD9w7h`njxgN@xNAw+u2+ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.svg index c9c52509924e..91469ae54a97 100644 --- a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.svg +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_71.svg @@ -6,11 +6,11 @@ - 2026-03-12T19:45:29.415822 + 2026-09-11T11:57:04.998338 image/svg+xml - Matplotlib v3.11.0.dev2072+gb1cf5d4866.d20260312, https://matplotlib.org/ + Matplotlib v0.1.0.dev55212+unknown.g25781de6a, https://matplotlib.org/ @@ -30,7 +30,7 @@ z - + - - - - - + + + + +