获取字体字形向量,操纵并生成SVG或位图。

4

我有一个应用程序需要对文本进行一些转换(包括非仿射变换)。有没有人知道一个工具包(或一组工具),可以让我导入True Type或Postscript字体,获取轮廓作为字形,然后对轮廓应用变换并将其呈现为位图或svg文件?Flash无法执行非仿射变换,因此它不可行。Illustrator有一个将文本转换为轮廓的功能,但Illustrator脚本非常不稳定,所以我不能真正用它来完成这个任务。感谢任何帮助。

2个回答

6
您可以使用Batik TTF to SVG 字体转换器。SVG 字体格式使用与 SVG <path> 元素相同的路径数据格式。
例如,使用上述工具将 Gentium Basic Regular 转换后,this 是输出结果。通过正确的坐标系,您可以轻松地获取路径数据,对其进行任意变换,然后使用 <path> 绘制。但是请注意,SVG 字体中的字形坐标系实际上是倒置的,(0,0) 位于字形单元框的左下角,而常规的 SVG 画布则将 (0,0) 置于左上角。因此,不要忘记翻转字形,例如,在用于渲染字形的 <path> 上放置 transform="scale(1,-1)"

一旦您拥有呈现字形形状的SVG文档,您可以使用您喜欢的工具将其转换为位图。(Batik也可以这样做。)


4

Batik虽然是一个不错的选择,但只能将TrueType字体转换为SVG字体。如果您有OpenType字体,而且现在越来越普及,可以使用FontForge将其转换为SVG字体。使用OpenType的另一个优点是生成的SVG路径中不仅使用了二次贝塞尔曲线,还使用了三次贝塞尔曲线,这样更加高效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接