W3C home > Mailing lists > Public > public-css-commits@w3.org > June 2011

csswg/css3-speech Overview.html,1.55,1.56 Overview.src.html,1.56,1.57

From: Daniel Weck via cvs-syncmail <cvsmail@w3.org>
Date: Tue, 07 Jun 2011 08:22:32 +0000
To: public-css-commits@w3.org
Message-Id: <E1QTrYW-0003or-E6@lionel-hutz.w3.org>
Update of /sources/public/csswg/css3-speech
In directory hutz:/tmp/cvs-serv14651

Modified Files:
	Overview.html Overview.src.html 
Log Message:
fixed voice family names (now matches font-family and allows spaces)
added list bullet nesting level announcement.


Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css3-speech/Overview.html,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- Overview.html	6 Jun 2011 21:51:31 -0000	1.55
+++ Overview.html	7 Jun 2011 08:22:30 -0000	1.56
@@ -90,13 +90,13 @@
 
    <h1 id=top>CSS Speech Module</h1>
 
-   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 06 June 2011</h2>
+   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 07 June 2011</h2>
 
    <dl>
     <dt>This version:
 
     <dd>
-     <!--<a href="http://www.w3.org/TR/2011/WD-css3-speech-20110606">http://www.w3.org/TR/2011/ED-css3-speech-20110606/</a>-->
+     <!--<a href="http://www.w3.org/TR/2011/WD-css3-speech-20110607">http://www.w3.org/TR/2011/ED-css3-speech-20110607/</a>-->
      <a
      href="http://dev.w3.org/csswg/css3-speech">http://dev.w3.org/csswg/css3-speech</a>
      
@@ -454,8 +454,7 @@
 &lt;p class="peter"&gt;
   &lt;span class="special"&gt;Can you hear me ?&lt;/span&gt;
   I am Peter.
-&lt;/p&gt;
-            </pre>
+&lt;/p&gt;</pre>
   </div>
 
   <h2 id=aural-model><span class=secno>2. </span>The <dfn
@@ -1098,8 +1097,7 @@
 
   <div class=example>
    <pre>
-p { pause: none } /* pause-before: none; pause-after: none */
-            </pre>
+p { pause: none } /* pause-before: none; pause-after: none */</pre>
   </div>
 
   <h3 id=pause-props-pause><span class=secno>5.2. </span>The &lsquo;<a
@@ -1166,8 +1164,7 @@
    <pre>
 h1 { pause: 20ms; } /* pause-before: 20ms; pause-after: 20ms */
 h2 { pause: 30ms 40ms; } /* pause-before: 30ms; pause-after: 40ms */
-h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */
-            </pre>
+h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */</pre>
   </div>
 
   <h3 id=collapsing><span class=secno>5.3. </span>Collapsing pauses</h3>
@@ -1608,8 +1605,7 @@
   cue-after: url(../clips-2/pop.au) 6dB;
 }
 
-div.caution { cue-before: url(./audio/caution.wav) +8dB; }
-      </pre>
+div.caution { cue-before: url(./audio/caution.wav) +8dB; }</pre>
   </div>
 
   <h3 id=cue-props-cue><span class=secno>7.2. </span>The &lsquo;<a
@@ -1681,8 +1677,7 @@
 h1
 {
   cue: url(pop.au);
-}
-            </pre>
+}</pre>
   </div>
 
   <h2 id=voice-char-props><span class=secno>8. </span>Voice characteristic
@@ -1702,9 +1697,9 @@
     <tr>
      <td> <em>Value:</em>
 
-     <td> [[[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]] &lt;non-negative
-      number&gt;?],]* [[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]]
-      &lt;non-negative number&gt;?] | preserve | inherit
+     <td> [[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt; &lt;non-negative
+      number&gt;?]],]* [&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;
+      &lt;non-negative number&gt;?]] | preserve | inherit
 
     <tr>
      <td> <em>Initial:</em>
