用于编辑ttf字体的编程库

时间:2011-10-07 11:04:08

标签: fonts

我正在寻找一个允许我编辑真实字体的库。

基本上我想以编程方式用自定义矢量图形替换某些glyps /

语言并不重要,我非常灵活。

谢谢!

3 个答案:

答案 0 :(得分:12)

如果你不介意Python,那么有几个很好的可能性

我建议你看看FontForge。它既可以嵌入Python解释器,也可以在Python中作为library运行。另一个不错的功能是它的原生文件格式spline font database是ascii并且记录得非常好,并且很容易使用您自己的程序进行操作。

我没有经验的另一种选择是TTX and TTLib。后者是一个Python库,前者是它的包装器,它将TTF转换为XML并返回。

答案 1 :(得分:9)

由于您对编程语言非常灵活,您可以使用Fontforge,就像@Boojum所说的那样,您可以使用两个接口:它的本地语言(在手册中称为“遗产” “interface”和一个very carefully detailed的python接口。

Fontforge可用于许多Linux发行版,包括Debian和Ubuntu等(免责声明:我是member of the team that maintains fontforge in Debian,并且通过转换,在Ubuntu中)。

它也适用于Mac,也许是Windows,但我不确定它们是否可用作现成的可执行文件。

好的,回到Fontforge。

Fontforge能够以多种格式读取和写入字体,并且其“本机”格式(称为Spline Font Database)是纯文本格式,如果使用文本编辑器非常容易阅读和操作,如果你小心翼翼地做到了。

从编程方面,您可以看到一个非常基本的Python脚本,该脚本使用https://github.com/rbrito/urw-garamond/blob/master/scripts/generate.py中列出的脚本从样条字体数据库文件(SFD)创建OpenType字体。但不要害怕:用于读取SFD文件的方法(函数)与读取TrueType,OpenType,Postscript等字体的方式相同。

作为简单操作字体的另一个例子,您可以看到一个脚本将字体作为输入并创建该字体的倾斜版本:https://github.com/rbrito/urw-garamond/blob/master/scripts/to-slant.py

关于“可学习性”,您有许多项目可以使他们的脚本可用,您可以通过它们的示例轻松学习。例如,DejaVu project和Barry Schwartz的sortsmill scripts

所以,只有你的创造力是极限。

答案 2 :(得分:1)

此网站允许您添加svg,编辑它们或包含更多内容,然后将其导出为字体,选择名称大小等。

https://icomoon.io/app/#/select/font