我有一个应用程序需要对文本进行一些转换(包括非仿射变换)。有没有人知道一个工具包(或一组工具),可以让我导入True Type或Postscript字体,获取轮廓作为字形,然后对轮廓应用变换并将其呈现为位图或svg文件?Flash无法执行非仿射变换,因此它不可行。Illustrator有一个将文本转换为轮廓的功能,但Illustrator脚本非常不稳定,所以我不能真正用它来完成这个任务。感谢任何帮助。
<path>
元素相同的路径数据格式。<path>
绘制。但是请注意,SVG 字体中的字形坐标系实际上是倒置的,(0,0) 位于字形单元框的左下角,而常规的 SVG 画布则将 (0,0) 置于左上角。因此,不要忘记翻转字形,例如,在用于渲染字形的 <path>
上放置 transform="scale(1,-1)"
。
一旦您拥有呈现字形形状的SVG文档,您可以使用您喜欢的工具将其转换为位图。(Batik也可以这样做。)
Batik虽然是一个不错的选择,但只能将TrueType字体转换为SVG字体。如果您有OpenType字体,而且现在越来越普及,可以使用FontForge将其转换为SVG字体。使用OpenType的另一个优点是生成的SVG路径中不仅使用了二次贝塞尔曲线,还使用了三次贝塞尔曲线,这样更加高效。