Skip to content

TeX rendering broken on master with windows #12352

Closed
@ImportanceOfBeingErnest

Description

Bug report

Bug summary

Using tex (rcParams["text.usetex"] = True) results in an error because of a font name not being valid in current master. Works fine with matplotlib 2.2.3.

Code for reproduction

import matplotlib.pyplot as plt
plt.rcParams["text.usetex"] = True

plt.plot([1,2,3])
plt.show()

Actual outcome

  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 736, in __init__
    with open(filename, 'rb') as file:
OSError: [Errno 22] Invalid argument: 'D:/Programme/Office/MiKTeX/fonts/tfm/public/cm/cmr10.tfm\r'

I would suspect the \r simply does not belong at the end of the string.

Complete Traceback
Traceback (most recent call last):
  File "d:\***\matplotlib\lib\matplotlib\backends\backend_qt5.py", line 519, in _draw_idle
    self.draw()
  File "d:\***\matplotlib\lib\matplotlib\backends\backend_agg.py", line 399, in draw
    self.figure.draw(self.renderer)
  File "d:\***\matplotlib\lib\matplotlib\artist.py", line 34, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "d:\***\matplotlib\lib\matplotlib\figure.py", line 1649, in draw
    renderer, self, artists, self.suppressComposite)
  File "d:\***\matplotlib\lib\matplotlib\image.py", line 137, in _draw_list_compositing_images
    a.draw(renderer)
  File "d:\***\matplotlib\lib\matplotlib\artist.py", line 34, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "d:\***\matplotlib\lib\matplotlib\axes\_base.py", line 2623, in draw
    mimage._draw_list_compositing_images(renderer, self, artists)
  File "d:\***\matplotlib\lib\matplotlib\image.py", line 137, in _draw_list_compositing_images
    a.draw(renderer)
  File "d:\***\matplotlib\lib\matplotlib\artist.py", line 34, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "d:\***\matplotlib\lib\matplotlib\axis.py", line 1186, in draw
    renderer)
  File "d:\***\matplotlib\lib\matplotlib\axis.py", line 1124, in _get_tick_bboxes
    extent = tick.label1.get_window_extent(renderer)
  File "d:\***\matplotlib\lib\matplotlib\text.py", line 902, in get_window_extent
    bbox, info, descent = self._get_layout(self._renderer)
  File "d:\***\matplotlib\lib\matplotlib\text.py", line 312, in _get_layout
    ismath=ismath)
  File "d:\***\matplotlib\lib\matplotlib\backends\backend_agg.py", line 206, in get_text_width_height_descent
    s, fontsize, renderer=self)
  File "d:\***\matplotlib\lib\matplotlib\texmanager.py", line 466, in get_text_width_height_descent
    page = next(iter(dvi))
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 244, in __iter__
    while self._read():
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 302, in _read
    self._dtable[byte](self, byte)
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 162, in wrapper
    return method(self, *[f(self, byte-min) for f in get_args])
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 442, in _fnt_def
    self._fnt_def_real(k, c, s, d, a, l)
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 447, in _fnt_def_real
    tfm = _tfmfile(fontname)
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 1035, in _fontfile
    return cls(filename) if filename else None
  File "d:\***\matplotlib\lib\matplotlib\dviread.py", line 736, in __init__
    with open(filename, 'rb') as file:
OSError: [Errno 22] Invalid argument: 'D:/Programme/Office/MiKTeX/fonts/tfm/public/cm/cmr10.tfm\r'

Expected outcome

No Error.

Matplotlib version

  • Operating system: Windows 8.1
  • Matplotlib version: master
  • Matplotlib backend (print(matplotlib.get_backend())): Qt5Agg
  • Python version: 3.6

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions