Typographic ligature (source code)

= Typographic ligature

A <typographic ligature> combines two or more written forms into a single <glyph>. A familiar example is an “fi” shape joining the end of “f” to the following “i”. Its use can improve spacing or avoid a collision between the two shapes.

An <OpenType> shaping system can first map the separate <text characters> “f” and “i” to their default <glyph indices>, then apply a <glyph substitution> that replaces that pair by one ligature <glyph index>. The stored text need not be replaced by a special ligature character. Selection and copying can therefore preserve the original two-character sequence even though the display contains one <glyph>.<Glyph Substitution Table by Microsoft>[Overview, characters versus glyphs; Lookup Type 4, Ligature Substitution Subtable]{ref}

A <typographic ligature> also need not be produced merely by moving two <glyphs> closer together: substitution changes the selected form, whereas positioning changes where selected forms are drawn.