fontforge环境错误:无法加载映像fi

2024-10-16 20:45:35 发布

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

我正在尝试从单个SVG文件创建字体。这里是样品:

#!/usr/local/bin/fontforge
# file test.py

import fontforge;

font=fontforge.font();
glyph = font.createChar(65);
glyph.importOutlines("/home/user/guitar.svg");
# or glyph.importOutlines("~/guitar.svg");
# or glyph.importOutlines("./guitar.svg");
# or glyph.importOutlines("guitar.svg");

任何加载单个SVG文件的尝试都会导致相同的错误:

^{pr2}$

我哪里错了?在


环境:

文件权限

ls -la /home/user/guitar.svg -rwxrwxrwx 1 user user 3728 Jun 30 20:46 guitar.svg

操作系统

$ uname -a Linux servername 2.6.32-431.11.2.el6.i686 #1 SMP Tue Mar 25 17:17:46 UTC 2014 i686 i686 i386 GNU/Linux

$ cat /etc/centos-release CentOS release 6.5 (Final)

Python版本

$ python --version Python 2.7.7

Fontforge版本

$ fontforge --version Copyright (c) 2000-2012 by George Williams. Executable based on sources from 14:57 GMT 31-Jul-2012-TtfDb. Library based on sources from 14:57 GMT 31-Jul-2012. fontforge 20120731 libfontforge 11524617


同样的测试在Ubuntu12.04也可以,但是fontforge是另一个版本

$ fontforge --version Copyright (c) 2000-2011 by George Williams. Executable based on sources from 13:48 GMT 22-Feb-2011-ML. Library based on sources from 13:48 GMT 22-Feb-2011. fontforge 20110222 libfontforge 20110222-ML


Tags: orfromsvg版本onbasedfontsources
1条回答
网友
1楼 · 发布于 2024-10-16 20:45:35

也有同样的问题。在

在fontforge源文件Python.c中,加载图像的代码是

    GImage *image = GImageRead(locfilename);
    int ly = ((PyFF_Glyph *) self)->layer;
    if ( image==NULL ) {
        PyErr_Format(PyExc_EnvironmentError, "Could not load image file %s", locfilename );
return(NULL);
    }

然后SVG的switch中有一个bug,只需查看GImageReader.c并尝试查找SVG:)

^{pr2}$

相关问题 更多 >