如何将.svg文件转换为字体?

时间:2012-11-07 21:39:07

标签: css fonts svg

有人可以帮我将.svg文件转换为字体文件吗?还是有办法在飞行中做到这一点?

4 个答案:

答案 0 :(得分:18)

我在Stack Overflow上找到了两个相关的答案:

  1. Creating icon fonts with vector software (i.e. inkscape) and fontforge?
  2. Tools to convert svg to ttf [closed]
  3. 不幸的是,这两个都不是编码的答案,这是我真正希望的(脚本转换的命令行实用程序,或者也许是某人可以写这样的API)。 / p>

    但是,通过结合这两个答案,我得到了我想要的东西。

    清理SVG

    (此步骤可能是可选的。) 在免费软件程序InkScape中打开您的SVG。复制现有SVG并从FontForge Glyph模板创建一个新项目。粘贴到该模板中,标准化外观,大小和位置,并另存为PLAIN SVG,每个字符一个文件(“字形”)。

    将SVG转换为字体

    然后,直接使用免费软件程序FontForge(如第一个回答中所述,creating icon fonts with vector software)或使用免费的IcoMoon在线服务(如第二个答案所述) ,tools to convert svg to ttf)。我做了后者。

    使用IcoMoon

    IcoMoon是一个相当简单的工具。单击页面顶部的紫色导入图标按钮以导入每个自定义SVG字形。然后在设置的首选项上单击“获取信息”,以便您可以为该组命名并为其提供一些元数据。使用“编辑”工具(铅笔图标)并单击每个字形以获得合适的尺寸和间距。

    完成后,选择字体中所需的所有字形,然后按页面底部的“生成字体”按钮。在结果屏幕上,您可以将每个字形映射到unicode字符。在右侧,您可以键入或粘贴一个字符,或者在左侧,您可以输入其十六进制代码。像GNOME Character Map(适用于Linux)或Windows Character MapMac OS Character Palette这样的程序可以帮助您找到适合您的字形的代码。

    现在按屏幕顶部的“首选项”按钮(或右下角的齿轮),最后确定新字体的名称和元数据,然后按右下角的“下载”。您将获得一个Fontname.zip文件,其中包含大量使用建议以及字体文件本身。

    迭代

    我发现尺寸和间距很难正确(我正在写信)。我一直在迭代IcoMoon,安装字体,并将我的字母与字母相似(使用文字处理器)。尺寸调整很容易,但间距不是那么容易(我甚至没有弄乱ligatureskerning!)。不要忘记某些系统在安装新字体后需要刷新字体缓存(在Linux上,fc-cache来自Fontconfig

    验证字体

    您可能还想验证字体。 Font Squirrel是一项在线服务,可让您执行此操作,提供更正和使用提示。我认为IcoMoon已经这样做了,所以也许这只是用于FontForge创作。

答案 1 :(得分:8)

有多种在线工具可供您上传SVG文件,并将其用作图标来创建图标字体。就个人而言,我更喜欢 Icomoon App

Icomoon应用程序允许您执行以下各项操作:

  • 从多种常用图标字体中获取一个或多个图标
  • 上传其他字体,可能是图标字体,也可以是常规字体
  • 上传SVG文件以用作图标
  • 合并任意数量的可用字体中的任意数量的图标
  • 为您需要的任何字符设置UNICODE十六进制值
  • 导出和/或保存您创建的字体集

Icomoon

答案 2 :(得分:1)

正如其他人所写,可以将svg形状导入fontforge,一些字体设计师可以这样工作。

然而,形状(轮廓)只是现代智能字体的一部分,所以它本身就不够了。你还需要处理元数据,字距调整,提示等等。这些很多都是非常有趣,很难但是必要的东西,而可能是字体设计师通常会梦想自我奖励艺术绘画,而不是其他

这是svg字体永远不会作为一种格式捕获的一个原因,它们缺少太多的部分,无法用于呈现文本。

答案 3 :(得分:1)

您也可以尝试SVGtoFont。它提供所有流行的字体格式(woff,woff2,ttf和eot),css(SASS& LESS)和演示HTML文件。