Skip to content

[feaLib] funny potential miscompilation when merging single-sub and ligature rules #3845

@cmyr

Description

@cmyr

in #3805, the behaviour of feaLib was changed so that mixed single-and-ligature rules would be combined into a single ligature lookup.

This can interact with the behaviour of the aalt feature. Consider the following example:

feature aalt {
    feature clig;
    sub x by z;
} aalt;

feature clig {
    sub a by b; # we expect this to be in aalt, but because it gets compiled
                # as a ligature rule this doesn't happen
    sub e l f by z;
} clig;

Here, per the spec, we expect that the single sub rule in the calt feature is added to aalt; however since we are actually compiling it as a ligature substitution, this doesn't happen.

Do we care?

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