Embedded font (Lato) | Chromium/Google Chrome display | Expected display (Firefox) | |
---|---|---|---|
Default | infidel | ![]() |
![]() |
letter-spacing: 0.3em;
), normal Latin typography demands that ligatures be broken up into the single letters that constitute them.text-rendering: optimizeLegibility;
(which is really another bug, see Issue 22240 - chromium - Do ligature substitution on web content).
The requirement that ligatures with increased letter-spacing be broken up into the single glyphs that constitute them does not apply to all kinds of ligatures. In the OpenType Layout, for instance, it applies to the ligatures that are defined in features such as liga
, hlig
or dlig
, but not to the ligatures that are defined in ccmp
. Another type of ligatures that might be kept when letter-spacing is increased are the ligatures that are explicitly called for by using a ZWJ (I currently do not know which OpenType Layout feature is appropriate for these; maybe ccmp
, aalt
or rlig
).
The requirement that ligatures with increased letter-spacing be broken up into the single glyphs that constitute them probably does not apply to all scripts. While it applies to the Latin script, other scripts may have other requirements. There is even a variant of the Latin script, the fraktur variant, that requires certain ligatures not to be broken up into the single glyphs that constitute them when letter-spacing is increased. Instead, the fraktur variant of the Latin script requires four special ligatures (<c, h>, <c, k>, <ſ, t> and <t, z>) to be kept as single glyphs when letter-spacing is increased. However, this does not directly affect this bug since the fraktur variant requires the normal ligatures (those that are encoded in liga
, e.g. <f, i>, <f, l>) to be broken up into the single glyphs that constitute them when letter-spacing is increased – exactly as in other variants of the Latin scrip –, so the four special ligatures of the fraktur variant should be encoded in a different OpenType Layout feature (probably in ccmp
).