[css-text] Simplify letter-spacing: normal definition per <http://lists.w3.org/Archives/Public/www-style/2013Aug/0212.html>

Wed, 14 Aug 2013 10:40:00 -0700

author
fantasai <fantasai.cvs@inkedblade.net>
date
Wed, 14 Aug 2013 10:40:00 -0700
changeset 8833
0bd7993fcfef
parent 8832
abc82cf46d5d
child 8834
fcc4db19baf3

[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  

mercurial