gpt4 book ai didi

python-3.x - Python Pillow 和字体转换

转载 作者:行者123 更新时间:2023-12-02 20:32:21 30 4
gpt4 key购买 nike

我刚刚在树莓派上安装了Python Pillow 5。它安装得很好,并且工作正常。

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

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

任何人都可以指出我正确的方向,它在哪里,我知道如何使用它来转换字体,只是无法激活它。

干杯

最佳答案

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

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

#!/usr/bin/env python
# Author: Peter Samuel Anttila
# License: The Unlicense <http://unlicense.org, October 16 2018>
from PIL import BdfFontFile
from PIL import PcfFontFile
import os
import glob

font_file_paths = []
current_dir_path = os.path.dirname(os.path.abspath(__file__))
font_file_paths.extend(glob.glob(current_dir_path+"/*.bdf"))
font_file_paths.extend(glob.glob(current_dir_path+"/*.pcf"))

for font_file_path in font_file_paths:
try:
with open(font_file_path,'rb') as fp:
# despite what the syntax suggests, .save(font_file_path) won't
# overwrite your .bdf files, it just creates new .pil and .pdm
# files in the same folder
if font_file_path.lower().endswith('.bdf'):
p = BdfFontFile.BdfFontFile(fp)
p.save(font_file_path)
elif font_file_path.lower().endswith('.pcf'):
p = PcfFontFile.PcfFontFile(fp)
p.save(font_file_path)
else:
# sanity catch-all
print("Unrecognized extension.")
except (SyntaxError,IOError) as err:
print("File at '"+str(font_file_path)+"' could not be processed.")
print("Error: " +str(err))

对于那些时间紧迫的人:您不需要该实用程序。只需使用以下代码自行转换即可:

with open(font_file_path,'rb') as fp:
p = BdfFontFile.BdfFontFile(fp) #PcfFontFile if you're reading PCF files
# won't overwrite, creates new .pil and .pdm files in same dir
p.save(font_file_path)

如果文件无法作为 BDF 或 PCF 文件读取,它会抛出 SyntaxError 和/或 IOError。

关于python-3.x - Python Pillow 和字体转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48304078/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com