获取Font Glyphs作为向量,操作和生成SVG或Bitmap

时间:2010-01-27 19:30:04

标签: graphics fonts svg

我有一个应用程序需要对文本应用一些转换(包括非仿射转换)。有没有人知道一个工具包(或工具组)可以让我引入True Type或Postscript Font,将字形作为轮廓,然后将变换应用于轮廓并将其渲染为位图或svg文件? Flash不会进行非仿射变换,因此它不会出现。 Illustrator有一个将文本转换为轮廓的功能,但Illustrator脚本非常不稳定,因此我无法真正使用它。谢谢你的帮助。

2 个答案:

答案 0 :(得分:5)

您可以使用Batik TTF to SVG Font converter。 SVG字体格式使用与SVG <path>元素使用的路径数据格式相同的格式。

例如,this是使用上述工具转换Gentium Basic Regular的输出。使用正确的坐标系,您可以抓取路径数据,然后根据需要进行转换,然后使用<path>绘制它。请注意,SVG字体中的字形坐标系实际上是倒置的,字形单元框左下角的(0,0)与左上角有(0,0)的常规SVG画布相比较。所以不要忘记翻转字形,例如将transform="scale(1,-1)"放在用于渲染字形的<path>上。

获得将字形呈现为形状的SVG文档后,可以使用自己喜欢的工具将其转换为位图。 (蜡染可以do that too。)

答案 1 :(得分:3)

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