ligature : Java Glossary


Ligatures are designed to correct awkward letter pair combinations where typeset letters can’t be made to snuggle neatly with kerning.
Appearance Short For HTML entity Unicode
Æ AE Æ \u00c6
æ ae æ \u00e6
ΠOE Π\u0152
œ oe œ \u0153
ff ff \ufb00
fi fi \ufb01
fl fl \ufb02
ffi ffi \ufb03
ffl ffl \ufb04
ft ſt \ufb05
st st \ufb06
ß ss ß \u00df German ss Eszett, Scharfes S. It is more like an extra letter of the alphabet than a ligature, since the meaning of words can change when it is used. It has no equivalent upper case form.
tt  \ue70e unofficial in private area
th not available.
fj not available.

Why so Few Ligatures?

Unicode has more symbols than you could shake a stick at, but is barren when it comes to ligatures. Why is this? In other languages, especially Arabic, which simulates hand writing, the ligature problem is explosively large, so the Unicode people decided to leave most of the ligatures out of Unicode and simply allow the typesetting or browser software to deal with them, inserting ligatures using its own rules from documents encoded in ligature-free Unicode.

Exchange documents should not contain ligatures. They should be inserted at the last second by the font rendering software using its own rules, much the way it positions characters and chooses their sizes. The ligatures that do exist in Unicode are there primarily for legacy reasons.


If your font does not have ligatures, you can fake ligatures with kerning to squeeze letters closer together than normal. You do that by composing a GlyphVector where you manually select the glyphs and manually position them. Then you feed that to  Graphics2D.drawGlyphVector ( GlyphVector g, float x, float y).

Learning More

Oracle’s Javadoc on GlyphVector class : available:

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number