如何直接从文件中将truetype字体(ttf)加载到wxPython中

时间:2014-04-10 21:46:00

标签: python wxpython true-type-fonts wxstyledtextctrl richtextctrl

我正在开发一个具有文本编辑功能的wxPython项目。我想用这个项目(a .ttf file)打包一个字体,并将它作为文本编辑器的默认字体。可以在wxPython中完成吗? There was a similar question 2007年wxPython-users邮件列表中的{{3}}。那时候是不可能的。现在已经七年了,我希望有人想出一个解决方案。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

wxpython 4.1添加了方法

wx.Font.AddPrivateFont(path)

即使程序未在系统上全局安装字体,它也允许程序使用字体

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

  
      
  • 在OS X下,此方法实际上除了检查该文件的“字体”子目录中是否存在文件外,不执行任何其他操作   应用程序捆绑包的“资源”目录。你负责   实际使字体文件在此目录中可用,以及   在您的Info.plist中将ATSApplicationFontsPath设置为Fonts值   文件。另请参见wx.StandardPaths.GetResourcesDir
  •   
  • 在MSW下,必须在创建任何wx.GraphicsContext对象之前调用此方法,否则私有字体将无法使用   从他们那里。
  •