Skip to content

Commit a3d0955

Browse files
committed
[css-ruby-1] Define ruby-overhang: auto | none per #4492
1 parent 423fe0a commit a3d0955

File tree

1 file changed

+41
-17
lines changed

1 file changed

+41
-17
lines changed

css-ruby-1/Overview.bs

+41-17
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ Autohiding Base-identical Annotations</h3>
556556

557557
When the computed value of 'ruby-merge' is ''collapse'',
558558
the autohiding is disabled.
559-
When the computed value of 'ruby-merge' is ''auto'',
559+
When the computed value of 'ruby-merge' is ''ruby-merge/auto'',
560560
the user agent may decide whether to autohide or not,
561561
but it is recommended to autohide if the algorithm the user agent chose
562562
produces the results similar to ''separate'' would produce.
@@ -1201,14 +1201,39 @@ Edge Effects</h2>
12011201
<h3 id="ruby-overhang">
12021202
Overhanging Ruby</h3>
12031203

1204-
When [=ruby annotation box=] is longer than its corresponding [=ruby base box=],
1205-
the [=ruby annotation box=] may partially overhang adjacent boxes.
1204+
<pre class="propdef">
1205+
Name: ruby-overhang
1206+
Value: auto | none
1207+
Initial: auto
1208+
Applies to: ruby annotation containers
1209+
Inherited: yes
1210+
Computed value: specified keyword
1211+
Animation type: by computed value type
1212+
</pre>
1213+
1214+
The 'ruby-overhang' property controls whether [=ruby annotations=]
1215+
may overlap adjacent text outside the [=ruby container=].
1216+
Values have the following meanings:
1217+
1218+
<dl dfn-type=value dfn-for=ruby-overhang>
1219+
<dt><dfn>auto</dfn>
1220+
<dd>
1221+
When a [=ruby annotation container=] is longer than
1222+
its corresponding [=ruby base container=],
1223+
the [=ruby annotation container=] may
1224+
partially overlap adjacent boxes.
12061225

1207-
This level of the specification does not define
1208-
how much the overhang may be allowed, and under what conditions.
1226+
Whether, how much, and under which conditions to overhang
1227+
are determined by the UA.
12091228

1210-
If the ruby text is not allowed to overhang,
1211-
then the ruby behaves like a traditional inline box,
1229+
<dt><dfn>none</dfn>
1230+
<dd>
1231+
A [=ruby annotation container=] is never allowed
1232+
to extend past the [=ruby annotation container=].
1233+
</dl>
1234+
1235+
When [=ruby annotations=] are not allowed to overhang,
1236+
the ruby behaves like a traditional inline box,
12121237
i.e. only its own contents are rendered within its boundaries
12131238
and adjacent elements do not cross the box boundary:
12141239

@@ -1218,33 +1243,32 @@ Overhanging Ruby</h3>
12181243
<p class="caption">Simple ruby whose text is not allowed to overhang adjacent text
12191244
</div>
12201245

1221-
However, if [=ruby annotation=] content is allowed to overhang adjacent elements
1246+
However, if a [=ruby annotation container=] is allowed
1247+
to overhang adjacent content
12221248
and it happens to be wider than its base,
1223-
then the adjacent content is partially rendered within the area of the [=ruby container box=],
1224-
while the [=ruby annotation=] may partially overlap the upper blank parts of the adjacent content:
1249+
then adjacent inline-level content
1250+
is partially rendered within the area of the [=ruby container box=],
1251+
allowing the [=ruby annotation=] to partially overlap
1252+
the upper/lower areas of such adjacent content:
12251253

12261254
<div class="figure">
12271255
<img src="images/ro-a.gif"
12281256
alt="Diagram showing the ruby boxes interacting with adjacent text">
12291257
<p class="caption">Simple ruby whose text is allowed to overhang adjacent text
12301258
</div>
12311259

1232-
The [=ruby annotations=] related to a [=ruby base=]
1233-
must never overhang another [=ruby base=].
1260+
Note: Whether [=ruby annotations=] related to a [=ruby base=]
1261+
can overhang another [=ruby base=] is controlled by 'ruby-merge'.
12341262

12351263
The alignment of the contents of the base or the ruby text
12361264
is not affected by overhanging behavior.
1237-
The alignment is achieved the same way regardless of the overhang behavior setting
1265+
Alignment is achieved the same way regardless of the overhang behavior setting
12381266
and it is computed before the space available for overlap is determined.
12391267
It is controlled by the 'ruby-align' property.
12401268

12411269
Issue: I suspect overhanging interacts with alignment in some cases;
12421270
might need to look into this later.
12431271

1244-
This entire logic applies the same way in vertical ideographic layout,
1245-
only the dimension in which it works in such a layout is vertical,
1246-
instead of horizontal.
1247-
12481272
<div class="example">
12491273
The user agent may use [[JIS4051]] recommendation of
12501274
using one ruby text character length as the maximum overhang length.

0 commit comments

Comments
 (0)