Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nfroidure/svgfont2svgicons

Extract SVG icons from an SVG font
https://github.com/nfroidure/svgfont2svgicons

Last synced: 7 days ago
JSON representation

Extract SVG icons from an SVG font

Awesome Lists containing this project

README

        

[//]: # ( )
[//]: # (This file is automatically generated by a `metapak`)
[//]: # (module. Do not change it except between the)
[//]: # (`content:start/end` flags, your changes would)
[//]: # (be overridden.)
[//]: # ( )
# svgfont2svgicons
> Extract SVG icons from an SVG font

[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nfroidure/svgfont2svgicons/blob/main/LICENSE)

[//]: # (::contents:start)

## Usage

### In your scripts
```js
import svgfont2svgicons from 'svgfont2svgicons';
import fs from 'node:fs';

const fontStream = fs.createReadStream('myFont.svg');
const iconProvider = svgfont2svgicons(options);

// Piping the font
fontStream.pipe(iconProvider);

// Saving the SVG files
iconProvider.on('readable', function() {
let icon;

do {
icon = iconProvider.read();
if(icon) {
console.log('New icon:', icon.metadata.name, icon.metadata.unicode);
icon.pipe(fs.createWriteStream(icon.metadata.name + '.svg'));
}
} while(null !== icon);
}).once('end', function() {
console.log('No more icons!')
});
```

## CLI interface
```sh
svgfont2svgicons font/src/file.svg icons/dest/directory
```

## Options

Currently no options, feel free to suggest some in
[the issues](https://github.com/nfroidure/svgfont2svgicons/issues).

## Contributing
Feel free to pull your code if you agree with publishing under the MIT license.

[//]: # (::contents:end)

# Authors
- [Nicolas Froidure](https://insertafter.com/en/index.html)

# License
[MIT](https://github.com/nfroidure/svgfont2svgicons/blob/main/LICENSE)