我正在开发一个wxPython
具有文本编辑功能的项目。我想用这个项目打包一个字体,(a .ttf file)
并将它作为文本编辑器的默认字体。这可以在 内完成wxPython
吗? 2007 年的邮件列表中有一个类似的问题。wxPython-users
在那个时候是不可能的。现在已经七年了,我希望有人想出一个解决方案。
我目前正在使用wx.richtextctr
l 作为文本编辑框。wx.styledtextctrl
如果它有助于解决我的问题,我可能会考虑使用它。
我正在开发一个wxPython
具有文本编辑功能的项目。我想用这个项目打包一个字体,(a .ttf file)
并将它作为文本编辑器的默认字体。这可以在 内完成wxPython
吗? 2007 年的邮件列表中有一个类似的问题。wxPython-users
在那个时候是不可能的。现在已经七年了,我希望有人想出一个解决方案。
我目前正在使用wx.richtextctr
l 作为文本编辑框。wx.styledtextctrl
如果它有助于解决我的问题,我可能会考虑使用它。
不,wx 仍然只能使用系统中安装的字体。如果您使用安装程序分发您的项目,那么它可以安装字体并且您的应用程序可以通过其名称访问它。
wxpython 4.1 添加了方法
wx.Font.AddPrivateFont(path)
这允许程序使用字体,即使它们没有在系统上全局安装
文档添加了两个重要的免责声明
- 在 OS X 下,这个方法实际上除了检查应用程序包“Resources”目录的“Fonts”子目录中的文件是否存在之外没有做任何事情。您负责实际使该目录中的字体文件可用,并将 ATSApplicationFontsPath 设置为 Info.plist 文件中的 Fonts 值。另请参见 wx.StandardPaths.GetResourcesDir
- 在 MSW 下,必须在创建任何 wx.GraphicsContext 对象之前调用此方法,否则私有字体将无法从中使用。