2015-02-05 84 views
1

在我的团队协作下,我们必须为我们的后台生成svg文件图标的webfont。 为了做到这一点与Grunt,我们发现了一个名为“grunt-webfont”的插件。在Windows上使用Grunt插件grunt-webfont生成webfont

下面的链接:grunt-webfont repository

我的问题是不正确生成我们在Windows web字体。我有一个小方块,而不是一个图标。

默认情况下,任务以engine params fontforge开头,但它在Windows上不起作用。所以我尝试用node(与ttfautohint依赖)设置此选项。但它也不起作用。

这里我的插件配置:

dev: { 
    src: '<%= project.app %>/images/pictos/*.svg', 
    dest: '<%= project.app %>/styles/fonts/', 
    options: { 
    font: 'my-icons', 
    stylesheet: 'scss', 
    syntax: 'bem', 
    htmlDemo: true, 
    relativeFontPath: 'fonts/my/', 
    engine: (grunt.option('engine') || 'fontforge'), 
    templateOptions: { 
     baseClass: 'my-icon', 
     classPrefix: 'my-icon-', 
     mixinPrefix: 'my-icon-' 
    }, 
    } 
} 

这似乎是很好,当我做:

$ grunt serve --engine="node"

结果是:

Running "webfont:dev" (webfont) task Font my-icons-738111b522f08be9663c9b5af0606fd5 with 24 glyphs created.

但还是有点正方形...

我试图设置“autohint”选项设置为“假”,而同样的结果...

我的工作团队做到这一点与Ubuntu和它的工作太棒了!我需要在Windows上做什么样的解决方案?

谢谢。

回答

1

在Windows上无法完成某些svg。

Grunt-webfont的Readme.md表示他们的产品不适用于Windows上的Fontforge。所以你唯一的选择是Node。

此外,在Readme.md:节点不适用于某些SVG文件。因此,请咨询Ubuntu团队,看他们是否可以使用Node呈现您的svg文件,而不是使用方块。

+0

感谢您的回答。 我们检查了我们的SVG文件,这个问题似乎与使用'节点'引擎的Linux相同。你有关于转换的SVG文件的建议吗? 我也会在Github存储库上发布一个问题。 – trugh 2015-02-06 10:16:05

0

我在使用Node引擎的Windows中使用Grunt Webfont有类似的问题。大多数形状都可以工作,但是包含形状的大量形状只是给出了图标的轮廓。

在我自己寻求一个解决方案,我发现这篇文章描述了如何使用一个无业游民,从窗口建立的字体来实现这一点: http://mac-blog.org.ua/grunt-webfont-windows/

Fontello(包括网站和咕噜声插件)也有类似的问题。对于我的svg图标,问题似乎与填充规则有关,例如奇偶。他们有很好的文件解释更多关于此事:https://github.com/fontello/fontello/wiki/How-to-use-custom-images#importing-svg-images

关于我自己的旅程,我结束了使用icomoon.io支持这些更先进的svg功能。

0

你是指像[]这样的小方块,或者代表你的图标的小圆点(在字体大小上看起来类似于它们)?

如果有小点,那可能是源SVG文件太小的问题。将它们调整为512px高度(包括画布和内容),重新生成字体,并且您将拥有图标。

P.S.我也在Windows上使用grunt-webfont,两个引擎(node/fontforge)都以某种方式为我工作。

+1

如果像'[]'这样的小方块,请提供一些链接到您的SVG,也许我会发现这些“Windows上的一些SVG文件”是什么问题, – thybzi 2016-02-20 17:05:50

相关问题