Bug 1492022

Summary: Many emoji sequences are not rendered correctly with the “Emoji One” font. But they render correctly with the “Noto Color Emoji” font
Product: [Fedora] Fedora Reporter: Mike FABIAN <mfabian>
Component: eosrei-emojione-fontsAssignee: Bastien Nocera <bnocera>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: bnocera, mfabian, petersen, pwu, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-15 10:10:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
emoji-f27-emoji-one-noto-color-emoji-comparison.png
none
emoji-variants-ibus-emoji-emoji-one-font.png none

Description Mike FABIAN 2017-09-15 09:41:43 UTC
Created attachment 1326375 [details]
emoji-f27-emoji-one-noto-color-emoji-comparison.png

Many emoji sequences are not rendered correctly with the “Emoji One”
font. But the render correctly with the “Noto Color Emoji” font.

I am using Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso

Installed in qemu using:

nice -n 19 ionice -c 3 qemu-kvm -machine pc-i440fx-2.4 -enable-kvm -global qxl.ram_size=1x1024 -m 2048M -smp 2 -drive file=./Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso.qcow2,index=0,media=disk,cache=unsafe -localtime -serial file:/tmp/qemu-Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso.qcow2-output.log -name Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso.qcow2 -cdrom /local/mfabian/iso/Fedora-27/Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso -boot c -spice port=6002,disable-ticketing,streaming-video=off -vga qxl -display vnc=:6 -net nic -net user,hostname=Fedora-Workstation-netinst-x86_64-27-20170910.n.0.iso.qcow2,hostfwd=tcp::5558-:22 -monitor stdio -usb -usbdevice mouse -soundhw all

[mfabian@Fedora-Workstation-netinst-x86_6 ~]$ rpm -q fontconfig pango cairo eosrei-emojione-fonts google-noto-emoji-fonts 
fontconfig-2.12.5-1.fc27.x86_64
pango-1.40.12-1.fc27.x86_64
cairo-1.15.8-1.fc27.x86_64
eosrei-emojione-fonts-1.0-5.fc27.noarch
google-noto-emoji-fonts-20170827-1.fc27.noarch
[mfabian@Fedora-Workstation-netinst-x86_6 ~]$ cat /etc/fedora-release 
Fedora release 27 (Twenty Seven)
[mfabian@Fedora-Workstation-netinst-x86_6 ~]$ 

See attached screenshot.

The left side of the screenshot shows font “Emoji One”.

To make the right side of the screenshot, I removed the “Emoji One” font
by doing

    sudo rpm -e --nodeps eosrei-emojione-fonts

Then “Noto Color Emoji” will be used because it is the next available
preferred emoji font in the fontconfig setup.

With the “Noto Color Emoji” font, the rendering of all emoji sequences is perfect.

On top of that, the “Noto Color Emoji” font has all the new emoji
which have been added to Unicode 10.0.0 whereas “Emoji One” is
only supporting the emoji which already were in Unicode 9.0.0.

So maybe it would be a good idea to give “Noto Color Emoji”
higher priority in the default fontconfig setup ...

Comment 1 Bastien Nocera 2017-09-15 10:10:07 UTC
(In reply to Mike FABIAN from comment #0)
> Created attachment 1326375 [details]
> emoji-f27-emoji-one-noto-color-emoji-comparison.png
> 
> Many emoji sequences are not rendered correctly with the “Emoji One”
> font. But the render correctly with the “Noto Color Emoji” font.

They are rendered correctly given the level of Unicode support, and what the font supports. Sure there are glyphs missing, but it's not a misrendering.

> So maybe it would be a good idea to give “Noto Color Emoji”
> higher priority in the default fontconfig setup ...

Not for me to decide. I'll let you file a separate bug about this problem.

The Emoji One font is the default and recommended one because it's one for which the visual identity is not already used in another OS.

The best way to get this problem fixed would be to work on a PNG-in-TTF build for the Emoji Two font. I currently don't have any time to work on this though.

Comment 2 Mike FABIAN 2017-09-15 11:01:32 UTC
http://www.unicode.org/Public/emoji/4.0/emoji-zwj-sequences.txt

already contained:

1F3CC 1F3FB 200D 2640 FE0F                  ; Emoji_ZWJ_Sequence  ; woman golfing: light skin tone                                 # 8.0  [1] (🏌🏻‍♀️)

So this sequence was already there in Unicode 9.0.0.

Comment 3 Mike FABIAN 2017-09-28 10:20:30 UTC
Created attachment 1331912 [details]
emoji-variants-ibus-emoji-emoji-one-font.png

This is how the broken sequences look like in "ibus emoji" when
using the "Emoji One" font.