我有一个字体文件 /path/to/app/fonts/custom-font.ttf 并且我想使用它。如何导入自定义 TTF 以在 GTK+3.0 应用程序中使用?

from gi.repository import Gtk, Pango

# ...

lbl = Gtk.Label()
lbl.modify_font(Pango.FontDescription("sans 48"))
# lbl.modify_font(Pango.FontDescription("custom-font 48"))

最佳答案

Pango 在 FontConfig 中搜索 Linux 中的字体。对于 Windows,它查询 Windows API。对于 macOS,它的作用类似于 Windows。因此,在 Pango 获取字体列表并缓存它之前,将字体文件添加到 Pango 的搜索路径会有所帮助。
对于 Linux,我发现这个 blog post 似乎有效。
对于 Windows,您应该在启动 GTK 之前使用 AddFontResourceEx 添加字体。
我不知道 macOS。
由于这个问题被标记为 python,我看到了一个完成这项工作的库,称为 ManimPango ,在那里做类似下面的事情会起作用

import manimpango
manimpango.register_font(<path-to-font-file>)
然而,截至目前,这个 doesn't work for macOS.

关于python - 如何在 GTK 应用程序中使用自定义字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16598777/

10-12 02:45
查看更多