[Webkit-unassigned] [Bug 191976] [FreeType] Color emoji not properly supported

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 2 14:50:01 PST 2019


https://bugs.webkit.org/show_bug.cgi?id=191976

--- Comment #16 from Myles C. Maxfield <mmaxfield at apple.com> ---
Comment on attachment 357679
  --> https://bugs.webkit.org/attachment.cgi?id=357679
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=357679&action=review

I think this is the wrong direction.

> Source/WebCore/platform/graphics/Font.cpp:569
> +        return FontCache::singleton().systemFallbackForCharacters(description, this, isForPlatformFont, false, &codeUnit, 1);

We usually use 2-value enums so it's clear at the calling site what the meaning of "false" is.

> Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:49
> +static bool characterSequenceIsEmoji(const Vector<UChar, 4>& normalizedCharacters, int32_t normalizedLength)

This logic shouldn't be necessary; WebKit shouldn't be in the business of iterating through strings codepoint-by-codepoint.

> Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:136
> +    if (auto systemFallback = FontCache::singleton().systemFallbackForCharacters(m_fontDescription, baseFont, false, isEmoji, characters, length)) {

There are color fonts that don't support emoji, and it's conceptually possible to have an emoji font that isn't color. It isn't right to pass "isEmoji" to "bool coloredFont"

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190102/774fe49d/attachment.html>


More information about the webkit-unassigned mailing list