How to opentype ligature features: complete reference
- Step 1liga (Standard Ligatures) — Default on. Combines fi, fl, ffi, ffl into single glyphs. CSS: font-feature-settings: 'liga' 1; (or font-variant-ligatures: common-ligatures).
- Step 2calt (Contextual Alternates) — Default on. Powers context-aware substitutions like Arabic shaping or signature-script joins. CSS: font-feature-settings: 'calt' 1;.
- Step 3dlig (Discretionary Ligatures) — Default off. Optional decorative ligatures (ck, st in display fonts). CSS: font-feature-settings: 'dlig' 1; (or font-variant-ligatures: discretionary-ligatures).
Frequently asked questions
What's hlig?+
Historical Ligatures — long-s ligatures and other archaic typography. Default off. Niche use for historical reproduction documents (hist with old-style book design).
What's rlig?+
Required Ligatures — script-essential ligatures that must always render (Arabic and Devanagari script integrity). Default on; disabling breaks script rendering. Don't disable rlig for complex-script content.
Browser support for font-variant-ligatures?+
97%+ globally. The high-level alias (common-ligatures, discretionary-ligatures, etc.) is cleaner CSS but slightly less supported than font-feature-settings (99%). Use font-feature-settings if you need maximum compatibility.
Can I enable just dlig without liga?+
Technically yes: font-feature-settings: 'liga' 0, 'dlig' 1;. But unusual — most discretionary ligatures complement standard ones. Disabling liga while keeping dlig produces inconsistent typography.
Privacy first
Every JAD Font tool runs entirely in your browser using opentype.js and the wawoff2 WASM Brotli encoder. Your fonts never leave your device — verified by zero outbound network requests during processing.