Skip to content
/ cwfont Public

Vector font generation tool(svg files convert to iconfont)

License

Notifications You must be signed in to change notification settings

chowa/cwfont

Repository files navigation

cwfont

Vector font generation tool(svg files convert to iconfont)

Build Status npm npm license

Install

npm i cwfont -g

Cli Usage

Create

cwfont create <dir>

Compile

cwfont compile

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

Preview

cwfont preview

API

const ChowaFont = require('cwfont');

Generate font

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

Options

{
    // 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

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

Copyright (c) 2020-present, chowa.cn