有没有命令行工具可以将TTF和OTF字体转换成SVG字体?
有没有命令行工具可以将TTF和OTF字体转换成SVG字体?
#!/usr/bin/fontforge
Open($1)
Generate($1:r + ".svg")
将上述内容保存到convert2svgfont.pe
文件中,然后调用:
convert2svgfont.pe myfont.ttf
关于 batik,请参阅 此文档,安装后按以下方式调用:
java -jar batik-ttf2svg.jar myfont.ttf -o myfont.svg
之前由@Erik提供的fontforge教程已经无法使用 - fontforge已经转换为Python脚本。
以下是我如何在命令行上将字体从PFA转换为SVG的方法 - 这也适用于TTF等格式:
fontforge -c 'import fontforge;fontforge.open("/usr/share/fonts/X11/Type1/NachlieliCLM-Bold.pfa").generate("NachlieliCLM-Bold.svg")'
fontforge -lang ff -c 'Open($1); Generate($2)' wingdings.ttf wingdings.otf
文档 - joematunejava -jar batik-ttf2svg-1.10.jar nasa.ttf -o myfont.svg
你会得到一个类似于这样的输出
<font horiz-adv-x="1045" ><font-face
font-family="Nasa"
units-per-em="2048"
panose-1="2 11 5 0 0 0 0 0 0 0"
ascent="1507"
descent="-393"
alphabetic="0" />
接下来是代表字体中每个字形的大量代码
处理这个问题的方法在使用SVG字形标记在HTML中的答案中表示 - 将字形转换为符号并翻转它们。
至于为什么字体在其X轴上翻转,请参阅规范的废弃部分https://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview
与SVG中的标准图形不同,在那里初始坐标系具有指向向下的y轴(请参阅初始坐标系),SVG字体的设计网格以及字形的初始坐标系出于与许多流行字体格式的公认行业实践的一致性,将y轴指向上方。
@Jay(我无法评论),在Windows上,这样做可以:
"C:\Program Files (x86)\FontForgeBuilds\fontforge.bat" -lang py -c "import fontforge; fontforge.open('C:/Temp/myFont.ttf').generate('C:/Temp/myFont.svg')"
fontforge -lang ff -c 'Open($1); Generate($2)' wingdings.ttf wingdings.otf
[docs](https://fontforge.org/docs/techref/cliargs.html) - joematune