- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 09 Mar 2011 06:04:30 +0000
- To: public-css-commits@w3.org
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 ‘<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 ‘<a href="#text-orientation0"><code
class=property>text-orientation</code></a>’ property's ‘<a
href="#vertical-right"><code class=css>vertical-right</code></a>’
and ‘<a href="#upright"><code class=css>upright</code></a>’
@@ -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 ‘<a
- href="#direction0"><code class=property>direction</code></a>’ 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 ‘<a href="#direction0"><code
+ class=property>direction</code></a>’ 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
‘<a href="#text-orientation0"><code
@@ -1415,9 +1414,9 @@
<dd>
<p>In vertical writing modes, grapheme clusters from horizontal-only
- scripts are rotated 90° 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° 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° 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
- ‘<code class=css>vertical-rl</code>’ text in a primarily
- horizontal-script document.
+ rotated 90° 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° counter-clockwise. This value puts theelement in a
- <i>horizontal typographic mode</i> and can be used for ‘<code
- class=css>vertical-lr</code>’ text in a primarily
- horizontal-script document.
+ rotated 90° 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 ‘<a
href="#rotate-left"><code class=css>rotate-left</code></a>’, this
@@ -1489,7 +1484,9 @@
class=css>vertical-rl</code>’ writing mode and equivalent to
‘<a href="#rotate-left"><code
class=css>rotate-left</code></a>’ in ‘<code
- class=css>vertical-lr</code>’ writing mode.
+ class=css>vertical-lr</code>’ 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 ‘<a href="#rotate-normal"><code
+ class=css>rotate-normal</code></a>’. In the rest of the document,
+ the author can just set ‘<a href="#writing-mode1"><code
+ class=property>writing-mode</code></a>’ without worrying about
+ whether the text is ‘<code class=css>vertical-rl</code>’ or
+ ‘<code class=css>vertical-lr</code>’.
+
+ <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 ‘<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
+ ‘<a href="#vertical-right"><code
class=css>vertical-right</code></a>’) or set upright (for ‘<a
- href="#upright"><code class=css>upright</code></a>’). 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>’) depending on
+ the ‘<a href="#text-orientation0"><code
+ class=property>text-orientation</code></a>’ 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 ‘<a href="#vertical-right"><code
- class=css>vertical-right</code></a>’ 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
- ‘<a href="#upright"><code class=css>upright</code></a>’ 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 ‘<a
+ href="#vertical-right"><code class=css>vertical-right</code></a>’:
+ 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 ‘<a
+ href="#vertical-right"><code class=css>vertical-right</code></a>’
+ text. Similarly if the font and font system support upright typesetting
+ then the UA should rely on that feature to set ‘<a
+ href="#upright"><code class=css>upright</code></a>’ 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 ‘<a href="#vertical-right"><code
+ class=css>vertical-right</code></a>’, 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 ‘<a href="#upright"><code
+ class=css>upright</code></a>’, 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 ‘<a href="#rotate-left"><code
- class=css>rotate-left</code></a>’ value of ‘<a
- href="#text-orientation0"><code
- class=property>text-orientation</code></a>’.
+ <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 ‘<code class=css>rotate-left</code>’
+ value of ‘<code class=property>text-orientation</code>’.
+-->
<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° clockwise from their standard orientation
- in horizontal text.
+ scripts are set sideways, i.e. 90° 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° 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° 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° 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