csswg/css3-writing-modes Overview.html,1.84,1.85 Overview.src.html,1.88,1.89

Update of /sources/public/csswg/css3-writing-modes
In directory hutz:/tmp/cvs-serv17342

Modified Files:
	Overview.html Overview.src.html 
Log Message:
Glyph orientation take II

Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css3-writing-modes/Overview.html,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -d -r1.84 -r1.85
--- Overview.html	7 Mar 2011 17:18:23 -0000	1.84
+++ Overview.html	9 Mar 2011 06:04:28 -0000	1.85
@@ -28,7 +28,7 @@
 
    <h1>CSS Writing Modes Module Level 3</h1>
 
-   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 7 March 2011</h2>
+   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 9 March 2011</h2>
 
    <dl>
     <dt>This version:
@@ -36,7 +36,7 @@
     <dd><a
      href="http://dev.w3.org/csswg/css3-writing-modes/">http://dev.w3.org/csswg/css3-writing-modes/</a>
      <!--
-    <dd><a href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110307">http://www.w3.org/TR/2011/ED-css3-writing-modes-20110307</a>
+    <dd><a href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110309">http://www.w3.org/TR/2011/ED-css3-writing-modes-20110309</a>
 -->
      
 
@@ -1326,10 +1326,10 @@
    href=script-orientations>Appendix A</a> for a list of intrinsic
    bi-orientational transforms.)
 
-  <p>Scripts without a native vertical orientation can be either rotated or
-   translated: the transform used is a stylistic preference depending on the
-   text's usage, rather than a matter of correctness. The &lsquo;<a
-   href="#text-orientation0"><code
+  <p>Scripts without a native vertical orientation can be either rotated (set
+   sideways) or translated (set upright): the transform used is a stylistic
+   preference depending on the text's usage, rather than a matter of
+   correctness. The &lsquo;<a href="#text-orientation0"><code
    class=property>text-orientation</code></a>&rsquo; property's &lsquo;<a
    href="#vertical-right"><code class=css>vertical-right</code></a>&rsquo;
    and &lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo;
@@ -1346,16 +1346,15 @@
    decorative layout effects and to work around limitations in CSS support
    for bottom-to-top scripts.
 
-  <p class=issue>Ideally, punctuation should be either rotated or set
-   vertically depending on whether the primary script is horizontal-only or
-   vertical. However, this information (which, like the base directionality,
-   is a property of the content) is not available to us. (UTN 22 used the
-   concept of a vertical directionality, given via &lsquo;<a
-   href="#direction0"><code class=property>direction</code></a>&rsquo; or the
-   HTML <code>dir</code> attribute to handle this issue.) The current spec
-   works around this by using the East Asian Width property; but this
-   approach only works if vertical scripts do not share punctuation with
-   horizontal-only scripts.
+  <p class=issue>Ideally, punctuation should be either sideways or upright
+   depending on whether the primary script is horizontal-only or vertical.
+   However, this information (which, like the base directionality, is a
+   property of the content) is not available to us. (UTN 22 used the concept
+   of a vertical directionality, given via &lsquo;<a href="#direction0"><code
+   class=property>direction</code></a>&rsquo; or the HTML <code>dir</code>
+   attribute to handle this issue.) The current spec works around this by
+   using the East Asian Width property; but this approach only works if
+   vertical scripts do not share punctuation with horizontal-only scripts.
 
   <h3 id=text-orientation><span class=secno>5.1. </span> Orienting Text: the
    &lsquo;<a href="#text-orientation0"><code
@@ -1415,9 +1414,9 @@
 
    <dd>
     <p>In vertical writing modes, grapheme clusters from horizontal-only
-     scripts are rotated 90&deg; clockwise from their standard orientation in
-     horizontal text. Characters from vertical scripts are set with their
-     intrinsic orientation.
+     scripts are set sideways, i.e. 90&deg; clockwise from their standard
+     orientation in horizontal text. Characters from vertical scripts are set
+     with their intrinsic orientation.
 
     <p>In vertical writing modes, this value puts the element in a
      <i>vertical typographic mode</i> and is typical for layout of primarily
