From 23ef1e02e7566358109e960ee83d9df9b5d84720 Mon Sep 17 00:00:00 2001 From: Ratnabali Dutta Date: Mon, 14 Aug 2023 14:37:13 +0530 Subject: [PATCH 1/2] Fix glyphs for angle brackets --- lib/matplotlib/_mathtext.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py index 5b4e8ed20db3..f3e1b5ba915d 100644 --- a/lib/matplotlib/_mathtext.py +++ b/lib/matplotlib/_mathtext.py @@ -419,9 +419,9 @@ def _get_glyph(self, fontname, font_class, sym): r'\rceil': [('ex', '\xa8'), ('ex', '\x6d'), ('ex', '\xbc'), ('ex', '\x27')], r'\langle': [('ex', '\xad'), ('ex', '\x44'), - ('ex', '\xbf'), ('ex', '\x2a')], + ('ex', '\xbf')], r'\rangle': [('ex', '\xae'), ('ex', '\x45'), - ('ex', '\xc0'), ('ex', '\x2b')], + ('ex', '\xc0')], r'\__sqrt__': [('ex', '\x70'), ('ex', '\x71'), ('ex', '\x72'), ('ex', '\x73')], r'\backslash': [('ex', '\xb2'), ('ex', '\x2f'), @@ -432,8 +432,6 @@ def _get_glyph(self, fontname, font_class, sym): ('ex', '\x64')], r'\widetilde': [('rm', '\x7e'), ('ex', '\x65'), ('ex', '\x66'), ('ex', '\x67')], - r'<': [('cal', 'h'), ('ex', 'D')], - r'>': [('cal', 'i'), ('ex', 'E')] } for alias, target in [(r'\leftparen', '('), @@ -442,6 +440,8 @@ def _get_glyph(self, fontname, font_class, sym): (r'\rightbrace', '}'), (r'\leftbracket', '['), (r'\rightbracket', ']'), + (r'<', r'\langle'), + (r'>', r'\rangle'), (r'\{', '{'), (r'\}', '}'), (r'\[', '['), From fc54666b528b435492652971a558ea0551001249 Mon Sep 17 00:00:00 2001 From: Ratnabali Dutta Date: Tue, 15 Aug 2023 16:41:45 +0530 Subject: [PATCH 2/2] Reorder glyph sizes for angular brackets --- lib/matplotlib/_mathtext.py | 12 ++++++------ .../test_mathtext/math_angle_brackets.png | Bin 0 -> 6603 bytes lib/matplotlib/tests/test_mathtext.py | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_mathtext/math_angle_brackets.png diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py index f3e1b5ba915d..510f66dffd27 100644 --- a/lib/matplotlib/_mathtext.py +++ b/lib/matplotlib/_mathtext.py @@ -418,10 +418,10 @@ def _get_glyph(self, fontname, font_class, sym): ('ex', '\xbb'), ('ex', '\x26')], r'\rceil': [('ex', '\xa8'), ('ex', '\x6d'), ('ex', '\xbc'), ('ex', '\x27')], - r'\langle': [('ex', '\xad'), ('ex', '\x44'), - ('ex', '\xbf')], - r'\rangle': [('ex', '\xae'), ('ex', '\x45'), - ('ex', '\xc0')], + r'\langle': [('ex', '\xad'), ('ex', '\x2a'), + ('ex', '\xbf'), ('ex', '\x44')], + r'\rangle': [('ex', '\xae'), ('ex', '\x2b'), + ('ex', '\xc0'), ('ex', '\x45')], r'\__sqrt__': [('ex', '\x70'), ('ex', '\x71'), ('ex', '\x72'), ('ex', '\x73')], r'\backslash': [('ex', '\xb2'), ('ex', '\x2f'), @@ -432,6 +432,8 @@ def _get_glyph(self, fontname, font_class, sym): ('ex', '\x64')], r'\widetilde': [('rm', '\x7e'), ('ex', '\x65'), ('ex', '\x66'), ('ex', '\x67')], + r'<': [('ex', '\x44')], + r'>': [('ex', '\x45')] } for alias, target in [(r'\leftparen', '('), @@ -440,8 +442,6 @@ def _get_glyph(self, fontname, font_class, sym): (r'\rightbrace', '}'), (r'\leftbracket', '['), (r'\rightbracket', ']'), - (r'<', r'\langle'), - (r'>', r'\rangle'), (r'\{', '{'), (r'\}', '}'), (r'\[', '['), diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/math_angle_brackets.png b/lib/matplotlib/tests/baseline_images/test_mathtext/math_angle_brackets.png new file mode 100644 index 0000000000000000000000000000000000000000..b77f26d0f40b8bda0709e76b50b345c6cebfd64c GIT binary patch literal 6603 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

-MqUPez^{KJjgC)D z%m@khg8Rs8i)Fr7IiDTqYU@ZC z9f*3lfB9kjiD;0~`-x-1MJ`+yQIgv0F1`)CK-+*8gb};NIQ2hU#JS3as;}0!C#?bMw3sU#gge-@rmXw6n8A7j?53~CQ1|Ca`!ZA3xxXNW)d`{NMU{-9`fwndJ2$p~P z^r^e9_Q0js9?&tJzkX@VHMsRI>b{&f2)KYEN$yTp=2kyX_?nj|1Nau5iHRv^%-Vcv zgGyw~t#e=i6HN0ds@b&k^vH$#^SU%%3ryehT?}L61>zUKj*pKQ7Z=;t!hXib#5{WN z;DN~8!s~&{8b)?@Y`66xDKH3=F=tl!7v{H{dIPK?0By?Uj@@iwF?HjM$+NPt9RWDJ z5MQ`WR2A<4yW@HD1D#%8PD0DjF!~XNASpu*A{5}W9BRKjS|M_pO^PNLz?_+x0r5l1 z-GKyf8%9P(71h;UMOwxB_PYQOV_;-#Z`&pTNeqQjtgWqW&Nn^Vhqqusq0pHlP!ViO zAw1w$fPWu9z{*(ui5=cokdDiv(a4^_5)mCu2$4}!i#Iy^PqHuw9!mJ|fev_#r$A<( zZ67RlgggjBjD+G=Ji}T!5RDZ8$p#1t$V#BO@j?I576-s!VxnSV2^kqt-@o$%ukWcV zUp%plI4G#&vzepo>+5A;q`NE4dJl_@@02`YLDh2+AYhxBoi*$Kz|i=5Y86a`E|4ym zSXhL~MiJ*UHa2#N0Aq;AxyEg4N?MOkPF!}UdFq>*fcKF1ENQ$yD^rw_Ipwq5Tow9{ z_eaOUNzu#)cB3>ib~+R24|G~QN=o}tMF;;?kl!)d{rPSqel9Q7!E-wdPU;6?Q>FVf^I;i!2k9f5BinGP1ix?&&E878N)j{h` znNj|7jTIoT`oO>9#2otOYP@Lw`oFtCC^~z1$m;2l?awuY07~4RP?3{E1!I)kewrJR zvK$MxP?1Rli1PCBAp)OhD(GbPzgHRrSOgK1G*CxhzI-`#wCW7SxIF!>iqPQ4$F8z( zpn>;@=a#m%Y@B(~5Rqix4-`~X1cv`!PqmGXkLP(oL3kzvI_6E&DcN@?Keo$0kZCHz z!9B#3x80N9TpYa5%F5ck&Vrqj0ihgub+Wr9D{hXB#q{XrP=qo?OfSsBh?DwobKO!NS;JUcdpAU4PXB^@0(QE{o+3sr1wSv?Qn zF{7huifdSyn2W2co(&*S!B7|TF_6-hpWlM!Tt(nJ%0|T3&r`zHy5Q_KV;Md9V zF&;U2B!@w*0;{o(&ij`cf*#&NFaDDvf-U?L##+AF`t`M`RUG7dAA2GGC2i>`m0wV|6&m|X>?r!gWURh(%9Hohx0%%+3On`I=Z`ophBtm z{#|oh_4$o46a>u53c&1uYr`WZp0t!M2Z0aG{UO?n15`-pd&UsbX37Y-Dc1BMq<@b6 z(Pt&*S$sl5PT#)0EAX4009oJ*q-VA8rpcPHe~Mee-`12O;`W*aTv~6O#C>>!+Xidq z|GtBI@x)~}SHRo!baHTK2&?^J=UaaM^W3ra*;xb6HaHwEMM5e*Ag?|^k zvZkgR5I3k?oWpFbVwu-!AO85{WG65Jz>`&75B2wVfCrAYi_6IwK0ZW5yyowK&;v^1 zZFo4k0!$6I*p39+{mopxi;(|iMag}7YEh|Ci@s-x1|pP5m~nA)>l*sVhhT=)RdYoT zkXD)4*Tyxwva9_D`jL?lkZa4l zeEEoylJe$', + r'$\left< ? \right>$', + r'$\left\langle \frac{1}{2}\right\rangle$', + r'$\left\langle \frac{\sum_{0}^{1}}{2}\right\rangle$', + r'$\left<\frac{\sum_{0}^{1}}{\sum_{0}^{1}}\right>$' + ] + for idx, text in enumerate(tests): + fig.text((idx + 0.3)/len(tests), 0.5, text, math_fontfamily='cm') pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy