我正在尝试通过以下方式创建字体/字形
除了生成的字形反转(参见图像)之外,它的工作正常。知道如何防止这种情况,如何反转SVG或字形,或类似的东西?
源位图:
Autotraced SVG:
结果字体:
答案 0 :(得分:13)
只需使用potrace而不是autotrace解决了这个问题。
供参考,以下是步骤:
将位图转换为svg(linux命令行):
potrace -s sourceimg.bmp
使用svg作为字形(python):
import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')
就是这样,以下结果在网站上使用:
的CSS:
@font-face
{
font-family: testfont;
src: url('testfont.ttf');
}
HTML:
<span style="font-family:testfont; font-weight:normal; color:green;">A</span>
<span style="font-family:testfont; font-weight:bold; color:green;">A</span>
答案 1 :(得分:1)
您可以尝试反转路径,不确定fontforge中是否有选项允许您这样做,但您可以使用inkscape(路径&gt;反向)执行此操作。
答案 2 :(得分:0)
您的字形似乎是手绘的。如果你想制作一个包含数十或数百个字形的完整TTF字体,那么你可以考虑例如。我用来生成手绘字体的Scanahand。它使用一个模板,在其上绘制(或粘贴)字母,使它们处于正确的垂直位置。水平位置(和间距)至少在[A-Za-z]中自动计算(可能在将来也是其他字母)。
但我感谢your solution,因为它使用免费或开源工具,你几乎可以完全控制一切(例如间距)。而potrace和fontforge最好的东西就是你可以即时完成或者创建一个在线字体创建服务! Potrace移植到AS3(它可以工作,我测试过),现在也移植到JS(https://github.com/antimatter15/js-potrace或https://github.com/dunvi/potrace-js),因此它也应该可以创建一个实时预览窗口,当potrace参数改变时,矢量化结果如何变化。
答案 3 :(得分:0)
万一有人对使用自动跟踪进行此操作感到好奇,这是因为具有白色背景的图像的自动跟踪SVG的第一个子项是定义白色背景的路径。我通过编写一个小程序解决了这个问题,该程序在导入之前删除了SVG的第一个子对象,但是您也可以通过编辑字形来删除FontForge中的矩形。