Ligatur
Zwei oder mehr Zeichen, die zu einer einzigen Glyphe zusammengefasst werden. Kann typografisch sein (fi → fi via OpenType) oder ein Unicode-Zeichen (fi U+FB01). Arabische Schrift verwendet obligatorische Ligaturen.
What is a Ligature?
A ligature is a single glyph that replaces a sequence of two or more characters to improve their visual appearance or historical authenticity. The classic example is the fi ligature: when "f" and "i" appear together, the hook of the lowercase f can collide with the dot of the i. A well-designed font replaces this pair with a single unified glyph (fi) where the dot is absorbed into the f's arc.
Ligatures exist on a spectrum from purely aesthetic to semantically meaningful. Typographic ligatures (fi, fl, ffi, ffl, ft) exist solely for visual harmony. Historical ligatures like æ (ae) and œ (oe) started as ligatures but became independent characters with their own Unicode code points and linguistic identities.
Unicode Ligature Characters
Several common ligatures are encoded as standalone Unicode characters:
| Ligature | Unicode | Composed From |
|---|---|---|
| fi | U+FB01 | f + i |
| fl | U+FB02 | f + l |
| ffi | U+FB03 | f + f + i |
| ffl | U+FB04 | f + f + l |
| ſt | U+FB05 | long s + t |
| æ | U+00E6 | a + e (now independent) |
| œ | U+0153 | o + e (now independent) |
| ß | U+00DF | originally s + z ligature |
| & | U+0026 | et (Latin "and") ampersand |
The Unicode Standard includes these for compatibility with legacy encodings, but recommends using the component characters (fi) rather than the ligature code point (fi) for modern text — the font's OpenType rendering engine will apply the ligature automatically when appropriate.
How OpenType Ligatures Work
Modern fonts implement ligatures through OpenType GSUB (Glyph Substitution) tables. The font specifies rules: "when glyph IDs 42 and 46 appear in sequence, substitute glyph ID 312." This substitution happens invisibly in the text shaping pipeline.
OpenType defines several ligature feature tags:
liga— Standard ligatures (fi, fl): on by default in most renderersdlig— Discretionary ligatures (ct, st, Th): must be explicitly enabledhlig— Historical ligatures (long-s forms): for scholarly usecalt— Contextual alternates: character-level substitutions by context
Enable them in CSS:
/* Enable all standard and discretionary ligatures */
p {
font-variant-ligatures: common-ligatures discretionary-ligatures;
/* or shorthand: */
font-feature-settings: "liga" 1, "dlig" 1;
}
/* Disable ligatures (e.g., in code blocks) */
code {
font-variant-ligatures: no-common-ligatures;
}
Coding Fonts and Ligatures
Programming fonts like Fira Code, JetBrains Mono, and Cascadia Code use ligatures to render multi-character operators as unified symbols:
| Source Code | Rendered Ligature |
|---|---|
!= |
≠ |
>= |
≥ |
-> |
→ |
=> |
⇒ |
// |
∥ |
These are display-only — the underlying text remains !=, not ≠. This means search, copy-paste, and compilation are unaffected.
Quick Facts
| Property | Value |
|---|---|
| Classic typographic ligatures | fi, fl, ffi, ffl, ft, fj |
| Unicode ligature block | Alphabetic Presentation Forms (U+FB00–U+FB06) |
| OpenType feature for standard ligatures | liga |
| OpenType feature for discretionary | dlig |
| Ligatures in search | May break search; best to use component characters in HTML |
| Popular coding fonts with ligatures | Fira Code, JetBrains Mono, Cascadia Code, Hasklig |
| Historical origin | Medieval scribal practice of joining commonly paired letters |
Verwandte Begriffe
Mehr in Typografie
Gepaarte Satzzeichen, die direkte Rede oder Zitate einschließen. Unicode enthält gerade Anführungszeichen …
U+2026 HORIZONTALE AUSLASSUNGSPUNKTE (…). Ein einzelnes Zeichen, das drei Punkte ersetzt, typografisch …
Zeichen mit der Vorschubbreite null — beim Rendern unsichtbar, aber das Textverhalten …
CSS @font-face descriptor specifying which Unicode code points a font should cover. …
Ein Zeichen, das einem Buchstaben hinzugefügt wird, um Aussprache oder Bedeutung zu …
Em: eine Breite gleich der Schriftgröße. En: die Hälfte eines Em. Werden …
The mechanism by which a rendering engine substitutes glyphs from a secondary …
Satzzeichen, die zum Trennen von Satzteilen oder zur Angabe von Bereichen verwendet …
U+00A0. Ein Leerzeichen, das einen Zeilenumbruch an seiner Position verhindert. HTML: . …
Die visuelle Darstellung eines Zeichens, wie sie von einer Schriftart gerendert wird. …