Python 3.x Python和字体转换

Python 3.x Python和字体转换,python-3.x,pillow,Python 3.x,Pillow,我刚刚在树莓皮上安装了python枕头5。安装良好,工作正常 我遇到的问题是找到一个pilfont.py文件 我有几个bdf字体我需要转换,并一直在网上搜索如何做到这一点。 我找到的所有信息都指向pilfont实用程序,但我在pi上找不到它 谁能告诉我它在哪里,我知道如何使用它来转换字体,只是不能激活它 干杯您似乎通过pip3安装了枕头5。我自己也这么做了,它不包括pilfont实用程序。甚至没有在枕头git中找到文件。也未找到不推荐使用的信息。因此,我建议采取以下解决方法: 创建一个空目录并将

我刚刚在树莓皮上安装了python枕头5。安装良好,工作正常

我遇到的问题是找到一个pilfont.py文件

我有几个bdf字体我需要转换,并一直在网上搜索如何做到这一点。 我找到的所有信息都指向pilfont实用程序,但我在pi上找不到它

谁能告诉我它在哪里,我知道如何使用它来转换字体,只是不能激活它


干杯

您似乎通过pip3安装了枕头5。我自己也这么做了,它不包括pilfont实用程序。甚至没有在枕头git中找到文件。也未找到不推荐使用的信息。因此,我建议采取以下解决方法:

创建一个空目录并将其更改为空目录。 现在:

下载raspbian软件包,其中包括pillow 4和pilfont。这不会安装软件包

下一步提取下载的deb包。文件名可能会有所不同:

 ar -x python3-pil_4.0.0-4.deb
之后,您有一些文件,其中一个文件是data.tar.xz,您需要提取这些文件:

tar -xvf data.tar.xz
这将为您提供./usr/bin/pilfont

现在您可以将其复制到/usr/bin/

sudo cp ./usr/bin/pilfont /usr/bin/pilfont

之后,您可以删除下载的存档及其提取的内容。

至少从2018年10月起,前面的答案不再有效,因为软件包不包含pilfont实用程序。但事实证明,您不需要花时间寻找外部实用程序,因为pilfont只是一个非常简单的脚本,只需几分钟即可重新创建

下面是我自己的“pilfont实用程序”,它将当前目录中的所有.bdf和.pcf字体转换为.pil和.pbm:

#/usr/bin/env python
#作者:彼得·塞缪尔·安蒂拉
#许可证:无许可证
从PIL导入BdfFontFile
从PIL导入PCF文件
导入操作系统
导入glob
字体\文件\路径=[]
当前目录路径=os.path.dirname(os.path.abspath(uu文件_uu))
字体文件路径扩展(glob.glob(当前路径+“/*.bdf”))
font\u file\u path.extend(glob.glob(当前目录路径+“/*.pcf”))
对于字体文件路径中的字体文件路径:
尝试:
打开(字体文件路径,'rb')作为fp:
#不管语法提示如何,.save(字体\文件\路径)都不会
#覆盖.bdf文件,它只会创建新的.pil和.pdm
#同一文件夹中的文件
如果字体文件路径为.lower().endswith('.bdf'):
p=BdfFontFile.BdfFontFile(fp)
p、 保存(字体文件路径)
elif font_file_path.lower().endswith('.pcf'):
p=PcfFontFile.PcfFontFile(fp)
p、 保存(字体文件路径)
其他:
#理智统领一切
打印(“无法识别的扩展名”)
除了(SyntaxError,IOError)作为错误:
无法处理打印(“位于“”+str(字体文件路径)+“的文件”。)
打印(“错误:+str(错误))
对于那些期限紧迫的人: 你不需要这个工具。只需使用以下代码自行转换即可:

打开(字体文件路径,'rb')作为fp:
p=BdfFontFile.BdfFontFile(fp)#PcfFontFile,如果您正在读取PCF文件
#不会覆盖,在同一目录中创建新的.pil和.pdm文件
p、 保存(字体文件路径)
如果文件不能作为BDF或PCF文件读取,它将抛出SyntaxError和/或IOError

sudo cp ./usr/bin/pilfont /usr/bin/pilfont