graphics - 获取字体字形作为矢量,操作和生成 SVG 或位图

标签 graphics fonts svg

我有一个应用程序需要对文本应用一些转换(包括非仿射转换)。有谁知道有一个工具包(或一组工具)可以让我引入 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/

相关文章:

java - 如何将一幅图像的一部分复制到另一幅图像?

VkPipelineMultisampleStateCreateInfo.pSampleMask 的正确长度

user-interface - 如何在 Windows GUI 中绘制垂直文本?

android - 防止用户更改字体

d3.js - 使用RequireJS加载D3和词云布局

algorithm - 给定起点和终点控制点、曲线长度和张力位置,确定二次贝塞尔曲线控制点

图形相关问题 : Mesh and Geometry

algorithm - 从 Photoshop 模拟高光恢复工具

java - Linux 服务器上缺少货币符号

javascript - 在 mxGraph javascript 中将 XML 转换为 SVG