@@ -1756,11 +1751,51 @@
 
    <dd>
     <p>Values are specific voice instances (e.g., Mike, comedian, mary,
-     carlos, "valley-girl"). For compatibility with SSML, voice names do not
-     contain whitespace characters, and any whitespace characters before or
-     after the voice name are ignored. Values can be quoted, and indeed must
-     be quoted if any of the words that make up the name does not conform to
-     the syntax rules for <a href="#identifier-def">identifiers</a>.</p>
+     carlos2, "valley girl"). Voice names must either be given quoted as <a
+     href="#strings-def">strings</a>, or unquoted as a sequence of one or
+     more <a href="#identifier-def">identifiers</a>.</p>
+
+    <p class=note>Note that as a result, most punctuation characters, or
+     digits at the start of each token, must be escaped in unquoted voice
+     names. For example, the following declarations are invalid:</p>
+
+    <div class=example>
+     <pre>
+voice-family: john/doe; /* forward slash character should be escaped */
+voice-family: john "doe"; /* identifier sequence cannot contain strings */
+voice-family: john!; /* exclamation mark should be escaped */
+voice-family: john@doe; /* "at" character should be escaped */
+voice-family: #john; /* identifier cannot start with hash character */
+voice-family: john 1st; /* identifier cannot start with digit */</pre>
+    </div>
+
+    <p> If a sequence of identifiers is given as a voice name, the computed
+     value is the name converted to a string by joining all the identifiers
+     in the sequence by single spaces.</p>
+
+    <p> Voice names that happen to be the same as the gender keywords
+     (&lsquo;<code class=property>male</code>&rsquo;, &lsquo;<code
+     class=property>female</code>&rsquo; and &lsquo;<code
+     class=property>neutral</code>&rsquo;) or that happen to match the
+     keywords &lsquo;<code class=property>inherit</code>&rsquo; or
+     &lsquo;<code class=property>preserve</code>&rsquo; must be quoted to
+     disambiguate with these keywords. The keywords &lsquo;<code
+     class=property>initial</code>&rsquo; and &lsquo;<code
+     class=property>default</code>&rsquo; are reserved for future use and
+     must also be quoted when used as voice names.</p>
+
+    <p class=note> Note that to avoid mistakes in escaping, it is recommended
+     to quote voice names that contain white space, digits, or punctuation
+     characters other than hyphens. For example:</p>
+
+    <div class=example>
+     <pre>
+voice-family: "john doe", "Henry the-8th";</pre>
+    </div>
+
+    <p class=note> Note that in <a href="#SSML"
+     rel=biblioentry>[SSML]<!--{{!SSML}}--></a>, voice names are
+     space-separated and cannot contain whitespace characters.</p>
 
    <dt> <strong>&lt;age&gt;</strong>
 
@@ -1780,8 +1815,7 @@
    <dt> <strong>&lt;non-negative number&gt;</strong>
 
    <dd>
-    <p>Indicates a preferred variant (e.g. "the second male child voice" or
-     "the third voice named &lsquo;<code class=property>Mike</code>&rsquo;").
+    <p>Indicates a preferred variant (e.g. "the second male child voice").
      Possible values are <a href="#non-negative-number-def">non-negative
      numbers</a> restricted to integers, and excluding zero (i.e. starting
      from 1). The value "1" refers to the first of all matching voices.</p>
@@ -1829,7 +1863,7 @@
 
    <li> If several voices are available for the language of the selected
     content, then the chosen voice is the one that most closely matches the
-    specified gender, age, and preferred voice index. The actual definition
+    specified gender, age, and preferred voice variant. The actual definition
     of "best match" is processor-dependent.
 
    <li> If no voice is available for the language of the selected content, it
@@ -1870,8 +1904,7 @@
   than that corresponding to the class "romeo"
   (which is inherited from the "p" parent element): 
   &lt;span style="voice-family: female;"&gt;Hello sir!&lt;/span&gt;
