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.