ตัวอักษรประกอบ
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://unicodefyi.com/iframe/glossary/ligature/" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://unicodefyi.com/glossary/ligature/
Add a dynamic SVG badge to your README or docs.
[](https://unicodefyi.com/glossary/ligature/)
Use the native HTML custom element.
อักขระตั้งแต่สองตัวขึ้นไปที่รวมเข้าเป็น glyph เดียว อาจเป็นการเชื่อมแบบตัวพิมพ์ (fi → fi ผ่าน OpenType) หรืออักขระ Unicode (fi U+FB01) อักษรอาหรับใช้ตัวเชื่อมแบบบังคับ
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 |
คำศัพท์ที่เกี่ยวข้อง
เพิ่มเติมใน การออกแบบตัวอักษร
CSS @font-face descriptor specifying which Unicode code points a font should cover. …
Em: ความกว้างเท่ากับขนาดฟอนต์ En: ครึ่งหนึ่งของ em ใช้กำหนดความกว้างของ em dash, em space, en space …
The mechanism by which a rendering engine substitutes glyphs from a secondary …
Modern font format developed by Microsoft and Adobe supporting up to 65,535 …
ทิศทางของข้อความที่อักขระไหลจากขวาไปซ้าย ใช้กับภาษาอาหรับ ฮีบรู Thaana และอักษรอื่นๆ ต้องใช้อัลกอริทึม Bidirectional เพื่อแสดงผลอย่างถูกต้อง
Fonts downloaded by the browser to render text, declared via CSS @font-face. …
การปรับระยะห่างระหว่างคู่อักขระเฉพาะเพื่อความสวยงามทางสายตา (เช่น AV, To, LT) เป็นคุณสมบัติของฟอนต์ ไม่ใช่แนวคิด Unicode แต่มีผลต่อการแสดงผลข้อความ Unicode
U+2026 HORIZONTAL ELLIPSIS (…) อักขระเดี่ยวที่แทนที่จุดสามจุด ถูกต้องตามหลักการพิมพ์และนับเป็น 1 อักขระแทนที่จะเป็น 3
U+00A0 ช่องว่างที่ป้องกันการขึ้นบรรทัดใหม่ที่ตำแหน่งนั้น HTML: ใช้ระหว่างตัวเลขและหน่วย (100 km) ในชื่อเฉพาะ (Mr. Smith) และหลังคำย่อ
รูปแบบตัวพิมพ์ใหญ่ที่มีความสูงเท่ากับตัวพิมพ์เล็ก CSS: font-variant: small-caps Unicode ยังมีตัวอักษรพิมพ์ใหญ่ขนาดเล็กจริงใน Latin Extended (ᴀ–ᴢ)