-&lt;/p&gt;
-            </pre>
+&lt;/p&gt;</pre>
   </div>
 
   <h3 id=voice-props-voice-rate><span class=secno>8.2. </span>The &lsquo;<a
@@ -2085,8 +2118,7 @@
 h2 { voice-pitch: +30Hz relative; }
 h2 { voice-pitch: 30Hz relative; } /* identical to the line above */
 h3 { voice-pitch: relative -2st; } /* the swapped keyword placement is a legal syntax */
-h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */
-            </pre>
+h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */</pre>
   </div>
 
   <h3 id=voice-props-voice-pitch-range><span class=secno>8.4. </span>The
@@ -2314,8 +2346,7 @@
 
 &lt;!-- The lines below demonstrate increasing levels of emphasis: --&gt;
 &lt;p&gt;This is a &lt;span class="normal-emphasis"&gt;big&lt;/span&gt; car!&lt;/p&gt;
-&lt;p&gt;This is a &lt;span class="huge-emphasis"&gt;big&lt;/span&gt; car!!!&lt;/p&gt;
-            </pre>
+&lt;p&gt;This is a &lt;span class="huge-emphasis"&gt;big&lt;/span&gt; car!!!&lt;/p&gt;</pre>
   </div>
 
   <h2 id=duration-props><span class=secno>9. </span>Voice duration property</h2>
@@ -2431,7 +2462,9 @@
     <p> For these list item styles, the user-agent defines (possibly based on
      user preferences) what equivalent phrase is spoken or what audio cue is
      played. List items with graphical bullets are therefore announced
-     appropriately in an implementation-dependent manner.</p>
+     appropriately in an implementation-dependent manner. For hierarchical
+     lists structures, it is recommended that user-agents announce the
+     nesting depth of list items.</p>
 
    <dt> <strong>decimal, decimal-leading-zero, lower-roman, upper-roman,
     georgian, armenian</strong>
@@ -2545,8 +2578,7 @@
 abbr { content: attr(title); }
 ...
 
-&lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&gt;
-            </pre>
+&lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&gt;</pre>
   </div>
 
   <p>In a similar way, text strings in a document can be replaced by a
@@ -2563,8 +2595,7 @@
 
 &lt;div class="hamlet"&gt;
 To be, or not to be: that is the question:
-&lt;/div&gt;
-            </pre>
+&lt;/div&gt;</pre>
   </div>
 
   <p>Furthermore, authors (or users via a user stylesheet) may add some
@@ -2586,8 +2617,7 @@
    <pre>
 ul::before { content: "Start list: "; }
 ul::after  { content: "List end. "; }
-li::before { content: "List item: "; }
-</pre>
+li::before { content: "List item: "; }</pre>
   </div>
 
   <p>Detailed information can be found in the CSS3 Generated and Replaced
@@ -2823,9 +2853,9 @@
     <tr>
      <td><a class=property href="#voice-family">voice-family</a>
 
-     <td>[[[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]] &lt;non-negative
-      number&gt;?],]* [[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]]
-      &lt;non-negative number&gt;?] | preserve | inherit
+     <td>[[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt; &lt;non-negative
+      number&gt;?]],]* [&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;
+      &lt;non-negative number&gt;?]] | preserve | inherit
 
      <td>implementation-dependent
 
@@ -3001,6 +3031,11 @@
     href="http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier">
     identifier </a></dfn> &nbsp;&nbsp; <a href="#CSS21"
     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>
+
+   <li> <dfn id=strings-def> <a
+    href="http://www.w3.org/TR/CSS21/syndata.html#strings"> strings
+    </a></dfn> &nbsp;&nbsp; <a href="#CSS21"
+    rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>
   </ul>
 
   <h2 class=no-num id=index>Appendix B &mdash; Index</h2>
@@ -3083,6 +3118,8 @@
    <li>speak-as, <a href="#speak-as" title=speak-as><strong>4.2.</strong></a>
     
 
