Skip to content

Commit d8e370c

Browse files
committed
[css-ruby] Check in some commented-out notes on bidi reordering, to review and write up properly later.
1 parent c7c4dd8 commit d8e370c

1 file changed

Lines changed: 13 additions & 15 deletions

File tree

css-ruby/Overview.src.html

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -642,13 +642,15 @@ <h3 id="ruby-bidi">
642642
<p class="issue">The easiest thing would be to treat each <i>ruby base</i> as an embedding of its 'direction'.
643643
But this means that implicit bidi reordering is scoped to within a single base.
644644

645+
<!--
646+
645647
<p>The Unicode bidirectional algorithm orders logically-stored text for visual presentation
646648
when characters from scripts of opposing directionalities are mixed
647649
within a single paragraph.
648650
(See [[CSS3-WRITING-MODES]] for a more in-depth discussion of bidirectional text in CSS.)
649651
Bidi reordering of ruby-annotation pairs is controlled by the ordering of the base text, as follows:
650652
651-
<h4 id="bidi-B">Proposal B</h4>
653+
<h4 id="bidi-B">Proposal A</h4>
652654
653655
<p class="note">This proposal is simpler, but will require more frequent tagging of mixed-directionality content.
654656
@@ -659,14 +661,17 @@ <h4 id="bidi-B">Proposal B</h4>
659661
to their respective <i>ruby bases</i>,
660662
a few restrictions are imposed:
661663
<ul>
662-
<li>The contents of a <i>ruby base</i> must remain contiguous.
663-
To this end, the contents of
664+
<li>The contents of a <i>ruby base</i> or <i>ruby annotation</i> must remain contiguous.
665+
To this end, the contents of each <i>ruby base</i> and <i>ruby annotation</i> are treated as if within a <i>bidi isolation</i>.
666+
<li>For the purpose of ordering <i>ruby bases</i> within a <i>ruby container</i>,
667+
each <i>ruby base</i> is treated as a strong character of its specified 'direction'.
668+
(<i>Ruby annotations</i> are positioned with respect to their <i>bases</i>,
669+
so are affected by reordering, but do not themselves participate in reordering.)
664670
<li>All <i>bases</i> spanned by a single <i>annotation</i> must remain contiguous.
671+
To this end, the embedding level of all bases spanned by a spanning <i>annotation</i>
672+
is increased by two prior to reordering.
665673
</ul>
666674
667-
<li>When a <i>ruby base</i> is moved due to bidi reordering,
668-
all of its corresponding <i>ruby annotations</i> must follow.
669-
670675
<h4 id="bidi-B">Proposal B</h4>
671676
672677
<p class="note">This preserves some aspects of implicit bidi.
@@ -681,7 +686,6 @@ <h4 id="bidi-B">Proposal B</h4>
681686
to their respective <i>ruby bases</i>,
682687
a few restrictions are imposed:
683688
<ul>
684-
<li>
685689
<li>The contents of a <i>ruby base</i> must remain contiguous.
686690
<li>All <i>bases</i> spanned by a single <i>annotation</i> must remain contiguous.
687691
</ul>
@@ -692,13 +696,6 @@ <h4 id="bidi-B">Proposal B</h4>
692696
(or the embedding level assigned to the isolation, if the <i>ruby base</i> is <i>bidi-isolated</i>)
693697
is further increased by two.
694698
695-
<p>
696-
697-
<!--
698-
<p>
699-
Each <i>ruby base</i> within a <i>ruby container</i> is treated
700-
as a strong character with the directionality of its 'direction' property.
701-
When resolving the embedding levels of
702699
-->
703700

704701
<h3 id="line-height">
@@ -1407,7 +1404,8 @@ <h3 id="default-ua-ruby" class="no-num">
14071404
<!-- -->rb { display: ruby-base; white-space: nowrap; }
14081405
<!-- -->rt { display: ruby-text; white-space: nowrap; font-size: 50%; }
14091406
<!-- -->rbc { display: ruby-base-container; }
1410-
<!-- -->rtc { display: ruby-text-container; }</pre>
1407+
<!-- -->rtc { display: ruby-text-container; }
1408+
<!-- -->ruby, rb, rt, rbc, rtc { unicode-bidi: isolate; }</pre>
14111409

14121410
<p>Additional rules for UAs supporting the relevant features of [[CSS3-TEXT-DECOR]] and [[CSS3-FONTS]]:
14131411
<pre>rt { font-variant-east-asian: ruby; text-emphasis: none; }</pre>

0 commit comments

Comments
 (0)