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

Reply via email to