Description of problem: Tried entering emojis in libreoffice applications. When user tries to enter an emoji, some garbage character gets added in case of some. Also sometimes, some emojis get added twice. Please refer attached screenshot.
Version-Release number of selected component (if applicable):
[test@localhost ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.0 Beta (Ootpa) - beta 1.3 build.
Steps to Reproduce:
1. launch oowriter
2. press ctrl-shift-e followed by keyword, for e.g. boy
3. hit space twice
4. hit enter
some garbage characters get added with emoji.
There should not be any garbage character or double insertion of emoji.
If I do it in gedit, and cut and paste "👦🏻" from there to writer it happens too, so its not any problem with the input method. Seems there really are two chars there, Unicode Character 'BOY' (U+1F466) followed by Unicode Character 'EMOJI MODIFIER FITZPATRICK TYPE-1-2' (U+1F3FB) so its on the render side of things
If I erase all emoji fonts except for Symbola, then I get the same bustage in gedit as well as LibreOffice, so a key problem seems to be font selection
The key font we want to use is a non-outline font so is rejected by LibreOffice as a candidate, so we'd have to relax that restriction and tweak things to bubble the font down to our cairo renderer. The good news is that if we can get it there, then it seems to render fine
implemented upstream as https://cgit.freedesktop.org/libreoffice/core/commit/?id=dcf7792da2aa2a1ef774a124f7b21f68fff0fd15
Created attachment 1611638 [details]
backport of render + various ibus and fontconfig tweaks to get it all to work
In the OP steps, I couldn't use CTRL-SHIFT-e, but I did use :<emoji name>: and as soon as I entered the second colon, I got the emoji and tried to reproduce the bug. I used writer 22.214.171.124-20 and it looks like it is fixed.