如果我尝试导入font_manager,我会得到这样的异常:
>>> from matplotlib import font_manager
Value error parsing header in AFM: ItalicAngle -11,31
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 1325, in <module>
_rebuild()
File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 1312, in _rebuild
fontManager = FontManager()
File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 993, in __init__
self.afmlist = createFontList(self.afmfiles, fontext='afm')
File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 568, in createFontList
prop = afmFontProperty(fpath, font)
File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 485, in afmFontProperty
if font.get_angle() != 0 or name.lower().find('italic') >= 0:
File "/usr/lib64/python2.7/site-packages/matplotlib/afm.py", line 526, in get_angle
return self._header[b'ItalicAngle']
KeyError: 'ItalicAngle'可能的错误是什么?
发布于 2018-08-06 18:55:03
我找到了解决方案:有一个损坏的afm文件,它使用的是,而不是.
我发现损坏的afm文件如下所示:
find /usr/share/fonts -iname '*afm' | xargs grep -i ItalicAngle | grep ,
/usr/share/fonts/Type1/Calibri-LightItalic.afm:ItalicAngle -11,31文件Calibri-LightItalic.afm已损坏。值-11,31错误,它需要为-11.31
由于matplotlib使用缓存,您可能需要删除此文件.matplotlib/fontList.cache才能再次看到异常。
https://stackoverflow.com/questions/51705988
复制相似问题