我正在寻找一种从字符中获取矢量形式(点和曲线)的方法,类似于此SO question中描述的内容,但是在Python而不是java中。有人知道吗?
答案 0 :(得分:3)
<强>更新强>
我刚刚为FreeType库找到了一个相当完整的Python包装器:
https://code.google.com/p/freetype-py/
它是基于ctypes的,而且级别相当低 - 但这些示例是捆绑在一起的 清楚地显示它是如何被使用的,包括获得的方式 以线和弧等描述的字形几何体。 FreeType本身可以处理任何问题 你需要的字体文件格式。
原始回答
我不知道Java问题上的人是否真的得到了他们想要的东西 - 但这绝对是非常重要的。
在Java中,字体呈现引擎本身可能在JVM中作为Java对象运行。这不是Python的哲学 - 像渲染到屏幕的低级别事物是在本机代码中执行的,而不是由解释器VM内部的Python对象执行的。
因此,在Java中,可以连接到执行字符实际渲染和从中提取数据的类,在Python中,它通过几层代码与实际代码分开。
这个差异解释了,你的问题没有足够的信息给你任何有意义的答案:什么样的字体文件?有几十种! :-)
您将在何种上下文中使用此字体路径信息?我的意思是 - 您将使用哪些库来呈现图形 - 或者您可能只是将数据转储到可读文件中? 这是相关的,因为根据您打算用来渲染图形的库,可能有使用该库生态系统(比如Qt,Cairo,pango,windows native,pygame等)访问角色信息的方法
也就是说,至少有一种字体文件格式可以很容易地获得您想要的信息: SVG字体其中点和曲线将表示为XML数据。
另外,你要看的另一件事是fontforge项目 - 它可以处理字体 - 几种格式 - 并且它可以用Python编写脚本。但这只是我所知道的。 (http://fontforge.org)
答案 1 :(得分:-2)
在这个问题中,本质上是关于如何表示图形矢量。你可以开始看matplotlib和Pyplot。