How to ligatures: from hot metal to variable fonts
- Step 1Standard ligatures (liga) — fi, fl, ffi, ffl. Always-on by default. Disabling produces visible f-i kerning issues. Keep on for body text in 99% of cases.
- Step 2Discretionary ligatures (dlig) — Stylistic, optional. ck, st, sp ligatures in display fonts. Off by default — opt-in via CSS for headlines and editorial typography.
- Step 3Contextual alternates (calt) — Sophisticated context-driven substitutions. Powers proper script connections (signing fonts), Arabic letter shaping, OT-aware typography. Usually on by default.
Frequently asked questions
When should I turn off liga?+
Code displays where each character must be individually selectable, monospaced terminal fonts, programmatically-rendered text where the ligature confuses character-to-character mapping. Rarely needed for body text.
Why do designers love discretionary ligatures?+
They add subtle craftsmanship to display typography — elegant ck or st in serif fonts, or fi swashes in italic display fonts. Off by default because they look out of place in body text.
Are there language-specific ligatures?+
Yes — Arabic, Devanagari, Bengali, and other complex scripts require ligatures for proper rendering. The OpenType engine handles them via calt and language-specific features. Disabling these breaks the script.
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.