Files
sousa-gecko/testing/web-platform/tests/css/css-inline/alignment-baseline/alignment-baseline-horizontal-002.html
T
Sajid Anwar a3e1d680bb Bug 2010717 - Implement alignment-baseline: alphabetic/ideographic/central/mathematical/hanging. r=layout-reviewers,firefox-style-system-reviewers,dshin
Also adds WPT reftests to validate alignment behavior in horizontal and vertical
writing modes with the different `alignment-baseline` values. Additionally:

- The `alignment-baseline: middle` tests have failing expectations. This is
  because the existing implementation does not match the css-inline-3 definition
  (which the new WPTs follow). See Bug 2030203.

- The WidthTest-Regular.otf support font was updated to remove its unusual
  ideographic-under baseline value, which affected its synthesized central
  baseline. With the new support for `alignment-baseline: central`, this broke a
  number of `text-combine-upright-compression-*` WPT reftests. The non-centered
  baseline values were removed from this test using FontForge, so that the
  synthesized central baseline matched the expectation of the test references.

Differential Revision: https://phabricator.services.mozilla.com/D292136
2026-05-19 13:49:52 +00:00

48 lines
1.9 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<link rel="help" href="https://drafts.csswg.org/css-inline-3/#alignment-baseline-property">
<link rel="match" href="alignment-baseline-horizontal-002-ref.html">
<link rel="stylesheet" href="/fonts/baseline-diagnostic/baseline-diagnostic-font.css">
<script src="support/variant-class.js"></script>
<meta name="assert" content="alignment-baseline affects the vertical position of horizontal text with a different baseline set than its parent" />
<meta name="flags" content="image" />
<meta charset="utf-8">
<meta name="variant" content="?class=baseline">
<meta name="variant" content="?class=text-bottom">
<meta name="variant" content="?class=alphabetic">
<meta name="variant" content="?class=ideographic">
<meta name="variant" content="?class=middle">
<meta name="variant" content="?class=central">
<meta name="variant" content="?class=mathematical">
<meta name="variant" content="?class=hanging">
<meta name="variant" content="?class=text-top">
<style>
:root {
font: 200px/1 'BaselineDiagnostic';
}
#target {
font-size: 0.5rem;
}
img {
width: 64px;
height: 64px;
}
.baseline :is(#target, img) { alignment-baseline: baseline; }
.text-bottom :is(#target, img) { alignment-baseline: text-bottom; }
.alphabetic :is(#target, img) { alignment-baseline: alphabetic; }
.ideographic :is(#target, img) { alignment-baseline: ideographic; }
.middle :is(#target, img) { alignment-baseline: middle; }
.central :is(#target, img) { alignment-baseline: central; }
.mathematical :is(#target, img) { alignment-baseline: mathematical; }
.hanging :is(#target, img) { alignment-baseline: hanging; }
.text-top :is(#target, img) { alignment-baseline: text-top; }
</style>
</head>
<body>
<span id="container">X<span id="target">X</span><img src="/images/grgr-256x256.png"></span>
</body>
</html>