+   <li>strings, <a href="#strings-def" title=strings><strong>#</strong></a>
+
    <li>style sheet, <a href="#style-sheet" title="style
     sheet"><strong>#</strong></a>
     <ul>
@@ -3375,6 +3412,10 @@
     class=property>voice-family</code></a>&rsquo; selection algorithm to
     cater for language changes.
 
+   <li>Enabled voice-family names to contain spaces, matching &lsquo;<code
+    class=property>font-family</code>&rsquo; syntax which is based on quoted
+    strings and concatenated identifiers.
+
    <li>Added a new section to define the relationship of this specification
     with CSS2.1.
 

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-speech/Overview.src.html,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- Overview.src.html	6 Jun 2011 21:51:31 -0000	1.56
+++ Overview.src.html	7 Jun 2011 08:22:30 -0000	1.57
@@ -217,8 +217,7 @@
 &lt;p class="peter"&gt;
   &lt;span class="special"&gt;Can you hear me ?&lt;/span&gt;
   I am Peter.
-&lt;/p&gt;
-            </pre>
+&lt;/p&gt;</pre>
     </div>
     <h2 id="aural-model">The <dfn id="aural-box-model">aural "box" model</dfn></h2>
     <p>The CSS formatting model for aural media is based on a sequence of sounds and silences that
@@ -800,8 +799,7 @@
       styles: </p>
     <div class="example">
       <pre>
-p { pause: none } /* pause-before: none; pause-after: none */
-            </pre>
+p { pause: none } /* pause-before: none; pause-after: none */</pre>
     </div>
     <h3 id="pause-props-pause">The 'pause' shorthand property</h3>
     <table class="propdef" summary="name: syntax">
@@ -863,8 +861,7 @@
       <pre>
 h1 { pause: 20ms; } /* pause-before: 20ms; pause-after: 20ms */
 h2 { pause: 30ms 40ms; } /* pause-before: 30ms; pause-after: 40ms */
-h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */
-            </pre>
+h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */</pre>
     </div>
     <h3 id="collapsing">Collapsing pauses</h3>
     <p> The pause defines the minimum distance of the aural "box" to the aural "boxes" before and
@@ -1252,8 +1249,7 @@
   cue-after: url(../clips-2/pop.au) 6dB;
 }
 
-div.caution { cue-before: url(./audio/caution.wav) +8dB; }
-      </pre>
+div.caution { cue-before: url(./audio/caution.wav) +8dB; }</pre>
     </div>
     <h3 id="cue-props-cue">The 'cue' shorthand property</h3>
     <table class="propdef" summary="name: syntax">
@@ -1322,8 +1318,7 @@
 h1
 {
   cue: url(pop.au);
-}
-            </pre>
+}</pre>
     </div>
     <h2 id="voice-char-props">Voice characteristic properties</h2>
     <h3 id="voice-props-voice-family">The 'voice-family' property</h3>
@@ -1339,9 +1334,9 @@
           <td>
             <em>Value:</em>
           </td>
-          <td> [[[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]] &lt;non-negative number&gt;?],]*
-            [[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt;]] &lt;non-negative number&gt;?] | preserve
-            | inherit </td>
+          <td> [[&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt; &lt;non-negative number&gt;?]],]*
+            [&lt;name&gt; | [&lt;age&gt;? &lt;gender&gt; &lt;non-negative number&gt;?]] | preserve |
+            inherit </td>
         </tr>
         <tr>
           <td>
@@ -1392,11 +1387,36 @@
         <strong>&lt;name&gt;</strong>
       </dt>
       <dd>
