如何在 matplotlib 文本中使用 Adob​​e afm 字体?

How to use Adobe afm fonts in matplotlib text?

我想使用 AFM 字体向图形添加文本。我知道我可以在创建文本时传递 fontpropertiesfontname 关键字参数。

关于matplotlib中AFM字体的使用,我找到了this and this

我无法将 matplotlib.font_manager.afmFontProperty 创建的字体实例作为 fontproperties kwarg 传递。

我打算使用的字体是 URW Chancery L,位于 /usr/share/fonts/type1/gsfonts/z003034l.afm。如何让 matplotlib 使用这种字体?

我也找过 afm 到 ttf 的转换器,但没有找到,也许你有什么建议?

我在 Ubuntu 16.04 上使用 matplotlib 1.5.3。

什么是 "AFM font"? AFM 文件是 Adobe Font Metrics 文件,仅包含字形边界、字距调整的元数据对等作为一种方便的查找机制,当您不想为该信息挖掘真实的字体文件时(方便排版,其中将指标作为单独的资源提供可以使事情变得更快),它们不是自己的字体以任何方式。您仍然需要一个(现在大部分已失效).pfa.pfb 字体文件(分别为 "printer font; ascii" 和 "printer font; binary")来进行任何类型的实际文本渲染。没有这些,你所能做的就是标记适当的区域,如果你也有字体本身可用的话,文本 被绘制 =)

(这实际上是 TeX 和 PDF 所做的——它们使用字体规格来构造 "empty boxes",一旦确定了所有排版并且框不再四处移动,最终将在其中呈现文本)