# foliojs/fontkit

An advanced font engine for Node and the browser

Repository: https://github.com/foliojs/fontkit
Canonical: https://ross.abutalabs.com/products/fontkit
Language: JavaScript
License Family: other
Last push: 2024-08-14T09:31:51+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4298, "days_push": 749, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1668, forks 241 (observed 2026-08-28T04:05:19.771767+00:00)

## What it is
fontkit is an advanced font engine library for Node.js and the browser, used by PDFKit. It parses many font formats and provides glyph shaping, layout, path extraction, color emoji support, and font subsetting.

## Use cases
- parse ttf and otf font files in node
- extract svg paths from font glyphs
- shape text with ligatures and kerning
- render color emoji glyphs
- create font subsets for embedding in pdfs
- read font metrics for text layout
- support variable fonts with design axes

## When to choose
- you need low-level font parsing and glyph access in JavaScript
- you are building PDF generation or custom text rendering
- you need OpenType/AAT shaping features or font subsetting

## When to avoid
- you just need to display text in a browser (use CSS)
- you need a full text layout engine with bidirectional text (consider HarfBuzz)
- you need a non-JavaScript environment

## Facets
- artifact type: library
- maturity: stable
- function: parser, image-processing, graphics
- domain: web-development, frontend, pdf, developer-tools
- platform: browser, cross-platform
- tags: font-engine, typography, glyph-layout, font-subsetting, opentype, truetype, text-shaping, color-emoji, nodejs, javascript

## Member repositories
- foliojs/fontkit (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:19.771767+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:42:49.882779+00:00, confidence not recorded.
  - readme: https://github.com/foliojs/fontkit (fetched 2026-08-28T04:05:19.771767+00:00, sha 52d1dfa61d7a)
  - registry_npm: https://registry.npmjs.org/fontkit (fetched 2026-08-29T11:16:24.771069+00:00, sha 4621c7b4c4e1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
