layout: Make all word separators justification opportunities (#30866)

This change adapts both layout and legacy layout to the specification
which gives a list of word separators to use as justification
opportunities.
This commit is contained in:
Martin Robinson 2023-12-21 23:49:24 +01:00 committed by GitHub
parent 8e31daeb6b
commit 709d00583f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 150 additions and 37 deletions

View file

@ -250748,6 +250748,19 @@
],
{}
]
],
"text-justify-word-separators.html": [
"028b69e40e0c6761187bbb1435873fb5955ff67e",
[
null,
[
[
"/css/css-text/text-justify/text-justify-word-separators-ref.html",
"=="
]
],
{}
]
]
},
"text-spacing-trim": {
@ -418199,6 +418212,10 @@
"text-justify-none-001-ref.html": [
"c8500ac9f38a2a6c843e4bfbb383f6d20c77f8c3",
[]
],
"text-justify-word-separators-ref.html": [
"99154cff3923b181a080c218b6b399dbbc558761",
[]
]
},
"text-spacing-trim": {

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-text/#word-separator">
<meta name="assert" content="text-justify:inter-word should adjust spacing at all word separators.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
.justified {
font: 10px/1 Ahem;
text-align: justify;
text-justify: inter-word;
width: 120px;
border: solid 1px black;
}
</style>
</head>
<body>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
<div class="justified">XXXX XXXX XXXX</div>
</body>
</html>

View file

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Text 6.4. Justification Method: text-justify: inter-word</title>
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-text/#word-separator">
<link rel='match' href='text-justify-word-separators-ref.html'>
<meta name="assert" content="text-justify:inter-word should adjust spacing at all word separators.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
.justified {
font: 10px/1 Ahem;
text-align: justify;
text-justify: inter-word;
width: 120px;
border: solid 1px black;
}
/* Hide the word separators, in case the system doesn't
have an appropriate font installed and shows tofu.
Justification should still work in this case. */
.hidden {
color: transparent;
}
</style>
</head>
<body>
<!-- A normal space -->
<div class="justified">XXXX XXXX XXXX</div>
<!-- Non-breaking space -->
<div class="justified">XXXX<span class="hidden">&nbsp;</span>XXXX XXXX</div>
<!-- Ethiopic word space -->
<div class="justified">XXXX<span class="hidden">&#x1361;</span>XXXX XXXX</div>
<!-- Aegean word separators -->
<div class="justified">XXXX<span class="hidden">&#x10100;</span>XXXX XXXX</div>
<div class="justified">XXXX<span class="hidden">&#x10101;</span>XXXX XXXX</div>
<!-- Ugaritic word divider -->
<div class="justified">XXXX<span class="hidden">&#x1039F;</span>XXXX XXXX</div>
<!-- Phoenician word separator -->
<div class="justified">XXXX<span class="hidden">&#x1091F;</span>XXXX XXXX</div>
</body>
</html>