Graphics 获取字体字形作为矢量,操纵并生成SVG或位图

Graphics 获取字体字形作为矢量,操纵并生成SVG或位图,graphics,fonts,svg,Graphics,Fonts,Svg,我有一个应用程序需要对文本应用一些转换(包括非仿射转换)。有谁知道有一个工具包(或一组工具)可以让我输入一种真正的字体或Postscript字体,将字形作为轮廓,然后对轮廓应用转换并将其呈现为位图或svg文件?Flash不会进行非仿射变换,因此它已过时。Illustrator有一个将文本转换为大纲的功能,但是Illustrator脚本非常不稳定,所以我不能真正将其用于此。谢谢您的帮助。您可以使用。SVG字体格式使用的路径数据格式与SVG元素使用的路径数据格式相同 例如,是使用上述工具转换Gent

我有一个应用程序需要对文本应用一些转换(包括非仿射转换)。有谁知道有一个工具包(或一组工具)可以让我输入一种真正的字体或Postscript字体,将字形作为轮廓,然后对轮廓应用转换并将其呈现为位图或svg文件?Flash不会进行非仿射变换,因此它已过时。Illustrator有一个将文本转换为大纲的功能,但是Illustrator脚本非常不稳定,所以我不能真正将其用于此。谢谢您的帮助。

您可以使用。SVG字体格式使用的路径数据格式与SVG
元素使用的路径数据格式相同

例如,是使用上述工具转换Gentium Basic Regular的输出。使用正确的坐标系,您只需取出路径数据,随意变换,然后用
绘制它。请注意,SVG字体中的字形坐标系实际上是反转的,在字形单元格框的左下角有(0,0),而常规SVG画布的左上角有(0,0)。因此,不要忘记翻转图示符,例如,将
transform=“scale(1,-1)”
放在用于渲染图示符的


一旦有了将字形呈现为形状的SVG文档,就可以使用您最喜欢的工具将其转换为位图。(蜡染可以。)

虽然蜡染是一个很好的答案,但它只会将TrueType字体转换为SVG字体。如果您有OpenType字体,并且它们现在越来越占主导地位,那么您可以使用FontForge为这些字体获得SVG字体。使用OpenType的另一个优点是,生成的SVG不仅在路径中使用二次贝塞尔,而且在路径中使用三次贝塞尔,这更有效