Fontforge:使用 fontforge 命令行将字形导出到 SVG

问题描述 投票:0回答:3

如何使用 Fontforge 命令行将字形(从其 unicode)导出到 SVG?

我还需要指定字体大小并保留字体中的原始边距。

svg fontforge
3个回答
28
投票

您可能已经找到了答案,但我只需要使用最新版本的 FontForge 来完成此操作。该命令的旧答案:

fontforge -lang=ff -c 'Open($1); SelectWorthOutputting(); foreach Export("svg"); endloop;' font.ttf 

在命令提示符下不想在 Windows10 上工作(我假设是权限问题),但您可以尝试一下。一个快速的解决方法是通过 GUI 执行脚本来完成此操作。

  • 运行FontForge(对于安装在Program Files(x86)目录中的Windows10,您可能需要右键单击“run_fontforge.exe”-->以管理员身份运行)。

  • 打开您要导出的字体。

  • 转到文件>执行脚本

  • 粘贴:
    SelectWorthOutputting(); foreach Export("svg"); endloop;
  • 选择“FF”单选按钮。
  • 点击确定

它将保存到 FontForge 文件夹(其中 run_fontforge.exe 所在的位置)。


0
投票

在Windows操作系统上(在win10上测试)

这是来自批处理文件内部:

c:\Programs\FontForge in ontforge.exe -lang=ff -c "Open($1); SelectWorthOutputting(); foreach Export('%%e_%%f_%%n_%%u.eps'); endloop ;” %1

这是直接在命令行上的:

c:\Programs\FontForge in ontforge.exe -lang=ff -c "Open($1); SelectWorthOutputting(); foreach Export('%e_%f_%n_%u.eps'); endloop;"字体文件.ttf

注意 - 颜色导出。我不知道它是否未实现,或者是一个错误。


0
投票

我的 Windows 10 PowerShell 脚本(从 FontForge 目录执行,即 C:\Program Files (x86)\FontForgeBuilds in):

.\fontforge -lang=ff -c 'Open($1); SelectWorthOutputting(); foreach Export($2); endloop;' 8bitlim.ttf '%n-%e.svg' 

从子目录“fonts”读取所有字体并提取字形的版本:

$files = Get-ChildItem "fonts"

for ($i=0; $i -lt $files.Count; $i++) { $infile = "字体" + $files[$i].Name 。 ontforge -lang=ff -c '打开($1); SelectWorthOutputting(); foreach 导出($2);端环;' $infile '%n-%e.svg' }

© www.soinside.com 2019 - 2024. All rights reserved.