Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d00fe9e28b11e77857afbe966094a3c23c1cf306
      
https://github.com/WebKit/WebKit/commit/d00fe9e28b11e77857afbe966094a3c23c1cf306
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-07-30 (Wed, 30 Jul 2025)

  Changed paths:
    M 
LayoutTests/platform/glib/fast/text/combining-enclosing-keycap-expected.txt
    M Source/WebCore/platform/Skia.cmake
    M Source/WebCore/platform/SourcesSkia.txt
    M Source/WebCore/platform/graphics/FontCache.h
    M Source/WebCore/platform/graphics/skia/FontCacheSkia.cpp
    M Source/WebCore/platform/graphics/skia/FontCascadeSkia.cpp
    A Source/WebCore/platform/graphics/skia/SkiaSystemFallbackFontCache.cpp
    A Source/WebCore/platform/graphics/skia/SkiaSystemFallbackFontCache.h

  Log Message:
  -----------
  [Skia] Incorrect font rendering of composed characters with skia and certain 
fonts
https://bugs.webkit.org/show_bug.cgi?id=291272

Reviewed by Adrian Perez de Castro.

The problem happens with some sequences like "R̥g"
which is composed of characters (#x0052 #x0325)
LATIN CAPITAL LETTER R with COMBINING RING BELOW. Since the system
fallback only allows to check for a single character, if we find a font
that contains a glyph for 'R' but that can't render the combining
sequence we end up falling back to the last resort fallback font, which
depending in the system might not be able to render the sequence either.
So, when we fail to find a font that can render the sequence, we should
try to find another font in the system that contains all other
characters in the sequence as we do with cairo. But Skia API doesn't
allow to query a set of characters, we would need to call the
matchFamilyStyleCharacter() for every character which would be very
slow. We need to use fontconfig API for that, looking for a font that
contains all characters in the sequence or at least the one having more
charcter coverage. We can take advantage that we have to use fontconfig
API directly for system fallbacks to being back the FontSet cache that
will make it even faster. See https://bugs.webkit.org/show_bug.cgi?id=203544

Canonical link: https://commits.webkit.org/298033@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to