From b4097623e582cac9483059366ae67fe97ffa5fcb Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Fri, 27 Jun 2025 08:00:27 +0100 Subject: [PATCH] LibWeb: Disable font kerning if text-rendering is set to `optimizeSpeed` If `font-kerning` is set to `normal` and `text-rendering` is set to `optimizeSpeed` then kerning is now disabled. --- Libraries/LibWeb/Layout/InlineLevelIterator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Libraries/LibWeb/Layout/InlineLevelIterator.cpp b/Libraries/LibWeb/Layout/InlineLevelIterator.cpp index e7e8ae9010a..d9369d116f3 100644 --- a/Libraries/LibWeb/Layout/InlineLevelIterator.cpp +++ b/Libraries/LibWeb/Layout/InlineLevelIterator.cpp @@ -425,7 +425,9 @@ HashMap InlineLevelIterator::shape_features_map() const // FIXME: vkrn should be enabled for vertical text. switch (computed_values.font_kerning()) { case CSS::FontKerning::Auto: - // FIXME: Use a heuristic to determine whether to enable kerning. + // AD-HOC: Disable kerning if font-kerning is set to normal and text rendering is set to optimize speed. + features.set("kern"sv, computed_values.text_rendering() != CSS::TextRendering::Optimizespeed ? 1 : 0); + break; case CSS::FontKerning::Normal: features.set("kern"sv, 1); break;