You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Missing parts of the structure are implied through the anonymous box generation rules
352
352
<ahref=http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes>similar to those used to normalize tables</a>. <adata-biblio-type=normativedata-link-type=bibliohref=#biblio-css21title=biblio-css21>[CSS21]</a>
This computation occurs after any intermediary anonymous-box fixup
375
369
(such as that required by internal table elements).
376
370
377
-
<dtid=anony-gen-trim-space><aclass=self-linkhref=#anony-gen-trim-space></a>Trim leading/trailing white space
378
-
<dd>
371
+
<liid=anony-gen-trim-space><aclass=self-linkhref=#anony-gen-trim-space></a><strong>Trim leading/trailing white space:</strong>
379
372
Any white space within a ruby structure is discarded
380
373
at the beginning and end of
381
374
a <adata-link-type=dfnhref=#ruby-containertitle="ruby container">ruby container</a>, <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation container">ruby annotation container</a>, or <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>.
Any consecutive sequence of text and inline-level boxes
386
378
directly parented by a <adata-link-type=dfnhref=#ruby-containertitle="ruby container">ruby container</a> or <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>
387
379
is wrapped in an anonymous <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a>.
388
380
Similarly, any consecutive sequence of text and inline-level boxes
389
381
directly parented by a <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation container">ruby annotation container</a>
390
382
is wrapped in an anonymous <adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a>.
391
383
392
-
<dtid=anon-gen-discard-space><aclass=self-linkhref=#anon-gen-discard-space></a>Remove inter-level white space
393
-
<dd>
394
-
Any anonymous <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> containing only white space that
395
-
both immediately follows a box of type A
396
-
and is immediately followed by at box of its corresponding type B
397
-
as defined in the table below
398
-
is removed, as if it had <aclass=cssdata-link-type=propdeschref=#propdef-displaytitle=display>display: none</a>.
384
+
<p>However, if the anonymous box so constructed contains only <idata-link-type=dfntitle="white space">white space</i>,
385
+
it is considered <dfndata-dfn-type=dfndata-noexport="" id=intra-ruby-white-space>intra-ruby white space<aclass=self-linkhref=#intra-ruby-white-space></a></dfn>
386
+
and is either discarded as <adata-link-type=dfnhref=#inter-level-white-spacetitle="inter-level white space">inter-level white space</a>
387
+
or preserved as <adata-link-type=dfnhref=#intra-level-white-spacetitle="intra-level white space">intra-level white space</a>
388
+
as described below.</p>
389
+
390
+
<liid=anon-gen-discard-space><aclass=self-linkhref=#anon-gen-discard-space></a><strong>Remove inter-level white space:</strong>
391
+
Any <adata-link-type=dfnhref=#intra-ruby-white-spacetitle="intra-ruby white space">intra-ruby white space</a>
392
+
whose immediately adjacent siblings match one of the patterns below
393
+
is <dfndata-dfn-type=dfndata-noexport="" id=inter-level-white-space>inter-level white space<aclass=self-linkhref=#inter-level-white-space></a></dfn>
394
+
and is removed, as if it had <aclass=cssdata-link-type=propdeschref=#propdef-displaytitle=display>display: none</a>.
399
395
<tableclass=data>
400
396
<thead>
401
-
<tr><th>A
402
-
<th>B
397
+
<tr><th>Previous box
398
+
<th>Next box
403
399
<tbody>
404
400
<tr><td><adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> or <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>
405
401
<td><adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a> or <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation container">ruby annotation container</a>
<dtid=anon-gen-interpret-space><aclass=self-linkhref=#anon-gen-interpret-space></a>Interpret intra-level white space
415
-
<dd>
416
-
<ul>
417
-
<li>Any anonymous <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> containing only white space that
418
-
both immediately follows a <adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a> or <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation container">ruby annotation container</a>
419
-
and is immediately followed by a <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> or <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>
420
-
is labelled as <dfndata-dfn-type=dfndata-noexport="" id=inter-segment-white-space>inter-segment white space<aclass=self-linkhref=#inter-segment-white-space></a></dfn>
421
-
(and treated specially for pairing and layout, see below).
422
-
423
-
<li>Any anonymous <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> containing only white space that is
424
-
both immediately follows and is immediately followed by a <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a>
425
-
is labelled as <dfndata-dfn-type=dfndata-noexport="" id=inter-base-white-space>inter-base white space<aclass=self-linkhref=#inter-base-white-space></a></dfn>
426
-
(and treated specially for pairing and layout, see below).
427
-
428
-
<li>Any anonymous <adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a> containing only white space that is
429
-
both immediately follows and is immediately followed by a <adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a>
430
-
is labelled as <dfndata-dfn-type=dfndata-noexport="" id=inter-annotation-white-space>inter-annotation white space<aclass=self-linkhref=#inter-annotation-white-space></a></dfn>
431
-
(and treated specially for pairing and layout, see below).
<td><dfndata-dfn-type=dfndata-noexport="" id=inter-annotation-white-space>inter-annotation white space<aclass=self-linkhref=#inter-annotation-white-space></a></dfn>
431
+
<tr><td><adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotation">ruby annotation</a> or <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation container">ruby annotation container</a>
432
+
<td><adata-link-type=dfnhref=#ruby-base-boxtitle="ruby base">ruby base</a> or <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>
<td><dfndata-dfn-type=dfndata-noexport="" id=inter-segment-white-space>inter-segment white space<aclass=self-linkhref=#inter-segment-white-space></a></dfn>
435
+
</table>
436
+
The <dfndata-dfn-type=dfndata-noexport="" id=intra-level-white-space>intra-level white space<aclass=self-linkhref=#intra-level-white-space></a></dfn> boxes defined above are
437
+
treated specially for pairing and layout. See below.
Any consecutive sequence of <adata-link-type=dfnhref=#ruby-base-boxtitle="ruby bases">ruby bases</a> and <adata-link-type=dfnhref=#inter-base-white-spacetitle="inter-base white space">inter-base white space</a>
437
441
(and not <adata-link-type=dfnhref=#inter-segment-white-spacetitle="inter-segment white space">inter-segment white space</a>)
438
442
not parented by a <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base container">ruby base container</a>
A sequence of <adata-link-type=dfnhref=#ruby-base-container-boxtitle="ruby base containers">ruby base containers</a>, <adata-link-type=dfnhref=#ruby-annotation-container-boxtitle="ruby annotation containers">ruby annotation containers</a>, and/or <adata-link-type=dfnhref=#inter-segment-white-spacetitle="inter-segment white space">inter-segment white space</a>
447
450
not parented by a <adata-link-type=dfnhref=#ruby-containertitle="ruby container">ruby container</a>
448
451
is wrapped in an anonymous <adata-link-type=dfnhref=#ruby-containertitle="ruby container">ruby container</a>.
449
452
450
-
<dtid=anon-gen-unbreak><aclass=self-linkhref=#anon-gen-unbreak></a>Suppress line breaks
451
-
<dd>
453
+
<liid=anon-gen-unbreak><aclass=self-linkhref=#anon-gen-unbreak></a><strong>Suppress line breaks:</strong>
452
454
Convert all forced line breaks inside <adata-link-type=dfnhref=#ruby-annotation-boxtitle="ruby annotations">ruby annotations</a> (regardless of <aclass=propertydata-link-type=propdeschref=http://dev.w3.org/csswg/css-text-3/#propdef-white-spacetitle=white-space>white-space</a> value)
453
455
as defined for <idata-link-type=dfntitle=collapsible>collapsible</i> segment breaks in <ahref=http://www.w3.org/TR/css-text-3/#line-break-transform>CSS Text Level 3 § 4.1.2</a>.
454
456
<pclass=issueid=issue-8af70305><aclass=self-linkhref=#issue-8af70305></a>The goal of this is to simplify the layout model by suppressing any line breaks within ruby annotations.
455
457
Alternatively we could try to define some kind of acceptable behavior for them.
456
-
</dl>
458
+
</ol>
457
459
458
460
<pclass=issueid=issue-f2086090><aclass=self-linkhref=#issue-f2086090></a>Make this into an example:
and the UA can start to associate bases with their annotations.
463
465
464
466
<pclass=note>
465
-
Note that the UA is not required to create any of these anonymous boxes in its internal structures,
467
+
Note that the UA is not required to create any of these anonymous boxes
468
+
(or the anonymous empty <adata-link-type=dfnhref=#intra-level-white-spacetitle="intra-level white space">intra-level white space</a> boxes in the pairing section)
469
+
in its internal structures,
466
470
as long as pairing and layout behaves as if they existed.
0 commit comments