diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index e0bf0de4d6af..2e17a7aef99f 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -2859,10 +2859,12 @@ def subsuper(self, s, loc, toks): new_children = nucleus.children if len(new_children): # remove last kern - if isinstance(new_children[-1],Kern): + if (isinstance(new_children[-1],Kern) and + hasattr(new_children[-2], '_metrics')): new_children = new_children[:-1] last_char = new_children[-1] - last_char.width = last_char._metrics.advance + if hasattr(last_char, '_metrics'): + last_char.width = last_char._metrics.advance # create new Hlist without kerning nucleus = Hlist(new_children, do_kern=False) else: diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.pdf new file mode 100644 index 000000000000..b069deceda9b Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.png new file mode 100644 index 000000000000..909bbfbd16bb Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.svg new file mode 100644 index 000000000000..00820a25b39e --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_79.svg @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.pdf new file mode 100644 index 000000000000..837edec6e171 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.png new file mode 100644 index 000000000000..41aa5ac3ee7f Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.svg new file mode 100644 index 000000000000..54aaea97b6b9 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_79.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.pdf new file mode 100644 index 000000000000..b42f9a4be097 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.png new file mode 100644 index 000000000000..63eff7504f52 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.svg new file mode 100644 index 000000000000..78c124191ebe --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_79.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.pdf new file mode 100644 index 000000000000..1bc193adf810 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.png new file mode 100644 index 000000000000..489d8ddb4987 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.svg new file mode 100644 index 000000000000..e34364a4c9d6 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_79.svg @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.pdf new file mode 100644 index 000000000000..3f8ae587c4ef Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.png new file mode 100644 index 000000000000..91f6e8b74736 Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.svg new file mode 100644 index 000000000000..7952d1bd6820 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_79.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index 3e5a74eece8a..21e0d25ca7e9 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -104,6 +104,7 @@ r'testing$^{123}$', ' '.join('$\\' + p + '$' for p in sorted(mathtext.Parser._snowflake)), r'$6-2$; $-2$; $ -2$; ${-2}$; ${ -2}$; $20^{+3}_{-2}$', + r'$\overline{\omega}^x \frac{1}{2}_0^x$', # github issue #5444 ] digits = "0123456789"