反向字形:位图>通过自动跟踪的SVG>通过fontforg的字形

2024-09-29 07:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过以下方式创建字体/字形:

  • 拍摄位图图像
  • 使用autotrace创建SVG(在Linux上)
  • 使用PythonFontforge将轮廓作为glyph导入(glyph.importoutline(SVG文件)

这很好,除了结果的字形是倒置的(请参见图片)。你知道如何防止这种情况吗,SVG或glyph如何反转,或者类似的东西吗?在

源位图: source bitmap

自动跟踪SVG: enter image description here

结果字体: enter image description here


Tags: 文件svg图像linux方式字体情况图片
3条回答

您可以尝试反转路径,但不确定fontforge中是否有允许您这样做的选项,但您可以使用inkscape(path>;reverse)执行此操作。在

通过使用potrace而不是autotrace就解决了这个问题。在

以下步骤供参考:

将位图转换为svg(linux命令行):

potrace -s sourceimg.bmp

使用svg作为字形(python):

^{2}$

就这样,在网站上使用的结果如下:

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>

enter image description here

你的雕文好像是手绘的。如果你想用几十个或几百个字形组成一个完整的TTF字体,那么你可以考虑一下例如Scanahand,我曾用它来生成手绘字体。它使用一个模板,你可以在上面画(或粘贴)字母,这样它们就可以在正确的垂直位置出现。水平位置(和间距)至少在[A-Za-z]中自动计算(将来也可能是其他字母)。在

但我很欣赏your solution,因为它使用免费或开源工具,而且您几乎可以完全控制一切(例如,间距)。potrace和fontforge最棒的地方就是你可以在飞行中做,也可以做一个在线字体创建服务!Potrace被移植到AS3(它可以工作,我测试过了),现在也可以在JS(https://github.com/antimatter15/js-potracehttps://github.com/dunvi/potrace-js)上移植,所以它还可以创建一个实时预览窗口,显示当Potrace参数改变时,矢量化结果是如何变化的。在

相关问题 更多 >