Subject: Re: bug#39799: 28.0.50; Most emoji sequences don’t render correctly

From: Eli Zaretskii <[email-masked]>
Date: Tue, 21 Sep 2021 21:20:07 +0300

> Date: Tue, 21 Sep 2021 19:50:00 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked]
> 
> I will take a look at the code.

AFAICT, the composition machinery doesn't allow to have a rule with
non-zero PREV-CHARS where PREV-CHARS are supposed to match characters
that have their own rules in composition-function-table.  Such rules
are never considered, because once the rules for a character are
processed, we never reconsider what to do with that character.  I will
ask Kenichi Handa whether my conclusion is indeed correct, but for
now, I think we should take the fire escape you mentioned earlier:

>     >> Iʼve just tried adding "\N{U+1F469}\N{U+1F3FE}" to the composition
>     >> function table regexp for U+1F469 manually, and now I get correct
>     >> composition. That means we could process the
>     >> RGI_Emoji_Modifier_Sequence entries from emoji-sequences.txt with
>     >> emoji-zwj.awk and add them, indexed on the base character (and remove
>     >> the above code).
>     >>
> 
> This turns out to be a pretty small change, so if we donʼt get to the
> bottom of it we have an alternative.

AFAIU, this means we will add 1F3FB..1F3FF to the characters that can
follow each of those which have rules with zero lookback.

Thanks.