使用icomoon将SVG转换为Ico会生成多个路径而不是单个对象字形。

8

我正在使用Illustrator创建SVG文件,这个文件将会被转换成字体图标并使用icomoon。但是最终结果出现了问题。我的图标基本上是由一组同心圆组成的,在Illustrator中以SVG格式保存。使用iconmoon将SVG转换为图标时,我发现该图标被转换为多个路径而不是单个对象。

    <span class="icon-4">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
<span class="path4"></span>
<span class="path5"></span>
<span class="path6"></span>
</span>

Link to the image : http://imgur.com/FnWgQNF


为什么现在由多个路径组成是一个问题? - Robert Longson
发布图片链接,我们中的一位可以为您添加。此外,我们需要更多信息。发布一些HTML代码无法帮助我们诊断SVG和/或字体的问题。 - Paul LeBeau
6个回答

11

我曾经也遇到了同样的问题。在Illustrator中尝试使用视图透明网格、去除所有颜色,以及减少透明度等方法,但都没有成功。

后来我在IcoMoon中发现,如果在底部不选择“生成字体”,而是选择“SVG和更多”,就可以直接在应用程序中单击有问题的图标并编辑SVG。IcoMoon提供了一个“删除颜色”的按钮(带有x的下拉箭头),非常方便。完成后,您可以关闭该框并将SVG变为单色,无需重新导入。然后,您可以下载它,或者只需单击即可生成新字体。TaDa! :-)

我花了一段时间才弄清楚这个方法,但一旦搞定,我就被IcoMoon的强大所吸引。


这是正确的路径。在移除颜色时,请确保没有选择任何特定的内容。 - Tjad Clark

7

您导入的SVG图标中可能有多种颜色。因此,您的图标被解释为“多彩”。由于字体字形只能有一种颜色,因此IcoMoon必须使用多个路径来处理多彩图标。请尝试将SVG中所有颜色更改为相同的颜色,然后重新导入SVG。


1
我的SVG图标是黑白的,其中白色被用于在某些部分上“擦除”黑色。有没有办法将其转换为icomoon的“单色svg”? - Alsciende
7
不要使用白色填充,从下面的形状中减去上面的形状以制作一个孔。 - Keyamoon
1
我遇到了上述问题:多种颜色。我使用的是Illustrator(并不是很清楚该怎么做),创建的SVG是黑白的。我不得不去查看>显示透明网格来移除白色背景,然后重新导出为SVG。 - Luke
但是如果我需要在生成的字体中实际上使用多种颜色,有什么办法吗? - Shashank Bhatt

1

要在Illustrator中更改图标,如评论中所述:

1. 您需要清除填充

  • 选择每个路径,并使用填充工具x来删除设置为无色的颜色
  • 选择需要上色的每个路径,使用SWap Fill and Stroke工具SHIFT+x。最可能会将此颜色设置为#000000

2. 减去形状并更正svg

  • 要可视化形状的颜色,请选择查看>显示透明网格SHIFT+CTRL+d
  • 通过在“图层”窗格中选择路径来创建复合路径
  • 选择路径后,在图像中右键单击并选择制作复合路径

3. 在Illustrator中保存为svg

使用Illustrator中的“另存为…”功能将图标保存为svg格式。 注意选项窗口中的“SVG代码…”按钮,并通过检查<style>标签的源代码验证更改。 如果操作正确,并且最终出现stroke: #ffffff;规则,则可以接受。但是,fill: #ffffff;不应再可见。 在Icomoon应用程序中导入图标。 使用编辑工具ALT: 将网格设置为16。 选择缩放以使用适合画布。 选择画布/对齐方式以使用正方形画布居中对齐。 如果出现任何颜色,请选择删除颜色。

1

Keyamoon是正确的。 从Icomoon检查:

默认情况下,字体图标不能具有多个颜色。使用CSS,IcoMoon将多个字形层叠在一起,以实现彩色字形。因此,这些字形需要超过一个字符代码,并且不能具有连字号。

为避免多色字形,请在将所有颜色更改为相同颜色后重新导入SVG。


0

如果SVG中的元素之一是字符(字体),请先将其转换为形状,然后选择两个图层,在路径查找器面板中选择“单击减去前面”,这应该将两个图层转换为一个单色图层。


0

你需要选择所有想要合并的路径(排除任何不想合并的内部路径)。

在打开路径查找器面板后,点击“合并”按钮。这将合并对象。

然后,转到顶部菜单,点击“对象”选项卡,在下拉菜单中选择“复合路径”,然后点击“创建”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接