我有一个应用程序需要对文本应用一些转换(包括非仿射转换)。有谁知道有一个工具包(或一组工具)可以让我引入 True Type 或 Postscript 字体,获取字形作为轮廓,然后对轮廓应用转换并将其渲染为位图或 svg 文件? Flash 不会进行非仿射变换,因此它已被淘汰。 Illustrator 有一个将文本转换为轮廓的功能,但 Illustrator 脚本非常不稳定,所以我不能真正使用它。感谢您的帮助。
最佳答案
您可以使用Batik TTF to SVG Font converter 。 SVG 字体格式使用与 SVG <path>
相同的路径数据格式。元素使用。
例如,this是使用上述工具转换 Gentium Basic Regular 的输出。有了正确的坐标系,你就可以抓取路径数据,按照你喜欢的方式变换它,然后用 <path>
来绘制它。 。请注意,SVG 字体中的字形坐标系实际上是倒置的,(0,0) 位于字形单元格框的左下角,而常规 SVG Canvas 的左上角为 (0,0) 。所以不要忘记翻转字形,例如通过输入 transform="scale(1,-1)"
关于<path>
您用来渲染字形。
一旦您拥有将字形呈现为形状的 SVG 文档,您就可以使用您最喜欢的工具将其转换为位图。 (蜡染可以do that too。)
关于graphics - 获取字体字形作为矢量,操作和生成 SVG 或位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2149707/