Home

Awesome

grunt-svgicons2svgfont

Build Status Dependency Status devDependency Status

Create a SVG font from multiple SVG glyph files.

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-svgicons2svgfont --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-svgicons2svgfont');

The "svgicons2svgfont" task

Overview

In your project's Gruntfile, add a section named svgicons2svgfont to the data object passed into grunt.initConfig().

grunt.initConfig({
  svgicons2svgfont: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
})

Options

src

Type: string

SVG glyphs. Wildcards are supported.

dest

Type: string

Directory of the resulting font.

options.fontName

Type: String Default value: 'iconfont'

A string value that is used to name your font-family.

options.appendCodepoints

Type: Boolean Default value: false

Allow to append codepoints to icon files in order to always keep the same codepoints.

options.fixedWidth

Type: Boolean Default value: false

Creates a monospace font of the width of the largest input icon.

options.centerHorizontally

Type: Boolean Default value: false

Calculate the bounds of a glyph and center it horizontally.

Warning: The bounds calculation is currently a naive implementation that may not work for some icons. We need to create a svg-pathdata-draw module on top of svg-pathdata to get the real bounds of the icon. It's in on the bottom of my to do, but feel free to work on it. Discuss it in the

related issue.

options.normalize

Type: Boolean Default value: false

Normalize icons by scaling them to the height of the highest icon.

options.fontHeight

Type: Number Default value: MAX(icons.height) The outputted font height (defaults to the height of the highest input icon).

options.round

Type: Number Default value: 10e12 Setup SVG path rounding.

options.descent

Type: Number Default value: 0

The font descent. It is usefull to fix the font baseline yourself.

options.log

Type: Function Default value: false

Allows you to provide your own logging function. Set to function(){} to impeach logging.

options.error

Type: Function Default value: false

Allows you to provide your own error function. Set to function(){} to impeach error.

Example

grunt.initConfig({
  svgicons2svgfont: {
    options: {
      fontName: "my-font-name"
    },
    your_target: {
        src: 'glyphs/*.svg',
        dest: 'font/'
    }
  },
})

Related Grunt plugins

You may use this plugin in addition of the following plugins:

Contributing / Issues

Please submit SVG related issue to the svgicons2svgfont project on wich grunt-svgicons2svgfont depends.

This repository issues is only for grunt and grunt tasks related issues.

You may want to contribute to this project, pull requests are welcome if you accept to publish under the MIT licence.