Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c479f0fb22bf0e4c7b15074191592c3d5bf1b75d
https://github.com/WebKit/WebKit/commit/c479f0fb22bf0e4c7b15074191592c3d5bf1b75d
Author: Vitor Roriz <[email protected]>
Date: 2026-04-27 (Mon, 27 Apr 2026)
Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Source/WebCore/platform/graphics/FontCascade.cpp
M Source/WebCore/platform/graphics/FontCascade.h
M Source/WebCore/platform/graphics/FontCascadeInlines.h
M Source/WebCore/platform/graphics/WidthIterator.cpp
Log Message:
-----------
(REGRESSION): 9
imported/w3c/web-platform-tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-00
tests are constant IMAGE failures)
rdar://175668616
Reviewed by Ryosuke Niwa.
CoreText applies Bidi_Mirroring_Glyph during CTFontShapeGlyphs when
shaping with kCTFontShapeRightToLeft. WebKit was also calling u_charMirror
in the simple text path (WidthIterator), causing double mirroring that
cancelled out the intended mirror.
We are introducing mirrorCharacterIfNeeded() gated on
HAVE(CORE_TEXT_BIDI_MIRRORING)
to skip WebKit's manual mirroring when CoreText handles it during shaping.
* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::glyphDataForCharacter):
(WebCore::mirrorCharacterIfNeeded):
* Source/WebCore/platform/graphics/FontCascade.h:
* Source/WebCore/platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
Canonical link: https://commits.webkit.org/312179@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications