Skip to content

Supported features and limitations

Latest release: 2.14.3-alpha.11.

fontdone is an alpha font engine with selected FreeType-compatible behavior. Use the compact APIs for glyph rendering, or review the individual function contracts when migrating an existing FreeType application.

Need Support and limits
TrueType/OpenType font bytes and collections Available through the compact Rust constructors
Glyph masks, bounding boxes, and advances Available; getmask/getbbox use the first Unicode scalar, getlength sums unkerned advances
Explicit glyph loading and rendering Available through the Rust face API and selected C/WASM calls
Node.js and browser rendering One npm package with initialization, face handles, and owned bitmap results
Other font formats Selected BDF, WinFNT, Type 1, CFF, PCF, and PFR routes in the FreeType-shaped APIs; not all compact constructors
Full FreeType replacement Partial; consult the per-function reference before migrating
Variable fonts and color fonts Partial; do not assume full feature coverage
Shaping, ligatures, bidi, fallback, paragraph layout Outside the compact API; use a shaping/layout library
WOFF/WOFF2 in compact constructors Not a supported application contract
Shared faces across threads Unsupported; open a separate face per thread
API/ABI stability Not promised between alpha versions

See the Rust guide, JavaScript guide, or C SDK guide for installation and lifecycle rules. The C SDK uses its own library name, fontdone_c_abi; it is not a system libfreetype replacement by filename.

For an exact FT_* call, consult the function reference. It distinguishes complete, partial, and planned behavior. A matching function name alone does not establish complete compatibility.

Verify your application's fonts, render modes, flags, errors, and platforms before deployment. The contributor evidence guide contains measured parity, coverage, and platform details; the roadmap tracks unfinished implementation work.