我正在使用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文件吗?