如何从文件直接将true type front(ttf)加载到wxPython中



我正在开发一个具有文本编辑功能的wxPython项目。我想用这个项目(a .ttf file)包装一种字体,并将其作为文本编辑器的默认字体。这可以在wxPython中完成吗?2007年,wxPython-users邮件列表中也有类似的问题。在当时这是不可能的。现在已经七年过去了,我希望有人能想出解决这个问题的办法。

我目前正在使用wx.richtextctr l作为文本编辑框。如果wx.styledtextctrl有助于解决我的问题,我可能会考虑使用它。

不,wx仍然只能使用系统中安装的字体。如果你使用安装程序分发你的项目,那么它可以安装字体,你的应用程序可以通过它的名字访问它。

wxpython 4.1添加了方法

wx.Font.AddPrivateFont(path)

它允许程序使用字体,即使它们没有全局安装在系统上

文档添加了两个重要的免责声明

  • 在OSX下,这种方法实际上除了检查的"Fonts"子目录中的文件是否存在之外,什么都不做应用程序捆绑包"Resources"目录。你有责任用于实际使字体文件在此目录中可用,以及在Info.plist中将ATApplicationFontsPath设置为Fonts值文件另请参见wx。StandardPaths.GetResourcesDir
  • 在MSW下,必须在任何wx之前调用此方法。GraphicsContext对象已创建,否则专用字体将不可用来自他们

最新更新