Blink blocks all the non-scalable fonts), color or not. Currently, fontconfig treats any bitmap font as non-scalable. As a result, Blink (used by Chrome and Opera) rejects color fonts in Google's proposed color bitmap font format (such as Noto Color Emoji). By treating color bitmap fonts as scalable, we can get 'Noto Color Emoji' and other color fonts in the same format to be accepted by Blink. An alternative is to change fontconfig to introduce 'FC_COLOR' and let clients such as Blink accept color fonts (bitmap or not). My patch for that is http://goo.gl/rDRffN In the meantime, fontconfig on ChromeOS uses the following addition to local.conf to treat Noto Color Emoji as scalable. See http://crbug.com/386772#c15 <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="scan"> <test name="family"> <string>Noto Color Emoji</string> </test> <edit name="scalable" mode="assign"> <bool>true</bool> </edit> </match> <match target="pattern"> <test name="prgname"> <string>chrome</string> </test> <edit name="family" mode="prepend_first"> <string>Noto Color Emoji</string> </edit> </match> </fontconfig>
Fixed in: commit 66db69a6d991945f96feb1da683a2e04ea396842 Author: Behdad Esfahbod <behdad@behdad.org> Date: Sun Dec 14 13:55:53 2014 -0800 Treat color fonts as scalable All color fonts are designed to be scaled, even if they only have bitmap strikes. Client is responsible to scale the bitmaps. This is in constrast to non-color strikes... Clients can still use FC_OUTLINE to distinguish bitmap vs outline fonts. Previously FC_OUTLINE and FC_SCALABLE always had the same value. Now FC_SCALABLE is set to (FC_OUTLINE || FC_COLOR). Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=87122 commit dbc7c4a2cfe1ba6c537957b3b68b625403ca99fd Author: Behdad Esfahbod <behdad@behdad.org> Date: Sun Dec 14 13:39:41 2014 -0800 Add FC_COLOR Only adds "color" to pattern if FreeType version supports color. Based on patch from Jungshik Shin.
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.