6

我有一个字体文件/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"))
4

2 回答 2

0

Pango 在 Linux 中搜索 FontConfig 中的字体。对于 Windows,它查询 Windows API。对于 macOS,它的功能与 Windows 类似。因此,在 Pango 获取字体列表并缓存它之前将字体文件添加到 Pango 的搜索路径会有所帮助。对于 Linux,我发现这篇博客文章似乎有效。对于 Windows,您应该AddFontResourceEx在启动 GTK 之前使用添加字体。我不知道macOS。

由于这个问题被标记为 python,我看到了一个可以完成这项工作的库,名为ManimPango,在其中执行类似下面的操作将起作用

import manimpango
manimpango.register_font(<path-to-font-file>)
于 2021-02-12T18:17:02.873 回答
-2

如果您想将其用作您自己应用程序的预览,请安装字体并取消注释最后一行(提供正确的名称)。如果您想将它用作最终版本的自定义字体,我建议您将字体打包并制作一个脚本来安装它。一点点注意,(在 C 中),“.modify_font”自 Gtk 3.0 起已弃用,请改用 .override_font。

于 2014-04-29T11:00:19.463 回答