无法使用带有PIL的Windows字体

时间:2017-06-04 20:28:05

标签: python windows fonts python-imaging-library

我的问题与Python有关,特别是Python PIL库。我知道有几个类似于我的问题,遗憾的是我无法回复/评论这些问题,因为我的声誉不够高。我的问题特定于为PIL选择Windows字体:

下面是我想要选择的字体的代码:

基于读取堆栈溢出的其他解决方案以获得Arial Bold字体,我找到了一个解决方案,声明添加以下代码以使arial粗体工作:

font = ImageFont.truetype("C:\Windows\Fonts\\ariblk.ttf", font_size)

这很有效(奇怪的是,我甚至没有在ariblk.tff目录路径中看到C:\Windows\Fonts作为选项,但这很有用。)。但是,我不确定为什么,下面的路径存在,当我运行它时会显示以下错误:

font = ImageFont.truetype("C:/Windows/Fonts/Arial/Arial Bold.ttf", font_size)
ERROR:
Traceback (most recent call last):
  File "C:\Users\Sagar\Desktop\Python Image Edit Test\imageEdit.py", line 48, in <module>
    font = ImageFont.truetype("C:/Windows/Fonts/Arial/Arial Black.ttf", font_size)
  File "C:\Users\Sagar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\PIL\ImageFont.py", line 238, in truetype
    return FreeTypeFont(font, size, index, encoding)
  File "C:\Users\Sagar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\PIL\ImageFont.py", line 127, in __init__
    self.font = core.getfont(font, size, index, encoding)
OSError: cannot open resource

虽然我上面有Arial Bold字体的解决方案,但是我问这个问题,因为Windows中有几种​​字体,如果我以后想要使用它,我永远不会,因为我一直都是这样的错误。我正在指定font.tff Windows文件的确切目录路径,例如我上面的第二个例子,它给了我错误。

目前我觉得我遇到这些错误,因为这些字体文件的名称有空格,但我不是百分之百确定。如果有人可以解释或告诉我为什么我无法获得任何Windows font.tff文件,我将不胜感激。

基本上在windows字体目录路径(C:\Windows\Fonts)中我注意到,可以进一步打开某些字体以查看其他字体,就像我在上面的第二个例子中显示的那样不起作用:

请注意:我使用PIL库的整体代码可以像我喜欢的那样工作并将字体输出到图像,我只是想得到支持,找出如何让PIL库与任何font.tff文件一起工作我想要。

0 个答案:

没有答案