我正在尝试通过以下方式创建字体/字形:

  • 采取位图图像
  • 使用autotrace创建SVG(在Linux上)
  • 将轮廓作为Python-Fontforge(glyph.importoutlines(svgfile))作为雕文(svgfile))

此工作正常除了导致的倒置中产生的字形(见图像)。任何想法如何防止,如何反转SVG或字形,或者类似的东西?

源位图:

自动运行的svg:

结果字体:

有帮助吗?

解决方案

通过使用 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>
.

其他提示

您可以尝试反转路径,不确定是否有Fontforge中的选项,让您执行此操作,但您可以使用Inkscape(路径>反向)进行。

似乎手绘了你的雕文。如果您想制作具有数十或数百个字形的完整TTF字体,那么您可能会考虑例如。 scanahand 它用于生成手绘字体。它使用模板,您在其中绘制(或粘贴)字母,以便它们处于正确的垂直位置。水平位置(和间隔)至少在[A-ZA-Z]中自动计算(可能是未来也其他字母)。

但我很欣赏你的解决方案,因为它使用了免费或开源工具,并且您几乎完全控制了所有内容(例如。间距)。和Potrace和Fontforge的最优质的事情是,您可以在飞行中进行,或制作在线字体创建服务! potrace被移植在 AS3 (它的工作,我测试),现在也在js( https://github.com/antimatter15/js-potrace https://github.com/dunvi/potrace-js ),因此它也可以进行实时预览窗口,这显示Potrace参数更改时矢量化结果如何变化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top