倒字形:位图>通过自动跟踪SVG>经由fontforge字形(Inverted glyp

2019-08-01 03:20发布

我想通过创建一个字体/字形:

  • 以位图图像
  • 创建具有自动跟踪的SVG(在Linux上)
  • 导入轮廓与上python-fontforge的字形(glyph.importOutlines(svgfile))

这工作得很好,除了在倒置产生的字形 (见图片)。 任何想法,这可怎么预防,怎么SVG或字形可以反转,或者类似的东西?

来源位图:

Autotraced SVG:

导致字体:

Answer 1:

只需使用解决了这个potrace ,而不是自动跟踪的。

作为参考,这些步骤如下:

转换位图以SVG(Linux命令行):

potrace -s sourceimg.bmp

使用SVG作为字形(蟒):

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>



Answer 2:

你可以尝试扭转路径,不知道是否有在fontforge,让你这样做的一种选择,但你可以用Inkscape做(路径>反向)。



Answer 3:

看来你的字形手工绘制。 如果你想用几十或几百字形的全TTF字库,那么你可以考虑如。 Scanahand我已经用于生成手绘字体。 它使用的模板,在其上绘制(或粘贴)的信件,让他们在正确的垂直位置。 水平位置(和间隔)至少在自动计算[A-ZA-Z](可以是在未来也其他字母)。

不过,我很欣赏你的解决方案 ,因为它使用免费或开源工具和你拥有的一切(如间距)的几乎完全控制。 并与potrace和fontforge最好的事情是,你可以做它的即时或进行在线字体创建的服务! Potrace是在移植AS3 (它的工作原理,我测试了),现在还在JS( https://github.com/antimatter15/js-potrace或https://github.com/dunvi/potrace-js ),所以应该也有可能使实时预览窗口,其中显示量化结果时potrace参数的变化如何变化。



文章来源: Inverted glyph: bitmap > SVG via autotrace > glyph via fontforge