@@ -1449,20 +1448,16 @@
    <dd>
     <p>In vertical writing modes, this causes text to be set as if in a
      horizontal layout (using horizontal glyph variants and metrics), but
-     rotated 90&deg; clockwise. This value puts the UA in a This value puts
-     the element in a <i>horizontal typographic mode</i> and can be used for
-     &lsquo;<code class=css>vertical-rl</code>&rsquo; text in a primarily
-     horizontal-script document.
+     rotated 90&deg; clockwise. This value puts the element in a
+     <i>horizontal typographic mode</i>.
 
    <dt><dfn id=rotate-left>rotate-left</dfn>
 
    <dd>
     <p>In vertical writing modes, this causes text to be set as if in a
      horizontal layout (using horizontal glyph variants and metrics), but
-     rotated 90&deg; counter-clockwise. This value puts theelement in a
-     <i>horizontal typographic mode</i> and can be used for &lsquo;<code
-     class=css>vertical-lr</code>&rsquo; text in a primarily
-     horizontal-script document.
+     rotated 90&deg; counter-clockwise. This value puts the element in a
+     <i>horizontal typographic mode</i>.
 
     <p>If set on a non-replaced inline whose parent is not &lsquo;<a
      href="#rotate-left"><code class=css>rotate-left</code></a>&rsquo;, this
@@ -1489,7 +1484,9 @@
      class=css>vertical-rl</code>&rsquo; writing mode and equivalent to
      &lsquo;<a href="#rotate-left"><code
      class=css>rotate-left</code></a>&rsquo; in &lsquo;<code
-     class=css>vertical-lr</code>&rsquo; writing mode.
+     class=css>vertical-lr</code>&rsquo; writing mode. It can be useful when
+     setting horizontal script text vertically in a primarily horizontal-only
+     document.
 
    <dt><dfn id=auto>auto</dfn>
 
@@ -1523,33 +1520,69 @@
     and rotate-right</p>
   </div>
 
+  <div class=example>
+   <p>In the following example, the root element of a horizontal-only
+    document is set to use &lsquo;<a href="#rotate-normal"><code
+    class=css>rotate-normal</code></a>&rsquo;. In the rest of the document,
+    the author can just set &lsquo;<a href="#writing-mode1"><code
+    class=property>writing-mode</code></a>&rsquo; without worrying about
+    whether the text is &lsquo;<code class=css>vertical-rl</code>&rsquo; or
+    &lsquo;<code class=css>vertical-lr</code>&rsquo;.
+
+   <pre>
+      :root { text-orientation: rotate-normal; }
+      caption { caption-side: left; writing-mode: vertical-lr; }
+      thead th { writing-mode: vertical-lr; }
+      h1.banner { position: absolute; top: 0; right: 0; writing-mode: vertical-rl; }
+    </pre>
+  </div>
+
   <p>In vertical typographic modes, any grapheme clusters belonging to a
-   vertical script <em>must</em> be set using its intrinsic orientation. (See
-   <a href="#script-orientations">Appendix B</a>.) An exception is made for
-   halfwidth forms belonging to the hiragana, katakana, and hangul scripts,
-   which may be set rotated. <span class=issue>What is the appropriate
-   behavior here? Or is there none?</span> Grapheme clusters belonging to
-   other scripts must be rotated (for &lsquo;<a href="#vertical-right"><code
+   vertical script <em>must</em> be set using its base character's intrinsic
+   orientation. (See <a href="#script-orientations">Appendix A</a>) Grapheme
+   clusters belonging to horizontal-only scripts must set sideways (for
+   &lsquo;<a href="#vertical-right"><code
    class=css>vertical-right</code></a>&rsquo;) or set upright (for &lsquo;<a
-   href="#upright"><code class=css>upright</code></a>&rsquo;). An exception
-   is made for characters with a fullwidth (F) or wide (W) East Asian Width
-   property, which should be set upright (using vertical font settings). <a
-   href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a>
+   href="#upright"><code class=css>upright</code></a>&rsquo;) depending on
+   the &lsquo;<a href="#text-orientation0"><code
+   class=property>text-orientation</code></a>&rsquo; property.
 
