[webkit-changes] [WebKit/WebKit] 07b1f5: Ignore bidi control characters while collecting fa...

Amanda Falke noreply at github.com
Thu May 25 01:30:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07b1f5f81cef6ffba197c22cc94d52526da87709
      https://github.com/WebKit/WebKit/commit/07b1f5f81cef6ffba197c22cc94d52526da87709
  Author: Amanda Falke <afalke at igalia.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/glib/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt
    M LayoutTests/platform/glib/fast/text/unicode-variation-selector-expected.txt
    M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp

  Log Message:
  -----------
  Ignore bidi control characters while collecting fallback fonts
https://bugs.webkit.org/show_bug.cgi?id=257200

Reviewed by Myles C. Maxfield.

https://drafts.csswg.org/css-text-3/#white-space-processing
"Unsupported Default_ignorable characters must be ignored for text rendering."

Fixes test fast/text/fallback-font-and-zero-width-glyph.html; ignores
bidi control characters while collecting fallback fonts.

Per 245154 at main, taking zero width glyphs (e.g. control chars) into
consideration while collecting fallback font information may result in
incorrect line height and baseline positioning; an alternative
mentioned there was to check against unicode ranges to omit
certain glyphs.

246121 at main replaced our previous hardcoded list of Default_ignorable
characters with the helper function,FontCascade::isCharacterWhoseGlyphsShouldBeDeletedForTextRendering
(also refactored in 260081 at main).

That helper function covers the use case 'rightToLeftOverride' which the
test `LayoutTests/fast/text/fallback-font-and-zero-width-glyph.html`
relies on. Test now passing.

* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::fallbackFontsForRunWithIterator):
Use FontCascade::isCharacterWhoseGlyphsShouldBeDeletedForTextRendering
to ignore default ignorable characters when collecting fallback fonts.

* LayoutTests/platform/glib/TestExpectations:
Update, as fast/text/fallback-font-and-zero-width-glyph.html now passing.

* LayoutTests/platform/glib/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
Update expectations for formatting characters; see ranges at https://www.compart.com/en/unicode/category/Cf.

* LayoutTests/platform/glib/fast/text/unicode-variation-selector-expected.txt:
Update expectations; Variation selectors default ignorable code points
were updated in 246121 at main, see
'LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/default-ignorable-complex.html`

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




More information about the webkit-changes mailing list