SVGO:错误“无效的字符实体”

时间:2015-07-13 02:50:55

标签: svg

我正在使用svgo(版本0.5.3)来缩小我的SVG文件。尽管可以在浏览器中正确打开SVG,但缩小会产生如下错误:

  

解析时出错:字符实体无效

我的SVG文件是:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg [
    <!ENTITY st2 "stroke:#FFFFFF;stroke-width:6.6112;">
]>
<svg  width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
    <g id="Layer_x0020_3">
        <g>
            <path style="&st2;" d="M41.7,35.3L26.6,9.4c-0.6-1-1.7-1.7-2.9-1.6c-1.2,0-2.3,0.7-2.9,1.7L6.3,35.4c-0.6,1-0.6,2.3,0,3.3c0.6,1,1.7,1.6,2.9,1.6h29.6c1.2,0,2.3-0.6,2.9-1.7c0.6-1,0.6-2.3,0-3.3z"/>
        </g>
    </g>
</svg>

我将问题缩小到<!ENTITY...的定义。如果我删除<!ENTITY...的定义,SVGO不会报告任何错误。

开发人员似乎意识到了这个问题:Error "Invalid character entity" for any input file。但他们现在还没有计划修复它:

  

作为临时解决方案,我建议关闭«Preserve Illustrator   编辑功能»和其他一些高级选项,例如包括   XMP,在Illustrator SVG保存对话框中。

但是,我们已经在项目中拥有数百个SVG文件。有没有解决方法?

或者有人可以推荐其他工具来最小化SVG文件吗?

1 个答案:

答案 0 :(得分:0)

找不到任何解决方案。因此,切换到grunt-cleanhtml,因为我们只需删除评论。