用于编辑ttf字体的编程库

cla*_*amp 16 fonts

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

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

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

谢谢!

Boo*_*jum 12

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

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

我没有经验的另一种选择是TTX和TTLib.后者是一个Python库,前者是它的包装器,它将TTF往返于XML并返回.


rbr*_*ito 9

由于您对编程语言非常灵活,您可以使用Fontforge,就像@Boojum所说的那样,您可以使用两个接口:它的本机语言(在手册中称为"遗留"接口)和python接口这是非常仔细的细节.

Fontforge可用于许多Linux发行版,包括Debian和Ubuntu等(免责声明:我是在Debian中维护fontforge的团队成员,并且通过转换,在Ubuntu中).

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

好的,回到Fontforge.

Fontforge能够以多种格式读取和写入字体,并且其"本机"格式(称为样条字体数据库)是一种纯文本格式,如果您仔细阅读,则可以使用文本编辑器轻松阅读和操作.

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

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

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

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