matplotlib/matplotlib · error · ValueError
Nonstandard magnification in dvi file
Error message
Nonstandard magnification in dvi file
What it means
Error "Nonstandard magnification in dvi file" thrown in matplotlib/matplotlib.
Source
Thrown at lib/matplotlib/dviread.py:558
vf = _vffile(fontname)
except FileNotFoundError:
vf = None
self.fonts[k] = DviFont(scale=s, metrics=tfm, texname=n, vf=vf)
@_dispatch(247, state=_dvistate.pre, args=('u1', 'u4', 'u4', 'u4', 'u1'))
def _pre(self, i, num, den, mag, k):
self.file.read(k) # comment in the dvi file
if i not in [2, 7]: # 2: pdftex, luatex; 7: xetex
raise ValueError(f"Unknown dvi format {i}")
if num != 25400000 or den != 7227 * 2**16:
raise ValueError("Nonstandard units in dvi file")
# meaning: TeX always uses those exact values, so it
# should be enough for us to support those
# (There are 72.27 pt to an inch so 7227 pt =
# 7227 * 2**16 sp to 100 in. The numerator is multiplied
# by 10^5 to get units of 10**-7 meters.)
if mag != 1000:
raise ValueError("Nonstandard magnification in dvi file")
# meaning: LaTeX seems to frown on setting \mag, so
# I think we can assume this is constant
self.state = _dvistate.outer
@_dispatch(248, state=_dvistate.outer)
def _post(self, _):
self.state = _dvistate.post_post
# TODO: actually read the postamble and finale?
# currently post_post just triggers closing the file
@_dispatch(249, args=())
def _post_post(self):
raise NotImplementedError
@_dispatch(250, args=())
def _begin_reflect(self):
raise NotImplementedError
View on GitHub (pinned to b379c1b69e)
When it happens
Trigger: Thrown at lib/matplotlib/dviread.py:558 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of matplotlib/matplotlib@b379c1b69e (2026-08-21).
Data as JSON: /api/errors/804d92a06a861346.
Report an issue: GitHub.