svgtofont
Version:
Converts SVG to TTF/EOT/WOFF/WOFF2/SVG format fonts.
40 lines (39 loc) • 1.19 kB
TypeScript
import { type CheerioAPI, type Cheerio } from 'cheerio';
import type { AnyNode } from 'domhandler';
export interface ColorGroup {
color: string;
elements: string[];
}
export interface SvgAnalysis {
isMulticolor: boolean;
colorGroups: ColorGroup[];
viewBox: string;
width: string;
height: string;
}
export interface LayerSvg {
layerIndex: number;
color: string;
svgContent: string;
}
export interface MulticolorLayerInfo {
layerIndex: number;
glyphName: string;
unicode: string;
color: string;
encodedCode: number;
}
export interface MulticolorIconInfo {
originalName: string;
layerCount: number;
layers: MulticolorLayerInfo[];
}
export type MulticolorMap = Record<string, MulticolorIconInfo>;
export interface CreateSVGResult {
unicodeObject: Record<string, string>;
multicolorMap: MulticolorMap;
}
export declare function normalizeColor(color: string): string;
export declare function resolveEffectiveFill($: CheerioAPI, $el: Cheerio<AnyNode>): string;
export declare function analyzeSvgColors(svgContent: string): SvgAnalysis;
export declare function generateLayerSvgs(analysis: SvgAnalysis): LayerSvg[];