为了账号安全,请及时绑定邮箱和手机立即绑定

PIL.ImageFont 无法打开名称中有空格的字体

PIL.ImageFont 无法打开名称中有空格的字体

三国纷争 2021-12-17 10:35:50
我正在尝试使用 PIL.ImageFont.truetype 打开字体 这是用于 OCR 项目到目前为止,我一直无法在 Google 或此站点中找到解决方案。当我尝试打开名称中带有空格的字体时会出现问题。任何没有空格的字体名称都可以正常工作from PIL import ImageFont#This WorksImageFont.truetype("C:\Windows\Fonts\Arial.ttf", 12)#This does notImageFont.truetype("C:\Windows\Fonts\Times New Roman.ttf", 12)错误在这里:文件 "B:\Python\lib\site-packages\PIL\ImageFont.py", line 145, in init layout_engine=layout_engine)OSError: cannot open resource我已经尝试了以下1)重命名文件(无论如何都不是一个优雅的解决方案)2)将字体移动到与 python 脚本相同的目录3)在空间中添加 / (建议)我还通过使用不同的字体名称多次尝试来检查错误,并且发生了相同的错误。到目前为止没有任何效果提前致谢
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

行,

我可能有解决办法。当我输入字体文件名并出现上下文菜单时,提示出现了。

在上下文菜单中有一个字体列表。所有字体名称都更改为一个名称。例如“Time New Roman”改为“times”

我很想知道这个列表在哪里。我试图找到它,但空空如也。

此外,此外,我想使用未列出的自定义字体。下载字体后,我将其重命名为单字字体。然后我将字体放在与我的 python 脚本相同的目录中。这工作正常。

我想我会发布这个以防其他人遇到同样的问题


查看完整回答
反对 回复 2021-12-17
?
守候你守候我

TA贡献1802条经验 获得超10个赞

这不是您认为的字符串:

"C:\Windows\Fonts\Times New Roman.ttf"

反斜杠是转义字符。您需要转义反斜杠才能获得真正的反斜杠,如下所示:

"C:\\Windows\\Fonts\\Times New Roman.ttf"

如果您愿意,也可以这样做:

os.path.join('C:\\', 'Windows', 'Fonts', 'Times New Roman.ttf')


查看完整回答
反对 回复 2021-12-17
?
POPMUISE

TA贡献1765条经验 获得超5个赞

我在网上找到了一个列表,其中字体名称映射到文件名。您可以使用文件名作为相应的字体名称。

例如:对于“Times New Roman”,我们可以使用“Times.ttf”

请在以下链接中找到完整列表

https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list


查看完整回答
反对 回复 2021-12-17
  • 3 回答
  • 0 关注
  • 524 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号