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

Css 如何将.svg文件转换为字体?,css,fonts,svg,Css,Fonts,Svg,有人能帮我把.svg文件转换成字体文件吗?或者有没有一种方法可以在运行中执行此操作?我在这里找到了有关堆栈溢出的两个相关答案: 不幸的是,两者都不是真正的编码答案,这正是我真正希望的(用于脚本转换的命令行实用程序,或者可能是一个API,有人可以用它编写这样的东西) 尽管如此,我还是把这两个答案结合起来,得到了我想要的 清理SVG (此步骤可能是可选的。)在自由软件程序中打开SVG。复制现有SVG并从FontForge Glyph模板创建新项目。粘贴到该模板中,标准化外观、大小和位置,并另存为

有人能帮我把.svg文件转换成字体文件吗?或者有没有一种方法可以在运行中执行此操作?

我在这里找到了有关堆栈溢出的两个相关答案:

  • 不幸的是,两者都不是真正的编码答案,这正是我真正希望的(用于脚本转换的命令行实用程序,或者可能是一个API,有人可以用它编写这样的东西)

    尽管如此,我还是把这两个答案结合起来,得到了我想要的

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

    将SVG转换为字体 然后,直接使用免费软件程序(如第一个答案所述),或者使用免费在线服务(如第二个答案所述)。我做了后者

    使用IcoMoon IcoMoon是一个相当简单的工具。单击页面顶部的紫色导入图标,导入每个自定义SVG图示符。然后在集合的首选项上单击“获取信息”,这样您就可以命名集合并为其提供一些元数据。使用“编辑”工具(铅笔图标)并单击每个图示符以获得刚好合适的大小和间距

    完成后,选择字体中所需的所有字形,然后按页面底部的“生成字体”按钮。在生成的屏幕上,可以将每个glyph映射到unicode字符。在右侧,您可以键入或粘贴字符,或者在左侧,您可以输入其十六进制代码。类似于(Linux)或的程序可能会帮助您为glyph找到合适的代码

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

    迭代 我发现尺寸和间距很难确定(我当时在写字母)。我一直在IcoMoon上迭代,安装字体,并将我的字母与类似字体的字母进行比较(使用文字处理器)。尺寸很容易确定,但间距并不是那么容易(我甚至没有搞乱或!)。不要忘记,某些系统在安装新字体后需要刷新字体缓存(在Linux上,这是
    fc缓存
    from)

    验证字体
    您可能还需要验证您的字体。是一个在线服务,让你做到这一点,提供更正以及使用技巧。我认为IcoMoon已经做到了这一点,所以这可能只是用于FontForge创作。

    正如其他人所说,可以将svg形状导入FontForge,一些字体设计师就是这样工作的

    然而,形状(轮廓)只是现代智能字体的一部分,所以这本身是不够的。你还需要在元数据、字距、暗示等方面下功夫。这肯定不是一件有趣、困难但却是必要的事情,而未来的字体设计师通常梦想着自我奖励的艺术绘画,而不是其他什么


    这就是svg字体从未成为一种格式的原因之一,它们缺少太多的部分,无法用于呈现文本。

    有多种在线工具,允许您上传svg文件并将其用作创建图标字体的图标。就个人而言,我更喜欢

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

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

    您有什么类型的SVG文件?您是否有一个包含SVG字体的SVG文件(使用标签等)?您可以编写fontforge脚本来实现这一点,但这取决于您的输入文件是否足够简单,可以用字体表示。如果您正在寻找API,您可以从Mashape中检查此API,作为一种编程解决方案,我建议
    gulp ICont
    。我需要设置选项
    fontHeight=1024
    (>1000),否则字体似乎已损坏,但最后我得到的结果与icomoon相同。用于将文件转换为tff的stackoverflow链接是一个死链接。。。。没想到会是自己的链接腐烂受害者。