An advanced font engine for Node.js and browsers supporting multiple font formats, layout features, and subsetting.
Fontkit is a JavaScript font engine that enables parsing, layout, and manipulation of font files in Node.js and browser environments. It solves the problem of programmatically accessing advanced font features like glyph substitution, color emoji, and font subsetting that are typically handled by operating system libraries.
Developers building PDF generators, custom text layout engines, web-based design tools, or applications requiring programmatic font manipulation and analysis.
It provides a comprehensive, cross-platform font engine with support for modern font formats and features that aren't available in standard browser APIs, all in pure JavaScript without native dependencies.
An advanced font engine for Node and the browser
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports a wide range of font formats including TrueType, OpenType, WOFF, WOFF2, and color emoji via SBIX and COLR tables, as detailed in the features list.
Provides comprehensive access to OpenType GSUB/GPOS and AAT features for glyph substitution and positioning, enabling professional text layout.
Works in both Node.js and browser environments without native dependencies, offering pure JavaScript font processing for versatile applications.
Allows creating optimized subsets by including only specified glyphs, reducing file size for web and PDF use, as demonstrated in the subsetting API.
Subsets are minimal and designed for PDF embedding, lacking essential tables like cmap for standalone use, as admitted in the README.
The low-level API requires deep understanding of font metrics and layout concepts, making it less accessible for basic font operations.
As a JavaScript library, it may not match the speed of native font engines for large fonts or complex real-time rendering tasks.