在Pygments的ImageFormatter中找不到字体

2024-05-16 09:55:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试Pygments将一些代码转换为高亮显示的图像。下面是Python脚本:

from pygments.lexers import PhpLexer
from pygments.formatters import ImageFormatter
from pygments.filters import CodeTagFilter
from pygments import highlight
code = open("myPhpCode.php").read()
formatter = ImageFormatter()
with open("myPhpCodeAsAnImage.png", "w+") as f:
    f.write(highlight(code, PhpLexer(), formatter))

我在MacOs上尝试过Python2和Python3,我也尝试过将ImageFormatter的选项“font_name=“pathToFont”设置为我知道存在的字体的完整路径,我总是会遇到以下错误:

pygments.formatters.img.FontNotFound: No usable fonts named: "Menlo"

有什么我遗漏的吗


Tags: 代码from图像import脚本pygmentsformattercode
1条回答
网友
1楼 · 发布于 2024-05-16 09:55:32

我也有同样的错误,检查路径mention in here

验证您是否具有Menlo字体。此时pygments仅加载.ttf文件并忽略.ttc

在我的例子中,Menlo字体扩展名是.ttc,而不是.ttf。我刚刚重命名了该文件和所有作品

相关问题 更多 >