Skip to content

After ligatures are formed, additional ligatures may not be formed #545

@NorbertLindenberg

Description

@NorbertLindenberg

The attached font and HTML files show a bug that was found during development of a Burmese font. Burmese requires several ligatures of base consonants and subjoined consonants, or of subjoined consonants with medial consonants; additional ligatures may be used to express contextual glyph shapes or positioning. Burmese also requires combining series of above-base marks into combined glyphs for correct positioning. The glyph sequences being replaced by ligatures may sometimes overlap. It seems that in such cases the creation of ligatures may interfere with additional ligatures.

For example, in the very last cluster of the HTML file, the glyph sequence after reordering and kinzi formation is:
ra kinzi waMedial iMark

The first blwf lookup in the font replaces ra and waMedial with the ra_waMedial ligature:
ra_waMedial kinzi iMark

The second blwf lookup should replace kinzi and iMark with kinzi_iMark, but this doesn’t happen, and so both marks are positioned separately and thus in the same place.

This bug occurs in Firefox 56 and in Chrome 61.0.3163.100 on macOS 10.12.6; it does not occur in Safari 11.0 on the same macOS or in Edge 40.15063.0.0 on Windows 10 1703.

HarfBuzz bug.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions