倒置字形:Bitmap> SVG通过Autotrace>通过Fontforge雕文
题
我正在尝试通过以下方式创建字体/字形:
- 采取位图图像
- 使用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参数更改时矢量化结果如何变化。
不隶属于 StackOverflow