我有一个字体文件/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"))发布于 2021-02-13 02:17:03
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>)发布于 2014-04-29 19:00:19
如果你想使用它作为你自己应用的预览,安装字体并取消最后一行的注释(提供正确的名称)。如果你想在最终版本中使用它作为自定义字体,我建议你将它与字体一起打包,并生成一个脚本来安装它。需要注意的是,(在C中),从GTK3.0开始就不推荐使用".modify_font“,取而代之的是.override_font。
https://stackoverflow.com/questions/16598777
复制相似问题