Bug 104542

Summary: Color emojis are not displayed
Product: cairo Reporter: bodqhrohro
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Screenshot of gucharmap with broken glyphs

Description bodqhrohro 2018-01-08 23:24:33 UTC
Created attachment 136621 [details]
Screenshot of gucharmap with broken glyphs

Before updating to libcairo2 1.15.8-3 color emojis from Noto Color Emoji font were ignored, black ones from Symbola were used instead. Now all of emojis present in Noto Color Emoji are broken: they are not displayed neither black nor in color.

Distribution: Debian 10.
Comment 1 bodqhrohro 2018-01-17 14:49:03 UTC
This happens only with disabled font hinting. When enable hinting, at least slight one, emojis become displayed. However, I don't see a reason for bitmaps to be dependent on hinting.
Comment 2 Star Brilliant 2018-04-21 11:19:12 UTC
You may want to enable hinting specifically for emoji fonts.

Here is my /etc/fonts/conf.d/68-color-emoji.conf

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
	<match target="font">
		<test name="family" compare="contains">
			<string>Emoji</string>
		</test>
		<edit name="hinting" mode="assign">
			<bool>true</bool>
		</edit>
		<edit name="hintstyle" mode="assign">
			<const>hintslight</const>
		</edit>
		<edit name="embeddedbitmap" mode="assign">
			<bool>true</bool>
		</edit>
	</match>
</fontconfig>
Comment 3 GitLab Migration User 2018-08-25 13:56:35 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/280.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.