-        <p>Values are specific voice instances (e.g., Mike, comedian, mary, carlos, "valley-girl").
-          For compatibility with SSML, voice names do not contain whitespace characters, and any
-          whitespace characters before or after the voice name are ignored. Values can be quoted,
-          and indeed must be quoted if any of the words that make up the name does not conform to
-          the syntax rules for <a href="#identifier-def">identifiers</a>. </p>
+        <p>Values are specific voice instances (e.g., Mike, comedian, mary, carlos2, "valley girl").
+          Voice names must either be given quoted as <a href="#strings-def">strings</a>, or unquoted
+          as a sequence of one or more <a href="#identifier-def">identifiers</a>. </p>
+        <p class="note">Note that as a result, most punctuation characters, or digits at the start
+          of each token, must be escaped in unquoted voice names. For example, the following
+          declarations are invalid: </p>
+        <div class="example">
+          <pre>
+voice-family: john/doe; /* forward slash character should be escaped */
+voice-family: john "doe"; /* identifier sequence cannot contain strings */
+voice-family: john!; /* exclamation mark should be escaped */
+voice-family: john@doe; /* "at" character should be escaped */
+voice-family: #john; /* identifier cannot start with hash character */
+voice-family: john 1st; /* identifier cannot start with digit */</pre>
+        </div>
+        <p> If a sequence of identifiers is given as a voice name, the computed value is the name
+          converted to a string by joining all the identifiers in the sequence by single spaces. </p>
+        <p> Voice names that happen to be the same as the gender keywords ('male', 'female' and
+          'neutral') or that happen to match the keywords 'inherit' or 'preserve' must be quoted to
+          disambiguate with these keywords. The keywords 'initial' and 'default' are reserved for
+          future use and must also be quoted when used as voice names. </p>
+        <p class="note"> Note that to avoid mistakes in escaping, it is recommended to quote voice
+          names that contain white space, digits, or punctuation characters other than hyphens. For
+          example: </p>
+        <div class="example">
+          <pre>
+voice-family: "john doe", "Henry the-8th";</pre>
+        </div>
+        <p class="note"> Note that in [[!SSML]], voice names are space-separated and cannot contain
+          whitespace characters.</p>
       </dd>
       <dt>
         <strong>&lt;age&gt;</strong>
@@ -1416,10 +1436,10 @@
         <strong>&lt;non-negative number&gt;</strong>
       </dt>
       <dd>
