Wed, 14 Aug 2013 10:40:00 -0700
[css-text] Simplify letter-spacing: normal definition per <http://lists.w3.org/Archives/Public/www-style/2013Aug/0212.html>
css-ruby/Overview.src.html | file | annotate | diff | comparison | revisions |
1.1 --- a/css-ruby/Overview.src.html Wed Aug 14 10:38:31 2013 -0700 1.2 +++ b/css-ruby/Overview.src.html Wed Aug 14 10:40:00 2013 -0700 1.3 @@ -3,6 +3,7 @@ 1.4 Issues: 1.5 bidi 1.6 box layout/sizing 1.7 + clean up inter-character vs. parallel layout requirements 1.8 1.9 Redo all examples with consistent font. (M+ 2p?) 1.10 1.11 @@ -614,10 +615,92 @@ 1.12 <h4 id="break-within"> 1.13 Breaking within bases</h4> 1.14 1.15 - <p class="issue">Fill in this section... 1.16 + <p>For longer base texts, it is sometimes appropriate to allow breaking within a base-annotation pair. 1.17 + For example, if an English sentence is annotated with its Japanese translation, 1.18 + allowing the text to wrap allows for reasonable line breaking behavior in the paragraph. 1.19 + 1.20 + <p class="issue"> 1.21 + Insert scanned example so people don't think this is just the ramblings of an insane spec-writer. 1.22 + 1.23 + <p>Line-breaking within a <i>ruby base</i> is only allowed if the 'white-space' property 1.24 + of the <i>ruby base</i> and all its parallel <i>annotations</i> allow it, 1.25 + and there exists a <i>soft wrap opportunity</i> <em>within</em> (i.e. not at the start or end) 1.26 + the content of each base/annotation box. 1.27 + Since there is no structural correspondance between fragments of content 1.28 + within <i>ruby bases</i> and <i>annotations</i>, 1.29 + the UA may break at any set of opportunities; 1.30 + but it is recommended that the UA attempt to proportionally balance 1.31 + the amount of content inside each fragment. 1.32 1.33 <p>There are no line breaking opportunities within ''inter-character'' <i>annotations</i>. 1.34 1.35 + <p>Ruby alignment takes place within each fragment, after line-breaking. 1.36 + 1.37 +<h3 id="ruby-bidi"> 1.38 +Bidi Reordering</h3> 1.39 + 1.40 + <p class="issue">The easiest thing would be to treat each <i>ruby base</i> as an embedding of its 'direction'. 1.41 + But this means that implicit bidi reordering is scoped to within a single base. 1.42 + 1.43 + <p>The Unicode bidirectional algorithm orders logically-stored text for visual presentation 1.44 + when characters from scripts of opposing directionalities are mixed 1.45 + within a single paragraph. 1.46 + (See [[CSS3-WRITING-MODES]] for a more in-depth discussion of bidirectional text in CSS.) 1.47 + Bidi reordering of ruby-annotation pairs is controlled by the ordering of the base text, as follows: 1.48 + 1.49 +<h4 id="bidi-B">Proposal B</h4> 1.50 + 1.51 + <p class="note">This proposal is simpler, but will require more frequent tagging of mixed-directionality content. 1.52 + 1.53 + <p>To avoid the interference of the <i>annotations</i> in the ordering of base text, 1.54 + all annotations are ignored for the purpose of resolving neutral characters in the base level. 1.55 + 1.56 + <p>To preserve the correspondance of <i>ruby annotations</i> 1.57 + to their respective <i>ruby bases</i>, 1.58 + a few restrictions are imposed: 1.59 + <ul> 1.60 + <li>The contents of a <i>ruby base</i> must remain contiguous. 1.61 + To this end, the contents of 1.62 + <li>All <i>bases</i> spanned by a single <i>annotation</i> must remain contiguous. 1.63 + </ul> 1.64 + 1.65 + <li>When a <i>ruby base</i> is moved due to bidi reordering, 1.66 + all of its corresponding <i>ruby annotations</i> must follow. 1.67 + 1.68 +<h4 id="bidi-B">Proposal B</h4> 1.69 + 1.70 + <p class="note">This preserves some aspects of implicit bidi. 1.71 + For example, annotating each half of "first-second" would not cause the word to reverse itself to "second-first" within an opposite-order paragraph. 1.72 + 1.73 + <p>To avoid the interference of the <i>annotations</i> in the ordering of the base text, 1.74 + all annotations are ignored for the purpose of resolving neutral characters in the base text; 1.75 + and the base text is resolved exactly as if each <i>ruby base</i> were 1.76 + just a normal <i>inline box</i> embedded in the <i>ruby container</i>'s inline formatting context. 1.77 + 1.78 + <p>Furthermore, to preserve the correspondance of <i>ruby annotations</i> 1.79 + to their respective <i>ruby bases</i>, 1.80 + a few restrictions are imposed: 1.81 + <ul> 1.82 + <li> 1.83 + <li>The contents of a <i>ruby base</i> must remain contiguous. 1.84 + <li>All <i>bases</i> spanned by a single <i>annotation</i> must remain contiguous. 1.85 + </ul> 1.86 + <p>To this end, the text of <i>ruby base</i> boxes that are not <i>bidi-isolated</i> 1.87 + must have its embedding level increased by two; 1.88 + and if an <i>annotation</i> spans more than one <i>ruby base</i>, 1.89 + the spanned text's embedding level 1.90 + (or the embedding level assigned to the isolation, if the <i>ruby base</i> is <i>bidi-isolated</i>) 1.91 + is further increased by two. 1.92 + 1.93 + <p> 1.94 + 1.95 +<!-- 1.96 + <p> 1.97 + Each <i>ruby base</i> within a <i>ruby container</i> is treated 1.98 + as a strong character with the directionality of its 'direction' property. 1.99 + When resolving the embedding levels of 1.100 +--> 1.101 + 1.102 <h3 id="line-height"> 1.103 Ruby box and line stacking</h3> 1.104