commit d88d4c8d3d716710ecfc174106db667e9378dd19
parent 878f891865e5df2c63e9b807af23de7ffdba8ea0
Author: Sajid Anwar <sajidanwar94@gmail.com>
Date: Fri, 2 Jan 2026 10:27:53 +0000
Bug 2008335 - Fix boundary shaping WPT to properly test non-initial baseline-shift values. r=layout-reviewers,emilio,jfkthame
The CSS Text specification says that text shaping should be broken if
the `vertical-align` is not `baseline`. This WPT treated a `0` value as
separate from `baseline`, but the CSS 2 specification makes clear that a
value of `0` is equivalent to `baseline`, so text shaping shouldn't be
broken in this case.
Furthermore, the CSS Inline Layout Model Level 3 makes it clear that not
breaking is the correct behavior. With the introduction of the shorthand
syntax, `vertical-align: 0` is equivalent to the initial value of
`baseline`, since `0` is the initial value of `baseline-shift`. So I've
modified this test to use a non-initial `baseline-shift` length to test
the shaping behavior.
Related clarification issue filed to the CSS Working Group:
https://github.com/w3c/csswg-drafts/issues/13277
Differential Revision: https://phabricator.services.mozilla.com/D277724
Diffstat:
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-002.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-002.html
@@ -14,7 +14,7 @@ body {
font: 36px test; /* use a font that includes ligatures for "fi" etc */
}
.a {
- vertical-align: 0; /* distinct from 'baseline', should break shaping */
+ vertical-align: 1em;
}
</style>
</head>
diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-002.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-002.ref.html
@@ -11,6 +11,7 @@ body {
font: 36px test; /* use a font that includes ligatures for "fi" etc */
}
.a {
+ vertical-align: 1em;
display: inline-block;
}
</style>