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

https://github.com/chowa/cwfont

Vector font generation tool(svg files convert to iconfont)
https://github.com/chowa/cwfont

eot iconfont iconfont-build iconfont-cli iconfonts svg ttf typescript woff woff2

Last synced: 17 days ago
JSON representation

Vector font generation tool(svg files convert to iconfont)

Awesome Lists containing this project

README

        



# cwfont

Vector font generation tool(svg files convert to iconfont)

[![Build Status](https://travis-ci.org/chowa/cwfont.svg?branch=master)](https://travis-ci.org/chowa/cwfont)
[![npm](https://img.shields.io/npm/v/cwfont.svg)](https://www.npmjs.com/package/cwfont)
[![npm](https://img.shields.io/npm/dm/cwfont.svg)](https://www.npmjs.com/package/cwfont)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://opensource.org/licenses/MIT)

## Install

```
npm i cwfont -g
```

## Cli Usage

### Create

```
cwfont create
```

### Compile

```
cwfont compile
```

Modify `.cwfontrc`,Customize the configuration input and output directories, enable hash and exempt CSS modules, and view the specific configuration [options](#options). (You can use js/json/yaml/yml to write it)

### Preview

```
cwfont preview
```

## API

```js
const ChowaFont = require('cwfont');
```

### Generate font

```js
ChowaFont.generator({
// executive directory
cwd: 'xxx',
...options
});
```

## Options

```js
{
// compile options
compile: {
// compile syntax, optional CSS | SCSS | less
syntax: 'css',
// start value corresponding to font Unicode
startPoint: 51666,
// font name
fontName: 'chowa-iconfont',
// font file name
styleFileName: 'chowa-iconfont',
// font selector, {glyph}} must be preceded by a separator, such as: -
selector: '.cw-icon-{{glyph}}'
},
// exempt CSS module
global: false,
// using stylelint to format output code
stylelint?: boolean;
// has options
hash: {
// font file with hash
font: false,
// style file with hash
style: false,
// length of hash
len: 8
},
// create preview file
preview: true,
// format specific configuration view https://prettier.io/docs/en/options.html
format: {
printWidth: 120,
tabWidth: 4,
useTabs: false,
semi: true,
endOfLine: 'lf'
},
// input options
input: {
// svg file directory
svgsDir: './svg-icons',
// style file template
styleTpl: null,
// preview file template
previewTpl: null
},
// output options
output: {
// font file saving directory
font: './',
// style file saving directory
style: './',
// preview file saving directory
preview: './'
}
}
```

## Customize template

* [style template](src/template/style.tpl)
* [preview template](src/template/preview.tpl)

## Attention

* Svg file names should be free of spaces and special symbols
* The 'selector' option '{{glyph}}' in the configuration file must be preceded by a separator
* Drawing SVG graph with single path

## License

[MIT](http://opensource.org/licenses/MIT)

Copyright (c) 2020-present, chowa.cn