我从Google字体下载了字体,希望将其用于论文和所有情节,即Alegreya字体家族。在将字体安装到$ HOME / .fonts之后,我删除了.cache / matplotlib / fontList.cache并使用rcParams中的新font.family =‘Alegreya Sans’创建了一个绘图。不幸的是,matplotlib将Alegreya Sans 的Thin字体检测为常规字体。下面的最小示例说明了错误检测:
import matplotlib.font_manager weights = ['ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'] print 'weight'+6*' ', 'file name', '\n'+70*'-' for weight in weights: fprops = matplotlib.font_manager.FontProperties(family='Alegreya Sans', weight=weight) print weight+(12-len(weight))*' ', matplotlib.font_manager.findfont(fprops)
输出:
weight file name ---------------------------------------------------------------------- ultralight /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Light.ttf light /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Light.ttf normal /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Thin.ttf regular /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Thin.ttf book /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Thin.ttf medium /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Medium.ttf roman /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Medium.ttf semibold /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf demibold /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf demi /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf bold /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf heavy /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf extra bold /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf black /hmi/kme/.fonts/Alegreya_Sans/AlegreyaSans-Black.ttf
如何解决这个问题,为什么会发生呢?提前致谢!
编辑:当然,/ hmi / kme / .fonts / Alegreya_Sans /目录中还有更多文件
完整清单: AlegreyaSans-BlackItalic.ttf AlegreyaSans-BoldItalic.ttf AlegreyaSans-ExtraBoldItalic.ttf AlegreyaSans-Italic.ttf AlegreyaSans-Light.ttf AlegreyaSans-Medium.ttf AlegreyaSans-ThinItalic.ttf AlegreyaSans-Black.ttf AlegreyaSans-Bold.ttf AlegreyaSans-ExtraBold.ttf AlegreyaSans-LightItalic.ttf AlegreyaSans-MediumItalic.ttf AlegreyaSans-Regular.ttf AlegreyaSans-Thin.ttf 我的系统OpenSuse 13.1python 2.7matplotlib版本1.4.3
AlegreyaSans-BlackItalic.ttf AlegreyaSans-BoldItalic.ttf AlegreyaSans-ExtraBoldItalic.ttf AlegreyaSans-Italic.ttf AlegreyaSans-Light.ttf AlegreyaSans-Medium.ttf AlegreyaSans-ThinItalic.ttf AlegreyaSans-Black.ttf AlegreyaSans-Bold.ttf AlegreyaSans-ExtraBold.ttf AlegreyaSans-LightItalic.ttf AlegreyaSans-MediumItalic.ttf AlegreyaSans-Regular.ttf AlegreyaSans-Thin.ttf