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