Skip to content

Emoji: implement full-qualifier using combinations

This implements Pleroma.Emoji.fully_qualify_emoji/1, which will return the fully-qualified version of an emoji if it knows of one, or return the emoji unmodified if not. These are generated by generating combinations per emoji at compile-time: for each \uFE0F, all possible combinations of the character being removed or staying will be generated. This is made as an attempt to find all partially-qualified and unqualified versions of a fully-qualified emoji.

I have found no cases for which this would be a problem, and for which it would not match, after browsing the entire emoji list in emoji-test.txt. This is safe, and, sadly, most likely the sanest too.

Merge request reports