-        <p>Indicates a preferred variant (e.g. "the second male child voice" or "the third voice
-          named 'Mike'"). Possible values are <a href="#non-negative-number-def">non-negative
-            numbers</a> restricted to integers, and excluding zero (i.e. starting from 1). The value
-          "1" refers to the first of all matching voices. </p>
+        <p>Indicates a preferred variant (e.g. "the second male child voice"). Possible values are
+            <a href="#non-negative-number-def">non-negative numbers</a> restricted to integers, and
+          excluding zero (i.e. starting from 1). The value "1" refers to the first of all matching
+          voices. </p>
       </dd>
       <dt>
         <strong>preserve</strong>
@@ -1449,7 +1469,7 @@
         voice must be used, regardless of the specified CSS voice characteristics. </li>
       <li> If several voices are available for the language of the selected content, then the chosen
         voice is the one that most closely matches the specified gender, age, and preferred voice
-        index. The actual definition of "best match" is processor-dependent.</li>
+        variant. The actual definition of "best match" is processor-dependent.</li>
       <li> If no voice is available for the language of the selected content, it is recommended that
         user-agents let the user know about the lack of appropriate TTS voice. </li>
       <li>The speech synthesizer voice must be re-evaluated (i.e. the selection process must take
@@ -1482,8 +1502,7 @@
   than that corresponding to the class "romeo"
   (which is inherited from the "p" parent element): 
   &lt;span style="voice-family: female;"&gt;Hello sir!&lt;/span&gt;
-&lt;/p&gt;
-            </pre>
+&lt;/p&gt;</pre>
     </div>
     <h3 id="voice-props-voice-rate">The 'voice-rate' property</h3>
     <table class="propdef" summary="name: syntax">
@@ -1685,8 +1704,7 @@
 h2 { voice-pitch: +30Hz relative; }
 h2 { voice-pitch: 30Hz relative; } /* identical to the line above */
 h3 { voice-pitch: relative -2st; } /* the swapped keyword placement is a legal syntax */
-h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */
-            </pre>
+h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */</pre>
     </div>
     <h3 id="voice-props-voice-pitch-range">The 'voice-pitch-range' property</h3>
     <table class="propdef" summary="name: syntax">
@@ -1905,8 +1923,7 @@
 
 &lt;!-- The lines below demonstrate increasing levels of emphasis: --&gt;
 &lt;p&gt;This is a &lt;span class="normal-emphasis"&gt;big&lt;/span&gt; car!&lt;/p&gt;
-&lt;p&gt;This is a &lt;span class="huge-emphasis"&gt;big&lt;/span&gt; car!!!&lt;/p&gt;
-            </pre>
+&lt;p&gt;This is a &lt;span class="huge-emphasis"&gt;big&lt;/span&gt; car!!!&lt;/p&gt;</pre>
     </div>
     <h2 id="duration-props">Voice duration property</h2>
     <h3 id="mixing-props-voice-duration">The 'voice-duration' property</h3>
@@ -2008,7 +2025,9 @@
       <dd>
         <p> For these list item styles, the user-agent defines (possibly based on user preferences)
           what equivalent phrase is spoken or what audio cue is played. List items with graphical
-          bullets are therefore announced appropriately in an implementation-dependent manner. </p>
+          bullets are therefore announced appropriately in an implementation-dependent manner. For
+          hierarchical lists structures, it is recommended that user-agents announce the nesting
+          depth of list items.</p>
       </dd>
       <dt>
         <strong>decimal, decimal-leading-zero, lower-roman, upper-roman, georgian, armenian</strong>
@@ -2094,8 +2113,7 @@
 abbr { content: attr(title); }
 ...
 
-&lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&gt;
-            </pre>
+&lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&gt;</pre>
     </div>
     <p>In a similar way, text strings in a document can be replaced by a previously recorded
       version. In the following example - assuming the format is supported, the file is available
@@ -2109,8 +2127,7 @@
 
 &lt;div class="hamlet"&gt;
 To be, or not to be: that is the question:
-&lt;/div&gt;
-            </pre>
+&lt;/div&gt;</pre>
     </div>
     <p>Furthermore, authors (or users via a user stylesheet) may add some information to ease the
       understanding of structures during non-visual interaction with the document. They can do so by
@@ -2124,8 +2141,7 @@
       <pre>
 ul::before { content: "Start list: "; }
 ul::after  { content: "List end. "; }
-li::before { content: "List item: "; }
-</pre>
+li::before { content: "List item: "; }</pre>
     </div>
     <p>Detailed information can be found in the CSS3 Generated and Replaced Content module
       [[CSS3GENCON]].</p>
@@ -2198,6 +2214,10 @@
         <dfn id="identifier-def">
           <a href="http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier"> identifier
           </a></dfn> &nbsp;&nbsp; [[!CSS21]] </li>
+      <li>
+        <dfn id="strings-def">
+          <a href="http://www.w3.org/TR/CSS21/syndata.html#strings"> strings </a></dfn> &nbsp;&nbsp;
+        [[!CSS21]] </li>
     </ul>
     <h2 class="no-num" id="index">Appendix B &mdash; Index</h2>
     <!--index-->
@@ -2377,6 +2397,8 @@
       <li>Added the 'normal' value for voice-rate ("default" in SSML 1.1).</li>
       <li>Renamed voice-family fields to be consistent with SSML.</li>
       <li>Improved the 'voice-family' selection algorithm to cater for language changes.</li>
+      <li>Enabled voice-family names to contain spaces, matching 'font-family' syntax which is based
+        on quoted strings and concatenated identifiers.</li>
       <li>Added a new section to define the relationship of this specification with CSS2.1.</li>
       <li>Added the missing "Computed value" line to each property definition.</li>
       <li>Cleaned-up the list of module dependencies, and removed redundant "module dependencies"
Received on Tuesday, 7 June 2011 08:22:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 7 June 2011 08:22:35 GMT