我正在寻找一个允许我编辑真实字体的库。
基本上我想以编程方式用自定义矢量图形替换某些glyps /
语言并不重要,我非常灵活。
谢谢!
答案 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,编辑它们或包含更多内容,然后将其导出为字体,选择名称大小等。