使用Python在Linux系统上为每种字体生成图像
我正在寻找一种方法来列出 linux/Debian 系统上安装的所有字体,然后使用这些字体生成一些字符串的图像。我正在寻求您的建议,因为我了解如何完成每个部分,但不是同时完成两个部分:
要列出 UNIX 系统上的所有字体,
xlsfonts
可以做到这一点:< /p>导入操作系统
list_of_fonts=os.popen("xslfonts").readlines()- 要使用字体将字符串渲染为图像,我可以使用 PIL(Python 图像库)和 ImageFont 类。
然而,ImagesFont.load
需要一个文件名,而xlsfonts
给出一种规范化的字体名称,两者之间的对应关系似乎并不明显(我试图搜索我的系统名为 xlsfonts
输出的文件,没有结果)。
有谁知道我该怎么做?谢谢!
I'm looking for a way to list all fonts installed on a linux/Debian system, and then generate images of some strings using these fonts. I'm looking for your advice as I kind of see how to do each part, but not to do both:
To list all fonts on a UNIX system,
xlsfonts
can do the trick:import os
list_of_fonts=os.popen("xslfonts").readlines()- To render a string into an image using a font, I could use PIL (Python Imaging Library) and the
ImageFont
class.
However, ImagesFont.load
expects a file name, whereas xlsfonts
gives a kind of normalized font name, and the correspondence between the two doesn't seems obvious (I tried to search my system for files named as the output of xlsfonts
, without results).
Does anyone has an idea on how I can do that? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过 pygtk 包使用 pango 来完成此操作。 Pango 可以列出字体并渲染它们。
You can do this using pango, through the pygtk package. Pango can list fonts and render them.
最好的办法是对系统上的所有字体进行
find
,然后对该列表的结果使用ImagesFont.load()
。我不知道字体在 Debian 上的位置,但它们应该位于一个众所周知的文件夹中,您只需执行 os.walk 操作,然后以这种方式提供文件名即可。you best bet is to do a
find
on all the fonts on the system, and then useImagesFont.load()
on the results of that list. I don't know where the fonts are on Debian, but they should be in a well known folder you can just do anos.walk
and then feed the filenames in that way.