3

我正在寻找一种从字符中获取矢量形式(点和曲线)的方法,类似于此SO question中描述的内容,但使用 Python 而不是 java。有人知道方法吗?

4

2 回答 2

4

更新

我刚刚为 FreeType 库找到了一个相当完整的 Python 包装器:

它是基于 ctypes 的,而且级别非常低 - 但捆绑的示例清楚地显示了如何使用它,包括获取线和弧等描述的字形几何图形的方法。FreeType 本身可以处理您需要的任何字体文件格式。

原始答案

我不知道 Java 问题上的人们是否真的得到了他们想要的东西 - 但这绝对不是微不足道的。

在 Java 中,字体渲染引擎本身可能作为 Java 对象在 JVM 中运行。这不是 Python 的哲学——像渲染到屏幕这样的低级操作是在本机代码中执行的,而不是由解释器 VM 内的 Python 对象执行。

因此,虽然在 Java 中可以连接到对字符进行实际渲染并从中提取数据的类,但在 Python 中,这与您的实际代码隔开几层代码。

解释了这种差异,您的问题没有足够的信息来给您任何有意义的答案:什么样的字体文件?有几十种!:-)

您将在什么情况下使用此字体路径信息?我的意思是-您将使用哪些库来渲染图形-或者您只是将数据转储到可读文件中?这是相关的,因为根据您打算用来渲染图形的库,可能有一些方法可以通过使用该库生态系统(比如 Qt、Cairo、pango、windows native、pygame 等)来访问角色信息

也就是说,至少有一种字体文件格式可以很容易地获取您想要的信息:SVG 字体,其中点和曲线将表示为 XML 数据。

另外,你要看的另一件事是 fontforge 项目 - 它可以处理字体 - 多种格式 - 它可以在 Python 中编写脚本。但这只是我所知道的。( http://fontforge.org )

于 2013-01-25T12:58:46.113 回答
-2

在这个问题中,本质上是关于如何表示图形向量。你可以开始看到 matplotlib 和 Pyplot。

于 2013-01-25T10:11:34.523 回答