-  <p>The orientation of characters belonging to the Common and Inherited
-   script categories is UA-dependent for vertical typographic modes. If the
-   font and font system support mixed-orientation typesetting (e.g. the
-   <code>vrt2</code> feature in OpenType), the UA should rely on that feature
-   to set &lsquo;<a href="#vertical-right"><code
-   class=css>vertical-right</code></a>&rsquo; text. Similarly if the font and
-   font system support upright typesetting (e.g. the <code>vert</code>
-   feature in OpenType) then the UA should rely on that feature to set
-   &lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo; text.
-   If the UA needs to synthesize such features (e.g. if an OpenType font has
-   only the <code>vert</code> but not the <code>vrt2</code> feature), then it
-   should set all Common and Inherited characters with an East Asian Width of
-   F or W vertically (i.e. upright, using vertical font settings if
-   available), and rotate the rest (using horizontal font settings).
+  <p>The orientation of characters belonging to the Common, Inherited, and
+   Unknown script categories may be UA- or font-dependent in vertical
+   typographic modes. The Unicode East Asian Width property <a href="#UAX11"
+   rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a> can be used to distinguish
+   whether a character is typically be set upright or sideways in &lsquo;<a
+   href="#vertical-right"><code class=css>vertical-right</code></a>&rsquo;:
+   characters classified as fullwidth (F) or wide (W) are typically set
+   upright (using vertical font settings), whereas characters classified as
+   neutral (N), narrow (Na) or halfwidth (H) are typically set sideways
+   (using horizontal font settings).
+
+  <p>If the font and font system support mixed-orientation typesetting, the
+   UA should rely on that feature to set &lsquo;<a
+   href="#vertical-right"><code class=css>vertical-right</code></a>&rsquo;
+   text. Similarly if the font and font system support upright typesetting
+   then the UA should rely on that feature to set &lsquo;<a
+   href="#upright"><code class=css>upright</code></a>&rsquo; text.
+
+  <p>If the UA needs to synthesize such features (e.g. if an OpenType font
+   has only the <code>vert</code> but not the <code>vrt2</code> feature),
+   then it should:
+
+  <ul>
+   <li>for &lsquo;<a href="#vertical-right"><code
+    class=css>vertical-right</code></a>&rsquo;, set all characters with an
+    East Asian Width of F or W upright (i.e. translated, using vertical font
+    settings if available), and set sideways the rest (i.e. rotated, using
+    horizontal font settings).
+
+   <li>for &lsquo;<a href="#upright"><code
+    class=css>upright</code></a>&rsquo;, set all characters belonging to the
+    Mongolian and Phags Pa scripts sideways, and set upright the rest.
+  </ul>
+
+  <p class=issue>Need to define handling of EAW Ambiguous (A) symbols and
+   punctuation.
 
   <p class=issue> Link to definition of grapheme clusters in <a href="#UAX29"
    rel=biblioentry>[UAX29]<!--{{!UAX29}}--></a>.
@@ -2589,9 +2622,7 @@
 
   <p>This appendix gives the orientational properties of vertical scripts in
    <a href="#UNICODE" rel=biblioentry>[UNICODE]<!--{{!UNICODE}}--></a>. Any
-   script not listed explicitly is assumed to be <i>horizontal-only</i>. See
-   <a href="#UAX24" rel=biblioentry>[UAX24]<!--{{!UAX24}}--></a> for the list
-   of script names.
+   script not listed explicitly is assumed to be <i>horizontal-only</i>.
 
   <table>
    <thead>
@@ -2612,11 +2643,6 @@
      <td>translate
 
     <tr>
-     <td>Katakana_Or_Hiragana
-
-     <td>translate
-
-    <tr>
      <td>Katakana
 
      <td>translate
@@ -2637,7 +2663,7 @@
      <td>rotate
 
     <tr>
-     <td>Phags_Pa
+     <td>Phags Pa
 
      <td>rotate <span class=issue>?</span>
 
