Skip to content

Commit c2beab1

Browse files
frivoalfantasai
authored andcommitted
[css-text] Add 'line-break: anywhere'. Fixes w3c#1171, fixes w3c#1561.
1 parent 7e1b0bc commit c2beab1

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

css-text/Overview.bs

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ At Risk: the <length> values of the 'tab-size' property
2020
At Risk: the 'text-justify' property
2121
At Risk: the percentage values of 'word-spacing'
2222
At Risk: the 'hanging-punctuation' property
23+
At Risk: the ''line-break/anywhere'' value of the 'line-break' property
2324
Ignored Vars: letter-spacing
2425
</pre>
2526
<pre class=link-defaults>
@@ -878,6 +879,9 @@ Line Breaking Details</h3>
878879
the text consists predominantly of CJK characters with only short non-CJK excerpts,
879880
and it is desired that the text be better distributed on each line.</dd>
880881

882+
Note: This value does not affect whether there are <a>soft wrap opportunities</a> around punctuation characters.
883+
To allow breaks anywhere, see ''line-break: anywhere''.
884+
881885
<dt><dfn>break-word</dfn></dt>
882886
<dd>An otherwise unbreakable sequence of <a>characters</a>
883887
may be broken at an arbitrary point if
@@ -933,16 +937,16 @@ Line Breaking Details</h3>
933937
</div>
934938

935939
<p>When shaping scripts such as Arabic
936-
are allowed to break within words due to ''break-all'' or ''word-break/break-word'',
940+
are allowed to break within words due to ''word-break/break-all'' or ''word-break/break-word'',
937941
the characters must still be shaped
938942
as if the word were <a href="#word-break-shaping">not broken</a>.
939943

940944
<h3 id="line-break-property">
941-
Breaking Rules for Punctuation: the 'line-break' property</h3>
945+
Line Breaking Rules: the 'line-break' property</h3>
942946

943947
<pre class="propdef">
944948
Name: line-break
945-
Value: auto | loose | normal | strict
949+
Value: auto | loose | normal | strict | anywhere
946950
Initial: auto
947951
Inherited: yes
948952
Canonical order: n/a
@@ -966,6 +970,15 @@ Line Breaking Details</h3>
966970
<dt><dfn>strict</dfn></dt>
967971
<dd>Breaks text using the most stringent set of line-breaking
968972
rules.</dd>
973+
<dt><dfn>anywhere</dfn></dt>
974+
<dd>There is a <a>soft wrap opportunity</a> around every <a>typographic character unit</a>,
975+
including around any punctuation character or preserved spaces,
976+
or in the middle of words,
977+
disregarding any prohibition against line breaks introduced by characters with the GL, JW, or ZJW character class (see [[UAX14]]).
978+
The different wrapping opportunities must not be prioritized.
979+
Hyphenation is not applied.
980+
981+
Note: This value triggers the line breaking rules typically seen in terminals.</dd>
969982
</dl>
970983

971984
<p class="feedback issue">
@@ -974,9 +987,9 @@ Line Breaking Details</h3>
974987
However, the resulting behavior could use some review and feedback to make sure they are correct,
975988
particularly when “word basis” breaking is used (''word-break: keep-all'') in Korean.
976989

977-
<p>CSS distinguishes between three levels of strictness in the rules for
990+
<p>CSS distinguishes between four levels of strictness in the rules for
978991
text wrapping.
979-
The precise set of rules in effect for each level is up to the UA
992+
The precise set of rules in effect for each of ''line-break/loose'', ''line-break/normal'', and ''line-break/strict'' is up to the UA
980993
and should follow language conventions.
981994
However, this specification does require that:</p>
982995

@@ -1215,6 +1228,7 @@ Shaping Across Intra-word Breaks</h3>
12151228
(such as when breaking due to
12161229
''word-break: break-all'',
12171230
''word-break: break-word'',
1231+
''line-break: anywhere'',
12181232
''overflow-wrap: break-word'',
12191233
or when <a>hyphenating</a>)
12201234
the characters must still be shaped
@@ -2383,6 +2397,7 @@ Changes</h2>
23832397
<li>Qualified that only lowercase letters are titlecased for ''text-transform: capitalize''; uppercase letters remain unaffected.
23842398
<li>For ''word-break: break-all'', switched to UAX14 notion of “letters”,
23852399
since that handles symbols better.
2400+
<li>Added ''line-break: anywhere''.
23862401
</ul>
23872402

23882403
<h3 class="no-num" id="changes-2013">

0 commit comments

Comments
 (0)