From 6eaccbc297dee9c1189a008ad846efa6b5a245f2 Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Wed, 5 Jun 2024 17:00:57 +0200 Subject: [PATCH] layout: Don't default to fallback fonts for spaces (#32442) Previously, when deciding the font for a space, preference was given to the previous used font. This could means that the font chosen was a fallback font instead of the first font that supporting the space character in the font preference list. This caused an issue rendering emojis surrounded by spaces with "Noto Color Emoji" which has a space character the same size as the emoji, leading to too much spacing between them. Co-authored-by: Rakhi Sharma --- components/layout_2020/flow/inline/text_run.rs | 2 +- tests/wpt/meta/css/CSS2/fonts/fonts-012.xht.ini | 2 -- tests/wpt/meta/css/css-fonts/font-face-unicode-range-2.html.ini | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 tests/wpt/meta/css/CSS2/fonts/fonts-012.xht.ini delete mode 100644 tests/wpt/meta/css/css-fonts/font-face-unicode-range-2.html.ini diff --git a/components/layout_2020/flow/inline/text_run.rs b/components/layout_2020/flow/inline/text_run.rs index e916be287c5..5ac92e91f16 100644 --- a/components/layout_2020/flow/inline/text_run.rs +++ b/components/layout_2020/flow/inline/text_run.rs @@ -386,7 +386,7 @@ fn char_prevents_soft_wrap_opportunity_when_before_or_after_atomic(character: ch /// character are not rendered at all, so it doesn't matter what font we use to render them. They /// should just be added to the current segment. fn char_does_not_change_font(character: char) -> bool { - if character.is_whitespace() || character.is_control() { + if character.is_control() { return true; } if character == '\u{00A0}' { diff --git a/tests/wpt/meta/css/CSS2/fonts/fonts-012.xht.ini b/tests/wpt/meta/css/CSS2/fonts/fonts-012.xht.ini deleted file mode 100644 index 5e35412a247..00000000000 --- a/tests/wpt/meta/css/CSS2/fonts/fonts-012.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[fonts-012.xht] - expected: FAIL diff --git a/tests/wpt/meta/css/css-fonts/font-face-unicode-range-2.html.ini b/tests/wpt/meta/css/css-fonts/font-face-unicode-range-2.html.ini deleted file mode 100644 index 3f91daab725..00000000000 --- a/tests/wpt/meta/css/css-fonts/font-face-unicode-range-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-face-unicode-range-2.html] - expected: FAIL