@@ -2647,14 +2673,18 @@
      <td>translate
   </table>
 
-  <p class=note>Ogham is also a rotating bi-orientational script, but because
-   it is a bottom-to-top script for the purposes of this specification it is
-   treated as left-to-right horizontal. A future version of CSS may define
-   proper handling of bottom-to-top scripts. Authors can work around this
-   lack of support with the &lsquo;<a href="#rotate-left"><code
-   class=css>rotate-left</code></a>&rsquo; value of &lsquo;<a
-   href="#text-orientation0"><code
-   class=property>text-orientation</code></a>&rsquo;.
+  <p>For the purposes of this specification, all fullwidth characters <a
+   href="#UAX11" rel=biblioentry>[UAX11]<!--{{!UAX11}}--></a> are treated as
+   belonging to a vertical script with a translate bi-orientational
+   transform.</p>
+  <!--
+  <p class="note">Ogham is also a rotating bi-orientational script, but
+    because it is a bottom-to-top script for the purposes of this
+    specification it is treated as left-to-right horizontal. A future
+    version of CSS may define proper handling of bottom-to-top scripts.
+    Authors can work around this lack of support with the &lsquo;<code class=css>rotate-left</code>&rsquo;
+    value of &lsquo;<code class=property>text-orientation</code>&rsquo;.
+-->
 
   <h2 class=no-num id=appendix-b-references>Appendix B: References</h2>
 
@@ -2706,15 +2736,6 @@
     </dd>
    <!---->
 
-   <dt id=UAX24>[UAX24]
-
-   <dd>Mark Davis. <a
-    href="http://www.unicode.org/unicode/reports/tr24/tr24-7.html"><cite>Script
-    Names.</cite></a> 28 March 2005. Unicode Standard Annex #24. URL: <a
-    href="http://www.unicode.org/unicode/reports/tr24/tr24-7.html">http://www.unicode.org/unicode/reports/tr24/tr24-7.html</a>
-    </dd>
-   <!---->
-
    <dt id=UAX29>[UAX29]
 
    <dd>Mark Davis. <a

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-writing-modes/Overview.src.html,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -d -r1.88 -r1.89
--- Overview.src.html	7 Mar 2011 17:18:23 -0000	1.88
+++ Overview.src.html	9 Mar 2011 06:04:28 -0000	1.89
@@ -961,19 +961,20 @@
     rotate. (See <a href="script-orientations">Appendix A</a> for a list of
     intrinsic bi-orientational transforms.)</p>
 
-  <p>Scripts without a native vertical orientation can be either rotated or
-    translated: the transform used is a stylistic preference depending on
-    the text's usage, rather than a matter of correctness. The
-    'text-orientation' property's ''vertical-right'' and ''upright'' values
+  <p>Scripts without a native vertical orientation can be either rotated
+    (set sideways) or translated (set upright): the transform used is a
+    stylistic preference depending on the text's usage, rather than a
+    matter of correctness.
+    The 'text-orientation' property's ''vertical-right'' and ''upright'' values
     are provided to specify rotation vs. translation of horizontal-only text.
 
   <p class="note">The ''rotate-left'', ''rotate-right'', and ''rotate-normal''
     values of 'text-orientation' are provided for decorative layout effects
     and to work around limitations in CSS support for bottom-to-top scripts.
 
