liga, ccmp, rligThe following tables compare the display of liga, ccmp and rlig 1. by default, 2. by explicit enabling and 3. by explicit disabling. The explicit enabling/disabling is achieved with the CSS property font-feature-settings and its variants -webkit-font-feature-settings etc.
ligaThe OpenType feature liga should be enabled by default, see OpenType Layout tag registry, Tag: 'liga'. The font Lato, which is embedded in the following sample, uses liga in an ‹fi› ligature.
| Embedded font | Expected display† | Actual display | |||
|---|---|---|---|---|---|
| Chrome on Windows | Chrome on OS X | Chromium on Ubuntu | |||
| Default | find | ||||
liga enabled |
find | ||||
liga disabled |
find | ||||
ccmpThe OpenType feature ccmp should be enabled by default, see OpenType Layout tag registry, Tag: “ccmp”. The font Charis SIL, which is embedded in the following sample, uses ccmp for the tone letters.
| Embedded font | Expected display† | Actual display | |||
|---|---|---|---|---|---|
| Chrome on Windows | Chrome on OS X | Chromium on Ubuntu | |||
| Default | ɔ˧˩˧ | ||||
ccmp enabled |
ɔ˧˩˧ | ||||
ccmp disabled |
ɔ˧˩˧ | ||||
Note 2012-08-23: ccmp should also be enabled for the Latin script – see Features: Standard OpenType specification:
| Embedded font | Expected display† | Actual display | |||
|---|---|---|---|---|---|
| Chrome on Windows | Chrome on OS X | Chromium on Ubuntu | |||
| Default | ſitzen | ![]() |
|||
ccmp enabled |
ſitzen | ![]() |
|||
ccmp disabled |
ſitzen | ![]() |
|||
rligNote 2012-05-20: An OpenType renderer is likely to disregard the rlig feature for the Latin script – see Features: Standard OpenType specification, so if there is no ligature in the following sample, nothing is wrong (though IMO it would still be nice). Thanks to the commentator on Issue 22240 - chromium - Do ligature substitution on web content
The OpenType feature rlig should be enabled by default, see OpenType Layout tag registry, Tag: “rlig”. The font UnifrakturMaguntia, which is embedded in the following sample, uses rlig for forcing ligatures where – as in the following sample that uses the code ſitzen – a ZWJ character is used (in order to comply with the implementation notes of the Unicode Standard 6.0.0, p. 528).
| Embedded font | Expected display† | Actual display | |||
|---|---|---|---|---|---|
| Chrome on Windows | Chrome on OS X | Chromium on Ubuntu | |||
| Default | ſitzen | ![]() |
|||
rlig enabled |
ſitzen | ||||
rlig disabled |
ſitzen | ||||
† The pictures for the expected display are screenshots from Firefox 10+.
For further comparison, there is another page that also uses the additional CSS rule text-rendering: optimizeLegibility;: OpenType features samples: liga, ccmp, rlig (optimizeLegibility).