wxPython获取系统字体轮廓数据



我正在为某个激光切割机软件编写代码(https://github.com/meerk40t/meerk40t(,我想用激光切割字体中字形的轮廓。现在wxPython已经内置了一堆漂亮的字体,所以您可以以独立于操作系统的方式列出字体,但这些字体实际上是指wx。Font对象,我认为没有一种简单的方法可以通过它访问轮廓。

如果我得到了这个文件,我可以运行freetype或fonttools之类的程序,并使用它们来获取轮廓,但我仍然希望独立于操作系统的字体访问,我认为没有简单的方法来处理它。有一些奇怪的事情,比如把它写进SVG,然后通过Inkscape命令行发送,把文本转换成路径。我更喜欢更少的依赖,而不是更多的依赖,但我也更喜欢它能工作,而不是我目前拥有的bupkis。

wxPython目前可以让我获得系统字体,并将它们发布到图形上下文中,因此应该有一种方法。但是,我看不到前进的道路。我可以直接访问ttf文件,但如果没有为我做字体方面的工作,我不知道当前选择的字体文件是什么,我需要添加字体轮廓读取的依赖项或自己编写代码。

wxWidgets API中没有任何内容可以直接为您提供字形数据本身。您需要使用特定于平台的API来实现这一点,这并不简单或令人愉快,但应该是可行的,因为您可以从wxFont获得的wxNativeFontInfo对象输入中获得这些API(例如,在MSW下,本机字体信息包含LOGFONT,在GTK-PangoFontDescription等下(。

最新更新