-  <p class="issue">Ideally, punctuation should be either rotated or set
-    vertically depending on whether the primary script is horizontal-only
-    or vertical. However, this information (which, like the base directionality,
+  <p class="issue">Ideally, punctuation should be either sideways or upright
+    depending on whether the primary script is horizontal-only or vertical.
+    However, this information (which, like the base directionality,
     is a property of the content) is not available to us. (UTN 22 used the
     concept of a vertical directionality, given via 'direction' or the HTML
     <code>dir</code> attribute to handle this issue.) The current spec works
@@ -1029,8 +1030,8 @@
   <dl>
     <dt><dfn>vertical-right</dfn></dt>
     <dd><p>In vertical writing modes, grapheme clusters from horizontal-only
-      scripts are rotated 90&deg; clockwise from their standard orientation
-      in horizontal text.
+      scripts are set sideways, i.e. 90&deg; clockwise from their standard
+      orientation in horizontal text.
       Characters from vertical scripts are set with their intrinsic orientation.
     <p>In vertical writing modes, this value puts the element in a <i>vertical
       typographic mode</i> and is typical for layout of primarily
@@ -1053,17 +1054,13 @@
     <dt><dfn>rotate-right</dfn></dt>
     <dd><p>In vertical writing modes, this causes text to be set as if
       in a horizontal layout (using horizontal glyph variants and metrics),
-      but rotated 90&deg; clockwise. This value puts the UA in a 
-      This value puts the element in a <i>horizontal typographic mode</i> and
-      can be used for ''vertical-rl'' text in a primarily horizontal-script
-      document.
+      but rotated 90&deg; clockwise.
+      This value puts the element in a <i>horizontal typographic mode</i>.
     <dt><dfn>rotate-left</dfn></dt>
     <dd><p>In vertical writing modes, this causes text to be set as if
       in a horizontal layout (using horizontal glyph variants and metrics),
       but rotated 90&deg; counter-clockwise.
-      This value puts theelement in a <i>horizontal typographic mode</i> and
-      can be used for ''vertical-lr'' text in a primarily horizontal-script
-      document.
+      This value puts the element in a <i>horizontal typographic mode</i>.
       <p>If set on a non-replaced inline whose parent is not ''rotate-left'',
       this forces ''isolate'' to be added to the computed value of 'unicode-bidi'.
       Layout of text is exactly as for ''rotate-right'' except that the
@@ -1076,7 +1073,8 @@
     <dt><dfn>rotate-normal</dfn></dt>
     <dd><p>This value is equivalent to ''rotate-right'' in ''vertical-rl''
       writing mode and equivalent to ''rotate-left'' in ''vertical-lr''
-      writing mode.
+      writing mode. It can be useful when setting horizontal script text
+      vertically in a primarily horizontal-only document.
     <dt><dfn>auto</dfn></dt>
     <dd><p>[[!SVG11]] defines 'glyph-orientation-vertical' and
       'glyph-orientation-horizontal' properties that were intended to control
@@ -1100,30 +1098,55 @@
     <p class="caption">text-orientation: vertical-right, upright, rotate-left, and rotate-right</p>
   </div>
 
+  <div class="example">
+    <p>In the following example, the root element of a horizontal-only document
+      is set to use ''rotate-normal''. In the rest of the document, the author
+      can just set 'writing-mode' without worrying about whether the text is
+      ''vertical-rl'' or ''vertical-lr''.
+    <pre>
+      :root { text-orientation: rotate-normal; }
+      caption { caption-side: left; writing-mode: vertical-lr; }
+      thead th { writing-mode: vertical-lr; }
+      h1.banner { position: absolute; top: 0; right: 0; writing-mode: vertical-rl; }
+    </pre>
+  </div>
+
   <p>In vertical typographic modes, any grapheme clusters belonging to a
-    vertical script <em>must</em> be set using its intrinsic orientation.
-    (See <a href="#script-orientations">Appendix B</a>.)
-    An exception is made for halfwidth forms belonging to the hiragana,
-    katakana, and hangul scripts, which may be set rotated.
-    <span class="issue">What is the appropriate behavior here? Or is there none?</span>
-    Grapheme clusters belonging to other scripts must be rotated (for
-    ''vertical-right'') or set upright (for ''upright''). An exception is
-    made for characters with a fullwidth (F) or wide (W) East Asian Width
-    property, which should be set upright (using vertical font settings). [[!UAX11]]
+    vertical script <em>must</em> be set using its base character's
+    intrinsic orientation. (See <a href="#script-orientations">Appendix A</a>)
+    Grapheme clusters belonging to horizontal-only scripts must set sideways
+    (for ''vertical-right'') or set upright (for ''upright'') depending on the
+    'text-orientation' property.
+
+  <p>The orientation of characters belonging to the Common, Inherited, and Unknown
+    script categories may be UA- or font-dependent in vertical typographic
+    modes. The Unicode East Asian Width property [[!UAX11]] can be used to
+    distinguish whether a character is typically be set upright or sideways in
+    ''vertical-right'': characters classified as fullwidth (F) or wide (W)
+    are typically set upright (using vertical font settings), whereas characters
+    classified as neutral (N), narrow (Na) or halfwidth (H) are typically set
+    sideways (using horizontal font settings).
+
+  <p>If the font and font system support mixed-orientation typesetting, the
+    UA should rely on that feature to set ''vertical-right'' text. Similarly
+    if the font and font system support upright typesetting then the UA should
+    rely on that feature to set ''upright'' text.
+
+  <p>If the UA needs to synthesize such features (e.g. if an OpenType font
+    has only the <code>vert</code> but not the <code>vrt2</code> feature),
+    then it should:
+  <ul>
+    <li>for ''vertical-right'', set all characters with an East Asian Width
+      of F or W upright (i.e. translated, using vertical font settings if
+      available), and set sideways the rest (i.e. rotated, using horizontal
+      font settings).
+    <li>for ''upright'', set all characters belonging to the Mongolian and
+      Phags Pa scripts sideways, and set upright the rest.
+  </ul>
+
+  <p class="issue">Need to define handling of EAW Ambiguous (A) symbols and
+    punctuation.</p>
 
-  <p>The orientation of characters belonging to the Common and Inherited
-    script categories is UA-dependent for vertical typographic modes. If
-    the font and font system support mixed-orientation typesetting (e.g. the
-    <code>vrt2</code> feature in OpenType), the UA should rely on that feature
-    to set ''vertical-right'' text. Similarly if the font and font system
-    support upright typesetting (e.g. the <code>vert</code> feature in OpenType)
-    then the UA should rely on that feature to set ''upright'' text. If the
-    UA needs to synthesize such features (e.g. if an OpenType font has only the
-    <code>vert</code> but not the <code>vrt2</code> feature), then it should
-    set all Common and Inherited characters with an East Asian Width of F or
-    W vertically (i.e. upright, using vertical font settings if available),
-    and rotate the rest (using horizontal font settings).
-    
   <p class="issue">
     Link to definition of grapheme clusters in [[!UAX29]].</p>
 
@@ -1962,7 +1985,7 @@
 
   <p>This appendix gives the orientational properties of vertical scripts in
     [[!UNICODE]]. Any script not listed explicitly is assumed to be
-    <i>horizontal-only</i>. See [[!UAX24]] for the list of script names.
+    <i>horizontal-only</i>.
 
   <table>
     <thead>
@@ -1971,22 +1994,27 @@
     <tbody>
       <tr><td>Bopomofo	<td>translate
       <tr><td>Hiragana	<td>translate
-      <tr><td>Katakana_Or_Hiragana	<td>translate
       <tr><td>Katakana	<td>translate
       <tr><td>Han	<td>translate
       <tr><td>Hangul	<td>translate
       <tr><td>Mongolian	<td>rotate
-      <tr><td>Phags_Pa	<td>rotate <span class="issue">?</span>
+      <tr><td>Phags Pa	<td>rotate <span class="issue">?</span>
       <tr><td>Yi	<td>translate
     </tbody>
   </table>
 
+  <p>For the purposes of this specification, all fullwidth characters
+    [[!UAX11]] are treated as belonging to a vertical script with a
+    translate bi-orientational transform.</p>
+
+<!--
   <p class="note">Ogham is also a rotating bi-orientational script, but
     because it is a bottom-to-top script for the purposes of this
     specification it is treated as left-to-right horizontal. A future
     version of CSS may define proper handling of bottom-to-top scripts.
     Authors can work around this lack of support with the ''rotate-left''
     value of 'text-orientation'.
+-->
 
 <h2 class="no-num">Appendix B: References</h2>
 

Received on Wednesday, 9 March 2011 06:04:32 UTC