使用Python在Linux系统上为每种字体生成图像

发布于 2024-08-23 07:31:30 字数 481 浏览 4 评论 0原文

我正在寻找一种方法来列出 linux/Debian 系统上安装的所有字体,然后使用这些字体生成一些字符串的图像。我正在寻求您的建议,因为我了解如何完成每个部分,但不是同时完成两个部分:

  1. 要列出 UNIX 系统上的所有字体,xlsfonts 可以做到这一点:< /p>

    导入操作系统
    list_of_fonts=os.popen("xslfonts").readlines()

  2. 要使用字体将字符串渲染为图像,我可以使用 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:

  1. To list all fonts on a UNIX system, xlsfonts can do the trick:

    import os
    list_of_fonts=os.popen("xslfonts").readlines()

  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鲸落 2024-08-30 07:31:30

您可以通过 pygtk 包使用 pango 来完成此操作。 Pango 可以列出字体并渲染它们。

You can do this using pango, through the pygtk package. Pango can list fonts and render them.

暮年 2024-08-30 07:31:30

最好的办法是对系统上的所有字体进行find,然后对该列表的结果使用ImagesFont.load()。我不知道字体在 Debian 上的位置,但它们应该位于一个众所周知的文件夹中,您只需执行 os.walk 操作,然后以这种方式提供文件名即可。

you best bet is to do a find on all the fonts on the system, and then use ImagesFont.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 an os.walk and then feed the filenames in that way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文