@coremyslo/font-generator
v1.1.3
Published
A font generator library that takes a collection of icons and generates a custom font in different formats (SVG, TTF, WOFF, WOFF2, EOT).
Downloads
580
Readme
@coremyslo/font-generator
A font generator library that takes a collection of icons and generates a custom font in different formats (SVG, TTF, WOFF, WOFF2, EOT).
Input should be based on icon-generator.
Installation
npm install @coremyslo/font-generator
Usage
import { FontGenerator } from "@coremyslo/font-generator";
import { IconGenerator } from "@coremyslo/icon-generator";
const iconGenerator = new IconGenerator("./path/to/icon/source/directory");
await iconGenerator.read();
const fontGenerator = new FontGenerator();
await fontGenerator.generate(iconGenerator.icons);
await fontGenerator.write("./path/to/target/directory");
API
class FontGenerator (options: Partial<Options> = {})
interface Options
- name: The name of the font and the generated font files. Default
icon-font
. - unicode: The starting Unicode code point for the icon set. Default
0xE900
. - height: The height of the generated font. Default
1024
. - normalize: Normalize icons by scaling them to the height of the highest icon (see svgicons2svgfont). Default
true
. - round: Setup SVG path rounding. (see svgicons2svgfont) Default
1
. - formats: An array of supported font formats. Default
["svg", "ttf", "woff", "woff2", "eot"]
.
async generate(icons: Map<string, Icon>): Promise<void>
- Generate the font files in memory for the specified icon collection. Caches the result, so calling again with the same icons retrieves the fonts from the cache.
async write(targetDirPath: string): Promise<void>
- Write the generated font files to the specified directory.
fonts: Map<string, Buffer>
- contains the generated font files in memory.