(merge)

Tue, 25 Sep 2012 22:50:24 +0200

author
Bert Bos <bert@w3.org>
date
Tue, 25 Sep 2012 22:50:24 +0200
changeset 6791
d41a676c1954
parent 6790
4fffb12c4830
parent 6786
162d3ccd9720
child 6792
41f0a6db5339

(merge)

css-counter-styles/Overview.html file | annotate | diff | comparison | revisions
css-counter-styles/Overview.src.html file | annotate | diff | comparison | revisions
css3-lists/black.svg file | annotate | diff | comparison | revisions
css3-lists/white.svg file | annotate | diff | comparison | revisions
     1.1 --- a/.htaccess	Tue Sep 25 22:47:59 2012 +0200
     1.2 +++ b/.htaccess	Tue Sep 25 22:50:24 2012 +0200
     1.3 @@ -4,5 +4,15 @@
     1.4  RewriteEngine on
     1.5  RewriteRule ^(.*)css3-grid-align/(.*)$	$1css3-grid-layout/$2 [R=301,L]
     1.6  
     1.7 +# Module Renames
     1.8 +
     1.9  RedirectPermanent /csswg/css3-grid-align http://dev.w3.org/csswg/css3-grid-layout
    1.10  RedirectPermanent /csswg/css4-mediaqueries http://dev.w3.org/csswg/mediaqueries4
    1.11 +
    1.12 +# Versioning System Switchover
    1.13 +
    1.14 +#XXX insert rules here
    1.15 +
    1.16 +# Unversioned URLs
    1.17 +
    1.18 +Redirect /csswg/css-counter-styles http://dev.w3.org/csswg/css-counter-styles-3
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/css-counter-styles-3/Overview.html	Tue Sep 25 22:50:24 2012 +0200
     2.3 @@ -0,0 +1,4512 @@
     2.4 +<!DOCTYPE html>
     2.5 +
     2.6 +<html>
     2.7 + <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
     2.8 +  <title>CSS Counter Styles Level 3</title>
     2.9 +
    2.10 +  <link href="http://purl.org/dc/terms/" rel=schema.DC>
    2.11 +  <meta content="CSS Counter Styles Level 3" name=DC.title>
    2.12 +  <meta content=text name=DC.type>
    2.13 +  <meta content=2012-09-25 name=DC.issued>
    2.14 +  <meta content="http://dev.w3.org/csswg/css-counter-styles-3/"
    2.15 +   name=DC.creator>
    2.16 +  <meta content=W3C name=DC.publisher>
    2.17 +  <meta content="http://www.w3.org/TR/2012/ED-css-counter-styles-3-20120925/"
    2.18 +   name=DC.identifier>
    2.19 +  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    2.20 +   rel=DC.rights>
    2.21 +  <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    2.22 +  <link href="../default.css" rel=stylesheet type="text/css">
    2.23 +  <style>
    2.24 +	pre.stylesheet { white-space: pre-wrap; }
    2.25 +	</style>
    2.26 +  <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet
    2.27 +   type="text/css">
    2.28 +
    2.29 + <body>
    2.30 +  <div class=head> <!--begin-logo-->
    2.31 +   <p><a href="http://www.w3.org/"><img alt=W3C height=48
    2.32 +    src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->
    2.33 +
    2.34 +   <h1>CSS Counter Styles Level 3</h1>
    2.35 +
    2.36 +   <dl>
    2.37 +    <dt>This version:
    2.38 +
    2.39 +    <dd><!--<a href="http://www.w3.org/TR/2012/WD-css-counter-styles-3-20120925">http://www.w3.org/TR/2012/WD-css-counter-styles-3-20120925</a>-->
    2.40 +     <a
    2.41 +     href="http://dev.w3.org/csswg/css-counter-styles-3/">http://dev.w3.org/csswg/css-counter-styles-3/</a>
    2.42 +
    2.43 +    <dt>Latest version:
    2.44 +
    2.45 +    <dd><a
    2.46 +     href="http://www.w3.org/TR/css-counter-styles-3/">http://www.w3.org/TR/css-counter-styles-3/</a>
    2.47 +
    2.48 +    <dt>Editor's Draft:
    2.49 +
    2.50 +    <dd><a
    2.51 +     href="http://dev.w3.org/csswg/css-counter-styles-3/">http://dev.w3.org/csswg/css-counter-styles-3/</a>
    2.52 +
    2.53 +    <dt>Previous version:
    2.54 +
    2.55 +    <dd><a
    2.56 +     href="http://www.w3.org/TR/2002/WD-css3-lists-20021107/">http://www.w3.org/TR/2002/WD-css3-lists-20021107/</a>
    2.57 +
    2.58 +    <dt>Issue Tracking:
    2.59 +
    2.60 +    <dd><a
    2.61 +     href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Counter%20Styles&resolution=---">Bugzilla</a>
    2.62 +
    2.63 +    <dt>Feedback:
    2.64 +
    2.65 +    <dd><a
    2.66 +     href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a>
    2.67 +     with subject line “<kbd>[[css-counter-styles]] <var>… message topic
    2.68 +     …</var></kbd>”
    2.69 +
    2.70 +    <dt>Editor:
    2.71 +
    2.72 +    <dd class=vcard> <a class=url href="http://xanthir.com/contact/"> <span
    2.73 +     class=fn>Tab Atkins Jr.</span>, </a> <span class=org>Google, Inc.</span>
    2.74 +   </dl>
    2.75 +   <!--begin-copyright-->
    2.76 +   <p class=copyright><a
    2.77 +    href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    2.78 +    rel=license>Copyright</a> © 2012 <a href="http://www.w3.org/"><abbr
    2.79 +    title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
    2.80 +    href="http://www.csail.mit.edu/"><abbr
    2.81 +    title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
    2.82 +    href="http://www.ercim.eu/"><abbr
    2.83 +    title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
    2.84 +    <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
    2.85 +    href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
    2.86 +    <a
    2.87 +    href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
    2.88 +    and <a
    2.89 +    href="http://www.w3.org/Consortium/Legal/copyright-documents">document
    2.90 +    use</a> rules apply.</p>
    2.91 +   <!--end-copyright-->
    2.92 +   <hr title="Separator for header">
    2.93 +  </div>
    2.94 +
    2.95 +  <h2 class="no-num no-toc" id=abstract> Abstract</h2>
    2.96 +
    2.97 +  <p> This module introduces the ‘<a href="#at-counter-style"><code
    2.98 +   class=css>@counter-style</code></a>’ rule, which allows authors to
    2.99 +   define their own custom <i>counter styles</i> for use with CSS list-marker
   2.100 +   and generated-content counters <a href="#CSS3LIST"
   2.101 +   rel=biblioentry>[CSS3LIST]<!--{{CSS3LIST}}--></a>. It also predefines a
   2.102 +   set of common counter styles, including the ones present in CSS2 and
   2.103 +   CSS2.1. <a href="http://www.w3.org/TR/CSS/">CSS</a> is a language for
   2.104 +   describing the rendering of structured documents (such as HTML and XML) on
   2.105 +   screen, on paper, in speech, etc.
   2.106 +
   2.107 +  <h2 class="no-num no-toc" id=status> Status of this document</h2>
   2.108 +  <!--begin-status-->
   2.109 +
   2.110 +  <p>This is a public copy of the editors' draft. It is provided for
   2.111 +   discussion only and may change at any moment. Its publication here does
   2.112 +   not imply endorsement of its contents by W3C. Don't cite this document
   2.113 +   other than as work in progress.
   2.114 +
   2.115 +  <p>The (<a
   2.116 +   href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
   2.117 +   mailing list <a
   2.118 +   href="mailto:www-style@w3.org?Subject=%5Bcss-counter-styles-3%5D%20PUT%20SUBJECT%20HERE">
   2.119 +   www-style@w3.org</a> (see <a
   2.120 +   href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for
   2.121 +   discussion of this specification. When sending e-mail, please put the text
   2.122 +   “css-counter-styles-3” in the subject, preferably like this:
   2.123 +   “[<!---->css-counter-styles-3<!---->] <em>…summary of
   2.124 +   comment…</em>”
   2.125 +
   2.126 +  <p>This document was produced by the <a href="/Style/CSS/members">CSS
   2.127 +   Working Group</a> (part of the <a href="/Style/">Style Activity</a>).
   2.128 +
   2.129 +  <p>This document was produced by a group operating under the <a
   2.130 +   href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
   2.131 +   Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status"
   2.132 +   rel=disclosure>public list of any patent disclosures</a> made in
   2.133 +   connection with the deliverables of the group; that page also includes
   2.134 +   instructions for disclosing a patent. An individual who has actual
   2.135 +   knowledge of a patent which the individual believes contains <a
   2.136 +   href="/Consortium/Patent-Policy-20040205/#def-essential">Essential
   2.137 +   Claim(s)</a> must disclose the information in accordance with <a
   2.138 +   href="/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the
   2.139 +   W3C Patent Policy</a>.</p>
   2.140 +  <!--end-status-->
   2.141 +
   2.142 +  <p> The following counter styles are at-risk: ‘<a
   2.143 +   href="#cjk-decimal"><code class=css>cjk-decimal</code></a>’, ‘<a
   2.144 +   href="#hebrew"><code class=css>hebrew</code></a>’, ‘<a
   2.145 +   href="#hiragana"><code class=css>hiragana</code></a>’, ‘<a
   2.146 +   href="#hiragana-iroha"><code class=css>hiragana-iroha</code></a>’, ‘<a
   2.147 +   href="#katakana"><code class=css>katakana</code></a>’, ‘<a
   2.148 +   href="#katakana-iroha"><code class=css>katakana-iroha</code></a>’, ‘<a
   2.149 +   href="#japanese-informal0"><code
   2.150 +   class=css>japanese-informal</code></a>’, ‘<a
   2.151 +   href="#japanese-formal0"><code class=css>japanese-formal</code></a>’,
   2.152 +   ‘<a href="#korean-hangul-formal0"><code
   2.153 +   class=css>korean-hangul-formal</code></a>’, ‘<a
   2.154 +   href="#korean-hanja-informal0"><code
   2.155 +   class=css>korean-hanja-informal</code></a>’, ‘<a
   2.156 +   href="#korean-hanja-formal0"><code
   2.157 +   class=css>korean-hanja-formal</code></a>’, ‘<a
   2.158 +   href="#simp-chinese-informal0"><code
   2.159 +   class=css>simp-chinese-informal</code></a>’, ‘<a
   2.160 +   href="#simp-chinese-formal0"><code
   2.161 +   class=css>simp-chinese-formal</code></a>’, ‘<a
   2.162 +   href="#trad-chinese-informal0"><code
   2.163 +   class=css>trad-chinese-informal</code></a>’, ‘<a
   2.164 +   href="#trad-chinese-formal0"><code
   2.165 +   class=css>trad-chinese-formal</code></a>’, and ‘<a
   2.166 +   href="#ethiopic-numeric"><code class=css>ethiopic-numeric</code></a>’.
   2.167 +
   2.168 +  <h2 class="no-num no-toc" id=contents> Table of contents</h2>
   2.169 +  <!--begin-toc-->
   2.170 +
   2.171 +  <ul class=toc>
   2.172 +   <li><a href="#intro"><span class=secno>1. </span> Introduction</a>
   2.173 +
   2.174 +   <li><a href="#counter-styles"><span class=secno>2. </span> Counter
   2.175 +    Styles</a>
   2.176 +
   2.177 +   <li><a href="#the-counter-style-rule"><span class=secno>3. </span>
   2.178 +    Defining Custom Counter Styles: the ‘<code
   2.179 +    class=css>@counter-style</code>’ rule</a>
   2.180 +    <ul class=toc>
   2.181 +     <li><a href="#counter-style-system"><span class=secno>3.1. </span>
   2.182 +      Counter algorithms: the ‘<code class=property>system</code>’
   2.183 +      descriptor</a>
   2.184 +      <ul class=toc>
   2.185 +       <li><a href="#cyclic-system"><span class=secno>3.1.1. </span> Cycling
   2.186 +        Symbols: the ‘<code class=css>cyclic</code>’ system</a>
   2.187 +
   2.188 +       <li><a href="#fixed-system"><span class=secno>3.1.2. </span>
   2.189 +        Exhaustible Symbols: the ‘<code class=css>fixed</code>’
   2.190 +        system</a>
   2.191 +
   2.192 +       <li><a href="#symbolic-system"><span class=secno>3.1.3. </span>
   2.193 +        Repeating Symbols: the ‘<code class=css>symbolic</code>’
   2.194 +        system</a>
   2.195 +
   2.196 +       <li><a href="#alphabetic-system"><span class=secno>3.1.4. </span>
   2.197 +        Bijective Numerals: the ‘<code class=css>alphabetic</code>’
   2.198 +        system</a>
   2.199 +
   2.200 +       <li><a href="#numeric-system"><span class=secno>3.1.5. </span>
   2.201 +        Positional Numerals: the ‘<code class=css>numeric</code>’
   2.202 +        system</a>
   2.203 +
   2.204 +       <li><a href="#additive-system"><span class=secno>3.1.6. </span>
   2.205 +        Accumulating Numerals: the ‘<code class=css>additive</code>’
   2.206 +        system</a>
   2.207 +
   2.208 +       <li><a href="#override-system"><span class=secno>3.1.7. </span>
   2.209 +        Tweaking Existing Counter Styles: the ‘<code
   2.210 +        class=css>override</code>’ system</a>
   2.211 +      </ul>
   2.212 +
   2.213 +     <li><a href="#counter-style-negative"><span class=secno>3.2. </span>
   2.214 +      Formatting negative values: the ‘<code
   2.215 +      class=property>negative</code>’ descriptor</a>
   2.216 +
   2.217 +     <li><a href="#counter-style-prefix"><span class=secno>3.3. </span>
   2.218 +      Symbols before the marker: the ‘<code class=property>prefix</code>’
   2.219 +      descriptor</a>
   2.220 +
   2.221 +     <li><a href="#counter-style-suffix"><span class=secno>3.4. </span>
   2.222 +      Symbols after the marker: the ‘<code class=property>suffix</code>’
   2.223 +      descriptor</a>
   2.224 +
   2.225 +     <li><a href="#counter-style-range"><span class=secno>3.5. </span>
   2.226 +      Limiting the counter scope: the ‘<code class=property>range</code>’
   2.227 +      descriptor</a>
   2.228 +
   2.229 +     <li><a href="#counter-style-fallback"><span class=secno>3.6. </span>
   2.230 +      Defining fallback: the ‘<code class=property>fallback</code>’
   2.231 +      descriptor</a>
   2.232 +
   2.233 +     <li><a href="#counter-style-symbols"><span class=secno>3.7. </span>
   2.234 +      Marker characters: the ‘<code class=property>symbols</code>’ and
   2.235 +      ‘<code class=property>additive-symbols</code>’ descriptors</a>
   2.236 +    </ul>
   2.237 +
   2.238 +   <li><a href="#symbols-function"><span class=secno>4. </span> Defining
   2.239 +    Anonymous Counter Styles: the ‘<code class=css>symbols()</code>’
   2.240 +    function</a>
   2.241 +
   2.242 +   <li><a href="#predefined-counters"><span class=secno>5. </span> Simple
   2.243 +    Predefined Counter Styles</a>
   2.244 +    <ul class=toc>
   2.245 +     <li><a href="#simple-numeric"><span class=secno>5.1. </span> Numeric:
   2.246 +      ‘<code class=css>decimal</code>’, ‘<code
   2.247 +      class=css>decimal-leading-zero</code>’, ‘<code
   2.248 +      class=css>cjk-decimal</code>’, ‘<code
   2.249 +      class=css>lower-roman</code>’, ‘<code
   2.250 +      class=css>upper-roman</code>’, ‘<code class=css>armenian</code>’,
   2.251 +      ‘<code class=css>georgian</code>’, ‘<code
   2.252 +      class=css>hebrew</code>’</a>
   2.253 +
   2.254 +     <li><a href="#simple-alphabetic"><span class=secno>5.2. </span>
   2.255 +      Alphabetic: ‘<code class=css>lower-alpha</code>’, ‘<code
   2.256 +      class=css>lower-latin</code>’, ‘<code
   2.257 +      class=css>upper-alpha</code>’, ‘<code
   2.258 +      class=css>upper-latin</code>’, ‘<code
   2.259 +      class=css>lower-greek</code>’, ‘<code class=css>hiragana</code>’,
   2.260 +      ‘<code class=css>hiragana-iroha</code>’, ‘<code
   2.261 +      class=css>katakana</code>’, ‘<code
   2.262 +      class=css>katakana-iroha</code>’</a>
   2.263 +
   2.264 +     <li><a href="#simple-symbolic"><span class=secno>5.3. </span> Symbolic:
   2.265 +      ‘<code class=css>disc</code>’, ‘<code class=css>circle</code>’,
   2.266 +      ‘<code class=css>square</code>’</a>
   2.267 +    </ul>
   2.268 +
   2.269 +   <li><a href="#complex-predefined-counters"><span class=secno>6. </span>
   2.270 +    Complex Predefined Counter Styles</a>
   2.271 +    <ul class=toc>
   2.272 +     <li><a href="#complex-cjk"><span class=secno>6.1. </span> Longhand East
   2.273 +      Asian Counter Styles: ‘<code class=css>japanese-informal</code>’,
   2.274 +      ‘<code class=css>japanese-formal</code>’, ‘<code
   2.275 +      class=css>korean-hangul-formal</code>’, ‘<code
   2.276 +      class=css>korean-hanja-informal</code>’, ‘<code
   2.277 +      class=css>korean-hanja-formal</code>’, ‘<code
   2.278 +      class=css>simp-chinese-informal</code>’, ‘<code
   2.279 +      class=css>simp-chinese-formal</code>’, ‘<code
   2.280 +      class=css>trad-chinese-informal</code>’, ‘<code
   2.281 +      class=css>trad-chinese-formal</code>’</a>
   2.282 +      <ul class=toc>
   2.283 +       <li><a href="#limited-cjk"><span class=secno>6.1.1. </span>
   2.284 +        Limited-range Implementation (required)</a>
   2.285 +
   2.286 +       <li><a href="#extended-cjk"><span class=secno>6.1.2. </span> Extended
   2.287 +        Implementation (optional)</a>
   2.288 +      </ul>
   2.289 +
   2.290 +     <li><a href="#ethiopic-numeric-counter-style"><span class=secno>6.2.
   2.291 +      </span> Ethiopic Numeric Counter Style: ‘<code
   2.292 +      class=css>ethiopic-numeric</code>’</a>
   2.293 +    </ul>
   2.294 +
   2.295 +   <li><a href="#apis"><span class=secno>7. </span>APIs</a>
   2.296 +    <ul class=toc>
   2.297 +     <li><a href="#extentions-to-cssrule-interface"><span class=secno>7.1.
   2.298 +      </span> Extensions to the <code>CSSRule</code> interface</a>
   2.299 +
   2.300 +     <li><a href="#the-csscounterstylerule-interface"><span class=secno>7.2.
   2.301 +      </span> The <code>CSSCounterStyleRule</code> interface</a>
   2.302 +    </ul>
   2.303 +
   2.304 +   <li class=no-num><a href="#acknowledgments"> Acknowledgments</a>
   2.305 +
   2.306 +   <li class=no-num><a href="#conformance"> Conformance</a>
   2.307 +    <ul class=toc>
   2.308 +     <li class=no-num><a href="#conventions"> Document Conventions</a>
   2.309 +
   2.310 +     <li class=no-num><a href="#conformance-classes"> Conformance Classes</a>
   2.311 +
   2.312 +     <li class=no-num><a href="#partial"> Partial Implementations</a>
   2.313 +
   2.314 +     <li class=no-num><a href="#experimental"> Experimental
   2.315 +      Implementations</a>
   2.316 +
   2.317 +     <li class=no-num><a href="#testing"> Non-Experimental
   2.318 +      Implementations</a>
   2.319 +    </ul>
   2.320 +
   2.321 +   <li class=no-num><a href="#references">References</a>
   2.322 +    <ul class=toc>
   2.323 +     <li class=no-num><a href="#normative-references">Normative
   2.324 +      references</a>
   2.325 +
   2.326 +     <li class=no-num><a href="#other-references">Other references</a>
   2.327 +    </ul>
   2.328 +
   2.329 +   <li class=no-num><a href="#property-index">Property index</a>
   2.330 +
   2.331 +   <li class=no-num><a href="#index">Index</a>
   2.332 +  </ul>
   2.333 +  <!--end-toc-->
   2.334 +
   2.335 +  <hr>
   2.336 +
   2.337 +  <h2 id=intro><span class=secno>1. </span> Introduction</h2>
   2.338 +
   2.339 +  <p> CSS 1 defined a handful of useful counter styles based on the styles
   2.340 +   that HTML traditionally allowed on ordered and unordered lists. While this
   2.341 +   was expanded slightly by CSS2.1, it doesn't address the needs of worldwide
   2.342 +   typography.
   2.343 +
   2.344 +  <p> This module introduces the ‘<a href="#at-counter-style"><code
   2.345 +   class=css>@counter-style</code></a>’ rule which allows CSS to address
   2.346 +   this in an open-ended manner, by allowing the author to define their own
   2.347 +   counter styles. These styles can then be used in the ‘<code
   2.348 +   class=property>list-style-type</code>’ property or in the <code
   2.349 +   title=counter-function>counter()</code> and <code
   2.350 +   title=counters-function>counters()</code> functions. It also defines some
   2.351 +   additional predefined counter styles, particularly ones which are common
   2.352 +   but complicated to represent with ‘<a href="#at-counter-style"><code
   2.353 +   class=css>@counter-style</code></a>’.
   2.354 +
   2.355 +  <h2 id=counter-styles><span class=secno>2. </span> Counter Styles</h2>
   2.356 +
   2.357 +  <p> A <dfn id=counter-style>counter style</dfn> defines how to convert a
   2.358 +   counter value into a string. Counter styles are composed of:
   2.359 +
   2.360 +  <ul>
   2.361 +   <li> a <dfn id=name title=counter-name>name</dfn>, to identify the style
   2.362 +
   2.363 +   <li> an <dfn id=algorithm title=counter-algorithm>algorithm</dfn> that
   2.364 +    transforms counter values into a string representation
   2.365 +
   2.366 +   <li> a <dfn id=negative-sign title=counter-negative>negative sign</dfn>,
   2.367 +    which is prepended or appended to the representation of a negative
   2.368 +    counter value
   2.369 +
   2.370 +   <li> a <dfn id=prefix title=counter-prefix>prefix</dfn>, to prepend to the
   2.371 +    representation
   2.372 +
   2.373 +   <li> a <dfn id=suffix title=counter-suffix>suffix</dfn>, to append to the
   2.374 +    representation
   2.375 +
   2.376 +   <li> a <dfn id=range title=counter-range>range</dfn>, which limits the
   2.377 +    values that a counter style handles
   2.378 +
   2.379 +   <li> and a <dfn id=fallback-style title=counter-fallback>fallback
   2.380 +    style</dfn>, to render the representation with when the counter value is
   2.381 +    outside the counter style's range or the counter style otherwise can't
   2.382 +    render the counter value
   2.383 +  </ul>
   2.384 +
   2.385 +  <p> When asked to <dfn id=generate-a-counter-representation
   2.386 +   title=generate-a-counter>generate a counter representation</dfn> using a
   2.387 +   particular counter style for a particular counter value, follow these
   2.388 +   steps:
   2.389 +
   2.390 +  <ol>
   2.391 +   <li> If the counter value is outside the <a href="#range"><i
   2.392 +    title=counter-range>range</i></a> of the counter style, exit this
   2.393 +    algorithm and instead <a href="#generate-a-counter-representation"><i
   2.394 +    title=generate-a-counter>generate a counter representation</i></a> using
   2.395 +    the counter style's fallback style and the same counter value.
   2.396 +
   2.397 +   <li> Using the counter value and the <a href="#algorithm"><i
   2.398 +    title=counter-algorithm>counter algorithm</i></a> for the counter style,
   2.399 +    generate an initial representation for the counter value.
   2.400 +
   2.401 +   <li> Return the representation.
   2.402 +  </ol>
   2.403 +
   2.404 +  <p class=note> Note that the prefix and suffix don't play a part in this
   2.405 +   algorithm. This is intentional; the prefix and suffix aren't part of the
   2.406 +   string returned by the counter() or counters() functions. Instead, the
   2.407 +   prefix and suffix are added by the algorithm that constructs the value of
   2.408 +   the ‘<code class=property>contents</code>’ property for the ‘<code
   2.409 +   class=css>::marker</code>’ pseudo-element. This also implies that the
   2.410 +   prefix and suffix always come from the specified counter-style, even if
   2.411 +   the actual representation is constructed by a fallback style.
   2.412 +
   2.413 +  <h2 id=the-counter-style-rule><span class=secno>3. </span> Defining Custom
   2.414 +   Counter Styles: the ‘<a href="#at-counter-style"><code
   2.415 +   class=css>@counter-style</code></a>’ rule</h2>
   2.416 +
   2.417 +  <p> The <dfn id=at-counter-style>‘<code
   2.418 +   class=css>@counter-style</code>’</dfn> rule allows authors to define a
   2.419 +   custom <a href="#counter-style"><i>counter style</i></a>. The components
   2.420 +   of a <a href="#counter-style"><i>counter style</i></a> are specified by
   2.421 +   descriptors in the ‘<a href="#at-counter-style"><code
   2.422 +   class=css>@counter-style</code></a>’ rule. The <a href="#algorithm"><i
   2.423 +   title=counter-algorithm>algorithm</i></a> is specified implicitly by a
   2.424 +   combination of the ‘<a href="#descdef-system"><code
   2.425 +   class=css>system</code></a>’, ‘<a href="#descdef-symbols"><code
   2.426 +   class=css>symbols</code></a>’, and ‘<a
   2.427 +   href="#descdef-additive-symbols"><code
   2.428 +   class=css>additive-symbols</code></a>’ properties.
   2.429 +
   2.430 +  <p> The general form of an ‘<a href="#at-counter-style"><code
   2.431 +   class=css>@counter-style</code></a>’ rule is:
   2.432 +
   2.433 +  <pre>
   2.434 +@counter-style <i>&lt;counter-style-name></i> {
   2.435 +	[ descriptor: value; ]+
   2.436 +}
   2.437 +	</pre>
   2.438 +
   2.439 +  <p class=issue> This isn't strictly correct. For example, multiple
   2.440 +   semicolons in a row are valid. This should be done with some productions
   2.441 +   from the Syntax spec, so I can just say <code>&lt;declaration-list></code>
   2.442 +   or something.
   2.443 +
   2.444 +  <p> The <i>&lt;counter-style-name></i> must be be a valid identifier and
   2.445 +   must not be ‘<a href="#decimal"><code class=css>decimal</code></a>’ or
   2.446 +   ‘<code class=css>none</code>’, or else the rule is invalid. (Note,
   2.447 +   however, that some names, like ‘<code class=css>inside</code>’ or
   2.448 +   ‘<code class=css>initial</code>’, might conflict with the existing
   2.449 +   values of properties like ‘<code class=property>list-style</code>’,
   2.450 +   and thus won't be usable there.)
   2.451 +
   2.452 +  <p class=issue> The names should be case-insensitive, but we haven't yet
   2.453 +   figured out exactly which kind of insensitivity we want for CSS in
   2.454 +   general.
   2.455 +
   2.456 +  <p> Each ‘<a href="#at-counter-style"><code
   2.457 +   class=css>@counter-style</code></a>’ rule specifies a value for every
   2.458 +   counter-style descriptor, either implicitly or explicitly. Those not given
   2.459 +   explicit value in the rule take the initial value listed with each
   2.460 +   descriptor in this specification. These descriptors apply solely within
   2.461 +   the context of the ‘<a href="#at-counter-style"><code
   2.462 +   class=css>@counter-style</code></a>’ rule in which they are defined, and
   2.463 +   do not apply to document language elements. There is no notion of which
   2.464 +   elements the descriptors apply to or whether the values are inherited by
   2.465 +   child elements. When a given descriptor occurs multiple times in a given
   2.466 +   ‘<a href="#at-counter-style"><code
   2.467 +   class=css>@counter-style</code></a>’ rule, only the last specified value
   2.468 +   is used; all prior values for that descriptor must be ignored.
   2.469 +
   2.470 +  <p> Defining a ‘<a href="#at-counter-style"><code
   2.471 +   class=css>@counter-style</code></a>’ makes it available to the entire
   2.472 +   document in which it is included. If multiple ‘<a
   2.473 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’
   2.474 +   rules are defined with the same name, only one wins, according to standard
   2.475 +   cascade rules. ‘<a href="#at-counter-style"><code
   2.476 +   class=css>@counter-style</code></a>’ rules cascade "atomically": if one
   2.477 +   replaces another of the same name, it replaces it <em>entirely</em>,
   2.478 +   rather than just replacing the specific descriptors it specifies.
   2.479 +
   2.480 +  <p> This at-rule conforms with the forward-compatible parsing requirement
   2.481 +   of CSS; conformant parsers that don't understand these rules will ignore
   2.482 +   them without error. Any descriptors that are not recognized or implemented
   2.483 +   by a given user agent must be ignored in their entirety; they do not make
   2.484 +   the ‘<a href="#at-counter-style"><code
   2.485 +   class=css>@counter-style</code></a>’ rule invalid.
   2.486 +
   2.487 +  <h3 id=counter-style-system><span class=secno>3.1. </span> Counter
   2.488 +   algorithms: the ‘<a href="#descdef-system"><code
   2.489 +   class=property>system</code></a>’ descriptor</h3>
   2.490 +
   2.491 +  <table class=descdef>
   2.492 +   <tbody>
   2.493 +    <tr>
   2.494 +     <th>Name:
   2.495 +
   2.496 +     <td><dfn id=descdef-system>system</dfn>
   2.497 +
   2.498 +    <tr>
   2.499 +     <th>Value:
   2.500 +
   2.501 +     <td>repeating | numeric | alphabetic | symbolic | additive | <span
   2.502 +      class=nobr>[fixed &lt;integer>?]</span> | <span class=nobr>[ override
   2.503 +      &lt;counter-style-name> ]</span>
   2.504 +
   2.505 +    <tr>
   2.506 +     <th>Initial:
   2.507 +
   2.508 +     <td>symbolic
   2.509 +  </table>
   2.510 +
   2.511 +  <p>The ‘<a href="#descdef-system"><code
   2.512 +   class=property>system</code></a>’ descriptor specifies which algorithm
   2.513 +   will be used to construct the counter's representation based on the
   2.514 +   counter value. For example, ‘<a href="#cyclic"><code
   2.515 +   class=css>cyclic</code></a>’ counter styles just cycle through their
   2.516 +   symbols repeatedly, while ‘<a href="#numeric"><code
   2.517 +   class=css>numeric</code></a>’ counter styles interpret their symbols as
   2.518 +   digits and build their representation accordingly. The systems are defined
   2.519 +   as follows:
   2.520 +
   2.521 +  <h4 id=cyclic-system><span class=secno>3.1.1. </span> Cycling Symbols: the
   2.522 +   ‘<a href="#cyclic"><code class=css>cyclic</code></a>’ system</h4>
   2.523 +
   2.524 +  <p> The <dfn id=cyclic>‘<code class=css>cyclic</code>’</dfn> counter
   2.525 +   system cycles repeatedly through its provided symbols, looping back to the
   2.526 +   beginning when it reaches the end of the list. It can be used for simple
   2.527 +   bullets (just provide a single <a href="#counter-symbol"><i>counter
   2.528 +   symbol</i></a>), or for cycling through multiple symbols. The first <a
   2.529 +   href="#counter-symbol"><i>counter symbol</i></a> is used as the
   2.530 +   representation of the value 1, the second <a
   2.531 +   href="#counter-symbol"><i>counter symbol</i></a> (if it exists) is used as
   2.532 +   the representation of the value 2, etc.
   2.533 +
   2.534 +  <p> If the system is ‘<a href="#cyclic"><code
   2.535 +   class=css>cyclic</code></a>’, the ‘<a href="#descdef-symbols"><code
   2.536 +   class=property>symbols</code></a>’ descriptor must contain at least one
   2.537 +   <a href="#counter-symbol"><i>counter symbol</i></a>, or else the ‘<a
   2.538 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’ rule
   2.539 +   is invalid. This system is defined over all counter values.
   2.540 +
   2.541 +  <div class=example>
   2.542 +   <p>A "triangle bullet" counter style can be defined as:
   2.543 +
   2.544 +   <pre>
   2.545 +@counter-style <dfn id=triangle>triangle</dfn> {
   2.546 +	system: cyclic;
   2.547 +	symbols: ‣;
   2.548 +	suffix: '';
   2.549 +}
   2.550 +		</pre>
   2.551 +
   2.552 +   <p>It will then produce lists that look like:
   2.553 +
   2.554 +   <pre>
   2.555 +‣  One
   2.556 +‣  Two
   2.557 +‣  Three
   2.558 +		</pre>
   2.559 +  </div>
   2.560 +
   2.561 +  <p> If there are <var>N</var> <i>counter symbols</i> and a representation
   2.562 +   is being constructed for the integer <var>value</var>, the representation
   2.563 +   is the <a href="#counter-symbol"><i>counter symbol</i></a> at index (
   2.564 +   (<var>value</var>-1) mod <var>N</var>) of the list of <i>counter
   2.565 +   symbols</i> (0-indexed).
   2.566 +
   2.567 +  <h4 id=fixed-system><span class=secno>3.1.2. </span> Exhaustible Symbols:
   2.568 +   the ‘<a href="#fixed"><code class=css>fixed</code></a>’ system</h4>
   2.569 +
   2.570 +  <p> The <dfn id=fixed>‘<code class=css>fixed</code>’</dfn> counter
   2.571 +   system runs through its list of counter symbols once, then falls back. It
   2.572 +   is useful for representing counter styles that only have a finite number
   2.573 +   of representations. For example, Unicode defines several limited-length
   2.574 +   runs of special characters meant for lists, such as circled digits.
   2.575 +
   2.576 +  <p> If the system is ‘<a href="#fixed"><code
   2.577 +   class=css>fixed</code></a>’, the ‘<a href="#descdef-symbols"><code
   2.578 +   class=property>symbols</code></a>’ descriptor must contain at least one
   2.579 +   <a href="#counter-symbol"><i>counter symbol</i></a>, or else the ‘<a
   2.580 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’ rule
   2.581 +   is invalid. This system is defined over counter values in a finite range,
   2.582 +   starting with the <a href="#first-symbol-value"><i>first symbol
   2.583 +   value</i></a> and having a length equal to the length of the list of
   2.584 +   <i>counter symbols</i>.
   2.585 +
   2.586 +  <p> When this system is specified, it may optionally have an integer
   2.587 +   provided after it, which sets the <dfn id=first-symbol-value>first symbol
   2.588 +   value</dfn>. If it is omitted, the <a href="#first-symbol-value"><i>first
   2.589 +   symbol value</i></a> is 1.
   2.590 +
   2.591 +  <div class=example>
   2.592 +   <p>A "box-corner" counter style can be defined as:
   2.593 +
   2.594 +   <pre>
   2.595 +@counter-style <dfn id=box-corner>box-corner</dfn> {
   2.596 +	system: fixed;
   2.597 +	symbols: ◰ ◳ ◲ ◱;
   2.598 +	suffix: ':';
   2.599 +}
   2.600 +		</pre>
   2.601 +
   2.602 +   <p>It will then produce lists that look like:
   2.603 +
   2.604 +   <pre>
   2.605 +◰:  One
   2.606 +◳:  Two
   2.607 +◲:  Three
   2.608 +◱:  Four
   2.609 +5:  Five
   2.610 +6:  Six
   2.611 +		</pre>
   2.612 +  </div>
   2.613 +
   2.614 +  <p> The first <a href="#counter-symbol"><i>counter symbol</i></a> is the
   2.615 +   representation for the <a href="#first-symbol-value"><i>first symbol
   2.616 +   value</i></a>, and subsequent counter values are represented by subsequent
   2.617 +   <i>counter symbols</i>. Once the list of <i>counter symbols</i> is
   2.618 +   exhausted, further values cannot be represented by this counter style, and
   2.619 +   must instead be represented by the fallback counter style.
   2.620 +
   2.621 +  <h4 id=symbolic-system><span class=secno>3.1.3. </span> Repeating Symbols:
   2.622 +   the ‘<a href="#symbolic"><code class=css>symbolic</code></a>’ system</h4>
   2.623 +
   2.624 +  <p> The ‘<a href="#symbolic"><code class=css>symbolic</code></a>’
   2.625 +   counter system cycles repeatedly through its provided symbols, doubling,
   2.626 +   tripling, etc. the symbols on each successive pass through the list. For
   2.627 +   example, if the original symbols were "*" and "†", then on the second
   2.628 +   pass they would instead be "**" and "††", while on the third they
   2.629 +   would be "***"and "†††", etc. It can be used for footnote-style
   2.630 +   markers, and is also sometimes used for alphabetic-style lists for a
   2.631 +   slightly different presentation than what the ‘<a
   2.632 +   href="#alphabetic"><code class=css>alphabetic</code></a>’ system
   2.633 +   presents.
   2.634 +
   2.635 +  <p> If the system is <dfn id=symbolic>‘<code
   2.636 +   class=css>symbolic</code>’</dfn>, the ‘<a
   2.637 +   href="#descdef-symbols"><code class=property>symbols</code></a>’
   2.638 +   descriptor must contain at least one <a href="#counter-symbol"><i>counter
   2.639 +   symbol</i></a>, or else the ‘<a href="#at-counter-style"><code
   2.640 +   class=css>@counter-style</code></a>’ rule is invalid. This system is
   2.641 +   defined only over strictly positive counter values.
   2.642 +
   2.643 +  <div class=example>
   2.644 +   <p>An "footnote" counter style can be defined as:
   2.645 +
   2.646 +   <pre>
   2.647 +@counter-style <dfn id=footnote>footnote</dfn> {
   2.648 +	system: symbolic;
   2.649 +	symbols: * ⁑ † ‡;
   2.650 +	suffix: '';
   2.651 +}
   2.652 +		</pre>
   2.653 +
   2.654 +   <p>It will then produce lists that look like:
   2.655 +
   2.656 +   <pre>
   2.657 +*.   One
   2.658 +⁑.   Two
   2.659 +†.   Three
   2.660 +‡.   Four
   2.661 +**.  Five
   2.662 +⁑⁑.  Six
   2.663 +		</pre>
   2.664 +  </div>
   2.665 +
   2.666 +  <div class=example>
   2.667 +   <p> Some style guides mandate a list numbering that looks similar to ‘<a
   2.668 +    href="#upper-alpha"><code class=css>upper-alpha</code></a>’, but
   2.669 +    repeats differently after the first 26 values, instead going "AA", "BB",
   2.670 +    "CC", etc. This can be achieved with the symbolic system:
   2.671 +
   2.672 +   <pre>
   2.673 +@counter-style <dfn id=upper-alpha-legal>upper-alpha-legal</dfn> {
   2.674 +	system: symbolic;
   2.675 +	symbols: A B C D E F G H I J K L M 
   2.676 +	         N O P Q R S T U V W X Y Z;
   2.677 +}</pre>
   2.678 +
   2.679 +   <p> This style is identical to ‘<a href="#upper-alpha"><code
   2.680 +    class=css>upper-alpha</code></a>’ through the first 27 values, but they
   2.681 +    diverge after that, with ‘<a href="#upper-alpha"><code
   2.682 +    class=css>upper-alpha</code></a>’ going "AB", "AC", "AD", etc. Starting
   2.683 +    at the 53rd value, ‘<a href="#upper-alpha"><code
   2.684 +    class=css>upper-alpha</code></a>’ goes "BA", "BB", "BC", etc., while
   2.685 +    this style jumps into triple digits with "AAA", "BBB", "CCC", etc.
   2.686 +  </div>
   2.687 +
   2.688 +  <p> To construct the representation, run the following algorithm:
   2.689 +
   2.690 +  <p> Let <var>N</var> be the length of the list of <i>counter symbols</i>,
   2.691 +   <var>value</var> initially be the counter value, <var>S</var> initially be
   2.692 +   the empty string, and <var>symbol(n)</var> be the nth <a
   2.693 +   href="#counter-symbol"><i>counter symbol</i></a> in the list of <i>counter
   2.694 +   symbols</i> (0-indexed).
   2.695 +
   2.696 +  <ol>
   2.697 +   <li>Let the <var>chosen symbol</var> be <code
   2.698 +    class=inline>symbol(<var>value</var> mod <var>N</var>)</code>.
   2.699 +
   2.700 +   <li>Let the <var>representation length</var> be <code class=inline>floor(
   2.701 +    (<var>value</var> - 1) / <var>N</var> )</code>.
   2.702 +
   2.703 +   <li>Append the <var>chosen symbol</var> to <var>S</var> a number of times
   2.704 +    equal to the <var>representation length</var>.
   2.705 +  </ol>
   2.706 +
   2.707 +  <p>Finally, return <var>S</var>.
   2.708 +
   2.709 +  <p> The ‘<a href="#symbolic"><code class=css>symbolic</code></a>’
   2.710 +   system will produce representations with sizes that are linear in the
   2.711 +   magnitude of the counter value. This can potentially be abused to generate
   2.712 +   excessively large representations and consume undue amounts of the user's
   2.713 +   memory or even hang their browser. User agents must support
   2.714 +   representations at least 20 characters long, but they may choose to
   2.715 +   instead use the fallback style for representations that would be longer
   2.716 +   than 20 characters.
   2.717 +
   2.718 +  <h4 id=alphabetic-system><span class=secno>3.1.4. </span> Bijective
   2.719 +   Numerals: the ‘<a href="#alphabetic"><code
   2.720 +   class=css>alphabetic</code></a>’ system</h4>
   2.721 +
   2.722 +  <p> The ‘<a href="#alphabetic"><code class=css>alphabetic</code></a>’
   2.723 +   counter system interprets the list of <i>counter symbols</i> as digits to
   2.724 +   an <em title="">alphabetic</em> numbering system, similar to the default
   2.725 +   ‘<a href="#lower-alpha"><code class=css>lower-alpha</code></a>’
   2.726 +   counter style, which wraps from ‘<code class=property>a</code>’,
   2.727 +   ‘<code class=property>b</code>’, ‘<code class=property>c</code>’,
   2.728 +   to ‘<code class=property>aa</code>’, ‘<code
   2.729 +   class=property>ab</code>’, ‘<code class=property>ac</code>’.
   2.730 +   Alphabetic numbering systems do not contain a digit representing 0; so the
   2.731 +   first value when a new digit is added is composed solely of the first
   2.732 +   digit. Alphabetic numbering systems are commonly used for lists, and also
   2.733 +   appear in many spreadsheet programs to number columns. The first <a
   2.734 +   href="#counter-symbol"><i>counter symbol</i></a> in the list is
   2.735 +   interpreted as the digit 1, the second as the digit 2, and so on.
   2.736 +
   2.737 +  <p> If the system is <dfn id=alphabetic>‘<code
   2.738 +   class=css>alphabetic</code>’</dfn>, the ‘<a
   2.739 +   href="#descdef-symbols"><code class=property>symbols</code></a>’
   2.740 +   descriptor must contain at least two <i>counter symbols</i>, or else the
   2.741 +   ‘<a href="#at-counter-style"><code
   2.742 +   class=css>@counter-style</code></a>’ rule is invalid. This system is
   2.743 +   defined only over strictly positive counter values.
   2.744 +
   2.745 +  <div class=example>
   2.746 +   <p>A counter style using go stones can be defined as:
   2.747 +
   2.748 +   <pre>
   2.749 +@counter-style <dfn id=go>go</dfn> {
   2.750 +	system: alphabetic;
   2.751 +	symbols: url(white.svg) url(black.svg);
   2.752 +	suffix: '';
   2.753 +}
   2.754 +		</pre>
   2.755 +
   2.756 +   <p>It will then produce lists that look like:
   2.757 +
   2.758 +   <div class=alphabetic-example> <span><img alt=""
   2.759 +    src="images/white.svg"></span> One<br>
   2.760 +    <span><img alt="" src="images/black.svg"></span> Two<br>
   2.761 +    <span><img alt="" src="images/white.svg"><img alt=""
   2.762 +    src="images/white.svg"></span> Three<br>
   2.763 +    <span><img alt="" src="images/white.svg"><img alt=""
   2.764 +    src="images/black.svg"></span> Four<br>
   2.765 +    <span><img alt="" src="images/black.svg"><img alt=""
   2.766 +    src="images/white.svg"></span> Five<br>
   2.767 +    <span><img alt="" src="images/black.svg"><img alt=""
   2.768 +    src="images/black.svg"></span> Six<br>
   2.769 +    <span><img alt="" src="images/white.svg"><img alt=""
   2.770 +    src="images/white.svg"><img alt="" src="images/white.svg"></span> Seven</div>
   2.771 +
   2.772 +   <p class=note>This example requires support for SVG images to display
   2.773 +    correctly.
   2.774 +  </div>
   2.775 +
   2.776 +  <div class=example>
   2.777 +   <p>Alphabetic styles may also be used to simulate a fixed-width numeric
   2.778 +    style:
   2.779 +
   2.780 +   <pre>
   2.781 +@counter-style <dfn id=fixed-decimal>fixed-decimal</dfn> {
   2.782 +	system: alphabetic;
   2.783 +	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   2.784 +}
   2.785 +
   2.786 +ol { 
   2.787 +	list-style: fixed-decimal;
   2.788 +	counter-reset: list-item 1111; 
   2.789 +}
   2.790 +		</pre>
   2.791 +
   2.792 +   <p>This will produce lists that look like:
   2.793 +
   2.794 +   <pre>
   2.795 +0001.  One
   2.796 +0002.  Two
   2.797 +0003.  Three
   2.798 +0004.  Four
   2.799 +0005.  Five
   2.800 +0006.  Six
   2.801 +		</pre>
   2.802 +
   2.803 +   <p>Two-digit numbers start at value 11, three-digit numbers start at value
   2.804 +    111, etc..
   2.805 +
   2.806 +   <p class=issue>Should I instead explicitly provide a fixed-width numeric
   2.807 +    counter system? I'd like to see if this sort of numbering is used in the
   2.808 +    wild first.
   2.809 +  </div>
   2.810 +
   2.811 +  <p> If there are <var>N</var> <i>counter symbols</i>, the representation is
   2.812 +   a base <var>N</var> alphabetic number using the <i>counter symbols</i> as
   2.813 +   digits. To construct the representation, run the following algorithm:
   2.814 +
   2.815 +  <p> Let <var>N</var> be the length of the list of <i>counter symbols</i>,
   2.816 +   <var>value</var> initially be the counter value, <var>S</var> initially be
   2.817 +   the empty string, and <var>symbol(n)</var> be the nth <a
   2.818 +   href="#counter-symbol"><i>counter symbol</i></a> in the list of <i>counter
   2.819 +   symbols</i> (0-indexed).
   2.820 +
   2.821 +  <p>While <var>value</var> is not equal to 0:
   2.822 +
   2.823 +  <ol>
   2.824 +   <li>Set <var>value</var> to <code><var>value</var> - 1</code>.
   2.825 +
   2.826 +   <li>Prepend <var>symbol( <var>value</var> mod <var>N</var> )</var> to
   2.827 +    <var>S</var>.
   2.828 +
   2.829 +   <li>Set <var>value</var> to <code>floor( <var>value</var> / <var>N</var>
   2.830 +    )</code>.
   2.831 +  </ol>
   2.832 +
   2.833 +  <p>Finally, return <var>S</var>.
   2.834 +
   2.835 +  <h4 id=numeric-system><span class=secno>3.1.5. </span> Positional Numerals:
   2.836 +   the ‘<a href="#numeric"><code class=css>numeric</code></a>’ system</h4>
   2.837 +
   2.838 +  <p> The <dfn id=numeric>‘<code class=css>numeric</code>’</dfn> counter
   2.839 +   system interprets the list of <i>counter symbols</i> as digits to a
   2.840 +   "place-value" numbering system, similar to the default ‘<a
   2.841 +   href="#decimal"><code class=css>decimal</code></a>’ counter style. The
   2.842 +   first <a href="#counter-symbol"><i>counter symbol</i></a> in the list is
   2.843 +   interpreted as the digit 0, the second as the digit 1, and so on.
   2.844 +
   2.845 +  <p> If the system is ‘<a href="#numeric"><code
   2.846 +   class=css>numeric</code></a>’, the ‘<a href="#descdef-symbols"><code
   2.847 +   class=property>symbols</code></a>’ descriptor must contain at least two
   2.848 +   <i>counter symbols</i>, or else the ‘<a href="#at-counter-style"><code
   2.849 +   class=css>@counter-style</code></a>’ rule is invalid. This system is
   2.850 +   defined over all counter values.
   2.851 +
   2.852 +  <div class=example>
   2.853 +   <p>A "trinary" counter style can be defined as:
   2.854 +
   2.855 +   <pre>
   2.856 +@counter-style <dfn id=trinary>trinary</dfn> {
   2.857 +	system: numeric;
   2.858 +	symbols: '0' '1' '2';
   2.859 +}
   2.860 +		</pre>
   2.861 +
   2.862 +   <p>It will then produce lists that look like:
   2.863 +
   2.864 +   <pre>
   2.865 +1.   One
   2.866 +2.   Two
   2.867 +10.  Three
   2.868 +11.  Four
   2.869 +12.  Five
   2.870 +20.  Six
   2.871 +		</pre>
   2.872 +  </div>
   2.873 +
   2.874 +  <p> If there are <var>N</var> <i>counter symbols</i>, the representation is
   2.875 +   a base <var>N</var> number using the <i>counter symbols</i> as digits. To
   2.876 +   construct the representation, run the following algorithm:
   2.877 +
   2.878 +  <p> Let <var>N</var> be the length of the list of <i>counter symbols</i>,
   2.879 +   <var>value</var> initially be the counter value, <var>S</var> initially be
   2.880 +   the empty string, <a href="#descdef-negative"><var>negative</var></a> be a
   2.881 +   boolean flag that is initially false, and <var>symbol(n)</var> be the nth
   2.882 +   <a href="#counter-symbol"><i>counter symbol</i></a> in the list of
   2.883 +   <i>counter symbols</i> (0-indexed).
   2.884 +
   2.885 +  <ol>
   2.886 +   <li>If <var>value</var> is 0, append <var>symbol(0)</var> to <var>S</var>
   2.887 +    and return <var>S</var>.
   2.888 +
   2.889 +   <li>If <var>value</var> is negative, run the next step of this algorithm
   2.890 +    with <var>value</var> being the absolute value of <var>value</var>
   2.891 +    instead.
   2.892 +
   2.893 +   <li>While <var>value</var> is not equal to 0:
   2.894 +    <ol>
   2.895 +     <li>Prepend <var>symbol( <var>value</var> mod <var>N</var> )</var> to
   2.896 +      <var>S</var>.
   2.897 +
   2.898 +     <li>Set <var>value</var> to <code>floor( <var>value</var> / <var>N</var>
   2.899 +      )</code>.
   2.900 +    </ol>
   2.901 +
   2.902 +   <li>If <var>value</var> was originally negative, wrap <var>S</var> in the
   2.903 +    counter style's <a href="#negative-sign"><i
   2.904 +    title=counter-negative>negative sign</i></a>, as specified in the section
   2.905 +    for the <a href="#counter-style-negative">negative descriptor</a>.
   2.906 +
   2.907 +   <li>Return <var>S</var>.
   2.908 +  </ol>
   2.909 +
   2.910 +  <h4 id=additive-system><span class=secno>3.1.6. </span> Accumulating
   2.911 +   Numerals: the ‘<a href="#additive"><code
   2.912 +   class=css>additive</code></a>’ system</h4>
   2.913 +
   2.914 +  <p> The <dfn id=additive>‘<code class=css>additive</code>’</dfn>
   2.915 +   counter system is used to represent "sign-value" numbering systems, which,
   2.916 +   rather than using reusing digits in different positions to change their
   2.917 +   value, define additional digits with much larger values, so that the value
   2.918 +   of the number can be obtained by adding all the digits together. This is
   2.919 +   used in Roman numerals and other numbering systems around the world.
   2.920 +
   2.921 +  <p> If the system is ‘<a href="#additive"><code
   2.922 +   class=css>additive</code></a>’, the ‘<a
   2.923 +   href="#descdef-additive-symbols"><code
   2.924 +   class=property>additive-symbols</code></a>’ descriptor must contain at
   2.925 +   least one <a href="#additive-tuple"><i>additive tuple</i></a>, or else the
   2.926 +   ‘<a href="#at-counter-style"><code
   2.927 +   class=css>@counter-style</code></a>’ rule is invalid. This system is
   2.928 +   nominally defined over all counter values (see algorithm, below, for exact
   2.929 +   details).
   2.930 +
   2.931 +  <div class=example>
   2.932 +   <p>A "dice" counter style can be defined as:
   2.933 +
   2.934 +   <pre>
   2.935 +@counter-style <dfn id=dice>dice</dfn> {
   2.936 +	system: additive;
   2.937 +	additive-symbols: 6 ⚅, 5 ⚄, 4 ⚃, 3 ⚂, 2 ⚁, 1 ⚀;
   2.938 +	suffix: '';
   2.939 +}
   2.940 +		</pre>
   2.941 +
   2.942 +   <p>It will then produce lists that look like:
   2.943 +
   2.944 +   <pre>
   2.945 +⚀    One
   2.946 +⚁    Two
   2.947 +⚂    Three
   2.948 +...
   2.949 +⚅⚄   Eleven
   2.950 +⚅⚅   Twelve
   2.951 +⚅⚅⚀  Thirteen
   2.952 +		</pre>
   2.953 +  </div>
   2.954 +
   2.955 +  <p> To construct the representation, run this algorithm:
   2.956 +
   2.957 +  <p> Let <var>value</var> initially be the counter value, <var>S</var>
   2.958 +   initially be the empty string, and <var>symbol list</var> initially be the
   2.959 +   list of <i>additive tuples</i>.
   2.960 +
   2.961 +  <ol>
   2.962 +   <li>If <var>value</var> is initially 0, and there is an <a
   2.963 +    href="#additive-tuple"><i>additive tuple</i></a> with a weight of 0,
   2.964 +    append that tuple's <a href="#counter-symbol"><i>counter symbol</i></a>
   2.965 +    to S and return S.
   2.966 +
   2.967 +   <li>If <var>value</var> is negative, run the next step of this algorithm
   2.968 +    with <var>value</var> being the absolute value of <var>value</var>
   2.969 +    instead.
   2.970 +
   2.971 +   <li>While <var>value</var> is greater than 0 and there are elements left
   2.972 +    in the <var>symbol list</var>:
   2.973 +    <ol>
   2.974 +     <li>Pop the first <a href="#additive-tuple"><i>additive tuple</i></a>
   2.975 +      from the <var>symbol list</var>. This is the <dfn id=current-tuple
   2.976 +      title="current tuple|current tuple's">current tuple</dfn>.
   2.977 +
   2.978 +     <li>Append the <a href="#current-tuple"><i>current tuple</i></a>&apos;s
   2.979 +      <a href="#counter-symbol"><i>counter symbol</i></a> to <var>S</var>
   2.980 +      <code>floor( <var>value</var> / <var><a
   2.981 +      href="#current-tuple"><i>current tuple's</i></a> weight</var> )</code>
   2.982 +      times (this may be 0).
   2.983 +
   2.984 +     <li>Decrement <var>value</var> by the <var><a
   2.985 +      href="#current-tuple"><i>current tuple's</i></a> weight multiplied by
   2.986 +      the number of times the <a href="#current-tuple"><i>current
   2.987 +      tuple</i></a> was appended to <var>S</var> in the previous step. </var>
   2.988 +    </ol>
   2.989 +
   2.990 +   <li>If <var>value</var> was originally negative, wrap <var>S</var> in the
   2.991 +    counter style's <a href="#negative-sign"><i
   2.992 +    title=counter-negative>negative sign</i></a>, as specified in the section
   2.993 +    for the <a href="#counter-style-negative">negative descriptor</a>.
   2.994 +
   2.995 +   <li>If the loop ended because <var>value</var> is 0, return S. Otherwise,
   2.996 +    the given counter value cannot be represented by this counter style, and
   2.997 +    must instead be represented by the fallback counter style.
   2.998 +  </ol>
   2.999 +
  2.1000 +  <p> The ‘<a href="#additive"><code class=css>additive</code></a>’
  2.1001 +   system will produce representations with sizes that are linear in the
  2.1002 +   magnitude of the counter value. This can potentially be abused to generate
  2.1003 +   excessively large representations and consume undue amounts of the user's
  2.1004 +   memory or even hang their browser. User agents must support
  2.1005 +   representations at least 20 characters long, but they may choose to
  2.1006 +   instead use the fallback style for representations that would be longer
  2.1007 +   than 20 characters.
  2.1008 +
  2.1009 +  <h4 id=override-system><span class=secno>3.1.7. </span> Tweaking Existing
  2.1010 +   Counter Styles: the ‘<a href="#override"><code
  2.1011 +   class=css>override</code></a>’ system</h4>
  2.1012 +
  2.1013 +  <p> The <dfn id=override>‘<code class=css>override</code>’</dfn> system
  2.1014 +   allows an author to use the <i>algorithm</i> of another counter style, but
  2.1015 +   alter other aspects, such as the negative sign or the suffix. If a counter
  2.1016 +   style uses the ‘<a href="#override"><code
  2.1017 +   class=css>override</code></a>’ system, any unspecified descriptors must
  2.1018 +   be taken from the overridden counter style specified, rather than taking
  2.1019 +   their initial values.
  2.1020 +
  2.1021 +  <p> If a @counter-style uses the ‘<code class=css>override' system, it
  2.1022 +   must not contain a 'symbols' or 'additive-symbols' descriptor, or else the
  2.1023 +   </code>’@counter-style'‘<code class=css> rule is invalid. If the
  2.1024 +   specified counter style name isn</code>’t the name of any
  2.1025 +   currently-defined counter style, it must be treated as if it was
  2.1026 +   overriding the ‘<a href="#decimal"><code class=css>decimal</code></a>’
  2.1027 +   counter style.
  2.1028 +
  2.1029 +  <h3 id=counter-style-negative><span class=secno>3.2. </span> Formatting
  2.1030 +   negative values: the ‘<a href="#descdef-negative"><code
  2.1031 +   class=property>negative</code></a>’ descriptor</h3>
  2.1032 +
  2.1033 +  <table class=descdef>
  2.1034 +   <tbody>
  2.1035 +    <tr>
  2.1036 +     <th>Name:
  2.1037 +
  2.1038 +     <td><dfn id=descdef-negative>negative</dfn>
  2.1039 +
  2.1040 +    <tr>
  2.1041 +     <th>Value:
  2.1042 +
  2.1043 +     <td>&lt;string> &lt;string>?
  2.1044 +
  2.1045 +    <tr>
  2.1046 +     <th>Initial:
  2.1047 +
  2.1048 +     <td>"\2D" ("-" hyphen-minus)
  2.1049 +  </table>
  2.1050 +
  2.1051 +  <p>The ‘<a href="#descdef-negative"><code
  2.1052 +   class=property>negative</code></a>’ descriptor defines how to alter the
  2.1053 +   representation when the counter value is negative. Not all counter systems
  2.1054 +   can render negative numbers.
  2.1055 +
  2.1056 +  <p>The first string in the value is prepended to the representation when
  2.1057 +   the counter value is negative. The second string, if specified, is
  2.1058 +   appended to the representation when the counter value is negative.
  2.1059 +
  2.1060 +  <div class=example>
  2.1061 +   <p>For example, specifying ‘<a href="#descdef-negative"><code
  2.1062 +    class=css>negative: "(" ")";</code></a>’ will make negative values be
  2.1063 +    wrapped in parentheses, which is sometimes used in financial contexts,
  2.1064 +    like "(2) (1) 0 1 2 3...".
  2.1065 +  </div>
  2.1066 +
  2.1067 +  <h3 id=counter-style-prefix><span class=secno>3.3. </span> Symbols before
  2.1068 +   the marker: the ‘<a href="#descdef-prefix"><code
  2.1069 +   class=property>prefix</code></a>’ descriptor</h3>
  2.1070 +
  2.1071 +  <table class=descdef>
  2.1072 +   <tbody>
  2.1073 +    <tr>
  2.1074 +     <th>Name:
  2.1075 +
  2.1076 +     <td><dfn id=descdef-prefix>prefix</dfn>
  2.1077 +
  2.1078 +    <tr>
  2.1079 +     <th>Value:
  2.1080 +
  2.1081 +     <td>&lt;string>
  2.1082 +
  2.1083 +    <tr>
  2.1084 +     <th>Initial:
  2.1085 +
  2.1086 +     <td>"" (the empty string)
  2.1087 +  </table>
  2.1088 +
  2.1089 +  <p>The ‘<a href="#descdef-prefix"><code
  2.1090 +   class=property>prefix</code></a>’ descripter specifies a string that is
  2.1091 +   prepended to the marker representation. Prefixes are only added by the
  2.1092 +   algorithm for constructing the default contents of the ‘<code
  2.1093 +   class=css>::marker</code>’ pseudo-element; the prefix is not added
  2.1094 +   automatically when the counter() or counters() functions are used.
  2.1095 +   Prefixes come before any negative sign.
  2.1096 +
  2.1097 +  <h3 id=counter-style-suffix><span class=secno>3.4. </span> Symbols after
  2.1098 +   the marker: the ‘<a href="#descdef-suffix"><code
  2.1099 +   class=property>suffix</code></a>’ descriptor</h3>
  2.1100 +
  2.1101 +  <table class=descdef>
  2.1102 +   <tbody>
  2.1103 +    <tr>
  2.1104 +     <th>Name:
  2.1105 +
  2.1106 +     <td><dfn id=descdef-suffix>suffix</dfn>
  2.1107 +
  2.1108 +    <tr>
  2.1109 +     <th>Value:
  2.1110 +
  2.1111 +     <td>&lt;string>
  2.1112 +
  2.1113 +    <tr>
  2.1114 +     <th>Initial:
  2.1115 +
  2.1116 +     <td>"\2E" ("." full stop)
  2.1117 +  </table>
  2.1118 +
  2.1119 +  <p>The ‘<a href="#descdef-suffix"><code
  2.1120 +   class=property>suffix</code></a>’ descripter specifies a string that is
  2.1121 +   appended to the marker representation. Suffixes are only added by the
  2.1122 +   algorithm for constructing the default contents of the ‘<code
  2.1123 +   class=css>::marker</code>’ pseudo-element; the suffix is not added
  2.1124 +   automatically when the counter() or counters() functions are used.
  2.1125 +   Suffixes are added to the representation after negative signs.
  2.1126 +
  2.1127 +  <h3 id=counter-style-range><span class=secno>3.5. </span> Limiting the
  2.1128 +   counter scope: the ‘<a href="#descdef-range"><code
  2.1129 +   class=property>range</code></a>’ descriptor</h3>
  2.1130 +
  2.1131 +  <table class=descdef>
  2.1132 +   <tbody>
  2.1133 +    <tr>
  2.1134 +     <th>Name:
  2.1135 +
  2.1136 +     <td><dfn id=descdef-range>range</dfn>
  2.1137 +
  2.1138 +    <tr>
  2.1139 +     <th>Value:
  2.1140 +
  2.1141 +     <td>[ [ &lt;integer> | infinite ]{2} ]# | auto
  2.1142 +
  2.1143 +    <tr>
  2.1144 +     <th>Initial:
  2.1145 +
  2.1146 +     <td>auto
  2.1147 +  </table>
  2.1148 +
  2.1149 +  <p>The ‘<a href="#descdef-range"><code class=property>range</code></a>’
  2.1150 +   descriptor defines the ranges over which the counter style is defined. If
  2.1151 +   a counter style is used to represent a counter value outside of its
  2.1152 +   ranges, the counter style instead drops down to its fallback counter
  2.1153 +   style.
  2.1154 +
  2.1155 +  <p>If the value is not ‘<code class=css>auto</code>’, the first value
  2.1156 +   of each range in the list represents the lower bound of the range (with
  2.1157 +   ‘<code class=css>infinite</code>’ representing negative infinity), and
  2.1158 +   the second value represents the upper bound of the range (with ‘<code
  2.1159 +   class=property>infinite</code>’ representing positive infinity). This is
  2.1160 +   an inclusive range - it includes both the lower and upper bound numbers.
  2.1161 +   The range of the counter style as a whole is the union of the individual
  2.1162 +   ranges. If the lower bound of any range is higher than the higher bound,
  2.1163 +   the entire descriptor is invalid and must be ignored.
  2.1164 +
  2.1165 +  <p>If the value is ‘<code class=css>auto</code>’, the range depends on
  2.1166 +   the counter system. For ‘<a href="#cyclic"><code
  2.1167 +   class=css>cyclic</code></a>’, ‘<a href="#numeric"><code
  2.1168 +   class=css>numeric</code></a>’, and ‘<a href="#fixed"><code
  2.1169 +   class=css>fixed</code></a>’ systems, it must be treated identically to
  2.1170 +   specifying ‘<code class=css>infinite infinite</code>’. For ‘<a
  2.1171 +   href="#alphabetic"><code class=css>alphabetic</code></a>’ and ‘<a
  2.1172 +   href="#symbolic"><code class=css>symbolic</code></a>’, it must be
  2.1173 +   treated identically to ‘<code class=css>1 infinite</code>’. For ‘<a
  2.1174 +   href="#additive"><code class=css>additive</code></a>’, it must be
  2.1175 +   treated identically to ‘<code class=css>0 infinite</code>’. For ‘<a
  2.1176 +   href="#override"><code class=css>override</code></a>’, it must be
  2.1177 +   treated according to the system of the counter style it is overriding.
  2.1178 +
  2.1179 +  <p>Some counter style systems have their own implicit ranges, specified
  2.1180 +   above in the individual descriptions for each system. The explicit range
  2.1181 +   given by the ‘<a href="#descdef-range"><code class=css><code
  2.1182 +   class=css>range</code></code></a>’ descriptor applies at the same time
  2.1183 +   as the implicit range given by the ‘<a href="#descdef-system"><code
  2.1184 +   class=css><code class=css>system</code></code></a>’ descriptor - if the
  2.1185 +   counter value is outside either range, the fallback style must instead be
  2.1186 +   used to generate the representation.
  2.1187 +
  2.1188 +  <p class=issue>There's also an implicit range coming from implementation
  2.1189 +   limits. Should we require UAs to support all values in a signed 2-byte
  2.1190 +   int, or a signed 4-byte int?
  2.1191 +
  2.1192 +  <h3 id=counter-style-fallback><span class=secno>3.6. </span> Defining
  2.1193 +   fallback: the ‘<a href="#descdef-fallback"><code
  2.1194 +   class=property>fallback</code></a>’ descriptor</h3>
  2.1195 +
  2.1196 +  <table class=descdef>
  2.1197 +   <tbody>
  2.1198 +    <tr>
  2.1199 +     <th>Name:
  2.1200 +
  2.1201 +     <td><dfn id=descdef-fallback>fallback</dfn>
  2.1202 +
  2.1203 +    <tr>
  2.1204 +     <th>Value:
  2.1205 +
  2.1206 +     <td>&lt;counter-style-name>
  2.1207 +
  2.1208 +    <tr>
  2.1209 +     <th>Initial:
  2.1210 +
  2.1211 +     <td>decimal
  2.1212 +  </table>
  2.1213 +
  2.1214 +  <p>The ‘<a href="#descdef-fallback"><code
  2.1215 +   class=property>fallback</code></a>’ descriptor specifies a fallback
  2.1216 +   counter style to be used when the current counter style can't create a
  2.1217 +   representation for a given counter value. For example, if a counter style
  2.1218 +   defined with a range of 1-10 is asked to represent a counter value of 11,
  2.1219 +   the counter value's representation is instead constructed with the
  2.1220 +   fallback counter style (or possibly the fallback style's fallback style,
  2.1221 +   if the fallback style can't represent that value, etc.).
  2.1222 +
  2.1223 +  <p>If the value of the ‘<a href="#descdef-fallback"><code
  2.1224 +   class=property>fallback</code></a>’ descriptor isn't the name of any
  2.1225 +   currently-defined counter style, the used value of the ‘<a
  2.1226 +   href="#descdef-fallback"><code class=property>fallback</code></a>’
  2.1227 +   descriptor is <a href="#decimal"><i>decimal</i></a> instead. Similarly,
  2.1228 +   while following fallbacks to find a counter style that can render the
  2.1229 +   given counter value, if a loop in the specified fallbacks is detected, the
  2.1230 +   <a href="#decimal"><i>decimal</i></a> style must be used instead.
  2.1231 +
  2.1232 +  <p class=note>Note that it is not necessarily an error to specify fallback
  2.1233 +   loops. For example, if an author desires a counter style with
  2.1234 +   significantly different representations for even and odd counter values,
  2.1235 +   they may find it easiest to define one style that can only represent odd
  2.1236 +   values and one that can only represent even values, and specify each as
  2.1237 +   the fallback for the other one. Though the fallback graph is circular, at
  2.1238 +   no point do you encounter a loop while following these fallbacks - every
  2.1239 +   counter value is represented by one or the other counter style.
  2.1240 +
  2.1241 +  <p class=issue>Is it useful to allow this case? If it would be
  2.1242 +   significantly easier for implementations to just detect and reject
  2.1243 +   circular fallback graphs, that would probably be acceptable.
  2.1244 +
  2.1245 +  <h3 id=counter-style-symbols><span class=secno>3.7. </span> Marker
  2.1246 +   characters: the ‘<a href="#descdef-symbols"><code
  2.1247 +   class=property>symbols</code></a>’ and ‘<a
  2.1248 +   href="#descdef-additive-symbols"><code
  2.1249 +   class=property>additive-symbols</code></a>’ descriptors</h3>
  2.1250 +
  2.1251 +  <table class=descdef>
  2.1252 +   <tbody>
  2.1253 +    <tr>
  2.1254 +     <th>Name:
  2.1255 +
  2.1256 +     <td><dfn id=descdef-symbols>symbols</dfn>
  2.1257 +
  2.1258 +    <tr>
  2.1259 +     <th>Value:
  2.1260 +
  2.1261 +     <td>[ &lt;string> | &lt;image> | &lt;identifier> ]+
  2.1262 +
  2.1263 +    <tr>
  2.1264 +     <th>Initial:
  2.1265 +
  2.1266 +     <td>N/A
  2.1267 +  </table>
  2.1268 +
  2.1269 +  <table class=descdef>
  2.1270 +   <tbody>
  2.1271 +    <tr>
  2.1272 +     <th>Name:
  2.1273 +
  2.1274 +     <td><dfn id=descdef-additive-symbols>additive-symbols</dfn>
  2.1275 +
  2.1276 +    <tr>
  2.1277 +     <th>Value:
  2.1278 +
  2.1279 +     <td>[ &lt;integer> && [ &lt;string> | &lt;image> | &lt;identifier> ] ]#
  2.1280 +
  2.1281 +    <tr>
  2.1282 +     <th>Initial:
  2.1283 +
  2.1284 +     <td>N/A
  2.1285 +  </table>
  2.1286 +
  2.1287 +  <p>The ‘<a href="#descdef-symbols"><code
  2.1288 +   class=property>symbols</code></a>’ and ‘<a
  2.1289 +   href="#descdef-additive-symbols"><code
  2.1290 +   class=property>additive-symbols</code></a>’ descriptors specify the
  2.1291 +   symbols used by the marker-construction algorithm specified by the ‘<a
  2.1292 +   href="#descdef-system"><code class=property>system</code></a>’
  2.1293 +   descriptor. The ‘<a href="#descdef-symbols"><code
  2.1294 +   class=property>symbols</code></a>’ descriptor must be specified if the
  2.1295 +   counter system is ‘<a href="#cyclic"><code
  2.1296 +   class=css>cyclic</code></a>’, ‘<a href="#numeric"><code
  2.1297 +   class=css>numeric</code></a>’, ‘<a href="#alphabetic"><code
  2.1298 +   class=css>alphabetic</code></a>’, ‘<a href="#symbolic"><code
  2.1299 +   class=css>symbolic</code></a>’, or ‘<a href="#fixed"><code
  2.1300 +   class=css>fixed</code></a>’, and the ‘<a
  2.1301 +   href="#descdef-additive-symbols"><code
  2.1302 +   class=property>additive-symbols</code></a>’ descriptor must be specified
  2.1303 +   if the counter system is ‘<a href="#additive"><code
  2.1304 +   class=css>additive</code></a>’; otherwise, the ‘<a
  2.1305 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’ is
  2.1306 +   invalid and must be ignored.
  2.1307 +
  2.1308 +  <p>Some counter systems specify that the ‘<a
  2.1309 +   href="#descdef-symbols"><code class=property>symbols</code></a>’
  2.1310 +   descriptor must have at least two entries. If the counter style's system
  2.1311 +   is such, and the ‘<a href="#descdef-symbols"><code
  2.1312 +   class=property>symbols</code></a>’ descriptor has only a single entry,
  2.1313 +   the counter style is invalid and must be ignored.
  2.1314 +
  2.1315 +  <p>Each entry in the ‘<a href="#descdef-symbols"><code
  2.1316 +   class=property>symbols</code></a>’ descriptor's value defines a <dfn
  2.1317 +   id=counter-symbol>counter symbol</dfn>, which is interpreted differently
  2.1318 +   based on the counter style's system. Each entry in the ‘<a
  2.1319 +   href="#descdef-additive-symbols"><code
  2.1320 +   class=property>additive-symbols</code></a>’ descriptor's value defines
  2.1321 +   an <dfn id=additive-tuple>additive tuple</dfn>, which consists of a <a
  2.1322 +   href="#counter-symbol"><i>counter symbol</i></a> and a non-negative
  2.1323 +   integer weight. Each weight must be a non-negative integer, and the
  2.1324 +   <i>additive tuples</i> must be specified in order of descending weight;
  2.1325 +   otherwise, the @counter-style is invalid and must be ignored.
  2.1326 +
  2.1327 +  <p> <i>Counter symbols</i> may be strings, images, or identifiers, and the
  2.1328 +   three types can be mixed in a single descriptor. Counter representations
  2.1329 +   are constructed by concatenating counter symbols together. Identifiers are
  2.1330 +   rendered as strings containing the same characters. Images are rendered as
  2.1331 +   inline replaced elements. The <a
  2.1332 +   href="http://dev.w3.org/csswg/css3-images/#default-object-size">default
  2.1333 +   object size</a> of an image <a href="#counter-symbol"><i>counter
  2.1334 +   symbol</i></a> is a 1em by 1em square.
  2.1335 +   <!-- ====================================================================== -->
  2.1336 +
  2.1337 +  <h2 id=symbols-function><span class=secno>4. </span> Defining Anonymous
  2.1338 +   Counter Styles: the ‘<a href="#descdef-symbols"><code
  2.1339 +   class=css>symbols()</code></a>’ function</h2>
  2.1340 +
  2.1341 +  <p> The ‘<a href="#descdef-symbols"><code
  2.1342 +   class=css>symbols()</code></a>’ function allows a <a
  2.1343 +   href="#counter-style"><i>counter style</i></a> to be defined inline in a
  2.1344 +   property value, for when a style is used only once in a stylesheet and
  2.1345 +   defining a full ‘<a href="#at-counter-style"><code
  2.1346 +   class=css>@counter-style</code></a>’ rule would be overkill. It does not
  2.1347 +   provide the full feature-set of the ‘<a href="#at-counter-style"><code
  2.1348 +   class=css>@counter-style</code></a>’ rule, but provides a sufficient
  2.1349 +   subset to still be useful. The syntax of the ‘<a
  2.1350 +   href="#descdef-symbols"><code class=css>symbols()</code></a>’ rule is:
  2.1351 +
  2.1352 +  <pre><dfn
  2.1353 +   id=type-symbols-function>&lt;symbols-function></dfn> = symbols( &lt;symbols-type>? [ &lt;string> | &lt;image> ]+ )</pre>
  2.1354 +
  2.1355 +  <p> Where &lt;symbols-type> is one of the following keywords: ‘<a
  2.1356 +   href="#cyclic"><code class=css>cyclic</code></a>’, ‘<a
  2.1357 +   href="#numeric"><code class=css>numeric</code></a>’, ‘<a
  2.1358 +   href="#alphabetic"><code class=css>alphabetic</code></a>’, ‘<a
  2.1359 +   href="#symbolic"><code class=css>symbolic</code></a>’, or ‘<a
  2.1360 +   href="#fixed"><code class=css>fixed</code></a>’.
  2.1361 +
  2.1362 +  <p> The ‘<a href="#descdef-symbols"><code
  2.1363 +   class=css>symbols()</code></a>’ function defines an anonymous counter
  2.1364 +   style with no <a href="#name"><i title=counter-name>name</i></a>, a <a
  2.1365 +   href="#prefix"><i title=counter-prefix>prefix</i></a> and <a
  2.1366 +   href="#suffix"><i title=counter-suffix>suffix</i></a> of ‘<code
  2.1367 +   class=css>""</code>’ (the empty string), a <a href="#range"><i
  2.1368 +   title=counter-range>range</i></a> of ‘<code class=css>auto</code>’, a
  2.1369 +   <a href="#fallback-style"><i title=counter-fallback>fallback style</i></a>
  2.1370 +   of ‘<a href="#decimal"><code class=css>decimal</code></a>’, and a <a
  2.1371 +   href="#negative-sign"><i title=counter-negative>negative sign</i></a> of
  2.1372 +   "\2D" ("-" hyphen-minus). The counter style's <a href="#algorithm"><i
  2.1373 +   title=counter-algorithm>algorithm</i></a> is constructed by consulting the
  2.1374 +   previous chapter using the provided system — or ‘<a
  2.1375 +   href="#symbolic"><code class=css>symbolic</code></a>’ if the system was
  2.1376 +   omitted — and the provided &lt;string>s and &lt;image>s as the value of
  2.1377 +   the ‘<a href="#descdef-symbols"><code
  2.1378 +   class=property>symbols</code></a>’ property. If the system is ‘<a
  2.1379 +   href="#fixed"><code class=css>fixed</code></a>’, the <a
  2.1380 +   href="#first-symbol-value"><i>first symbol value</i></a> is ‘<code
  2.1381 +   class=css>1</code>’.
  2.1382 +
  2.1383 +  <div class=example>
  2.1384 +   <p> This code:
  2.1385 +
  2.1386 +   <pre>ol { list-style: symbols("*" "\2020" "\2021" "\A7"); }</pre>
  2.1387 +
  2.1388 +   <p> will produce lists that look like:
  2.1389 +
  2.1390 +   <pre>
  2.1391 +*   One
  2.1392 +†   Two
  2.1393 +‡   Three
  2.1394 +§   Four
  2.1395 +**  Five
  2.1396 +††  Six
  2.1397 +‡‡  Seven</pre>
  2.1398 +
  2.1399 +   <p> On the other hand, specifying the system of counter, like so:
  2.1400 +
  2.1401 +   <pre>ol { list-style: symbols(cyclic "*" "\2020" "\2021" "\A7"); }</pre>
  2.1402 +
  2.1403 +   <p> will produce lists that look like:
  2.1404 +
  2.1405 +   <pre>
  2.1406 +*   One
  2.1407 +†   Two
  2.1408 +‡   Three
  2.1409 +§   Four
  2.1410 +*   Five
  2.1411 +†   Six
  2.1412 +‡   Seven</pre>
  2.1413 +  </div>
  2.1414 +
  2.1415 +  <p class=note> Note that the ‘<a href="#descdef-symbols"><code
  2.1416 +   class=css>symbols()</code></a>’ function only allows strings and images,
  2.1417 +   while the ‘<a href="#descdef-symbols"><code
  2.1418 +   class=property>symbols</code></a>’ descriptor of a ‘<a
  2.1419 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’ rule
  2.1420 +   also allows identifiers. <!--
  2.1421 +   SSSSSSSSSSSSSSS      tttt                              lllllll                                      
  2.1422 + SS:::::::::::::::S  ttt:::t                              l:::::l                                      
  2.1423 +S:::::SSSSSS::::::S  t:::::t                              l:::::l                                      
  2.1424 +S:::::S     SSSSSSS  t:::::t                              l:::::l                                      
  2.1425 +S:::::S        ttttttt:::::tttttttyyyyyyy           yyyyyyyl::::l     eeeeeeeeeeee        ssssssssss   
  2.1426 +S:::::S        t:::::::::::::::::t y:::::y         y:::::y l::::l   ee::::::::::::ee    ss::::::::::s  
  2.1427 + S::::SSSS     t:::::::::::::::::t  y:::::y       y:::::y  l::::l  e::::::eeeee:::::eess:::::::::::::s 
  2.1428 +  SS::::::SSSSStttttt:::::::tttttt   y:::::y     y:::::y   l::::l e::::::e     e:::::es::::::ssss:::::s
  2.1429 +    SSS::::::::SS    t:::::t          y:::::y   y:::::y    l::::l e:::::::eeeee::::::e s:::::s  ssssss 
  2.1430 +       SSSSSS::::S   t:::::t           y:::::y y:::::y     l::::l e:::::::::::::::::e    s::::::s      
  2.1431 +            S:::::S  t:::::t            y:::::y:::::y      l::::l e::::::eeeeeeeeeee        s::::::s   
  2.1432 +            S:::::S  t:::::t    tttttt   y:::::::::y       l::::l e:::::::e           ssssss   s:::::s 
  2.1433 +SSSSSSS     S:::::S  t::::::tttt:::::t    y:::::::y       l::::::le::::::::e          s:::::ssss::::::s
  2.1434 +S::::::SSSSSS:::::S  tt::::::::::::::t     y:::::y        l::::::l e::::::::eeeeeeee  s::::::::::::::s 
  2.1435 +S:::::::::::::::SS     tt:::::::::::tt    y:::::y         l::::::l  ee:::::::::::::e   s:::::::::::ss  
  2.1436 + SSSSSSSSSSSSSSS         ttttttttttt     y:::::y          llllllll    eeeeeeeeeeeeee    sssssssssss    
  2.1437 +                                        y:::::y                                                        
  2.1438 +                                       y:::::y                                                         
  2.1439 +                                      y:::::y                                                          
  2.1440 +                                     y:::::y                                                           
  2.1441 +                                    yyyyyyy                                                            
  2.1442 +-->
  2.1443 +
  2.1444 +  <h2 id=predefined-counters><span class=secno>5. </span> Simple Predefined
  2.1445 +   Counter Styles</h2>
  2.1446 +
  2.1447 +  <p> The following stylesheet uses the ‘<a href="#at-counter-style"><code
  2.1448 +   class=css>@counter-style</code></a>’ rule to redefine all of the counter
  2.1449 +   styles defined in CSS 2 and CSS 2.1. This stylesheet is normative - UAs
  2.1450 +   must include it in their UA stylesheet (or at least act as if these rules
  2.1451 +   were defined at that level).
  2.1452 +
  2.1453 +  <h3 id=simple-numeric><span class=secno>5.1. </span> Numeric: ‘<a
  2.1454 +   href="#decimal"><code class=css>decimal</code></a>’, ‘<a
  2.1455 +   href="#decimal-leading-zero"><code
  2.1456 +   class=css>decimal-leading-zero</code></a>’, ‘<a
  2.1457 +   href="#cjk-decimal"><code class=css>cjk-decimal</code></a>’, ‘<a
  2.1458 +   href="#lower-roman"><code class=css>lower-roman</code></a>’, ‘<a
  2.1459 +   href="#upper-roman"><code class=css>upper-roman</code></a>’, ‘<a
  2.1460 +   href="#armenian"><code class=css>armenian</code></a>’, ‘<a
  2.1461 +   href="#georgian"><code class=css>georgian</code></a>’, ‘<a
  2.1462 +   href="#hebrew"><code class=css>hebrew</code></a>’</h3>
  2.1463 +
  2.1464 +  <dl>
  2.1465 +   <dt><dfn id=decimal>‘<code class=css>decimal</code>’</dfn>
  2.1466 +
  2.1467 +   <dd> Western decimal numbers (e.g., 1, 2, 3, ..., 98, 99, 100).
  2.1468 +
  2.1469 +   <dt><dfn id=decimal-leading-zero>‘<code
  2.1470 +    class=css>decimal-leading-zero</code>’</dfn>
  2.1471 +
  2.1472 +   <dd> Decimal numbers padded by initial zeros (e.g., 01, 02, 03, ..., 98,
  2.1473 +    99, 100).
  2.1474 +
  2.1475 +   <dt><dfn id=cjk-decimal>‘<code class=css>cjk-decimal</code>’</dfn>
  2.1476 +
  2.1477 +   <dd> Han decimal numbers (e.g., 一, 二, 三, ..., 九八, 九九,
  2.1478 +    一〇〇).
  2.1479 +
  2.1480 +   <dt><dfn id=lower-roman>‘<code class=css>lower-roman</code>’</dfn>
  2.1481 +
  2.1482 +   <dd> Lowercase ASCII Roman numerals (e.g., i, ii, iii, ..., xcviii, xcix,
  2.1483 +    c).
  2.1484 +
  2.1485 +   <dt><dfn id=upper-roman>‘<code class=css>upper-roman</code>’</dfn>
  2.1486 +
  2.1487 +   <dd> Uppercase ASCII Roman numerals (e.g., I, II, III, ..., XCVIII, XCIX,
  2.1488 +    C).
  2.1489 +
  2.1490 +   <dt><dfn id=armenian>‘<code class=css>armenian</code>’</dfn>
  2.1491 +
  2.1492 +   <dd> Traditional uppercase Armenian numbering (e.g., Ա, Բ, Գ, ...,
  2.1493 +    ՂԸ, ՂԹ, Ճ).
  2.1494 +
  2.1495 +   <dt><dfn id=georgian>‘<code class=css>georgian</code>’</dfn>
  2.1496 +
  2.1497 +   <dd> Traditional Georgian numbering (e.g., ა, ბ, გ, ..., ჟჱ,
  2.1498 +    ჟთ, რ).
  2.1499 +
  2.1500 +   <dt><dfn id=hebrew>‘<code class=css>hebrew</code>’</dfn>
  2.1501 +
  2.1502 +   <dd> Traditional Hebrew numbering (e.g., א‎, ב‎, ג‎, ...,
  2.1503 +    צח‎, צט‎, ק‎).
  2.1504 +  </dl>
  2.1505 +
  2.1506 +  <p> The ‘<a href="#decimal"><code class=css>decimal</code></a>’
  2.1507 +   counter-style must not be overridable with a ‘<a
  2.1508 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’
  2.1509 +   rule, so that it is always available as an ultimate fallback style.
  2.1510 +
  2.1511 +  <p> The following stylesheet fragment provides the normative definition of
  2.1512 +   these predefined counter styles:
  2.1513 +
  2.1514 +  <pre class=stylesheet><bdo>
  2.1515 +@counter-style decimal {
  2.1516 +	system: numeric;
  2.1517 +	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
  2.1518 +}
  2.1519 +
  2.1520 +@counter-style decimal-leading-zero {
  2.1521 +	system: fixed -9;
  2.1522 +	symbols: '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09';
  2.1523 +}
  2.1524 +
  2.1525 +@counter-style cjk-decimal {
  2.1526 +	system: numeric;
  2.1527 +	symbols: \3007 \4E00 \4E8C \4E09 \56DB \4E94 \516D \4E03 \516B \4E5D;
  2.1528 +	/* 〇 一 二 三 四 五 六 七 八 九 */
  2.1529 +}
  2.1530 +
  2.1531 +@counter-style lower-roman {
  2.1532 +	system: additive;
  2.1533 +	range: 1 4999;
  2.1534 +	additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i;
  2.1535 +}
  2.1536 +
  2.1537 +@counter-style upper-roman {
  2.1538 +	system: additive;
  2.1539 +	range: 1 4999;
  2.1540 +	additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I;
  2.1541 +}
  2.1542 +
  2.1543 +@counter-style armenian {
  2.1544 +	system: additive;
  2.1545 +	range: 1 9999;
  2.1546 +	additive-symbols: 9000 \554, 8000 \553, 7000 \552, 6000 \551, 5000 \550, 4000 \54F, 3000 \54E, 2000 \54D, 1000 \54C, 900 \54B, 800 \54A, 700 \549, 600 \548, 500 \547, 400 \546, 300 \545, 200 \544, 100 \543, 90 \542, 80 \541, 70 \540, 60 \53F, 50 \53E, 40 \53D, 30 \53C, 20 \53B, 10 \53A, 9 \539, 8 \538, 7 \537, 6 \536, 5 \535, 4 \534, 3 \533, 2 \532, 1 \531;
  2.1547 +	/* 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա */
  2.1548 +}
  2.1549 +
  2.1550 +@counter-style georgian {
  2.1551 +	system: additive;
  2.1552 +	range: 1 19999;
  2.1553 +	additive-symbols: 10000 \10F5, 9000 \10F0, 8000 \10EF, 7000 \10F4, 6000 \10EE, 5000 \10ED, 4000 \10EC, 3000 \10EB, 2000 \10EA, 1000 \10E9, 900 \10E8, 800 \10E7, 700 \10E6, 600 \10E5, 500 \10E4, 400 \10F3, 300 \10E2, 200 \10E1, 100 \10E0, 90 \10DF, 80 \10DE, 70 \10DD, 60 \10F2, 50 \10DC, 40 \10DB, 30 \10DA, 20 \10D9, 10 \10D8, 9 \10D7, 8 \10F1, 7 \10D6, 6 \10D5, 5 \10D4, 4 \10D3, 3 \10D2, 2 \10D1, 1 \10D0;
  2.1554 +	/* 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა */
  2.1555 +}
  2.1556 +
  2.1557 +@counter-style hebrew {
  2.1558 +	system: additive;
  2.1559 +	range: 1 infinite;
  2.1560 +	additive-symbols: 400 \5EA, 300 \5E9, 200 \5E8, 100 \5E7, 90 \5E6, 80 \5E4, 70 \5E2, 60 \5E1, 50 \5E0, 40 \5DE, 30 \5DC, 20 \5DB, 19 \5D9\5D8, 18 \5D9\5D7, 17 \5D9\5D6, 16 \5D8\5D6, 15 \5D8\5D5, 10 \5D9, 9 \5D8, 8 \5D7, 7 \5D6, 6 \5D5, 5 \5D4, 4 \5D3, 3 \5D2, 2 \5D1, 1 \5D0;
  2.1561 +	/* 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א */
  2.1562 +	/* This system manually specifies the values for 19-15 to force the correct display of 15 and 16, which are commonly rewritten to avoid a close resemblance to the Tetragrammaton. */
  2.1563 +}</bdo></pre>
  2.1564 +
  2.1565 +  <h3 id=simple-alphabetic><span class=secno>5.2. </span> Alphabetic: ‘<a
  2.1566 +   href="#lower-alpha"><code class=css>lower-alpha</code></a>’, ‘<a
  2.1567 +   href="#lower-latin"><code class=css>lower-latin</code></a>’, ‘<a
  2.1568 +   href="#upper-alpha"><code class=css>upper-alpha</code></a>’, ‘<a
  2.1569 +   href="#upper-latin"><code class=css>upper-latin</code></a>’, ‘<a
  2.1570 +   href="#lower-greek"><code class=css>lower-greek</code></a>’, ‘<a
  2.1571 +   href="#hiragana"><code class=css>hiragana</code></a>’, ‘<a
  2.1572 +   href="#hiragana-iroha"><code class=css>hiragana-iroha</code></a>’, ‘<a
  2.1573 +   href="#katakana"><code class=css>katakana</code></a>’, ‘<a
  2.1574 +   href="#katakana-iroha"><code class=css>katakana-iroha</code></a>’</h3>
  2.1575 +
  2.1576 +  <dl>
  2.1577 +   <dt><dfn id=lower-alpha>‘<code class=css>lower-alpha</code>’</dfn>
  2.1578 +
  2.1579 +   <dt><dfn id=lower-latin>‘<code class=css>lower-latin</code>’</dfn>
  2.1580 +
  2.1581 +   <dd> Lowercase ASCII letters (e.g., a, b, c, ..., z, aa, ab).
  2.1582 +
  2.1583 +   <dt><dfn id=upper-alpha>‘<code class=css>upper-alpha</code>’</dfn>
  2.1584 +
  2.1585 +   <dt><dfn id=upper-latin>‘<code class=css>upper-latin</code>’</dfn>
  2.1586 +
  2.1587 +   <dd> Uppercase ASCII letters (e.g., A, B, C, ..., Z, AA, AB).
  2.1588 +
  2.1589 +   <dt><dfn id=lower-greek>‘<code class=css>lower-greek</code>’</dfn>
  2.1590 +
  2.1591 +   <dd> Lowercase classical Greek (e.g., α, β, γ, ..., ω, αα, αβ).
  2.1592 +
  2.1593 +   <dt><dfn id=hiragana>‘<code class=css>hiragana</code>’</dfn>
  2.1594 +
  2.1595 +   <dd> Dictionary-order hiragana lettering (e.g., あ, い, う, ..., ん,
  2.1596 +    ああ, あい).
  2.1597 +
  2.1598 +   <dt><dfn id=hiragana-iroha>‘<code
  2.1599 +    class=css>hiragana-iroha</code>’</dfn>
  2.1600 +
  2.1601 +   <dd> Iroha-order hiragana lettering (e.g., い, ろ, は, ..., ん,
  2.1602 +    いい, いろ).
  2.1603 +
  2.1604 +   <dt><dfn id=katakana>‘<code class=css>katakana</code>’</dfn>
  2.1605 +
  2.1606 +   <dd> Dictionary-order katakana lettering (e.g., ア, イ, ウ, ..., ン,
  2.1607 +    アア, アイ).
  2.1608 +
  2.1609 +   <dt><dfn id=katakana-iroha>‘<code
  2.1610 +    class=css>katakana-iroha</code>’</dfn>
  2.1611 +
  2.1612 +   <dd> Iroha-order katakana lettering (e.g., イ, ロ, ハ, ..., ン,
  2.1613 +    イイ, イロ)
  2.1614 +  </dl>
  2.1615 +
  2.1616 +  <p> The following stylesheet fragment provides the normative definition of
  2.1617 +   these predefined counter styles:
  2.1618 +
  2.1619 +  <pre class=stylesheet><bdo>
  2.1620 +@counter-style lower-alpha {
  2.1621 +	system: alphabetic;
  2.1622 +	symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
  2.1623 +}
  2.1624 +
  2.1625 +@counter-style lower-latin {
  2.1626 +	system: override lower-alpha;
  2.1627 +}
  2.1628 +
  2.1629 +@counter-style upper-alpha {
  2.1630 +	system: alphabetic;
  2.1631 +	symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
  2.1632 +}
  2.1633 +
  2.1634 +@counter-style upper-latin {
  2.1635 +	system: override upper-alpha;
  2.1636 +}
  2.1637 +
  2.1638 +@counter-style lower-greek {
  2.1639 +	system: alphabetic;
  2.1640 +	symbols: \3B1 \3B2 \3B3 \3B4 \3B5 \3B6 \3B7 \3B8 \3B9 \3BA \3BB \3BC \3BD \3BE \3BF \3C0 \3C1 \3C3 \3C4 \3C5 \3C6 \3C7 \3C8 \3C9;
  2.1641 +	/* α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω */
  2.1642 +}
  2.1643 +
  2.1644 +@counter-style hiragana {
  2.1645 +	system: alphabetic;
  2.1646 +	symbols: \3042 \3044 \3046 \3048 \304A \304B \304D \304F \3051 \3053 \3055 \3057 \3059 \305B \305D \305F \3061 \3064 \3066 \3068 \306A \306B \306C \306D \306E \306F \3072 \3075 \3078 \307B \307E \307F \3080 \3081 \3082 \3084 \3086 \3088 \3089 \308A \308B \308C \308D \308F \3092 \3093;
  2.1647 +	/* あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん */
  2.1648 +	suffix: '、';
  2.1649 +}
  2.1650 +
  2.1651 +@counter-style hiragana-iroha {
  2.1652 +	system: alphabetic;
  2.1653 +	symbols: \3044 \308D \306F \306B \307B \3078 \3068 \3061 \308A \306C \308B \3092 \308F \304B \3088 \305F \308C \305D \3064 \306D \306A \3089 \3080 \3046 \3090 \306E \304A \304F \3084 \307E \3051 \3075 \3053 \3048 \3066 \3042 \3055 \304D \3086 \3081 \307F \3057 \3091 \3072 \3082 \305B \3059 \3093;
  2.1654 +	/* い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す ん */
  2.1655 +	suffix: '、';
  2.1656 +}
  2.1657 +
  2.1658 +@counter-style katakana {
  2.1659 +	system: alphabetic;
  2.1660 +	symbols: \30A2 \30A4 \30A6 \30A8 \30AA \30AB \30AD \30AF \30B1 \30B3 \30B5 \30B7 \30B9 \30BB \30BD \30BF \30C1 \30C4 \30C6 \30C8 \30CA \30CB \30CC \30CD \30CE \30CF \30D2 \30D5 \30D8 \30DB \30DE \30DF \30E0 \30E1 \30E2 \30E4 \30E6 \30E8 \30E9 \30EA \30EB \30EC \30ED \30EF \30F2 \30F3;
  2.1661 +	/* ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン */
  2.1662 +	suffix: '、';
  2.1663 +}
  2.1664 +
  2.1665 +@counter-style katakana-iroha {
  2.1666 +	system: alphabetic;
  2.1667 +	symbols: \30A4 \30ED \30CF \30CB \30DB \30D8 \30C8 \30C1 \30EA \30CC \30EB \30F2 \30EF \30AB \30E8 \30BF \30EC \30BD \30C4 \30CD \30CA \30E9 \30E0 \30A6 \30F0 \30CE \30AA \30AF \30E4 \30DE \30B1 \30D5 \30B3 \30A8 \30C6 \30A2 \30B5 \30AD \30E6 \30E1 \30DF \30B7 \30F1 \30D2 \30E2 \30BB \30B9 \30F3;
  2.1668 +	/* イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス ン */
  2.1669 +	suffix: '、';
  2.1670 +}</bdo></pre>
  2.1671 +
  2.1672 +  <h3 id=simple-symbolic><span class=secno>5.3. </span> Symbolic: ‘<a
  2.1673 +   href="#disc"><code class=css>disc</code></a>’, ‘<a
  2.1674 +   href="#circle"><code class=css>circle</code></a>’, ‘<a
  2.1675 +   href="#square"><code class=css>square</code></a>’</h3>
  2.1676 +
  2.1677 +  <dl>
  2.1678 +   <dt><dfn id=disc>‘<code class=css>disc</code>’</dfn>
  2.1679 +
  2.1680 +   <dd>A filled circle, similar to • U+2022 BULLET.
  2.1681 +
  2.1682 +   <dt><dfn id=circle>‘<code class=css>circle</code>’</dfn>
  2.1683 +
  2.1684 +   <dd>A hollow circle, similar to ◦ U+25E6 WHITE BULLET.
  2.1685 +
  2.1686 +   <dt><dfn id=square>‘<code class=css>square</code>’</dfn>
  2.1687 +
  2.1688 +   <dd>A filled square, similar to ◾ U+25FE BLACK MEDIUM SMALL SQUARE.
  2.1689 +  </dl>
  2.1690 +
  2.1691 +  <p> The following stylesheet fragment provides the normative definition of
  2.1692 +   these predefined counter styles:
  2.1693 +
  2.1694 +  <pre class=stylesheet>
  2.1695 +@counter-style disc {
  2.1696 +	system: cyclic;
  2.1697 +	symbols: \2022;
  2.1698 +	/* • */
  2.1699 +	suffix: '';
  2.1700 +}
  2.1701 +
  2.1702 +@counter-style circle {
  2.1703 +	system: cyclic;
  2.1704 +	symbols: \25E6;
  2.1705 +	/* ◦ */
  2.1706 +	suffix: '';
  2.1707 +}
  2.1708 +
  2.1709 +@counter-style square {
  2.1710 +	system: cyclic;
  2.1711 +	symbols: \25FE;
  2.1712 +	/* ◾ */
  2.1713 +	suffix: '';
  2.1714 +}</pre>
  2.1715 +
  2.1716 +  <p> Alternately, a browser may render these styles using a
  2.1717 +   browser-generated image instead of the defined character. If so, the image
  2.1718 +   must look similar to the character, and must be sized to attractively fill
  2.1719 +   a 1em by 1em square.
  2.1720 +   <!-- ======================================================================= -->
  2.1721 +
  2.1722 +  <h2 id=complex-predefined-counters><span class=secno>6. </span> Complex
  2.1723 +   Predefined Counter Styles</h2>
  2.1724 +
  2.1725 +  <p> While authors may define their own counter styles using the ‘<a
  2.1726 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’ rule
  2.1727 +   or rely on the set of <a href="#ua-stylesheet">predefined counter
  2.1728 +   styles</a>, a few counter styles are described by rules that are too
  2.1729 +   complex to be captured by the predefined algorithms. These counter styles
  2.1730 +   are described in this section.
  2.1731 +
  2.1732 +  <p> Some of the counter styles specified in this section have custom <a
  2.1733 +   href="#algorithm"><i title=counter-algorithm>algorithms for generating
  2.1734 +   counter values</i></a>, but are otherwise identical to a counter style
  2.1735 +   defined via the ‘<a href="#at-counter-style"><code
  2.1736 +   class=css>@counter-style</code></a>’ rule. For example, an author can
  2.1737 +   reference one of these styles in an ‘<a href="#override"><code
  2.1738 +   class=css>override</code></a>’ system, reusing the algorithm but
  2.1739 +   swapping out some of the other descriptors.
  2.1740 +
  2.1741 +  <h3 id=complex-cjk><span class=secno>6.1. </span> Longhand East Asian
  2.1742 +   Counter Styles: ‘<a href="#japanese-informal0"><code
  2.1743 +   class=css>japanese-informal</code></a>’, ‘<a
  2.1744 +   href="#japanese-formal0"><code class=css>japanese-formal</code></a>’,
  2.1745 +   ‘<a href="#korean-hangul-formal0"><code
  2.1746 +   class=css>korean-hangul-formal</code></a>’, ‘<a
  2.1747 +   href="#korean-hanja-informal0"><code
  2.1748 +   class=css>korean-hanja-informal</code></a>’, ‘<a
  2.1749 +   href="#korean-hanja-formal0"><code
  2.1750 +   class=css>korean-hanja-formal</code></a>’, ‘<a
  2.1751 +   href="#simp-chinese-informal0"><code
  2.1752 +   class=css>simp-chinese-informal</code></a>’, ‘<a
  2.1753 +   href="#simp-chinese-formal0"><code
  2.1754 +   class=css>simp-chinese-formal</code></a>’, ‘<a
  2.1755 +   href="#trad-chinese-informal0"><code
  2.1756 +   class=css>trad-chinese-informal</code></a>’, ‘<a
  2.1757 +   href="#trad-chinese-formal0"><code
  2.1758 +   class=css>trad-chinese-formal</code></a>’</h3>
  2.1759 +
  2.1760 +  <p> Chinese, Japanese, and Korean have longhand counter styles, which have
  2.1761 +   a structure similar to "one hundred thirteen thousand and twenty-three" in
  2.1762 +   English. Each has both formal and informal variants. The formal styles are
  2.1763 +   typically used in financial and legal documents, as their characters are
  2.1764 +   more difficult to alter into each other.
  2.1765 +
  2.1766 +  <dl>
  2.1767 +   <dt>japanese-informal
  2.1768 +
  2.1769 +   <dd> Informal Japanese Kanji numbering (e.g., 一万一千百十一)
  2.1770 +
  2.1771 +   <dt>japanese-formal
  2.1772 +
  2.1773 +   <dd> Formal Japanese Kanji numbering (e.g. 壱萬壱阡壱百壱拾壱)
  2.1774 +
  2.1775 +   <dt>korean-hangul-formal
  2.1776 +
  2.1777 +   <dd> Korean Hangul numbering (e.g., 일만 일천일백일십일)
  2.1778 +
  2.1779 +   <dt>korean-hanja-informal
  2.1780 +
  2.1781 +   <dd> Informal Korean Hanja numbering (e.g., 萬 一千百十一)
  2.1782 +
  2.1783 +   <dt>korean-hanja-formal
  2.1784 +
  2.1785 +   <dd> Forman Korean Han (Hanja) numbering (e.g., 壹萬
  2.1786 +    壹仟壹百壹拾壹)
  2.1787 +
  2.1788 +   <dt>simp-chinese-informal
  2.1789 +
  2.1790 +   <dd> Simplified Chinese informal numbering (e.g.,
  2.1791 +    一万一千一百一十一)
  2.1792 +
  2.1793 +   <dt>simp-chinese-formal
  2.1794 +
  2.1795 +   <dd> Simplified Chinese formal numbering (e.g.
  2.1796 +    壹万壹仟壹佰壹拾壹)
  2.1797 +
  2.1798 +   <dt>trad-chinese-informal
  2.1799 +
  2.1800 +   <dd> Traditional Chinese informal numbering (e.g.,
  2.1801 +    一萬一千一百一十一)
  2.1802 +
  2.1803 +   <dt>trad-chinese-formal
  2.1804 +
  2.1805 +   <dd> Traditional Chinese informal numbering (e.g.,
  2.1806 +    壹萬壹仟壹佰壹拾壹)
  2.1807 +
  2.1808 +   <dt>cjk-ideographic
  2.1809 +
  2.1810 +   <dd> This counter style is identical to ‘<a
  2.1811 +    href="#trad-chinese-formal0"><code
  2.1812 +    class=css>trad-chinese-formal</code></a>’. (It exists for legacy
  2.1813 +    reasons.)
  2.1814 +  </dl>
  2.1815 +
  2.1816 +  <p class=note> The examples above show the number 11,111, which is not
  2.1817 +   often used as a counter value, but illustrates the differences among the
  2.1818 +   systems.
  2.1819 +
  2.1820 +  <div class=example> The following table shows examples of these styles,
  2.1821 +   particularly some ways in which they differ.
  2.1822 +   <table class=data>
  2.1823 +    <thead>
  2.1824 +     <tr>
  2.1825 +      <th>Counter Style
  2.1826 +
  2.1827 +      <th>0
  2.1828 +
  2.1829 +      <th>1
  2.1830 +
  2.1831 +      <th>2
  2.1832 +
  2.1833 +      <th>3
  2.1834 +
  2.1835 +      <th>10
  2.1836 +
  2.1837 +      <th>11
  2.1838 +
  2.1839 +      <th>99
  2.1840 +
  2.1841 +      <th>100
  2.1842 +
  2.1843 +      <th>101
  2.1844 +
  2.1845 +      <th>10,000
  2.1846 +
  2.1847 +    <tbody>
  2.1848 +     <tr>
  2.1849 +      <th scope=row>‘<a href="#japanese-informal0"><code
  2.1850 +       class=css>japanese-informal</code></a>’
  2.1851 +
  2.1852 +      <td>〇
  2.1853 +
  2.1854 +      <td>一
  2.1855 +
  2.1856 +      <td>二
  2.1857 +
  2.1858 +      <td>三
  2.1859 +
  2.1860 +      <td>一十
  2.1861 +
  2.1862 +      <td>一十一
  2.1863 +
  2.1864 +      <td>九十九
  2.1865 +
  2.1866 +      <td>一百
  2.1867 +
  2.1868 +      <td>一百一
  2.1869 +
  2.1870 +      <td>一万
  2.1871 +
  2.1872 +     <tr>
  2.1873 +      <th scope=row>‘<a href="#japanese-formal0"><code
  2.1874 +       class=css>japanese-formal</code></a>’
  2.1875 +
  2.1876 +      <td>零
  2.1877 +
  2.1878 +      <td>壱
  2.1879 +
  2.1880 +      <td>弐
  2.1881 +
  2.1882 +      <td>参
  2.1883 +
  2.1884 +      <td>壱拾
  2.1885 +
  2.1886 +      <td>壱拾壱
  2.1887 +
  2.1888 +      <td>九拾九
  2.1889 +
  2.1890 +      <td>壱百
  2.1891 +
  2.1892 +      <td>壱百壱
  2.1893 +
  2.1894 +      <td>壱萬
  2.1895 +
  2.1896 +     <tr>
  2.1897 +      <th scope=row>‘<a href="#korean-hangul-formal0"><code
  2.1898 +       class=css>korean-hangul-formal</code></a>’
  2.1899 +
  2.1900 +      <td>영
  2.1901 +
  2.1902 +      <td>일
  2.1903 +
  2.1904 +      <td>이
  2.1905 +
  2.1906 +      <td>삼
  2.1907 +
  2.1908 +      <td>일십
  2.1909 +
  2.1910 +      <td>일십일
  2.1911 +
  2.1912 +      <td>구십구
  2.1913 +
  2.1914 +      <td>일백
  2.1915 +
  2.1916 +      <td>일백일
  2.1917 +
  2.1918 +      <td>일만
  2.1919 +
  2.1920 +     <tr>
  2.1921 +      <th scope=row>‘<a href="#korean-hanja-informal0"><code
  2.1922 +       class=css>korean-hanja-informal</code></a>’
  2.1923 +
  2.1924 +      <td>영
  2.1925 +
  2.1926 +      <td>一
  2.1927 +
  2.1928 +      <td>二
  2.1929 +
  2.1930 +      <td>三
  2.1931 +
  2.1932 +      <td>一十
  2.1933 +
  2.1934 +      <td>一十一
  2.1935 +
  2.1936 +      <td>九十九
  2.1937 +
  2.1938 +      <td>一百
  2.1939 +
  2.1940 +      <td>一百一
  2.1941 +
  2.1942 +      <td>萬
  2.1943 +
  2.1944 +     <tr>
  2.1945 +      <th scope=row>‘<a href="#korean-hanja-formal0"><code
  2.1946 +       class=css>korean-hanja-formal</code></a>’
  2.1947 +
  2.1948 +      <td>零
  2.1949 +
  2.1950 +      <td>壹
  2.1951 +
  2.1952 +      <td>貳
  2.1953 +
  2.1954 +      <td>參
  2.1955 +
  2.1956 +      <td>壹拾
  2.1957 +
  2.1958 +      <td>壹拾壹
  2.1959 +
  2.1960 +      <td>九拾九
  2.1961 +
  2.1962 +      <td>壹百
  2.1963 +
  2.1964 +      <td>壹百壹
  2.1965 +
  2.1966 +      <td>壹萬
  2.1967 +
  2.1968 +     <tr>
  2.1969 +      <th scope=row>‘<a href="#simp-chinese-informal0"><code
  2.1970 +       class=css>simp-chinese-informal</code></a>’
  2.1971 +       <dl>
  2.1972 +        <dd>
  2.1973 +       </dl>
  2.1974 +
  2.1975 +      <td>零
  2.1976 +
  2.1977 +      <td>一
  2.1978 +
  2.1979 +      <td>二
  2.1980 +
  2.1981 +      <td>三
  2.1982 +
  2.1983 +      <td>十
  2.1984 +
  2.1985 +      <td>十一
  2.1986 +
  2.1987 +      <td>九十九
  2.1988 +
  2.1989 +      <td>一百
  2.1990 +
  2.1991 +      <td>一百零一
  2.1992 +
  2.1993 +      <td>一万
  2.1994 +
  2.1995 +     <tr>
  2.1996 +      <th scope=row>‘<a href="#simp-chinese-formal0"><code
  2.1997 +       class=css>simp-chinese-formal</code></a>’
  2.1998 +
  2.1999 +      <td>零
  2.2000 +
  2.2001 +      <td>壹
  2.2002 +
  2.2003 +      <td>贰
  2.2004 +
  2.2005 +      <td>叁
  2.2006 +
  2.2007 +      <td>壹拾
  2.2008 +
  2.2009 +      <td>壹拾壹
  2.2010 +
  2.2011 +      <td>玖拾玖
  2.2012 +
  2.2013 +      <td>壹佰
  2.2014 +
  2.2015 +      <td>壹佰零壹
  2.2016 +
  2.2017 +      <td>壹万
  2.2018 +
  2.2019 +     <tr>
  2.2020 +      <th scope=row>‘<a href="#trad-chinese-informal0"><code
  2.2021 +       class=css>trad-chinese-informal</code></a>’
  2.2022 +
  2.2023 +      <td>零
  2.2024 +
  2.2025 +      <td>一
  2.2026 +
  2.2027 +      <td>二
  2.2028 +
  2.2029 +      <td>三
  2.2030 +
  2.2031 +      <td>十
  2.2032 +
  2.2033 +      <td>十一
  2.2034 +
  2.2035 +      <td>九十九
  2.2036 +
  2.2037 +      <td>一百
  2.2038 +
  2.2039 +      <td>一百零一
  2.2040 +
  2.2041 +      <td>一萬
  2.2042 +
  2.2043 +      <td>
  2.2044 +
  2.2045 +     <tr>
  2.2046 +      <th scope=row>‘<a href="#trad-chinese-formal0"><code
  2.2047 +       class=css>trad-chinese-formal</code></a>’
  2.2048 +
  2.2049 +      <td>零
  2.2050 +
  2.2051 +      <td>壹
  2.2052 +
  2.2053 +      <td>貳
  2.2054 +
  2.2055 +      <td>參
  2.2056 +
  2.2057 +      <td>壹拾
  2.2058 +
  2.2059 +      <td>壹拾壹
  2.2060 +
  2.2061 +      <td>玖拾玖
  2.2062 +
  2.2063 +      <td>壹佰
  2.2064 +
  2.2065 +      <td>壹佰零壹
  2.2066 +
  2.2067 +      <td>壹萬
  2.2068 +   </table>
  2.2069 +  </div>
  2.2070 +
  2.2071 +  <p> The Korean and Japanese variants of these counter styles can, if
  2.2072 +   limited from 0 to 9999, be expressed as ‘<a
  2.2073 +   href="#at-counter-style"><code class=css>@counter-style</code></a>’
  2.2074 +   rules. Thus, the implementation details are split into two sections: a
  2.2075 +   required section defining the styles over this limited range, and an
  2.2076 +   optional section defining them over a much larger range that requires
  2.2077 +   custom algorithms for all of the styles.
  2.2078 +
  2.2079 +  <h4 id=limited-cjk><span class=secno>6.1.1. </span> Limited-range
  2.2080 +   Implementation (required)</h4>
  2.2081 +
  2.2082 +  <h5 class="no-num no-toc" id=limited-japanese> Japanese</h5>
  2.2083 +
  2.2084 +  <pre class=stylesheet>
  2.2085 +@counter-style <dfn
  2.2086 +   id=japanese-informal>japanese-informal</dfn> {
  2.2087 +	system: additive;
  2.2088 +	range: -9999 9999;
  2.2089 +	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \3007;
  2.2090 +	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇 */
  2.2091 +	suffix: '\3001';
  2.2092 +	/* 、 */
  2.2093 +	negative: "\30DE\30A4\30CA\30B9";
  2.2094 +	/* マイナス */
  2.2095 +	fallback: cjk-decimal;
  2.2096 +}
  2.2097 +
  2.2098 +@counter-style <dfn
  2.2099 +   id=japanese-formal>japanese-formal</dfn> {
  2.2100 +	system: additive;
  2.2101 +	range: -9999 9999;
  2.2102 +	additive-symbols: 9000 \4E5D\9621, 8000 \516B\9621, 7000 \4E03\9621, 6000 \516D\9621, 5000 \4F0D\9621, 4000 \56DB\9621, 3000 \53C2\9621, 2000 \5F10\9621, 1000 \58F1\9621, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4F0D\767E, 400 \56DB\767E, 300 \53C2\767E, 200 \5F10\767E, 100 \58F1\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4F0D\62FE, 40 \56DB\62FE, 30 \53C2\62FE, 20 \5F10\62FE, 10 \58F1\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4F0D, 4 \56DB, 3 \53C2, 2 \5F10, 1 \58F1, 0 \96F6;
  2.2103 +	/* 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零 */
  2.2104 +	suffix: '\3001';
  2.2105 +	/* 、 */
  2.2106 +	negative: "\30DE\30A4\30CA\30B9";
  2.2107 +	/* マイナス */
  2.2108 +	fallback: cjk-decimal;
  2.2109 +}</pre>
  2.2110 +
  2.2111 +  <h5 class="no-num no-toc" id=limited-korean> Korean</h5>
  2.2112 +
  2.2113 +  <pre class=stylesheet>
  2.2114 +@counter-style <dfn
  2.2115 +   id=korean-hangul-formal>korean-hangul-formal</dfn> {
  2.2116 +	system: additive;
  2.2117 +	range: 0 9999;
  2.2118 +	additive-symbols: 9000 \AD6C\CC9C, 8000 \D314\CC9C, 7000 \CE60\CC9C, 6000 \C721\CC9C, 5000 \C624\CC9C, 4000 \C0AC\CC9C, 3000 \C0BC\CC9C, 2000 \C774\CC9C, 1000 \C77C\CC9C, 900 \AD6C\BC31, 800 \D314\BC31, 700 \CE60\BC31, 600 \C721\BC31, 500 \C624\BC31, 400 \C0AC\BC31, 300 \C0BC\BC31, 200 \C774\BC31, 100 \C77C\BC31, 90 \AD6C\C2ED, 80 \D314\C2ED, 70 \CE60\C2ED, 60 \C721\C2ED, 50 \C624\C2ED, 40 \C0AC\C2ED, 30 \C0BC\C2ED, 20 \C774\C2ED, 10 \C77C\C2ED, 9 \AD6C, 8 \D314, 7 \CE60, 6 \C721, 5 \C624, 4 \C0AC, 3 \C0BC, 2 \C774, 1 \C77C, 0 \C601;
  2.2119 +	/* 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영 */
  2.2120 +	suffix: '\3001';
  2.2121 +	/* 、 */
  2.2122 +}
  2.2123 +
  2.2124 +@counter-style <dfn
  2.2125 +   id=korean-hanja-informal>korean-hanja-informal</dfn> {
  2.2126 +	system: additive;
  2.2127 +	range: 0 9999;
  2.2128 +	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \96F6;
  2.2129 +	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零 */
  2.2130 +	suffix: '\3001';
  2.2131 +	/* 、 */
  2.2132 +}
  2.2133 +
  2.2134 +@counter-style <dfn
  2.2135 +   id=korean-hanja-formal>korean-hanja-formal</dfn> {
  2.2136 +	system: additive;
  2.2137 +	range: 0 9999;
  2.2138 +	additive-symbols: 9000 \4E5D\4EDF, 8000 \516B\4EDF, 7000 \4E03\4EDF, 6000 \516D\4EDF, 5000 \4E94\4EDF, 4000 \56DB\4EDF, 3000 \53C3\4EDF, 2000 \8CB3\4EDF, 1000 \58F9\4EDF, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \53C3\767E, 200 \8CB3\767E, 100 \58F9\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4E94\62FE, 40 \56DB\62FE, 30 \53C3\62FE, 20 \8CB3\62FE, 10 \58F9\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \53C3, 2 \8CB3, 1 \58F9, 0 \96F6;
  2.2139 +	/* 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零 */
  2.2140 +	suffix: '\3001';
  2.2141 +	/* 、 */
  2.2142 +}</pre>
  2.2143 +
  2.2144 +  <h5 class="no-num no-toc" id=limited-chinese> Chinese</h5>
  2.2145 +
  2.2146 +  <p>The Chinese longhand styles are defined over the range -9999 to 9999.
  2.2147 +   For numbers outside this range, the ‘<a href="#cjk-decimal"><code
  2.2148 +   class=css>cjk-decimal</code></a>’ style is used. All of the styles are
  2.2149 +   defined by almost identical algorithms (specified as a single algorithm
  2.2150 +   here, with the differences called out when relevant), but use different
  2.2151 +   sets of characters. The list following the algorithm gives the name of
  2.2152 +   each counter style using this algorithm, and the individual character sets
  2.2153 +   used by each style.
  2.2154 +
  2.2155 +  <ol>
  2.2156 +   <li>If the counter value is 0, the representation is the character for 0
  2.2157 +    specified for the given counter style. Skip the rest of this algorithm.
  2.2158 +
  2.2159 +   <li>Initially represent the counter value as a decimal number. For each
  2.2160 +    digit that is not 0, append the appropriate digit marker to the digit.
  2.2161 +    The ones digit has no marker.
  2.2162 +
  2.2163 +   <li>For the informal styles, if the counter value is between ten and
  2.2164 +    nineteen, remove the tens digit (leave the digit marker).
  2.2165 +
  2.2166 +   <li>Drop any trailing zeros and collapse any remaining zeros into a single
  2.2167 +    zero digit.
  2.2168 +
  2.2169 +   <li>Replace the digits 0-9 with the appropriate character for the given
  2.2170 +    counter style. Return the resultant string as the representation of the
  2.2171 +    counter value.
  2.2172 +  </ol>
  2.2173 +
  2.2174 +  <p>For all of these counter styles, the <a href="#suffix"><i
  2.2175 +   title=counter-suffix>suffix descriptor</i></a> is "、" U+3001, the <a
  2.2176 +   href="#fallback-style"><i title=counter-fallback>fallback
  2.2177 +   descriptor</i></a> is ‘<a href="#cjk-decimal"><code
  2.2178 +   class=css>cjk-decimal</code></a>’, the <i
  2.2179 +   title=counter-lower-bound>lower bound descriptor</i> is -9999, the <i
  2.2180 +   title=counter-upper-bound>upper bound descriptor</i> is 9999, and the <a
  2.2181 +   href="#negative-sign"><i title=counter-negative>negative sign</i></a> is
  2.2182 +   given in the table of symbols for each style.
  2.2183 +
  2.2184 +  <p>The following tables define the characters used in these styles:
  2.2185 +
  2.2186 +  <table class=data>
  2.2187 +   <thead>
  2.2188 +    <tr>
  2.2189 +     <th rowspan=2 scope=col>Values
  2.2190 +
  2.2191 +     <th colspan=4 scope=col>Codepoints
  2.2192 +
  2.2193 +    <tr>
  2.2194 +     <th><dfn id=simp-chinese-informal>simp-chinese-informal</dfn>
  2.2195 +
  2.2196 +     <th><dfn id=simp-chinese-formal>simp-chinese-formal</dfn>
  2.2197 +
  2.2198 +     <th><dfn id=trad-chinese-informal>trad-chinese-informal</dfn>
  2.2199 +
  2.2200 +     <th><dfn id=trad-chinese-formal>trad-chinese-formal</dfn>
  2.2201 +
  2.2202 +   <tbody>
  2.2203 +    <tr>
  2.2204 +     <th scope=row>Digit 0
  2.2205 +
  2.2206 +     <td>零 U+96F6
  2.2207 +
  2.2208 +     <td>零 U+96F6
  2.2209 +
  2.2210 +     <td>零 U+96F6
  2.2211 +
  2.2212 +     <td>零 U+96F6
  2.2213 +
  2.2214 +    <tr>
  2.2215 +     <th scope=row>Digit 1
  2.2216 +
  2.2217 +     <td>一 U+4E00
  2.2218 +
  2.2219 +     <td>壹 U+58F9
  2.2220 +
  2.2221 +     <td>一 U+4E00
  2.2222 +
  2.2223 +     <td>壹 U+58F9
  2.2224 +
  2.2225 +    <tr>
  2.2226 +     <th scope=row>Digit 2
  2.2227 +
  2.2228 +     <td>二 U+4E8C
  2.2229 +
  2.2230 +     <td>贰 U+8D30
  2.2231 +
  2.2232 +     <td>二 U+4E8C
  2.2233 +
  2.2234 +     <td>貳 U+8CB3
  2.2235 +
  2.2236 +    <tr>
  2.2237 +     <th scope=row>Digit 3
  2.2238 +
  2.2239 +     <td>三 U+4E09
  2.2240 +
  2.2241 +     <td>叁 U+53C1
  2.2242 +
  2.2243 +     <td>三 U+4E09
  2.2244 +
  2.2245 +     <td>參 U+53C3
  2.2246 +
  2.2247 +    <tr>
  2.2248 +     <th scope=row>Digit 4
  2.2249 +
  2.2250 +     <td>四 U+56DB
  2.2251 +
  2.2252 +     <td>肆 U+8086
  2.2253 +
  2.2254 +     <td>四 U+56DB
  2.2255 +
  2.2256 +     <td>肆 U+8086
  2.2257 +
  2.2258 +    <tr>
  2.2259 +     <th scope=row>Digit 5
  2.2260 +
  2.2261 +     <td>五 U+4E94
  2.2262 +
  2.2263 +     <td>伍 U+4F0D
  2.2264 +
  2.2265 +     <td>五 U+4E94
  2.2266 +
  2.2267 +     <td>伍 U+4F0D
  2.2268 +
  2.2269 +    <tr>
  2.2270 +     <th scope=row>Digit 6
  2.2271 +
  2.2272 +     <td>六 U+516D
  2.2273 +
  2.2274 +     <td>陆 U+9646
  2.2275 +
  2.2276 +     <td>六 U+516D
  2.2277 +
  2.2278 +     <td>陸 U+9678
  2.2279 +
  2.2280 +    <tr>
  2.2281 +     <th scope=row>Digit 7
  2.2282 +
  2.2283 +     <td>七 U+4E03
  2.2284 +
  2.2285 +     <td>柒 U+67D2
  2.2286 +
  2.2287 +     <td>七 U+4E03
  2.2288 +
  2.2289 +     <td>柒 U+67D2
  2.2290 +
  2.2291 +    <tr>
  2.2292 +     <th scope=row>Digit 8
  2.2293 +
  2.2294 +     <td>八 U+516B
  2.2295 +
  2.2296 +     <td>捌 U+634C
  2.2297 +
  2.2298 +     <td>八 U+516B
  2.2299 +
  2.2300 +     <td>捌 U+634C
  2.2301 +
  2.2302 +    <tr>
  2.2303 +     <th scope=row>Digit 9
  2.2304 +
  2.2305 +     <td>九 U+4E5D
  2.2306 +
  2.2307 +     <td>玖 U+7396
  2.2308 +
  2.2309 +     <td>九 U+4E5D
  2.2310 +
  2.2311 +     <td>玖 U+7396
  2.2312 +
  2.2313 +    <tr>
  2.2314 +     <th scope=row>Tens Digit Marker
  2.2315 +
  2.2316 +     <td>十 U+5341
  2.2317 +
  2.2318 +     <td>拾 U+62FE
  2.2319 +
  2.2320 +     <td>十 U+5341
  2.2321 +
  2.2322 +     <td>拾 U+62FE
  2.2323 +
  2.2324 +    <tr>
  2.2325 +     <th scope=row>Hundreds Digit Marker
  2.2326 +
  2.2327 +     <td>百 U+767E
  2.2328 +
  2.2329 +     <td>佰 U+4F70
  2.2330 +
  2.2331 +     <td>百 U+767E
  2.2332 +
  2.2333 +     <td>佰 U+4F70
  2.2334 +
  2.2335 +    <tr>
  2.2336 +     <th scope=row>Thousands Digit Marker
  2.2337 +
  2.2338 +     <td>千 U+5343
  2.2339 +
  2.2340 +     <td>仟 U+4EDF
  2.2341 +
  2.2342 +     <td>千 U+5343
  2.2343 +
  2.2344 +     <td>仟 U+4EDF
  2.2345 +
  2.2346 +    <tr>
  2.2347 +     <th scope=row>Negative Sign
  2.2348 +
  2.2349 +     <td>负 U+8D1F
  2.2350 +
  2.2351 +     <td>負 U+8D1F
  2.2352 +
  2.2353 +     <td>負 U+8CA0
  2.2354 +
  2.2355 +     <td>負 U+8CA0
  2.2356 +  </table>
  2.2357 +
  2.2358 +  <div class=note>
  2.2359 +   <p>For reference, here are the first 120 values for the ‘<a
  2.2360 +    href="#simp-chinese-informal0"><code
  2.2361 +    class=css>simp-chinese-informal</code></a>’ style:
  2.2362 +
  2.2363 +   <pre>
  2.2364 +  1     一    41   四十一    81   八十一
  2.2365 +  2     二    42   四十二    82   八十二
  2.2366 +  3     三    43   四十三    83   八十三
  2.2367 +  4     四    44   四十四    84   八十四
  2.2368 +  5     五    45   四十五    85   八十五
  2.2369 +  6     六    46   四十六    86   八十六
  2.2370 +  7     七    47   四十七    87   八十七
  2.2371 +  8     八    48   四十八    88   八十八
  2.2372 +  9     九    49   四十九    89   八十九
  2.2373 + 10     十    50    五十    90    九十
  2.2374 + 11    十一    51   五十一    91   九十一
  2.2375 + 12    十二    52   五十二    92   九十二
  2.2376 + 13    十三    53   五十三    93   九十三
  2.2377 + 14    十四    54   五十四    94   九十四
  2.2378 + 15    十五    55   五十五    95   九十五
  2.2379 + 16    十六    56   五十六    96   九十六
  2.2380 + 17    十七    57   五十七    97   九十七
  2.2381 + 18    十八    58   五十八    98   九十八
  2.2382 + 19    十九    59   五十九    99   九十九
  2.2383 + 20    二十    60    六十   100    一百
  2.2384 + 21   二十一    61   六十一   101  一百零一
  2.2385 + 22   二十二    62   六十二   102  一百零二
  2.2386 + 23   二十三    63   六十三   103  一百零三
  2.2387 + 24   二十四    64   六十四   104  一百零四
  2.2388 + 25   二十五    65   六十五   105  一百零五
  2.2389 + 26   二十六    66   六十六   106  一百零六
  2.2390 + 27   二十七    67   六十七   107  一百零七
  2.2391 + 28   二十八    68   六十八   108  一百零八
  2.2392 + 29   二十九    69   六十九   109  一百零九
  2.2393 + 30    三十    70    七十   110  一百一十
  2.2394 + 31   三十一    71   七十一   111 一百一十一
  2.2395 + 32   三十二    72   七十二   112 一百一十二
  2.2396 + 33   三十三    73   七十三   113 一百一十三
  2.2397 + 34   三十四    74   七十四   114 一百一十四
  2.2398 + 35   三十五    75   七十五   115 一百一十五
  2.2399 + 36   三十六    76   七十六   116 一百一十六
  2.2400 + 37   三十七    77   七十七   117 一百一十七
  2.2401 + 38   三十八    78   七十八   118 一百一十八
  2.2402 + 39   三十九    79   七十九   119 一百一十九
  2.2403 + 40    四十    80    八十   120  一百二十</pre>
  2.2404 +  </div>
  2.2405 +  <!-- ====================================================================== -->
  2.2406 +
  2.2407 +  <h4 id=extended-cjk><span class=secno>6.1.2. </span> Extended
  2.2408 +   Implementation (optional)</h4>
  2.2409 +
  2.2410 +  <p>Some counter styles described in earlier chapters have been limited to
  2.2411 +   an artifically small (though still useful) range to reduce the overall
  2.2412 +   complexity of the spec and the task of implementing those styles. However,
  2.2413 +   some implementations might consider the extra complexity worthwhile for
  2.2414 +   the additional range it offers to authors. To accomodate this, this
  2.2415 +   section describes how to extend the limited counter-styles to a larger
  2.2416 +   range.
  2.2417 +
  2.2418 +  <p>This entire section is normative, but <strong>optional</strong>.
  2.2419 +   User-agents may ignore it and still be conformant. If a user-agent
  2.2420 +   implements some of the extended forms described in this section, they must
  2.2421 +   be implemented as described here.
  2.2422 +
  2.2423 +  <p>The Chinese longhand styles are defined out to 10k with a <a
  2.2424 +   href="#cjk-counter-styles">specialized algorithm</a>, while the Japanese
  2.2425 +   and Korean longhand styles are defined similarly as ‘<a
  2.2426 +   href="#additive"><code class=css>additive</code></a>’ styles. However,
  2.2427 +   these styles are defined out to 10<sup>16</sup> in common usage. The
  2.2428 +   following section describes an alternative algorithm for these styles.
  2.2429 +
  2.2430 +  <p>The Chinese and Japanese styles are defined for all numbers between
  2.2431 +   -10<sup>16</sup> and 10<sup>16</sup>, exclusive; the Korean styles are
  2.2432 +   defined for all non-negative numbers less than 10<sup>16</sup>. For
  2.2433 +   numbers outside this range, the ‘<a href="#cjk-decimal"><code
  2.2434 +   class=css>cjk-decimal</code></a>’ style is used. All of the styles are
  2.2435 +   defined by almost identical algorithms (specified as a single algorithm
  2.2436 +   here, with the differences called out when relevant), but use different
  2.2437 +   sets of characters. The list following the algorithm gives the name of
  2.2438 +   each counter style using this algorithm, and the individual character sets
  2.2439 +   used by each style.
  2.2440 +
  2.2441 +  <ol>
  2.2442 +   <li>If the counter value is 0, the representation is the character for 0
  2.2443 +    specified for the given counter style. Skip the rest of this algorithm.
  2.2444 +
  2.2445 +   <li>Initially represent the counter value as a decimal number. Starting
  2.2446 +    from the right (ones place), split the decimal number into groups of four
  2.2447 +    digits.
  2.2448 +
  2.2449 +   <li>For each group with a non-zero value, append the appropriate group
  2.2450 +    marker to the group. The ones group has no marker.
  2.2451 +
  2.2452 +   <li>Within each group, for each digit that is not 0, append the
  2.2453 +    appropriate digit marker to the digit. The ones digit of each group has
  2.2454 +    no marker.
  2.2455 +
  2.2456 +   <li>Drop ones:
  2.2457 +    <ul>
  2.2458 +     <li>For the Chinese informal styles, for any group with a value between
  2.2459 +      ten and nineteen, remove the tens digit (leave the digit marker).
  2.2460 +
  2.2461 +     <li>For the Japanese informal and Korean informal styles, if any of the
  2.2462 +      digit markers are preceded by the digit 1, and that digit is not the
  2.2463 +      first digit of the group, remove the digit (leave the digit marker).
  2.2464 +
  2.2465 +     <li>For Korean informal styles, if the value of the ten-thousands group
  2.2466 +      is 1, drop the digit (leave the digit marker).
  2.2467 +    </ul>
  2.2468 +
  2.2469 +   <li>Drop zeros:
  2.2470 +    <ul>
  2.2471 +     <li>For the Japanese and Korean styles, drop all zero digits.
  2.2472 +
  2.2473 +     <li>For the Chinese styles, drop any trailing zeros for all non-zero
  2.2474 +      groups and collapse (across groups) each remaining consecutive group of
  2.2475 +      zeros into a single zero digit.
  2.2476 +    </ul>
  2.2477 +
  2.2478 +   <li>For the Korean styles, insert a space (" " U+0020) between each group.
  2.2479 +
  2.2480 +   <li>Replace the digits 0-9 with the appropriate character for the given
  2.2481 +    counter style. Return the resultant string as the representation of the
  2.2482 +    counter value.
  2.2483 +  </ol>
  2.2484 +
  2.2485 +  <p>For all of these counter styles, the <a href="#suffix"><i
  2.2486 +   title=counter-suffix>suffix descriptor</i></a> is "、" U+3001, the <a
  2.2487 +   href="#fallback-style"><i title=counter-fallback>fallback
  2.2488 +   descriptor</i></a> is ‘<a href="#cjk-decimal"><code
  2.2489 +   class=css>cjk-decimal</code></a>’, and the <a href="#negative-sign"><i
  2.2490 +   title=counter-negative>negative sign</i></a> is given in the tables below,
  2.2491 +   or else is the initial value of the descriptor. For Chinese and Japanese,
  2.2492 +   the <i title=counter-lower-range>lower range bound descriptor</i> is -9999
  2.2493 +   9999 9999 9999 (-10<sup>16</sup>+1), while for Korean it's 0. For all of
  2.2494 +   them, the <i title=counter-upper-range>upper range bound descriptor</i> is
  2.2495 +   9999 9999 9999 9999 (10<sup>16</sup>-1).
  2.2496 +
  2.2497 +  <p>The following tables define the characters used in these styles:
  2.2498 +
  2.2499 +  <table class=data>
  2.2500 +   <thead>
  2.2501 +    <tr>
  2.2502 +     <th rowspan=2 scope=col>Values
  2.2503 +
  2.2504 +     <th colspan=4 scope=col>Codepoints
  2.2505 +
  2.2506 +    <tr>
  2.2507 +     <th><dfn id=simp-chinese-informal0>simp-chinese-informal</dfn>
  2.2508 +
  2.2509 +     <th><dfn id=simp-chinese-formal0>simp-chinese-formal</dfn>
  2.2510 +
  2.2511 +     <th><dfn id=trad-chinese-informal0>trad-chinese-informal</dfn>
  2.2512 +
  2.2513 +     <th><dfn id=trad-chinese-formal0>trad-chinese-formal</dfn>
  2.2514 +
  2.2515 +   <tbody>
  2.2516 +    <tr>
  2.2517 +     <th scope=row>Digit 0
  2.2518 +
  2.2519 +     <td>零 U+96F6
  2.2520 +
  2.2521 +     <td>零 U+96F6
  2.2522 +
  2.2523 +     <td>零 U+96F6
  2.2524 +
  2.2525 +     <td>零 U+96F6
  2.2526 +
  2.2527 +    <tr>
  2.2528 +     <th scope=row>Digit 1
  2.2529 +
  2.2530 +     <td>一 U+4E00
  2.2531 +
  2.2532 +     <td>壹 U+58F9
  2.2533 +
  2.2534 +     <td>一 U+4E00
  2.2535 +
  2.2536 +     <td>壹 U+58F9
  2.2537 +
  2.2538 +    <tr>
  2.2539 +     <th scope=row>Digit 2
  2.2540 +
  2.2541 +     <td>二 U+4E8C
  2.2542 +
  2.2543 +     <td>贰 U+8D30
  2.2544 +
  2.2545 +     <td>二 U+4E8C
  2.2546 +
  2.2547 +     <td>貳 U+8CB3
  2.2548 +
  2.2549 +    <tr>
  2.2550 +     <th scope=row>Digit 3
  2.2551 +
  2.2552 +     <td>三 U+4E09
  2.2553 +
  2.2554 +     <td>叁 U+53C1
  2.2555 +
  2.2556 +     <td>三 U+4E09
  2.2557 +
  2.2558 +     <td>參 U+53C3
  2.2559 +
  2.2560 +    <tr>
  2.2561 +     <th scope=row>Digit 4
  2.2562 +
  2.2563 +     <td>四 U+56DB
  2.2564 +
  2.2565 +     <td>肆 U+8086
  2.2566 +
  2.2567 +     <td>四 U+56DB
  2.2568 +
  2.2569 +     <td>肆 U+8086
  2.2570 +
  2.2571 +    <tr>
  2.2572 +     <th scope=row>Digit 5
  2.2573 +
  2.2574 +     <td>五 U+4E94
  2.2575 +
  2.2576 +     <td>伍 U+4F0D
  2.2577 +
  2.2578 +     <td>五 U+4E94
  2.2579 +
  2.2580 +     <td>伍 U+4F0D
  2.2581 +
  2.2582 +    <tr>
  2.2583 +     <th scope=row>Digit 6
  2.2584 +
  2.2585 +     <td>六 U+516D
  2.2586 +
  2.2587 +     <td>陆 U+9646
  2.2588 +
  2.2589 +     <td>六 U+516D
  2.2590 +
  2.2591 +     <td>陸 U+9678
  2.2592 +
  2.2593 +    <tr>
  2.2594 +     <th scope=row>Digit 7
  2.2595 +
  2.2596 +     <td>七 U+4E03
  2.2597 +
  2.2598 +     <td>柒 U+67D2
  2.2599 +
  2.2600 +     <td>七 U+4E03
  2.2601 +
  2.2602 +     <td>柒 U+67D2
  2.2603 +
  2.2604 +    <tr>
  2.2605 +     <th scope=row>Digit 8
  2.2606 +
  2.2607 +     <td>八 U+516B
  2.2608 +
  2.2609 +     <td>捌 U+634C
  2.2610 +
  2.2611 +     <td>八 U+516B
  2.2612 +
  2.2613 +     <td>捌 U+634C
  2.2614 +
  2.2615 +    <tr>
  2.2616 +     <th scope=row>Digit 9
  2.2617 +
  2.2618 +     <td>九 U+4E5D
  2.2619 +
  2.2620 +     <td>玖 U+7396
  2.2621 +
  2.2622 +     <td>九 U+4E5D
  2.2623 +
  2.2624 +     <td>玖 U+7396
  2.2625 +
  2.2626 +    <tr>
  2.2627 +     <th scope=row>Second Digit Marker
  2.2628 +
  2.2629 +     <td>十 U+5341
  2.2630 +
  2.2631 +     <td>拾 U+62FE
  2.2632 +
  2.2633 +     <td>十 U+5341
  2.2634 +
  2.2635 +     <td>拾 U+62FE
  2.2636 +
  2.2637 +    <tr>
  2.2638 +     <th scope=row>Third Digit Marker
  2.2639 +
  2.2640 +     <td>百 U+767E
  2.2641 +
  2.2642 +     <td>佰 U+4F70
  2.2643 +
  2.2644 +     <td>百 U+767E
  2.2645 +
  2.2646 +     <td>佰 U+4F70
  2.2647 +
  2.2648 +    <tr>
  2.2649 +     <th scope=row>Fourth Digit Marker
  2.2650 +
  2.2651 +     <td>千 U+5343
  2.2652 +
  2.2653 +     <td>仟 U+4EDF
  2.2654 +
  2.2655 +     <td>千 U+5343
  2.2656 +
  2.2657 +     <td>仟 U+4EDF
  2.2658 +
  2.2659 +    <tr>
  2.2660 +     <th scope=row>Second Group Marker
  2.2661 +
  2.2662 +     <td>万 U+4E07
  2.2663 +
  2.2664 +     <td>万 U+4E07
  2.2665 +
  2.2666 +     <td>萬 U+842C
  2.2667 +
  2.2668 +     <td>萬 U+842C
  2.2669 +
  2.2670 +    <tr>
  2.2671 +     <th scope=row>Third Group Marker
  2.2672 +
  2.2673 +     <td>亿 U+4EBF
  2.2674 +
  2.2675 +     <td>亿 U+4EBF
  2.2676 +
  2.2677 +     <td>億 U+5104
  2.2678 +
  2.2679 +     <td>億 U+5104
  2.2680 +
  2.2681 +    <tr>
  2.2682 +     <th scope=row>Fourth Group Marker
  2.2683 +
  2.2684 +     <td>万亿 U+4E07 U+4EBF
  2.2685 +
  2.2686 +     <td>万亿 U+4E07 U+4EBF
  2.2687 +
  2.2688 +     <td>兆 U+5146
  2.2689 +
  2.2690 +     <td>兆 U+5146
  2.2691 +
  2.2692 +    <tr>
  2.2693 +     <th scope=row>Negative Sign
  2.2694 +
  2.2695 +     <td>负 U+8D1F
  2.2696 +
  2.2697 +     <td>負 U+8D1F
  2.2698 +
  2.2699 +     <td>負 U+8CA0
  2.2700 +
  2.2701 +     <td>負 U+8CA0
  2.2702 +  </table>
  2.2703 +
  2.2704 +  <table class=data>
  2.2705 +   <thead>
  2.2706 +    <tr>
  2.2707 +     <th rowspan=2 scope=col>Values
  2.2708 +
  2.2709 +     <th colspan=2 scope=col>Codepoints
  2.2710 +
  2.2711 +    <tr>
  2.2712 +     <th><dfn id=japanese-informal0>japanese-informal</dfn>
  2.2713 +
  2.2714 +     <th><dfn id=japanese-formal0>japanese-formal</dfn>
  2.2715 +
  2.2716 +   <tbody>
  2.2717 +    <tr>
  2.2718 +     <th scope=row>Digit 0
  2.2719 +
  2.2720 +     <td>〇 U+3007
  2.2721 +
  2.2722 +     <td>零 U+96F6
  2.2723 +
  2.2724 +    <tr>
  2.2725 +     <th scope=row>Digit 1
  2.2726 +
  2.2727 +     <td>一 U+4E00
  2.2728 +
  2.2729 +     <td>壱 U+58F1
  2.2730 +
  2.2731 +    <tr>
  2.2732 +     <th scope=row>Digit 2
  2.2733 +
  2.2734 +     <td>二 U+4E8C
  2.2735 +
  2.2736 +     <td>弐 U+5F10
  2.2737 +
  2.2738 +    <tr>
  2.2739 +     <th scope=row>Digit 3
  2.2740 +
  2.2741 +     <td>三 U+4E09
  2.2742 +
  2.2743 +     <td>参 U+53C2
  2.2744 +
  2.2745 +    <tr>
  2.2746 +     <th scope=row>Digit 4
  2.2747 +
  2.2748 +     <td>四 U+56DB
  2.2749 +
  2.2750 +     <td>四 U+56DB
  2.2751 +
  2.2752 +    <tr>
  2.2753 +     <th scope=row>Digit 5
  2.2754 +
  2.2755 +     <td>五 U+4E94
  2.2756 +
  2.2757 +     <td>伍 U+4f0D
  2.2758 +
  2.2759 +    <tr>
  2.2760 +     <th scope=row>Digit 6
  2.2761 +
  2.2762 +     <td>六 U+516D
  2.2763 +
  2.2764 +     <td>六 U+516D
  2.2765 +
  2.2766 +    <tr>
  2.2767 +     <th scope=row>Digit 7
  2.2768 +
  2.2769 +     <td>七 U+4E03
  2.2770 +
  2.2771 +     <td>七 U+4E03
  2.2772 +
  2.2773 +    <tr>
  2.2774 +     <th scope=row>Digit 8
  2.2775 +
  2.2776 +     <td>八 U+516B
  2.2777 +
  2.2778 +     <td>八 U+516B
  2.2779 +
  2.2780 +    <tr>
  2.2781 +     <th scope=row>Digit 9
  2.2782 +
  2.2783 +     <td>九 U+4E5D
  2.2784 +
  2.2785 +     <td>九 U+4E5D
  2.2786 +
  2.2787 +    <tr>
  2.2788 +     <th scope=row>Second Digit Marker
  2.2789 +
  2.2790 +     <td>十 U+5341
  2.2791 +
  2.2792 +     <td>拾 U+62FE
  2.2793 +
  2.2794 +    <tr>
  2.2795 +     <th scope=row>Third Digit Marker
  2.2796 +
  2.2797 +     <td>百 U+767E
  2.2798 +
  2.2799 +     <td>百 U+767E
  2.2800 +
  2.2801 +    <tr>
  2.2802 +     <th scope=row>Fourth Digit Marker
  2.2803 +
  2.2804 +     <td>千 U+5343
  2.2805 +
  2.2806 +     <td>阡 U+9621
  2.2807 +
  2.2808 +    <tr>
  2.2809 +     <th scope=row>Second Group Marker
  2.2810 +
  2.2811 +     <td>万 U+4E07
  2.2812 +
  2.2813 +     <td>萬 U+842C
  2.2814 +
  2.2815 +    <tr>
  2.2816 +     <th scope=row>Third Group Marker
  2.2817 +
  2.2818 +     <td>億 U+5104
  2.2819 +
  2.2820 +     <td>億 U+5104
  2.2821 +
  2.2822 +    <tr>
  2.2823 +     <th scope=row>Fourth Group Marker
  2.2824 +
  2.2825 +     <td>兆 U+5146
  2.2826 +
  2.2827 +     <td>兆 U+5146
  2.2828 +
  2.2829 +    <tr>
  2.2830 +     <th scope=row>Negative Sign
  2.2831 +
  2.2832 +     <td colspan=2>マイナス U+30DE U+30A4 U+30CA U+30B9
  2.2833 +  </table>
  2.2834 +
  2.2835 +  <table class=data>
  2.2836 +   <thead>
  2.2837 +    <tr>
  2.2838 +     <th rowspan=2 scope=col>Values
  2.2839 +
  2.2840 +     <th colspan=3 scope=col>Codepoints
  2.2841 +
  2.2842 +    <tr>
  2.2843 +     <th><dfn id=korean-hangul-formal0>korean-hangul-formal</dfn>
  2.2844 +
  2.2845 +     <th><dfn id=korean-hanja-informal0>korean-hanja-informal</dfn>
  2.2846 +
  2.2847 +     <th><dfn id=korean-hanja-formal0>korean-hanja-formal</dfn>
  2.2848 +
  2.2849 +   <tbody>
  2.2850 +    <tr>
  2.2851 +     <th scope=row>Digit 0
  2.2852 +
  2.2853 +     <td>영 U+C601
  2.2854 +
  2.2855 +     <td>零 U+96F6
  2.2856 +
  2.2857 +     <td>零 U+96F6
  2.2858 +
  2.2859 +    <tr>
  2.2860 +     <th scope=row>Digit 1
  2.2861 +
  2.2862 +     <td>일 U+C77C
  2.2863 +
  2.2864 +     <td>一 U+4E00
  2.2865 +
  2.2866 +     <td>壹 U+58F9
  2.2867 +
  2.2868 +    <tr>
  2.2869 +     <th scope=row>Digit 2
  2.2870 +
  2.2871 +     <td>이 U+C774
  2.2872 +
  2.2873 +     <td>二 U+4E8C
  2.2874 +
  2.2875 +     <td>貳 U+8CB3
  2.2876 +
  2.2877 +    <tr>
  2.2878 +     <th scope=row>Digit 3
  2.2879 +
  2.2880 +     <td>삼 U+C0BC
  2.2881 +
  2.2882 +     <td>三 U+4E09
  2.2883 +
  2.2884 +     <td>參 U+53C3
  2.2885 +
  2.2886 +    <tr>
  2.2887 +     <th scope=row>Digit 4
  2.2888 +
  2.2889 +     <td>사 U+C0AC
  2.2890 +
  2.2891 +     <td>四 U+56DB
  2.2892 +
  2.2893 +     <td>四 U+56DB
  2.2894 +
  2.2895 +    <tr>
  2.2896 +     <th scope=row>Digit 5
  2.2897 +
  2.2898 +     <td>오 U+C624
  2.2899 +
  2.2900 +     <td>五 U+4E94
  2.2901 +
  2.2902 +     <td>五 U+4E94
  2.2903 +
  2.2904 +    <tr>
  2.2905 +     <th scope=row>Digit 6
  2.2906 +
  2.2907 +     <td>육 U+C721
  2.2908 +
  2.2909 +     <td>六 U+516D
  2.2910 +
  2.2911 +     <td>六 U+516D
  2.2912 +
  2.2913 +    <tr>
  2.2914 +     <th scope=row>Digit 7
  2.2915 +
  2.2916 +     <td>칠 U+CE60
  2.2917 +
  2.2918 +     <td>七 U+4E03
  2.2919 +
  2.2920 +     <td>七 U+4E03
  2.2921 +
  2.2922 +    <tr>
  2.2923 +     <th scope=row>Digit 8
  2.2924 +
  2.2925 +     <td>팔 U+D314
  2.2926 +
  2.2927 +     <td>八 U+516B
  2.2928 +
  2.2929 +     <td>八 U+516B
  2.2930 +
  2.2931 +    <tr>
  2.2932 +     <th scope=row>Digit 9
  2.2933 +
  2.2934 +     <td>구 U+AD6C
  2.2935 +
  2.2936 +     <td>九 U+4E5D
  2.2937 +
  2.2938 +     <td>九 U+4E5D
  2.2939 +
  2.2940 +    <tr>
  2.2941 +     <th scope=row>Second Digit Marker
  2.2942 +
  2.2943 +     <td>십 U+C2ED
  2.2944 +
  2.2945 +     <td>十 U+5341
  2.2946 +
  2.2947 +     <td>拾 U+62FE
  2.2948 +
  2.2949 +    <tr>
  2.2950 +     <th scope=row>Third Digit Marker
  2.2951 +
  2.2952 +     <td>백 U+BC31
  2.2953 +
  2.2954 +     <td>百 U+767E
  2.2955 +
  2.2956 +     <td>百 U+767E
  2.2957 +
  2.2958 +    <tr>
  2.2959 +     <th scope=row>Fourth Digit Marker
  2.2960 +
  2.2961 +     <td>천 U+CC9C
  2.2962 +
  2.2963 +     <td>千 U+5343
  2.2964 +
  2.2965 +     <td>仟 U+4EDF
  2.2966 +
  2.2967 +    <tr>
  2.2968 +     <th scope=row>Second Group Marker
  2.2969 +
  2.2970 +     <td>만 U+B9CC
  2.2971 +
  2.2972 +     <td>萬 U+842C
  2.2973 +
  2.2974 +     <td>萬 U+842C
  2.2975 +
  2.2976 +    <tr>
  2.2977 +     <th scope=row>Third Group Marker
  2.2978 +
  2.2979 +     <td>억 U+C5B5
  2.2980 +
  2.2981 +     <td>億 U+5104
  2.2982 +
  2.2983 +     <td>億 U+5104
  2.2984 +
  2.2985 +    <tr>
  2.2986 +     <th scope=row>Fourth Group Marker
  2.2987 +
  2.2988 +     <td>조 U+C870
  2.2989 +
  2.2990 +     <td>兆 U+5146
  2.2991 +
  2.2992 +     <td>兆 U+5146
  2.2993 +  </table>
  2.2994 +  <!-- ======================================================================= -->
  2.2995 +
  2.2996 +  <h3 id=ethiopic-numeric-counter-style><span class=secno>6.2. </span>
  2.2997 +   Ethiopic Numeric Counter Style: ‘<a href="#ethiopic-numeric"><code
  2.2998 +   class=css>ethiopic-numeric</code></a>’</h3>
  2.2999 +
  2.3000 +  <p class=issue> This counter style is not part of CSS 2.0 or 2.1, but can't
  2.3001 +   be represented well by @counter-style. Should we keep it?
  2.3002 +
  2.3003 +  <p>The <dfn id=ethiopic-numeric>ethiopic-numeric</dfn> counter style is
  2.3004 +   defined for all positive non-zero numbers. The following algorithm
  2.3005 +   converts decimal digits to ethiopic numbers:
  2.3006 +
  2.3007 +  <ol>
  2.3008 +   <li>Split the number into groups of two digits, starting with the least
  2.3009 +    significant decimal digit.
  2.3010 +
  2.3011 +   <li>Index each group sequentially, starting from the least significant as
  2.3012 +    group number zero.
  2.3013 +
  2.3014 +   <li>If the group has an odd index (as given in the previous step) and has
  2.3015 +    the value 1, or if the group is the most significant one and has the
  2.3016 +    value 1, or if the group has the value zero, then remove the digit (but
  2.3017 +    leave the group, so it still has a separator appended below).
  2.3018 +
  2.3019 +   <li>For each remaining digit, substitute the relevant ethiopic character
  2.3020 +    from the list below.
  2.3021 +    <table class=data>
  2.3022 +     <thead>
  2.3023 +      <tr>
  2.3024 +       <th colspan=3>Tens
  2.3025 +
  2.3026 +       <th colspan=3>Units
  2.3027 +
  2.3028 +      <tr>
  2.3029 +       <th>Values
  2.3030 +
  2.3031 +       <th colspan=2>Codepoints
  2.3032 +
  2.3033 +       <th>Values
  2.3034 +
  2.3035 +       <th colspan=2>Codepoints
  2.3036 +
  2.3037 +     <tbody>
  2.3038 +      <tr>
  2.3039 +       <td>10
  2.3040 +
  2.3041 +       <td>፲
  2.3042 +
  2.3043 +       <td>U+1372
  2.3044 +
  2.3045 +       <td>1
  2.3046 +
  2.3047 +       <td>፩
  2.3048 +
  2.3049 +       <td>U+1369
  2.3050 +
  2.3051 +      <tr>
  2.3052 +       <td>20
  2.3053 +
  2.3054 +       <td>፳
  2.3055 +
  2.3056 +       <td>U+1373
  2.3057 +
  2.3058 +       <td>2
  2.3059 +
  2.3060 +       <td>፪
  2.3061 +
  2.3062 +       <td>U+136A
  2.3063 +
  2.3064 +      <tr>
  2.3065 +       <td>30
  2.3066 +
  2.3067 +       <td>፴
  2.3068 +
  2.3069 +       <td>U+1374
  2.3070 +
  2.3071 +       <td>3
  2.3072 +
  2.3073 +       <td>፫
  2.3074 +
  2.3075 +       <td>U+136B
  2.3076 +
  2.3077 +      <tr>
  2.3078 +       <td>40
  2.3079 +
  2.3080 +       <td>፵
  2.3081 +
  2.3082 +       <td>U+1375
  2.3083 +
  2.3084 +       <td>4
  2.3085 +
  2.3086 +       <td>፬
  2.3087 +
  2.3088 +       <td>U+136C
  2.3089 +
  2.3090 +      <tr>
  2.3091 +       <td>50
  2.3092 +
  2.3093 +       <td>፶
  2.3094 +
  2.3095 +       <td>U+1376
  2.3096 +
  2.3097 +       <td>5
  2.3098 +
  2.3099 +       <td>፭
  2.3100 +
  2.3101 +       <td>U+136D
  2.3102 +
  2.3103 +      <tr>
  2.3104 +       <td>60
  2.3105 +
  2.3106 +       <td>፷
  2.3107 +
  2.3108 +       <td>U+1377
  2.3109 +
  2.3110 +       <td>6
  2.3111 +
  2.3112 +       <td>፮
  2.3113 +
  2.3114 +       <td>U+136E
  2.3115 +
  2.3116 +      <tr>
  2.3117 +       <td>70
  2.3118 +
  2.3119 +       <td>፸
  2.3120 +
  2.3121 +       <td>U+1378
  2.3122 +
  2.3123 +       <td>7
  2.3124 +
  2.3125 +       <td>፯
  2.3126 +
  2.3127 +       <td>U+136F
  2.3128 +
  2.3129 +      <tr>
  2.3130 +       <td>80
  2.3131 +
  2.3132 +       <td>፹
  2.3133 +
  2.3134 +       <td>U+1379
  2.3135 +
  2.3136 +       <td>8
  2.3137 +
  2.3138 +       <td>፰
  2.3139 +
  2.3140 +       <td>U+1370
  2.3141 +
  2.3142 +      <tr>
  2.3143 +       <td>90
  2.3144 +
  2.3145 +       <td>፺
  2.3146 +
  2.3147 +       <td>U+137A
  2.3148 +
  2.3149 +       <td>9
  2.3150 +
  2.3151 +       <td>፱
  2.3152 +
  2.3153 +       <td>U+1371
  2.3154 +    </table>
  2.3155 +
  2.3156 +   <li>For each group with an odd index (as given in the second step) that
  2.3157 +    did not have its digits removed in the third step, append ፻ U+137B.
  2.3158 +
  2.3159 +   <li>For each group with an even index (as given in the second step),
  2.3160 +    except the group with number 0, append ፼ U+137C.
  2.3161 +
  2.3162 +   <li>Concatenate the groups into one string.
  2.3163 +  </ol>
  2.3164 +
  2.3165 +  <p>For this system, the <a href="#name"><i title=counter-name>name</i></a>
  2.3166 +   is "ethiopic-numeric", the <i title=counter-lower-bound>lower range bound
  2.3167 +   descriptor</i> is 1, the <i title=counter-upper-bound>upper range bound
  2.3168 +   descriptor</i> is infinity, and the rest of the descriptors have their
  2.3169 +   initial value.
  2.3170 +
  2.3171 +  <p class=issue>Is there a better suffix to use than the initial (".")? The
  2.3172 +   alphabetic ethiopic systems use a different suffix.
  2.3173 +
  2.3174 +  <div class=example>
  2.3175 +   <p>The decimal number 100, in ethiopic, is ፻ U+137B <!-- odd -->
  2.3176 +
  2.3177 +   <p> The decimal number 78010092, in ethiopic, is ፸፰፻፩፼፺፪
  2.3178 +    U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even -->
  2.3179 +    U+137A U+136A. <!-- 90 2 -->
  2.3180 +
  2.3181 +   <p> The decimal number 780000001092, in ethiopic, is
  2.3182 +    ፸፰፻፩፼፼፺፪ U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369
  2.3183 +    U+137C <!-- 1 even --> U+137C <!-- even --> U+137A U+136A. <!-- 90 2 -->
  2.3184 +  </div>
  2.3185 +
  2.3186 +  <h2 id=apis><span class=secno>7. </span>APIs</h2>
  2.3187 +
  2.3188 +  <h3 id=extentions-to-cssrule-interface><span class=secno>7.1. </span>
  2.3189 +   Extensions to the <code>CSSRule</code> interface</h3>
  2.3190 +
  2.3191 +  <p> The <code>CSSRule</code> interface is extended as follows:
  2.3192 +
  2.3193 +  <pre class=idl><!--
  2.3194 +	-->partial interface CSSRule {
  2.3195 +<!--
  2.3196 +	-->    const unsigned short COUNTER_STYLE_RULE = 11;
  2.3197 +<!--
  2.3198 +	-->}</pre>
  2.3199 +
  2.3200 +  <h3 id=the-csscounterstylerule-interface><span class=secno>7.2. </span> The
  2.3201 +   <a href="#csscounterstylerule"><code>CSSCounterStyleRule</code></a>
  2.3202 +   interface</h3>
  2.3203 +
  2.3204 +  <p> The <dfn id=csscounterstylerule>CSSCounterStyleRule</dfn> interface
  2.3205 +   represents a ‘<a href="#at-counter-style"><code
  2.3206 +   class=css>@counter-style</code></a>’ rule.
  2.3207 +
  2.3208 +  <pre class=idl><!--
  2.3209 +	-->interface CSSCounterStyleRule : CSSRule {
  2.3210 +<!--
  2.3211 +	-->  readonly attribute DOMString name;
  2.3212 +<!--
  2.3213 +	-->  readonly attribute DOMString system;
  2.3214 +<!--
  2.3215 +	-->  readonly attribute DOMString symbols;
  2.3216 +<!--
  2.3217 +	-->  readonly attribute DOMString additiveSymbols;
  2.3218 +<!--
  2.3219 +	-->  readonly attribute DOMString negative;
  2.3220 +<!--
  2.3221 +	-->  readonly attribute DOMString prefix;
  2.3222 +<!--
  2.3223 +	-->  readonly attribute DOMString suffix;
  2.3224 +<!--
  2.3225 +	-->  readonly attribute DOMString range;
  2.3226 +<!--
  2.3227 +	-->  readonly attribute DOMString fallback;
  2.3228 +<!--
  2.3229 +	-->}</pre>
  2.3230 +
  2.3231 +  <dl class=idl-attributes>
  2.3232 +   <dt><var>name</var> of type <code>DOMString</code>, readonly
  2.3233 +
  2.3234 +   <dd> The <var>name</var> attribute must return a <code>DOMString</code>
  2.3235 +    object that contains the serialization of the
  2.3236 +    <var>&lt;counter-style-name></var> defined for the associated ‘<a
  2.3237 +    href="#at-counter-style"><code class=css>@counter-style</code></a>’
  2.3238 +    block.
  2.3239 +
  2.3240 +   <dt>everything else
  2.3241 +
  2.3242 +   <dd> The remaining attributes must return a <code>DOMString</code> object
  2.3243 +    that contains the serialization of the associated descriptor defined for
  2.3244 +    the associated ‘<a href="#at-counter-style"><code
  2.3245 +    class=css>@counter-style</code></a>’ block.
  2.3246 +  </dl>
  2.3247 +
  2.3248 +  <h2 class=no-num id=acknowledgments> Acknowledgments</h2>
  2.3249 +
  2.3250 +  <p> The following people and documentation they wrote were very useful for
  2.3251 +   defining the numbering systems: <!-- alphabetical by full name -->
  2.3252 +   Alexander Savenkov, Arron Eicholz, Aryeh Gregor, Christopher Hoess, Daniel
  2.3253 +   Yacob, Frank Tang, Jonathan Rosenne, Karl Ove Hufthammer, Musheg
  2.3254 +   Arakelyan, Nariné Renard Karapetyan, Randall Bart, Richard Ishida, Simon
  2.3255 +   Montagu (Mozilla, smontagu@smontagu.org)
  2.3256 +   <!-- see http://www.damowmow.com/temp/csswg/lists/part2.html 
  2.3257 +		     http://www.qsm.co.il/Hebrew/Gimatria.htm
  2.3258 +		     http://people.netscape.com/smontagu/writings/HebrewNumbers.html
  2.3259 +		     http://www.ethiopic.org/Collation/OrderedLists.html
  2.3260 +		     http://bugzilla.mozilla.org/show_bug.cgi?id=102252 -->
  2.3261 +
  2.3262 +  <h2 class=no-num id=conformance> Conformance</h2>
  2.3263 +
  2.3264 +  <h3 class=no-num id=conventions> Document Conventions</h3>
  2.3265 +
  2.3266 +  <p>Conformance requirements are expressed with a combination of descriptive
  2.3267 +   assertions and RFC 2119 terminology. The key words “MUST”, “MUST
  2.3268 +   NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
  2.3269 +   “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the
  2.3270 +   normative parts of this document are to be interpreted as described in RFC
  2.3271 +   2119. However, for readability, these words do not appear in all uppercase
  2.3272 +   letters in this specification.
  2.3273 +
  2.3274 +  <p>All of the text of this specification is normative except sections
  2.3275 +   explicitly marked as non-normative, examples, and notes. <a
  2.3276 +   href="#RFC2119" rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a>
  2.3277 +
  2.3278 +  <p>Examples in this specification are introduced with the words “for
  2.3279 +   example” or are set apart from the normative text with
  2.3280 +   <code>class="example"</code>, like this:
  2.3281 +
  2.3282 +  <div class=example>
  2.3283 +   <p>This is an example of an informative example.
  2.3284 +  </div>
  2.3285 +
  2.3286 +  <p>Informative notes begin with the word “Note” and are set apart from
  2.3287 +   the normative text with <code>class="note"</code>, like this:
  2.3288 +
  2.3289 +  <p class=note>Note, this is an informative note.
  2.3290 +
  2.3291 +  <h3 class=no-num id=conformance-classes> Conformance Classes</h3>
  2.3292 +
  2.3293 +  <p>Conformance to CSS Counter Styles Module is defined for three
  2.3294 +   conformance classes:
  2.3295 +
  2.3296 +  <dl>
  2.3297 +   <dt><dfn id=style-sheet title="style sheet!!as conformance class">style
  2.3298 +    sheet</dfn>
  2.3299 +
  2.3300 +   <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#style-sheet">CSS
  2.3301 +    style sheet</a>.
  2.3302 +
  2.3303 +   <dt><dfn id=renderer>renderer</dfn>
  2.3304 +
  2.3305 +   <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a>
  2.3306 +    that interprets the semantics of a style sheet and renders documents that
  2.3307 +    use them.
  2.3308 +
  2.3309 +   <dt><dfn id=authoring-tool>authoring tool</dfn>
  2.3310 +
  2.3311 +   <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a>
  2.3312 +    that writes a style sheet.
  2.3313 +  </dl>
  2.3314 +
  2.3315 +  <p>A style sheet is conformant to CSS Counter Styles Module if all of its
  2.3316 +   declarations that use properties defined in this module have values that
  2.3317 +   are valid according to the generic CSS grammar and the individual grammars
  2.3318 +   of each property as given in this module.
  2.3319 +
  2.3320 +  <p>A renderer is conformant to CSS Counter Styles Module if, in addition to
  2.3321 +   interpreting the style sheet as defined by the appropriate specifications,
  2.3322 +   it supports all the features defined by CSS Counter Styles Module by
  2.3323 +   parsing them correctly and rendering the document accordingly. However,
  2.3324 +   the inability of a UA to correctly render a document due to limitations of
  2.3325 +   the device does not make the UA non-conformant. (For example, a UA is not
  2.3326 +   required to render color on a monochrome monitor.)
  2.3327 +
  2.3328 +  <p>An authoring tool is conformant to CSS Counter Styles Module if it
  2.3329 +   writes style sheets that are syntactically correct according to the
  2.3330 +   generic CSS grammar and the individual grammars of each feature in this
  2.3331 +   module, and meet all other conformance requirements of style sheets as
  2.3332 +   described in this module.
  2.3333 +
  2.3334 +  <h3 class=no-num id=partial> Partial Implementations</h3>
  2.3335 +
  2.3336 +  <p>So that authors can exploit the forward-compatible parsing rules to
  2.3337 +   assign fallback values, CSS renderers <strong>must</strong> treat as
  2.3338 +   invalid (and <a
  2.3339 +   href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore as
  2.3340 +   appropriate</a>) any at-rules, properties, property values, keywords, and
  2.3341 +   other syntactic constructs for which they have no usable level of support.
  2.3342 +   In particular, user agents <strong>must not</strong> selectively ignore
  2.3343 +   unsupported component values and honor supported values in a single
  2.3344 +   multi-value property declaration: if any value is considered invalid (as
  2.3345 +   unsupported values must be), CSS requires that the entire declaration be
  2.3346 +   ignored.
  2.3347 +
  2.3348 +  <h3 class=no-num id=experimental> Experimental Implementations</h3>
  2.3349 +
  2.3350 +  <p>To avoid clashes with future CSS features, the CSS2.1 specification
  2.3351 +   reserves a <a
  2.3352 +   href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed
  2.3353 +   syntax</a> for proprietary and experimental extensions to CSS.
  2.3354 +
  2.3355 +  <p>Prior to a specification reaching the Candidate Recommendation stage in
  2.3356 +   the W3C process, all implementations of a CSS feature are considered
  2.3357 +   experimental. The CSS Working Group recommends that implementations use a
  2.3358 +   vendor-prefixed syntax for such features, including those in W3C Working
  2.3359 +   Drafts. This avoids incompatibilities with future changes in the draft.
  2.3360 +
  2.3361 +  <h3 class=no-num id=testing> Non-Experimental Implementations</h3>
  2.3362 +
  2.3363 +  <p>Once a specification reaches the Candidate Recommendation stage,
  2.3364 +   non-experimental implementations are possible, and implementors should
  2.3365 +   release an unprefixed implementation of any CR-level feature they can
  2.3366 +   demonstrate to be correctly implemented according to spec.
  2.3367 +
  2.3368 +  <p>To establish and maintain the interoperability of CSS across
  2.3369 +   implementations, the CSS Working Group requests that non-experimental CSS
  2.3370 +   renderers submit an implementation report (and, if necessary, the
  2.3371 +   testcases used for that implementation report) to the W3C before releasing
  2.3372 +   an unprefixed implementation of any CSS features. Testcases submitted to
  2.3373 +   W3C are subject to review and correction by the CSS Working Group.
  2.3374 +
  2.3375 +  <p>Further information on submitting testcases and implementation reports
  2.3376 +   can be found from on the CSS Working Group's website at <a
  2.3377 +   href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>.
  2.3378 +   Questions should be directed to the <a
  2.3379 +   href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a>
  2.3380 +   mailing list.
  2.3381 +
  2.3382 +  <h2 class=no-num id=references>References</h2>
  2.3383 +
  2.3384 +  <h3 class=no-num id=normative-references>Normative references</h3>
  2.3385 +  <!--begin-normative-->
  2.3386 +  <!-- Sorted by label -->
  2.3387 +
  2.3388 +  <dl class=bibliography>
  2.3389 +   <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
  2.3390 +    <!---->
  2.3391 +
  2.3392 +   <dt id=RFC2119>[RFC2119]
  2.3393 +
  2.3394 +   <dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key
  2.3395 +    words for use in RFCs to Indicate Requirement Levels.</cite></a> Internet
  2.3396 +    RFC 2119. URL: <a
  2.3397 +    href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
  2.3398 +   </dd>
  2.3399 +   <!---->
  2.3400 +  </dl>
  2.3401 +  <!--end-normative-->
  2.3402 +
  2.3403 +  <h3 class=no-num id=other-references>Other references</h3>
  2.3404 +  <!--begin-informative-->
  2.3405 +  <!-- Sorted by label -->
  2.3406 +
  2.3407 +  <dl class=bibliography>
  2.3408 +   <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
  2.3409 +    <!---->
  2.3410 +
  2.3411 +   <dt id=CSS3LIST>[CSS3LIST]
  2.3412 +
  2.3413 +   <dd>Tab Atkins Jr. <a
  2.3414 +    href="http://www.w3.org/TR/2011/WD-css3-lists-20110524"><cite>CSS Lists
  2.3415 +    and Counters Module Level 3.</cite></a> 24 May 2011. W3C Working Draft.
  2.3416 +    (Work in progress.) URL: <a
  2.3417 +    href="http://www.w3.org/TR/2011/WD-css3-lists-20110524">http://www.w3.org/TR/2011/WD-css3-lists-20110524</a>
  2.3418 +   </dd>
  2.3419 +   <!---->
  2.3420 +  </dl>
  2.3421 +  <!--end-informative-->
  2.3422 +
  2.3423 +  <h2 class=no-num id=property-index>Property index</h2>
  2.3424 +  <!--begin-properties-->
  2.3425 +
  2.3426 +  <table class=proptable>
  2.3427 +   <thead>
  2.3428 +    <tr>
  2.3429 +     <th>Property
  2.3430 +
  2.3431 +     <th>Values
  2.3432 +
  2.3433 +     <th>Initial
  2.3434 +
  2.3435 +     <th>Applies to
  2.3436 +
  2.3437 +     <th>Inh.
  2.3438 +
  2.3439 +     <th>Percentages
  2.3440 +
  2.3441 +     <th>Media
  2.3442 +
  2.3443 +   <tbody>
  2.3444 +  </table>
  2.3445 +  <!--end-properties-->
  2.3446 +
  2.3447 +  <h2 class=no-num id=index>Index</h2>
  2.3448 +  <!--begin-index-->
  2.3449 +
  2.3450 +  <ul class=indexlist>
  2.3451 +   <li>‘<a href="#additive"><code class=css>additive</code></a>’, <a
  2.3452 +    href="#additive" title="''additive''"><strong>3.1.6.</strong></a>
  2.3453 +
  2.3454 +   <li>additive-symbols, <a href="#descdef-additive-symbols"
  2.3455 +    title=additive-symbols><strong>3.7.</strong></a>
  2.3456 +
  2.3457 +   <li>additive tuple, <a href="#additive-tuple"
  2.3458 +    title="additive tuple"><strong>3.7.</strong></a>
  2.3459 +
  2.3460 +   <li>‘<a href="#alphabetic"><code class=css>alphabetic</code></a>’, <a
  2.3461 +    href="#alphabetic" title="''alphabetic''"><strong>3.1.4.</strong></a>
  2.3462 +
  2.3463 +   <li>‘<a href="#armenian"><code class=css>armenian</code></a>’, <a
  2.3464 +    href="#armenian" title="''armenian''"><strong>5.1.</strong></a>
  2.3465 +
  2.3466 +   <li>authoring tool, <a href="#authoring-tool"
  2.3467 +    title="authoring tool"><strong>#</strong></a>
  2.3468 +
  2.3469 +   <li>box-corner, <a href="#box-corner"
  2.3470 +    title=box-corner><strong>3.1.2.</strong></a>
  2.3471 +
  2.3472 +   <li>‘<a href="#circle"><code class=css>circle</code></a>’, <a
  2.3473 +    href="#circle" title="''circle''"><strong>5.3.</strong></a>
  2.3474 +
  2.3475 +   <li>‘<a href="#cjk-decimal"><code class=css>cjk-decimal</code></a>’,
  2.3476 +    <a href="#cjk-decimal" title="''cjk-decimal''"><strong>5.1.</strong></a>
  2.3477 +
  2.3478 +   <li>counter-algorithm, <a href="#algorithm"
  2.3479 +    title=counter-algorithm><strong>2.</strong></a>
  2.3480 +
  2.3481 +   <li>counter-fallback, <a href="#fallback-style"
  2.3482 +    title=counter-fallback><strong>2.</strong></a>
  2.3483 +
  2.3484 +   <li>counter-name, <a href="#name"
  2.3485 +    title=counter-name><strong>2.</strong></a>
  2.3486 +
  2.3487 +   <li>counter-negative, <a href="#negative-sign"
  2.3488 +    title=counter-negative><strong>2.</strong></a>
  2.3489 +
  2.3490 +   <li>counter-prefix, <a href="#prefix"
  2.3491 +    title=counter-prefix><strong>2.</strong></a>
  2.3492 +
  2.3493 +   <li>counter-range, <a href="#range"
  2.3494 +    title=counter-range><strong>2.</strong></a>
  2.3495 +
  2.3496 +   <li>‘<a href="#at-counter-style"><code
  2.3497 +    class=css>@counter-style</code></a>’, <a href="#at-counter-style"
  2.3498 +    title="''@counter-style''"><strong>3.</strong></a>
  2.3499 +
  2.3500 +   <li>counter style, <a href="#counter-style"
  2.3501 +    title="counter style"><strong>2.</strong></a>
  2.3502 +
  2.3503 +   <li>counter-suffix, <a href="#suffix"
  2.3504 +    title=counter-suffix><strong>2.</strong></a>
  2.3505 +
  2.3506 +   <li>counter symbol, <a href="#counter-symbol"
  2.3507 +    title="counter symbol"><strong>3.7.</strong></a>
  2.3508 +
  2.3509 +   <li>CSSCounterStyleRule, <a href="#csscounterstylerule"
  2.3510 +    title=CSSCounterStyleRule><strong>7.2.</strong></a>
  2.3511 +
  2.3512 +   <li>current tuple, <a href="#current-tuple"
  2.3513 +    title="current tuple"><strong>3.1.6.</strong></a>
  2.3514 +
  2.3515 +   <li>current tuple's, <a href="#current-tuple"
  2.3516 +    title="current tuple's"><strong>3.1.6.</strong></a>
  2.3517 +
  2.3518 +   <li>‘<a href="#cyclic"><code class=css>cyclic</code></a>’, <a
  2.3519 +    href="#cyclic" title="''cyclic''"><strong>3.1.1.</strong></a>
  2.3520 +
  2.3521 +   <li>‘<a href="#decimal"><code class=css>decimal</code></a>’, <a
  2.3522 +    href="#decimal" title="''decimal''"><strong>5.1.</strong></a>
  2.3523 +
  2.3524 +   <li>‘<a href="#decimal-leading-zero"><code
  2.3525 +    class=css>decimal-leading-zero</code></a>’, <a
  2.3526 +    href="#decimal-leading-zero"
  2.3527 +    title="''decimal-leading-zero''"><strong>5.1.</strong></a>
  2.3528 +
  2.3529 +   <li>dice, <a href="#dice" title=dice><strong>3.1.6.</strong></a>
  2.3530 +
  2.3531 +   <li>‘<a href="#disc"><code class=css>disc</code></a>’, <a href="#disc"
  2.3532 +    title="''disc''"><strong>5.3.</strong></a>
  2.3533 +
  2.3534 +   <li>ethiopic-numeric, <a href="#ethiopic-numeric"
  2.3535 +    title=ethiopic-numeric><strong>6.2.</strong></a>
  2.3536 +
  2.3537 +   <li>fallback, <a href="#descdef-fallback"
  2.3538 +    title=fallback><strong>3.6.</strong></a>
  2.3539 +
  2.3540 +   <li>first symbol value, <a href="#first-symbol-value"
  2.3541 +    title="first symbol value"><strong>3.1.2.</strong></a>
  2.3542 +
  2.3543 +   <li>‘<a href="#fixed"><code class=css>fixed</code></a>’, <a
  2.3544 +    href="#fixed" title="''fixed''"><strong>3.1.2.</strong></a>
  2.3545 +
  2.3546 +   <li>fixed-decimal, <a href="#fixed-decimal"
  2.3547 +    title=fixed-decimal><strong>3.1.4.</strong></a>
  2.3548 +
  2.3549 +   <li>footnote, <a href="#footnote"
  2.3550 +    title=footnote><strong>3.1.3.</strong></a>
  2.3551 +
  2.3552 +   <li>generate-a-counter, <a href="#generate-a-counter-representation"
  2.3553 +    title=generate-a-counter><strong>2.</strong></a>
  2.3554 +
  2.3555 +   <li>‘<a href="#georgian"><code class=css>georgian</code></a>’, <a
  2.3556 +    href="#georgian" title="''georgian''"><strong>5.1.</strong></a>
  2.3557 +
  2.3558 +   <li>go, <a href="#go" title=go><strong>3.1.4.</strong></a>
  2.3559 +
  2.3560 +   <li>‘<a href="#hebrew"><code class=css>hebrew</code></a>’, <a
  2.3561 +    href="#hebrew" title="''hebrew''"><strong>5.1.</strong></a>
  2.3562 +
  2.3563 +   <li>‘<a href="#hiragana"><code class=css>hiragana</code></a>’, <a
  2.3564 +    href="#hiragana" title="''hiragana''"><strong>5.2.</strong></a>
  2.3565 +
  2.3566 +   <li>‘<a href="#hiragana-iroha"><code
  2.3567 +    class=css>hiragana-iroha</code></a>’, <a href="#hiragana-iroha"
  2.3568 +    title="''hiragana-iroha''"><strong>5.2.</strong></a>
  2.3569 +
  2.3570 +   <li>japanese-formal, <a href="#japanese-formal"
  2.3571 +    title=japanese-formal><strong>#</strong></a>, <a href="#japanese-formal0"
  2.3572 +    title=japanese-formal><strong>6.1.2.</strong></a>
  2.3573 +
  2.3574 +   <li>japanese-informal, <a href="#japanese-informal"
  2.3575 +    title=japanese-informal><strong>#</strong></a>, <a
  2.3576 +    href="#japanese-informal0"
  2.3577 +    title=japanese-informal><strong>6.1.2.</strong></a>
  2.3578 +
  2.3579 +   <li>‘<a href="#katakana"><code class=css>katakana</code></a>’, <a
  2.3580 +    href="#katakana" title="''katakana''"><strong>5.2.</strong></a>
  2.3581 +
  2.3582 +   <li>‘<a href="#katakana-iroha"><code
  2.3583 +    class=css>katakana-iroha</code></a>’, <a href="#katakana-iroha"
  2.3584 +    title="''katakana-iroha''"><strong>5.2.</strong></a>
  2.3585 +
  2.3586 +   <li>korean-hangul-formal, <a href="#korean-hangul-formal"
  2.3587 +    title=korean-hangul-formal><strong>#</strong></a>, <a
  2.3588 +    href="#korean-hangul-formal0"
  2.3589 +    title=korean-hangul-formal><strong>6.1.2.</strong></a>
  2.3590 +
  2.3591 +   <li>korean-hanja-formal, <a href="#korean-hanja-formal"
  2.3592 +    title=korean-hanja-formal><strong>#</strong></a>, <a
  2.3593 +    href="#korean-hanja-formal0"
  2.3594 +    title=korean-hanja-formal><strong>6.1.2.</strong></a>
  2.3595 +
  2.3596 +   <li>korean-hanja-informal, <a href="#korean-hanja-informal"
  2.3597 +    title=korean-hanja-informal><strong>#</strong></a>, <a
  2.3598 +    href="#korean-hanja-informal0"
  2.3599 +    title=korean-hanja-informal><strong>6.1.2.</strong></a>
  2.3600 +
  2.3601 +   <li>‘<a href="#lower-alpha"><code class=css>lower-alpha</code></a>’,
  2.3602 +    <a href="#lower-alpha" title="''lower-alpha''"><strong>5.2.</strong></a>
  2.3603 +
  2.3604 +   <li>‘<a href="#lower-greek"><code class=css>lower-greek</code></a>’,
  2.3605 +    <a href="#lower-greek" title="''lower-greek''"><strong>5.2.</strong></a>
  2.3606 +
  2.3607 +   <li>‘<a href="#lower-latin"><code class=css>lower-latin</code></a>’,
  2.3608 +    <a href="#lower-latin" title="''lower-latin''"><strong>5.2.</strong></a>
  2.3609 +
  2.3610 +   <li>‘<a href="#lower-roman"><code class=css>lower-roman</code></a>’,
  2.3611 +    <a href="#lower-roman" title="''lower-roman''"><strong>5.1.</strong></a>
  2.3612 +
  2.3613 +   <li>negative, <a href="#descdef-negative"
  2.3614 +    title=negative><strong>3.2.</strong></a>
  2.3615 +
  2.3616 +   <li>‘<a href="#numeric"><code class=css>numeric</code></a>’, <a
  2.3617 +    href="#numeric" title="''numeric''"><strong>3.1.5.</strong></a>
  2.3618 +
  2.3619 +   <li>‘<a href="#override"><code class=css>override</code></a>’, <a
  2.3620 +    href="#override" title="''override''"><strong>3.1.7.</strong></a>
  2.3621 +
  2.3622 +   <li>prefix, <a href="#descdef-prefix"
  2.3623 +    title=prefix><strong>3.3.</strong></a>
  2.3624 +
  2.3625 +   <li>range, <a href="#descdef-range" title=range><strong>3.5.</strong></a>
  2.3626 +
  2.3627 +   <li>renderer, <a href="#renderer" title=renderer><strong>#</strong></a>
  2.3628 +
  2.3629 +   <li>simp-chinese-formal, <a href="#simp-chinese-formal"
  2.3630 +    title=simp-chinese-formal><strong>#</strong></a>, <a
  2.3631 +    href="#simp-chinese-formal0"
  2.3632 +    title=simp-chinese-formal><strong>6.1.2.</strong></a>
  2.3633 +
  2.3634 +   <li>simp-chinese-informal, <a href="#simp-chinese-informal"
  2.3635 +    title=simp-chinese-informal><strong>#</strong></a>, <a
  2.3636 +    href="#simp-chinese-informal0"
  2.3637 +    title=simp-chinese-informal><strong>6.1.2.</strong></a>
  2.3638 +
  2.3639 +   <li>‘<a href="#square"><code class=css>square</code></a>’, <a
  2.3640 +    href="#square" title="''square''"><strong>5.3.</strong></a>
  2.3641 +
  2.3642 +   <li>style sheet
  2.3643 +    <ul>
  2.3644 +     <li>as conformance class, <a href="#style-sheet"
  2.3645 +      title="style sheet, as conformance class"><strong>#</strong></a>
  2.3646 +    </ul>
  2.3647 +
  2.3648 +   <li>suffix, <a href="#descdef-suffix"
  2.3649 +    title=suffix><strong>3.4.</strong></a>
  2.3650 +
  2.3651 +   <li>‘<a href="#symbolic"><code class=css>symbolic</code></a>’, <a
  2.3652 +    href="#symbolic" title="''symbolic''"><strong>3.1.3.</strong></a>
  2.3653 +
  2.3654 +   <li>symbols, <a href="#descdef-symbols"
  2.3655 +    title=symbols><strong>3.7.</strong></a>
  2.3656 +
  2.3657 +   <li>&lt;symbols-function>, <a href="#type-symbols-function"
  2.3658 +    title="&lt;symbols-function>"><strong>4.</strong></a>
  2.3659 +
  2.3660 +   <li>system, <a href="#descdef-system"
  2.3661 +    title=system><strong>3.1.</strong></a>
  2.3662 +
  2.3663 +   <li>trad-chinese-formal, <a href="#trad-chinese-formal"
  2.3664 +    title=trad-chinese-formal><strong>#</strong></a>, <a
  2.3665 +    href="#trad-chinese-formal0"
  2.3666 +    title=trad-chinese-formal><strong>6.1.2.</strong></a>
  2.3667 +
  2.3668 +   <li>trad-chinese-informal, <a href="#trad-chinese-informal"
  2.3669 +    title=trad-chinese-informal><strong>#</strong></a>, <a
  2.3670 +    href="#trad-chinese-informal0"
  2.3671 +    title=trad-chinese-informal><strong>6.1.2.</strong></a>
  2.3672 +
  2.3673 +   <li>triangle, <a href="#triangle"
  2.3674 +    title=triangle><strong>3.1.1.</strong></a>
  2.3675 +
  2.3676 +   <li>trinary, <a href="#trinary" title=trinary><strong>3.1.5.</strong></a>
  2.3677 +
  2.3678 +   <li>‘<a href="#upper-alpha"><code class=css>upper-alpha</code></a>’,
  2.3679 +    <a href="#upper-alpha" title="''upper-alpha''"><strong>5.2.</strong></a>
  2.3680 +
  2.3681 +   <li>upper-alpha-legal, <a href="#upper-alpha-legal"
  2.3682 +    title=upper-alpha-legal><strong>3.1.3.</strong></a>
  2.3683 +
  2.3684 +   <li>‘<a href="#upper-latin"><code class=css>upper-latin</code></a>’,
  2.3685 +    <a href="#upper-latin" title="''upper-latin''"><strong>5.2.</strong></a>
  2.3686 +
  2.3687 +   <li>‘<a href="#upper-roman"><code class=css>upper-roman</code></a>’,
  2.3688 +    <a href="#upper-roman" title="''upper-roman''"><strong>5.1.</strong></a>
  2.3689 +  </ul>
  2.3690 +  <!--end-index-->
  2.3691 +  <!--
  2.3692 +<h2 id='ua-stylesheet'>
  2.3693 +Predefined Counter Styles</h2>
  2.3694 +
  2.3695 +	<p>The CSS Lists and Counters specification [[!CSS3LIST]] defines a mechanism for authors to define almost any counter style they would want.  However, forcing authors to redefine common styles every time they are used would be unnecessarily onerous.  To aid in this regard, this specification predefines a large set of counter styles.  User agents must include the following stylesheet as a user-agent stylesheet, so authors can depend on these styles being present.
  2.3696 +
  2.3697 +	<p>As with any ''@counter-style'' rule, the counter style definitions given here can be overridden by the author if they desire to attach a different style to a counter style name defined in this stylesheet.
  2.3698 +
  2.3699 +	<p class='issue'>Should this chapter and the next be made an informative appendix rather than a required UA stylesheet?
  2.3700 +
  2.3701 +<h3 id='predefined-repeating'>
  2.3702 +Predefined Repeating Styles</h3>
  2.3703 +
  2.3704 +	<pre class=css><code><bdo dir="ltr">
  2.3705 +@counter-style <dfn>box</dfn> {
  2.3706 +	system: cyclic;
  2.3707 +	symbols: '\25FD';
  2.3708 +	/* '◽' */
  2.3709 +	suffix: '';
  2.3710 +}
  2.3711 +
  2.3712 +@counter-style <dfn>check</dfn> {
  2.3713 +	system: cyclic;
  2.3714 +	symbols: '\2713';
  2.3715 +	/* '✓' */
  2.3716 +	suffix: '';
  2.3717 +}
  2.3718 +
  2.3719 +@counter-style <dfn>circle</dfn> {
  2.3720 +	system: cyclic;
  2.3721 +	symbols: '\25E6';
  2.3722 +	/* '◦' */
  2.3723 +	suffix: '';
  2.3724 +}
  2.3725 +
  2.3726 +@counter-style <dfn>diamond</dfn> {
  2.3727 +	system: cyclic;
  2.3728 +	symbols: '\25C6';
  2.3729 +	/* '◆' */
  2.3730 +	suffix: '';
  2.3731 +}
  2.3732 +
  2.3733 +@counter-style <dfn>disc</dfn> {
  2.3734 +	system: cyclic;
  2.3735 +	symbols: '\2022';
  2.3736 +	/* '•' */
  2.3737 +	suffix: '';
  2.3738 +}
  2.3739 +
  2.3740 +@counter-style <dfn>dash</dfn> {
  2.3741 +	system: cyclic;
  2.3742 +	symbols: '\2043';
  2.3743 +	/* '⁃' */
  2.3744 +	suffix: '';
  2.3745 +}
  2.3746 +
  2.3747 +@counter-style <dfn>square</dfn> {
  2.3748 +	system: cyclic;
  2.3749 +	symbols: '\25FE';
  2.3750 +	/* '◾' */
  2.3751 +	suffix: '';
  2.3752 +}</bdo></code></pre>
  2.3753 +
  2.3754 +<h3 id='predefined-numeric'>
  2.3755 +Predefined Numeric Styles</h3>
  2.3756 +
  2.3757 +	<pre class=css><code><bdo dir="ltr">
  2.3758 +@counter-style <dfn>arabic-indic</dfn> {
  2.3759 +	system: numeric;
  2.3760 +	symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669';
  2.3761 +	/* '٠' '١' '٢' '٣' '٤' '٥' '٦' '٧' '٨' '٩' */
  2.3762 +}
  2.3763 +
  2.3764 +@counter-style <dfn>bengali</dfn> {
  2.3765 +	system: numeric;
  2.3766 +	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  2.3767 +	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  2.3768 +}
  2.3769 +
  2.3770 +@counter-style <dfn>binary</dfn> {
  2.3771 +	system: numeric;
  2.3772 +	symbols: '\30' '\31';
  2.3773 +	/* '0' '1' */
  2.3774 +}
  2.3775 +
  2.3776 +@counter-style <dfn>cambodian</dfn> {
  2.3777 +	system: numeric;
  2.3778 +	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  2.3779 +	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  2.3780 +}
  2.3781 +
  2.3782 +@counter-style <dfn>decimal</dfn> {
  2.3783 +	system: numeric;
  2.3784 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39';
  2.3785 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  2.3786 +}
  2.3787 +
  2.3788 +@counter-style <dfn>devanagari</dfn> {
  2.3789 +	system: numeric;
  2.3790 +	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  2.3791 +	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  2.3792 +}
  2.3793 +
  2.3794 +@counter-style <dfn>eastern-nagari</dfn> {
  2.3795 +	system: numeric;
  2.3796 +	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  2.3797 +	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  2.3798 +}
  2.3799 +
  2.3800 +@counter-style <dfn>fullwidth-decimal</dfn> {
  2.3801 +	system: numeric;
  2.3802 +	symbols: '\FF10' '\FF11' '\FF12' '\FF13' '\FF14' '\FF15' '\FF16' '\FF17' '\FF18' '\FF19';
  2.3803 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  2.3804 +}
  2.3805 +
  2.3806 +@counter-style <dfn>gujarati</dfn> {
  2.3807 +	system: numeric;
  2.3808 +	symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF';
  2.3809 +	/* '૦' '૧' '૨' '૩' '૪' '૫' '૬' '૭' '૮' '૯' */
  2.3810 +}
  2.3811 +
  2.3812 +@counter-style <dfn>gurmukhi</dfn> {
  2.3813 +	system: numeric;
  2.3814 +	symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F';
  2.3815 +	/* '੦' '੧' '੨' '੩' '੪' '੫' '੬' '੭' '੮' '੯' */
  2.3816 +}
  2.3817 +
  2.3818 +@counter-style <dfn>kannada</dfn> {
  2.3819 +	system: numeric;
  2.3820 +	symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF';
  2.3821 +	/* '೦' '೧' '೨' '೩' '೪' '೫' '೬' '೭' '೮' '೯' */
  2.3822 +}
  2.3823 +
  2.3824 +@counter-style <dfn>khmer</dfn> {
  2.3825 +	system: numeric;
  2.3826 +	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  2.3827 +	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  2.3828 +}
  2.3829 +
  2.3830 +@counter-style <dfn>lower-hexadecimal</dfn> {
  2.3831 +	system: numeric;
  2.3832 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\61' '\62' '\63' '\64' '\65' '\66';
  2.3833 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f' */
  2.3834 +}
  2.3835 +
  2.3836 +@counter-style <dfn>lao</dfn> {
  2.3837 +	system: numeric;
  2.3838 +	symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9';
  2.3839 +	/* '໐' '໑' '໒' '໓' '໔' '໕' '໖' '໗' '໘' '໙' */
  2.3840 +}
  2.3841 +
  2.3842 +@counter-style <dfn>lepcha</dfn> {
  2.3843 +	system: numeric;
  2.3844 +	symbols: '\1C40' '\1C41' '\1C42' '\1C43' '\1C44' '\1C45' '\1C46' '\1C47' '\1C48' '\1C49';
  2.3845 +	/* '᱀' '᱁' '᱂' '᱃' '᱄' '᱅' '᱆' '᱇' '᱈' '᱉' */
  2.3846 +}
  2.3847 +
  2.3848 +@counter-style <dfn>malayalam</dfn> {
  2.3849 +	system: numeric;
  2.3850 +	symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F';
  2.3851 +	/* '൦' '൧' '൨' '൩' '൪' '൫' '൬' '൭' '൮' '൯' */
  2.3852 +}
  2.3853 +
  2.3854 +@counter-style <dfn>marathi</dfn> {
  2.3855 +	system: numeric;
  2.3856 +	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  2.3857 +	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  2.3858 +}
  2.3859 +
  2.3860 +@counter-style <dfn>mongolian</dfn> {
  2.3861 +	system: numeric;
  2.3862 +	symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819';
  2.3863 +	/* '᠐' '᠑' '᠒' '᠓' '᠔' '᠕' '᠖' '᠗' '᠘' '᠙' */
  2.3864 +}
  2.3865 +
  2.3866 +@counter-style <dfn>myanmar</dfn> {
  2.3867 +	system: numeric;
  2.3868 +	symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049';
  2.3869 +	/* '၀' '၁' '၂' '၃' '၄' '၅' '၆' '၇' '၈' '၉' */
  2.3870 +}
  2.3871 +
  2.3872 +@counter-style <dfn>new-base-60</dfn> {
  2.3873 +	system: numeric;
  2.3874 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\4A' '\4B' '\4C' '\4D' '\4E' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A' '\5F' '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  2.3875 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'J' 'K' 'L' 'M' 'N' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '_' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  2.3876 +}
  2.3877 +
  2.3878 +@counter-style <dfn>octal</dfn> {
  2.3879 +	system: numeric;
  2.3880 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37';
  2.3881 +	/* '0' '1' '2' '3' '4' '5' '6' '7' */
  2.3882 +}
  2.3883 +
  2.3884 +@counter-style <dfn>oriya</dfn> {
  2.3885 +	system: numeric;
  2.3886 +	symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F';
  2.3887 +	/* '୦' '୧' '୨' '୩' '୪' '୫' '୬' '୭' '୮' '୯' */
  2.3888 +}
  2.3889 +
  2.3890 +@counter-style <dfn>persian</dfn> {
  2.3891 +	system: numeric;
  2.3892 +	symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9';
  2.3893 +	/* '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹' */
  2.3894 +}
  2.3895 +
  2.3896 +@counter-style <dfn>super-decimal</dfn> {
  2.3897 +	system: numeric;
  2.3898 +	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
  2.3899 +	/* '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹' */
  2.3900 +}
  2.3901 +
  2.3902 +@counter-style <dfn>shan</dfn> {
  2.3903 +	system: numeric;
  2.3904 +	symbols: '\1090' '\1091' '\1092' '\1093' '\1094' '\1095' '\1096' '\1097' '\1098' '\1099';
  2.3905 +	/* '႐' '႑' '႒' '႓' '႔' '႕' '႖' '႗' '႘' '႙' */
  2.3906 +}
  2.3907 +
  2.3908 +@counter-style <dfn>tamil</dfn> {
  2.3909 +	system: numeric;
  2.3910 +	symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF';
  2.3911 +	/* '௦' '௧' '௨' '௩' '௪' '௫' '௬' '௭' '௮' '௯' */
  2.3912 +}
  2.3913 +
  2.3914 +@counter-style <dfn>telugu</dfn> {
  2.3915 +	system: numeric;
  2.3916 +	symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F';
  2.3917 +	/* '౦' '౧' '౨' '౩' '౪' '౫' '౬' '౭' '౮' '౯' */
  2.3918 +}
  2.3919 +
  2.3920 +@counter-style <dfn>tibetan</dfn> {
  2.3921 +	system: numeric;
  2.3922 +	symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29';
  2.3923 +	/* '༠' '༡' '༢' '༣' '༤' '༥' '༦' '༧' '༨' '༩' */
  2.3924 +}
  2.3925 +
  2.3926 +@counter-style <dfn>thai</dfn> {
  2.3927 +	system: numeric;
  2.3928 +	symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59';
  2.3929 +	/* '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' */
  2.3930 +}
  2.3931 +
  2.3932 +@counter-style <dfn>upper-hexadecimal</dfn> {
  2.3933 +	system: numeric;
  2.3934 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46';
  2.3935 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' */
  2.3936 +}</bdo></code></pre>
  2.3937 +
  2.3938 +<h3 id='predefined-alphabetic'>
  2.3939 +Predefined Alphabetic Styles</h3>
  2.3940 +
  2.3941 +	<pre class=css><code><bdo dir="ltr">
  2.3942 +@counter-style <dfn>afar</dfn> {
  2.3943 +	system: alphabetic;
  2.3944 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1260' '\1270' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12E8' '\12F0' '\12F8' '\1308' '\1338' '\1348';
  2.3945 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'በ' 'ተ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'የ' 'ደ' 'ዸ' 'ገ' 'ጸ' 'ፈ' */
  2.3946 +	suffix: '/';
  2.3947 +}
  2.3948 +
  2.3949 +@counter-style <dfn>agaw</dfn> {
  2.3950 +	system: alphabetic;
  2.3951 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  2.3952 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'ቐ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  2.3953 +	suffix: '/';
  2.3954 +}
  2.3955 +
  2.3956 +@counter-style <dfn>ari</dfn> {
  2.3957 +	system: alphabetic;
  2.3958 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1328' '\1340' '\1350';
  2.3959 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጨ' 'ፀ' 'ፐ' */
  2.3960 +	suffix: '/';
  2.3961 +}
  2.3962 +
  2.3963 +@counter-style <dfn>blin</dfn> {
  2.3964 +	system: alphabetic;
  2.3965 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1230' '\1238' '\1228' '\1240' '\1250' '\1260' '\1270' '\1290' '\1300' '\1308' '\1318' '\1320' '\1328' '\1348' '\1278' '\1298' '\1338' '\1330' '\1350';
  2.3966 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሰ' 'ሸ' 'ረ' 'ቀ' 'ቐ' 'በ' 'ተ' 'ነ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ፈ' 'ቸ' 'ኘ' 'ጸ' 'ጰ' 'ፐ' */
  2.3967 +	suffix: '/';
  2.3968 +}
  2.3969 +
  2.3970 +@counter-style <dfn>cambodian-consonant</dfn> {
  2.3971 +	system: alphabetic;
  2.3972 +	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  2.3973 +	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  2.3974 +}
  2.3975 +
  2.3976 +@counter-style <dfn>cjk-earthly-branch</dfn> {
  2.3977 +	system: alphabetic;
  2.3978 +	symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5';
  2.3979 +	/* '子' '丑' '寅' '卯' '辰' '巳' '午' '未' '申' '酉' '戌' '亥' */
  2.3980 +	suffix: '、';
  2.3981 +}
  2.3982 +
  2.3983 +@counter-style <dfn>cjk-heavenly-stem</dfn> {
  2.3984 +	system: alphabetic;
  2.3985 +	symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678';
  2.3986 +	/* '甲' '乙' '丙' '丁' '戊' '己' '庚' '辛' '壬' '癸' */
  2.3987 +	suffix: '、';
  2.3988 +}
  2.3989 +
  2.3990 +@counter-style <dfn>dizi</dfn> {
  2.3991 +	system: alphabetic;
  2.3992 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1338' '\1340' '\1348';
  2.3993 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጸ' 'ፀ' 'ፈ' */
  2.3994 +	suffix: '/';
  2.3995 +}
  2.3996 +
  2.3997 +@counter-style <dfn>fullwidth-lower-alpha</dfn> {
  2.3998 +	system: alphabetic;
  2.3999 +	symbols: '\FF41' '\FF42' '\FF43' '\FF44' '\FF45' '\FF46' '\FF47' '\FF48' '\FF49' '\FF4A' '\FF4B' '\FF4C' '\FF4D' '\FF4E' '\FF4F' '\FF50' '\FF51' '\FF52' '\FF53' '\FF54' '\FF55' '\FF56' '\FF57' '\FF58' '\FF59' '\FF5A';
  2.4000 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  2.4001 +	suffix: '.';
  2.4002 +}
  2.4003 +
  2.4004 +@counter-style <dfn>fullwidth-upper-alpha</dfn> {
  2.4005 +	system: alphabetic;
  2.4006 +	symbols: '\FF21' '\FF22' '\FF23' '\FF24' '\FF25' '\FF26' '\FF27' '\FF28' '\FF29' '\FF2A' '\FF2B' '\FF2C' '\FF2D' '\FF2E' '\FF2F' '\FF30' '\FF31' '\FF32' '\FF33' '\FF34' '\FF35' '\FF36' '\FF37' '\FF38' '\FF39' '\FF3A';
  2.4007 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  2.4008 +	suffix: '.';
  2.4009 +}
  2.4010 +
  2.4011 +@counter-style <dfn>gedeo</dfn> {
  2.4012 +	system: alphabetic;
  2.4013 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  2.4014 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  2.4015 +	suffix: '/';
  2.4016 +}
  2.4017 +
  2.4018 +@counter-style <dfn>gumuz</dfn> {
  2.4019 +	system: alphabetic;
  2.4020 +	symbols: '\1200' '\1210' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1308' '\1328' '\1330' '\1340' '\1350';
  2.4021 +	/* 'ሀ' 'ሐ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ገ' 'ጨ' 'ጰ' 'ፀ' 'ፐ' */
  2.4022 +	suffix: '/';
  2.4023 +}
  2.4024 +
  2.4025 +@counter-style <dfn>hadiyya</dfn> {
  2.4026 +	system: alphabetic;
  2.4027 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  2.4028 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  2.4029 +	suffix: '/';
  2.4030 +}
  2.4031 +
  2.4032 +@counter-style <dfn>harari</dfn> {
  2.4033 +	system: alphabetic;
  2.4034 +	symbols: '\1210' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1348';
  2.4035 +	/* 'ሐ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ፈ' */
  2.4036 +	suffix: '/';
  2.4037 +}
  2.4038 +
  2.4039 +@counter-style <dfn>hindi</dfn> {
  2.4040 +	system: alphabetic;
  2.4041 +	symbols: '\915' '\916' '\917' '\918' '\919' '\91A' '\91B' '\91C' '\91D' '\91E' '\91F' '\920' '\921' '\922' '\923' '\924' '\925' '\926' '\927' '\928' '\92A' '\92B' '\92C' '\92D' '\92E' '\92F' '\930' '\932' '\935' '\936' '\937' '\938' '\939';
  2.4042 +	/* 'क' 'ख' 'ग' 'घ' 'ङ' 'च' 'छ' 'ज' 'झ' 'ञ' 'ट' 'ठ' 'ड' 'ढ' 'ण' 'त' 'थ' 'द' 'ध' 'न' 'प' 'फ' 'ब' 'भ' 'म' 'य' 'र' 'ल' 'व' 'श' 'ष' 'स' 'ह' */
  2.4043 +}
  2.4044 +
  2.4045 +@counter-style <dfn>kaffa</dfn> {
  2.4046 +	system: alphabetic;
  2.4047 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  2.4048 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሠ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  2.4049 +	suffix: '/';
  2.4050 +}
  2.4051 +
  2.4052 +@counter-style <dfn>kebena</dfn> {
  2.4053 +	system: alphabetic;
  2.4054 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  2.4055 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  2.4056 +	suffix: '/';
  2.4057 +}
  2.4058 +
  2.4059 +@counter-style <dfn>kembata</dfn> {
  2.4060 +	system: alphabetic;
  2.4061 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  2.4062 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  2.4063 +	suffix: '/';
  2.4064 +}
  2.4065 +
  2.4066 +@counter-style <dfn>khmer-consonant</dfn> {
  2.4067 +	system: alphabetic;
  2.4068 +	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  2.4069 +	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  2.4070 +}
  2.4071 +
  2.4072 +@counter-style <dfn>konso</dfn> {
  2.4073 +	system: alphabetic;
  2.4074 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1348' '\1350';
  2.4075 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ፈ' 'ፐ' */
  2.4076 +	suffix: '/';
  2.4077 +}
  2.4078 +
  2.4079 +@counter-style <dfn>korean-consonant</dfn> {
  2.4080 +	system: alphabetic;
  2.4081 +	symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E';
  2.4082 +	/* 'ㄱ' 'ㄴ' 'ㄷ' 'ㄹ' 'ㅁ' 'ㅂ' 'ㅅ' 'ㅇ' 'ㅈ' 'ㅊ' 'ㅋ' 'ㅌ' 'ㅍ' 'ㅎ' */
  2.4083 +}
  2.4084 +
  2.4085 +@counter-style <dfn>korean-syllable</dfn> {
  2.4086 +	system: alphabetic;
  2.4087 +	symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558';
  2.4088 +	/* '가' '나' '다' '라' '마' '바' '사' '아' '자' '차' '카' '타' '파' '하' */
  2.4089 +}
  2.4090 +
  2.4091 +@counter-style <dfn>kunama</dfn> {
  2.4092 +	system: alphabetic;
  2.4093 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308';
  2.4094 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' */
  2.4095 +	suffix: '/';
  2.4096 +}
  2.4097 +
  2.4098 +@counter-style <dfn>lower-alpha</dfn> {
  2.4099 +	system: alphabetic;
  2.4100 +	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  2.4101 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  2.4102 +}
  2.4103 +
  2.4104 +@counter-style <dfn>lower-belorussian</dfn> {
  2.4105 +	system: alphabetic;
  2.4106 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\456' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\45E' '\444' '\445' '\446' '\447' '\448' '\44B' '\44C' '\44D' '\44E' '\44F';
  2.4107 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'і' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ў' 'ф' 'х' 'ц' 'ч' 'ш' 'ы' 'ь' 'э' 'ю' 'я' */
  2.4108 +	suffix: ')';
  2.4109 +}
  2.4110 +
  2.4111 +@counter-style <dfn>lower-bulgarian</dfn> {
  2.4112 +	system: alphabetic;
  2.4113 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44C' '\44E' '\44F';
  2.4114 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ь' 'ю' 'я' */
  2.4115 +	suffix: ')';
  2.4116 +}
  2.4117 +
  2.4118 +@counter-style <dfn>lower-greek</dfn> {
  2.4119 +	system: alphabetic;
  2.4120 +	symbols: '\3B1' '\3B2' '\3B3' '\3B4' '\3B5' '\3B6' '\3B7' '\3B8' '\3B9' '\3BA' '\3BB' '\3BC' '\3BD' '\3BE' '\3BF' '\3C0' '\3C1' '\3C3' '\3C4' '\3C5' '\3C6' '\3C7' '\3C8' '\3C9';
  2.4121 +	/* 'α' 'β' 'γ' 'δ' 'ε' 'ζ' 'η' 'θ' 'ι' 'κ' 'λ' 'μ' 'ν' 'ξ' 'ο' 'π' 'ρ' 'σ' 'τ' 'υ' 'φ' 'χ' 'ψ' 'ω' */
  2.4122 +	/* This style is only defined because CSS2.1 has it.  It doesn't appear to actually be used in Greek texts. */
  2.4123 +}
  2.4124 +
  2.4125 +@counter-style <dfn>lower-macedonian</dfn> {
  2.4126 +	system: alphabetic;
  2.4127 +	symbols: '\430' '\431' '\432' '\433' '\434' '\453' '\435' '\436' '\437' '\455' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45C' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  2.4128 +	/* 'а' 'б' 'в' 'г' 'д' 'ѓ' 'е' 'ж' 'з' 'ѕ' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ќ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  2.4129 +	suffix: ')';
  2.4130 +}
  2.4131 +
  2.4132 +@counter-style <dfn>lower-oromo-qubee</dfn> {
  2.4133 +	system: alphabetic;
  2.4134 +	symbols: '\61' '\61\61' '\62' '\63' '\64' '\65' '\65\65' '\66' '\67' '\68' '\69' '\69\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\6F\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\75\75' '\76' '\77' '\78' '\79' '\7A' '\63\68' '\64\68' '\6B\68' '\6E\79' '\70\68' '\73\68';
  2.4135 +	/* 'a' 'aa' 'b' 'c' 'd' 'e' 'ee' 'f' 'g' 'h' 'i' 'ii' 'j' 'k' 'l' 'm' 'n' 'o' 'oo' 'p' 'q' 'r' 's' 't' 'u' 'uu' 'v' 'w' 'x' 'y' 'z' 'ch' 'dh' 'kh' 'ny' 'ph' 'sh' */
  2.4136 +}
  2.4137 +
  2.4138 +@counter-style <dfn>lower-russian</dfn> {
  2.4139 +	system: alphabetic;
  2.4140 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44D' '\44E' '\44F';
  2.4141 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'э' 'ю' 'я' */
  2.4142 +	suffix: ')';
  2.4143 +}
  2.4144 +
  2.4145 +@counter-style <dfn>lower-russian-full</dfn> {
  2.4146 +	system: alphabetic;
  2.4147 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44B' '\44C' '\44D' '\44E' '\44F';
  2.4148 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я' */
  2.4149 +	suffix: ')';
  2.4150 +}
  2.4151 +
  2.4152 +@counter-style <dfn>lower-serbo-croatian</dfn> {
  2.4153 +	system: alphabetic;
  2.4154 +	symbols: '\430' '\431' '\432' '\433' '\434' '\452' '\435' '\436' '\437' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45B' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  2.4155 +	/* 'а' 'б' 'в' 'г' 'д' 'ђ' 'е' 'ж' 'з' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ћ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  2.4156 +	suffix: ')';
  2.4157 +}
  2.4158 +
  2.4159 +@counter-style <dfn>lower-ukrainian</dfn> {
  2.4160 +	system: alphabetic;
  2.4161 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\44E' '\44F';
  2.4162 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'ю' 'я' */
  2.4163 +	suffix: ')';
  2.4164 +}
  2.4165 +
  2.4166 +@counter-style <dfn>lower-ukrainian-full</dfn> {
  2.4167 +	system: alphabetic;
  2.4168 +	symbols: '\430' '\431' '\432' '\433' '\491' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\457' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44C' '\44E' '\44F';
  2.4169 +	/* 'а' 'б' 'в' 'г' 'ґ' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'ї' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ь' 'ю' 'я' */
  2.4170 +	suffix: ')';
  2.4171 +}
  2.4172 +
  2.4173 +@counter-style <dfn>meen</dfn> {
  2.4174 +	system: alphabetic;
  2.4175 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1350' '\1340';
  2.4176 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፐ' 'ፀ' */
  2.4177 +	suffix: '/';
  2.4178 +}
  2.4179 +
  2.4180 +@counter-style <dfn>oromo</dfn> {
  2.4181 +	system: alphabetic;
  2.4182 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  2.4183 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  2.4184 +	suffix: '/';
  2.4185 +}
  2.4186 +
  2.4187 +@counter-style <dfn>saho</dfn> {
  2.4188 +	system: alphabetic;
  2.4189 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1240' '\1260' '\1270' '\1290' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  2.4190 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ቀ' 'በ' 'ተ' 'ነ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  2.4191 +	suffix: '/';
  2.4192 +}
  2.4193 +
  2.4194 +@counter-style <dfn>sidama</dfn> {
  2.4195 +	system: alphabetic;
  2.4196 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  2.4197 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  2.4198 +	suffix: '/';
  2.4199 +}
  2.4200 +
  2.4201 +@counter-style <dfn>silti</dfn> {
  2.4202 +	system: alphabetic;
  2.4203 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  2.4204 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  2.4205 +	suffix: '/';
  2.4206 +}
  2.4207 +
  2.4208 +@counter-style <dfn>thai-alphabetic</dfn> {
  2.4209 +	system: alphabetic;
  2.4210 +	symbols: '\E01' '\E02' '\E04' '\E07' '\E08' '\E09' '\E0A' '\E0B' '\E0C' '\E0D' '\E0E' '\E0F' '\E10' '\E11' '\E12' '\E13' '\E14' '\E15' '\E16' '\E17' '\E18' '\E19' '\E1A' '\E1B' '\E1C' '\E1D' '\E1E' '\E1F' '\E20' '\E21' '\E22' '\E23' '\E25' '\E27' '\E28' '\E29' '\E2A' '\E2B' '\E2C' '\E2D' '\E2E';
  2.4211 +	/* 'ก' 'ข' 'ค' 'ง' 'จ' 'ฉ' 'ช' 'ซ' 'ฌ' 'ญ' 'ฎ' 'ฏ' 'ฐ' 'ฑ' 'ฒ' 'ณ' 'ด' 'ต' 'ถ' 'ท' 'ธ' 'น' 'บ' 'ป' 'ผ' 'ฝ' 'พ' 'ฟ' 'ภ' 'ม' 'ย' 'ร' 'ล' 'ว' 'ศ' 'ษ' 'ส' 'ห' 'ฬ' 'อ' 'ฮ' */
  2.4212 +}
  2.4213 +
  2.4214 +@counter-style <dfn>tigre</dfn> {
  2.4215 +	system: alphabetic;
  2.4216 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12D8' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  2.4217 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'ዘ' 'የ' 'ደ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  2.4218 +	suffix: '/';
  2.4219 +}
  2.4220 +
  2.4221 +@counter-style <dfn>upper-alpha</dfn> {
  2.4222 +	system: alphabetic;
  2.4223 +	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  2.4224 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  2.4225 +}
  2.4226 +
  2.4227 +@counter-style <dfn>upper-belorussian</dfn> {
  2.4228 +	system: alphabetic;
  2.4229 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\406' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\40E' '\424' '\425' '\426' '\427' '\428' '\42B' '\42C' '\42D' '\42E' '\42F';
  2.4230 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'І' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ў' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  2.4231 +}
  2.4232 +
  2.4233 +@counter-style <dfn>upper-bulgarian</dfn> {
  2.4234 +	system: alphabetic;
  2.4235 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42C' '\42E' '\42F';
  2.4236 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ь' 'Ю' 'Я' */
  2.4237 +}
  2.4238 +
  2.4239 +@counter-style <dfn>upper-macedonian</dfn> {
  2.4240 +	system: alphabetic;
  2.4241 +	symbols: '\410' '\411' '\412' '\413' '\414' '\403' '\415' '\416' '\417' '\405' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40C' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  2.4242 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ѓ' 'Е' 'Ж' 'З' 'Ѕ' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ќ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  2.4243 +}
  2.4244 +
  2.4245 +@counter-style <dfn>upper-oromo-qubee</dfn> {
  2.4246 +	system: alphabetic;
  2.4247 +	symbols: '\41' '\41\41' '\42' '\43' '\44' '\45' '\45\45' '\46' '\47' '\48' '\49' '\49\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\4F\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\55\55' '\56' '\57' '\58' '\59' '\5A' '\43\48' '\44\48' '\4B\48' '\4E\59' '\50\48' '\53\48';
  2.4248 +	/* 'A' 'AA' 'B' 'C' 'D' 'E' 'EE' 'F' 'G' 'H' 'I' 'II' 'J' 'K' 'L' 'M' 'N' 'O' 'OO' 'P' 'Q' 'R' 'S' 'T' 'U' 'UU' 'V' 'W' 'X' 'Y' 'Z' 'CH' 'DH' 'KH' 'NY' 'PH' 'SH' */
  2.4249 +}
  2.4250 +
  2.4251 +@counter-style <dfn>upper-russian</dfn> {
  2.4252 +	system: alphabetic;
  2.4253 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42D' '\42E' '\42F';
  2.4254 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Э' 'Ю' 'Я' */
  2.4255 +}
  2.4256 +
  2.4257 +@counter-style <dfn>upper-russian-full</dfn> {
  2.4258 +	system: alphabetic;
  2.4259 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42B' '\42C' '\42D' '\42E' '\42F';
  2.4260 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  2.4261 +}
  2.4262 +
  2.4263 +@counter-style <dfn>upper-serbo-croatian</dfn> {
  2.4264 +	system: alphabetic;
  2.4265 +	symbols: '\410' '\411' '\412' '\413' '\414' '\402' '\415' '\416' '\417' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40B' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  2.4266 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  2.4267 +}
  2.4268 +
  2.4269 +@counter-style <dfn>upper-ukrainian</dfn> {
  2.4270 +	system: alphabetic;
  2.4271 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\42E' '\42F';
  2.4272 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ю' 'Я' */
  2.4273 +}
  2.4274 +
  2.4275 +@counter-style <dfn>upper-ukrainian-full</dfn> {
  2.4276 +	system: alphabetic;
  2.4277 +	symbols: '\410' '\411' '\412' '\413' '\490' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\407' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42C' '\42E' '\42F';
  2.4278 +	/* 'А' 'Б' 'В' 'Г' 'Ґ' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'Ї' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ь' 'Ю' 'Я' */
  2.4279 +}
  2.4280 +
  2.4281 +@counter-style <dfn>wolaita</dfn> {
  2.4282 +	system: alphabetic;
  2.4283 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1230' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350';
  2.4284 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ሰ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፀ' 'ፈ' 'ፐ' */
  2.4285 +	suffix: '/';
  2.4286 +}
  2.4287 +
  2.4288 +@counter-style <dfn>yemsa</dfn> {
  2.4289 +	system: alphabetic;
  2.4290 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1348' '\1350';
  2.4291 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  2.4292 +	suffix: '/';
  2.4293 +}</bdo></code></pre>
  2.4294 +
  2.4295 +<h3 id='predefined-symbolic'>
  2.4296 +Predefined Symbolic Styles</h3>
  2.4297 +
  2.4298 +	<pre class=css><code><bdo dir="ltr">
  2.4299 +@counter-style <dfn>asterisk</dfn> {
  2.4300 +	system: symbolic;
  2.4301 +	symbols: '\2A';
  2.4302 +	/* '*' */
  2.4303 +	suffix: '';
  2.4304 +}
  2.4305 +
  2.4306 +@counter-style <dfn>lower-alpha-symbolic</dfn> {
  2.4307 +	system: symbolic;
  2.4308 +	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  2.4309 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  2.4310 +}
  2.4311 +
  2.4312 +@counter-style <dfn>upper-alpha-symbolic</dfn> {
  2.4313 +	system: symbolic;
  2.4314 +	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  2.4315 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  2.4316 +}</bdo></code></pre>
  2.4317 +
  2.4318 +<h3 id='predefined-fixed'>
  2.4319 +Predefined FixeD Styles</h3>
  2.4320 +
  2.4321 +	<pre class=css><code><bdo dir="ltr">
  2.4322 +@counter-style <dfn>circled-decimal</dfn> {
  2.4323 +	system: fixed 0;
  2.4324 +	symbols: '\24EA' '\2460' '\2461' '\2462' '\2463' '\2464' '\2465' '\2466' '\2467' '\2468' '\2469' '\246A' '\246B' '\246C' '\246D' '\246E' '\246F' '\2470' '\2471' '\2472' '\2473' '\3251' '\3252' '\3253' '\3254' '\3255' '\3256' '\3257' '\3258' '\3259' '\325a' '\325b' '\325c' '\325d' '\325e' '\325f' '\32b1' '\32b2' '\32b3' '\32b4' '\32b5' '\32b6' '\32b7' '\32b8' '\32b9' '\32ba' '\32bb' '\32bc' '\32bd' '\32be' '\32bf';
  2.4325 +	/* '⓪' '①' '②' '③' '④' '⑤' '⑥' '⑦' '⑧' '⑨' '⑩' '⑪' '⑫' '⑬' '⑭' '⑮' '⑯' '⑰' '⑱' '⑲' '⑳' '㉑' '㉒' '㉓' '㉔' '㉕' '㉖' '㉗' '㉘' '㉙' '㉚' '㉛' '㉜' '㉝' '㉞' '㉟' '㊱' '㊲' '㊳' '㊴' '㊵' '㊶' '㊷' '㊸' '㊹' '㊺' '㊻' '㊼' '㊽' '㊾' '㊿' */
  2.4326 +	suffix: '';
  2.4327 +}
  2.4328 +
  2.4329 +@counter-style <dfn>circled-lower-latin</dfn> {
  2.4330 +	system: fixed;
  2.4331 +	symbols: '\24D0' '\24D1' '\24D2' '\24D3' '\24D4' '\24D5' '\24D6' '\24D7' '\24D8' '\24D9' '\24DA' '\24DB' '\24DC' '\24DD' '\24DE' '\24DF' '\24E0' '\24E1' '\24E2' '\24E3' '\24E4' '\24E5' '\24E6' '\24E7' '\24E8' '\24E9';
  2.4332 +	/* 'ⓐ' 'ⓑ' 'ⓒ' 'ⓓ' 'ⓔ' 'ⓕ' 'ⓖ' 'ⓗ' 'ⓘ' 'ⓙ' 'ⓚ' 'ⓛ' 'ⓜ' 'ⓝ' 'ⓞ' 'ⓟ' 'ⓠ' 'ⓡ' 'ⓢ' 'ⓣ' 'ⓤ' 'ⓥ' 'ⓦ' 'ⓧ' 'ⓨ' 'ⓩ' */
  2.4333 +	suffix: '';
  2.4334 +}
  2.4335 +
  2.4336 +@counter-style <dfn>circled-upper-latin</dfn> {
  2.4337 +	system: fixed;
  2.4338 +	symbols: '\24B6' '\24B7' '\24B8' '\24B9' '\24BA' '\24BB' '\24BC' '\24BD' '\24BE' '\24BF' '\24C0' '\24C1' '\24C2' '\24C3' '\24C4' '\24C5' '\24C6' '\24C7' '\24C8' '\24C9' '\24CA' '\24CB' '\24CC' '\24CD' '\24CE' '\24CF';
  2.4339 +	/* 'Ⓐ' 'Ⓑ' 'Ⓒ' 'Ⓓ' 'Ⓔ' 'Ⓕ' 'Ⓖ' 'Ⓗ' 'Ⓘ' 'Ⓙ' 'Ⓚ' 'Ⓛ' 'Ⓜ' 'Ⓝ' 'Ⓞ' 'Ⓟ' 'Ⓠ' 'Ⓡ' 'Ⓢ' 'Ⓣ' 'Ⓤ' 'Ⓥ' 'Ⓦ' 'Ⓧ' 'Ⓨ' 'Ⓩ' */
  2.4340 +	suffix: '';
  2.4341 +}
  2.4342 +
  2.4343 +@counter-style <dfn>circled-korean-consonant</dfn> {
  2.4344 +	system: fixed;
  2.4345 +	symbols: '\3260' '\3261' '\3262' '\3263' '\3264' '\3265' '\3266' '\3267' '\3268' '\3269' '\326A' '\326B' '\326C' '\326D';
  2.4346 +	/* '㉠' '㉡' '㉢' '㉣' '㉤' '㉥' '㉦' '㉧' '㉨' '㉩' '㉪' '㉫' '㉬' '㉭' */
  2.4347 +	suffix: '';
  2.4348 +}
  2.4349 +
  2.4350 +@counter-style <dfn>circled-korean-syllable</dfn> {
  2.4351 +	system: fixed;
  2.4352 +	symbols: '\326E' '\326F' '\3270' '\3271' '\3272' '\3273' '\3274' '\3275' '\3276' '\3277' '\3278' '\3279' '\327A' '\327B';
  2.4353 +	/* '㉮' '㉯' '㉰' '㉱' '㉲' '㉳' '㉴' '㉵' '㉶' '㉷' '㉸' '㉹' '㉺' '㉻' */
  2.4354 +	suffix: '';
  2.4355 +}
  2.4356 +
  2.4357 +@counter-style <dfn>decimal-leading-zero</dfn> {
  2.4358 +	system: fixed -9;
  2.4359 +	symbols: '\2D\30\39' '\2D\30\38' '\2D\30\37' '\2D\30\36' '\2D\30\35' '\2D\30\34' '\2D\30\33' '\2D\30\32' '\2D\30\31' '\30\30' '\30\31' '\30\32' '\30\33' '\30\34' '\30\35' '\30\36' '\30\37' '\30\38' '\30\39';
  2.4360 +	/* '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09' */
  2.4361 +}
  2.4362 +
  2.4363 +@counter-style <dfn>dotted-decimal</dfn> {
  2.4364 +	system: fixed;
  2.4365 +	symbols: '\2488' '\2489' '\248A' '\248B' '\248C' '\248D' '\248E' '\248F' '\2490' '\2491' '\2492' '\2493' '\2494' '\2495' '\2496' '\2497' '\2498' '\2499' '\249A' '\249B';
  2.4366 +	/* '⒈' '⒉' '⒊' '⒋' '⒌' '⒍' '⒎' '⒏' '⒐' '⒑' '⒒' '⒓' '⒔' '⒕' '⒖' '⒗' '⒘' '⒙' '⒚' '⒛' */
  2.4367 +	suffix: '';
  2.4368 +}
  2.4369 +
  2.4370 +@counter-style <dfn>double-circled-decimal</dfn> {
  2.4371 +	system: fixed;
  2.4372 +	symbols: '\24F5' '\24F6' '\24F7' '\24F8' '\24F9' '\24FA' '\24FB' '\24FC' '\24FD' '\24FE';
  2.4373 +	/* '⓵' '⓶' '⓷' '⓸' '⓹' '⓺' '⓻' '⓼' '⓽' '⓾' */
  2.4374 +	suffix: '';
  2.4375 +}
  2.4376 +
  2.4377 +@counter-style <dfn>filled-circled-decimal</dfn> {
  2.4378 +	system: fixed;
  2.4379 +	symbols: '\2776' '\2777' '\2778' '\2779' '\277a' '\277b' '\277c' '\277d' '\277e' '\277f' '\24EB' '\24EC' '\24ED' '\24EE' '\24EF' '\24F0' '\24F1' '\24F2' '\24F3' '\24F4';
  2.4380 +	/* '❶' '❷' '❸' '❹' '❺' '❻' '❼' '❽' '❾' '❿' '⓫' '⓬' '⓭' '⓮' '⓯' '⓰' '⓱' '⓲' '⓳' '⓴' */
  2.4381 +	suffix: '';
  2.4382 +}
  2.4383 +
  2.4384 +@counter-style <dfn>fullwidth-upper-roman</dfn> {
  2.4385 +	system: fixed;
  2.4386 +	symbols: '\2160' '\2161' '\2162' '\2163' '\2164' '\2165' '\2166' '\2167' '\2168' '\2169' '\216A' '\216B';
  2.4387 +	/* 'Ⅰ' 'Ⅱ' 'Ⅲ' 'Ⅳ' 'Ⅴ' 'Ⅵ' 'Ⅶ' 'Ⅷ' 'Ⅸ' 'Ⅹ' 'Ⅺ' 'Ⅻ' */
  2.4388 +	suffix: '';
  2.4389 +}
  2.4390 +
  2.4391 +@counter-style <dfn>fullwidth-lower-roman</dfn> {
  2.4392 +	system: fixed;
  2.4393 +	symbols: '\2170' '\2171' '\2172' '\2173' '\2174' '\2175' '\2176' '\2177' '\2178' '\2179' '\217A' '\217B';
  2.4394 +	/* 'ⅰ' 'ⅱ' 'ⅲ' 'ⅳ' 'ⅴ' 'ⅵ' 'ⅶ' 'ⅷ' 'ⅸ' 'ⅹ' 'ⅺ' 'ⅻ' */
  2.4395 +	suffix: '';
  2.4396 +}
  2.4397 +
  2.4398 +@counter-style <dfn>parenthesized-decimal</dfn> {
  2.4399 +	system: fixed;
  2.4400 +	symbols: '\2474' '\2475' '\2476' '\2477' '\2478' '\2479' '\247A' '\247B' '\247C' '\247D' '\247E' '\247F' '\2480' '\2481' '\2482' '\2483' '\2484' '\2485' '\2486' '\2487';
  2.4401 +	/* '⑴' '⑵' '⑶' '⑷' '⑸' '⑹' '⑺' '⑻' '⑼' '⑽' '⑾' '⑿' '⒀' '⒁' '⒂' '⒃' '⒄' '⒅' '⒆' '⒇' */
  2.4402 +	suffix: '';
  2.4403 +}
  2.4404 +
  2.4405 +@counter-style <dfn>parenthesized-lower-latin</dfn> {
  2.4406 +	system: fixed;
  2.4407 +	symbols: '\249C' '\249D' '\249E' '\249F' '\24A0' '\24A1' '\24A2' '\24A3' '\24A4' '\24A5' '\24A6' '\24A7' '\24A8' '\24A9' '\24AA' '\24AB' '\24AC' '\24AD' '\24AE' '\24AF' '\24B0' '\24B1' '\24B2' '\24B3' '\24B4' '\24B5';
  2.4408 +	/* '⒜' '⒝' '⒞' '⒟' '⒠' '⒡' '⒢' '⒣' '⒤' '⒥' '⒦' '⒧' '⒨' '⒩' '⒪' '⒫' '⒬' '⒭' '⒮' '⒯' '⒰' '⒱' '⒲' '⒳' '⒴' '⒵' */
  2.4409 +	suffix: '';
  2.4410 +}
  2.4411 +
  2.4412 +@counter-style <dfn>parenthesized-hangul-consonant</dfn> {
  2.4413 +	system: fixed;
  2.4414 +	symbols: '\3200' '\3201' '\3202' '\3203' '\3204' '\3205' '\3206' '\3207' '\3208' '\3209' '\320A' '\320B' '\320C' '\320D';
  2.4415 +	/* '㈀' '㈁' '㈂' '㈃' '㈄' '㈅' '㈆' '㈇' '㈈' '㈉' '㈊' '㈋' '㈌' '㈍' */
  2.4416 +	suffix: '';
  2.4417 +}
  2.4418 +
  2.4419 +@counter-style <dfn>parenthesized-hangul-syllable</dfn> {
  2.4420 +	system: fixed;
  2.4421 +	symbols: '\320E' '\320F' '\3210' '\3211' '\3212' '\3213' '\3214' '\3215' '\3216' '\3217' '\3218' '\3219' '\321A';
  2.4422 +	/* '㈎' '㈏' '㈐' '㈑' '㈒' '㈓' '㈔' '㈕' '㈖' '㈗' '㈘' '㈙' '㈚' */
  2.4423 +	suffix: '';
  2.4424 +}
  2.4425 +
  2.4426 +@counter-style <dfn>persian-abjad</dfn> {
  2.4427 +	system: fixed;
  2.4428 +	symbols: '\627' '\628' '\62C' '\62F' '\647\200D' '\648' '\632' '\62D' '\637' '\6CC' '\6A9' '\644' '\645' '\646' '\633' '\639' '\641' '\635' '\642' '\631' '\634' '\62A' '\62B' '\62E' '\630' '\636' '\638' '\63A';
  2.4429 +	/* 'ا' 'ب' 'ج' 'د' 'ه‍' 'و' 'ز' 'ح' 'ط' 'ی' 'ک' 'ل' 'م' 'ن' 'س' 'ع' 'ف' 'ص' 'ق' 'ر' 'ش' 'ت' 'ث' 'خ' 'ذ' 'ض' 'ظ' 'غ' */
  2.4430 +}
  2.4431 +
  2.4432 +@counter-style <dfn>persian-alphabetic</dfn> {
  2.4433 +	system: fixed;
  2.4434 +	symbols: '\627' '\628' '\67E' '\62A' '\62B' '\62C' '\686' '\62D' '\62E' '\62F' '\630' '\631' '\632' '\698' '\633' '\634' '\635' '\636' '\637' '\638' '\639' '\63A' '\641' '\642' '\6A9' '\6AF' '\644' '\645' '\646' '\648' '\647\200D' '\6CC';
  2.4435 +	/* 'ا' 'ب' 'پ' 'ت' 'ث' 'ج' 'چ' 'ح' 'خ' 'د' 'ذ' 'ر' 'ز' 'ژ' 'س' 'ش' 'ص' 'ض' 'ط' 'ظ' 'ع' 'غ' 'ف' 'ق' 'ک' 'گ' 'ل' 'م' 'ن' 'و' 'ه‍' 'ی' */
  2.4436 +}</bdo></code></pre>
  2.4437 +
  2.4438 +<h3 id='predefined-additive'>
  2.4439 +Predefined Additive Styles</h3>
  2.4440 +
  2.4441 +	<pre class=css><code><bdo dir="ltr">
  2.4442 +@counter-style <dfn>simple-upper-roman</dfn> {
  2.4443 +	system: additive;
  2.4444 +	range: 1 4999;
  2.4445 +	additive-symbols: 1000 '\4D', 500 '\44', 100 '\43', 50 '\4C', 10 '\58', 5 '\56', 1 '\49';
  2.4446 +	/* 1000 'M', 500 'D', 100 'C', 50 'L', 10 'X', 5 'V', 1 'I' */
  2.4447 +}
  2.4448 +
  2.4449 +@counter-style <dfn>simple-lower-roman</dfn> {
  2.4450 +	system: additive;
  2.4451 +	range: 1 4999;
  2.4452 +	additive-symbols: 1000 '\6D', 500 '\64', 100 '\63', 50 '\6C', 10 '\78', 5 '\76', 1 '\69';
  2.4453 +	/* 1000 'm', 500 'd', 100 'c', 50 'l', 10 'x', 5 'v', 1 'i' */
  2.4454 +}
  2.4455 +
  2.4456 +@counter-style <dfn>upper-roman</dfn> {
  2.4457 +	system: additive;
  2.4458 +	range: 1 4999;
  2.4459 +	additive-symbols: 1000 '\4D', 900 '\43\4D', 500 '\44', 400 '\43\44', 100 '\43', 90 '\58\43', 50 '\4C', 40 '\58\4C', 10 '\58', 9 '\49\58', 5 '\56', 4 '\49\56', 1 '\49';
  2.4460 +	/* 1000 'M', 900 'CM', 500 'D', 400 'CD', 100 'C', 90 'XC', 50 'L', 40 'XL', 10 'X', 9 'IX', 5 'V', 4 'IV', 1 'I' */
  2.4461 +}
  2.4462 +
  2.4463 +@counter-style <dfn>lower-roman</dfn> {
  2.4464 +	system: additive;
  2.4465 +	range: 1 4999;
  2.4466 +	additive-symbols: 1000 '\6D', 900 '\63\6D', 500 '\64', 400 '\63\64', 100 '\63', 90 '\78\63', 50 '\6C', 40 '\78\6C', 10 '\78', 9 '\69\78', 5 '\76', 4 '\69\76', 1 '\69';
  2.4467 +	/* 1000 'm', 900 'cm', 500 'd', 400 'cd', 100 'c', 90 'xc', 50 'l', 40 'xl', 10 'x', 9 'ix', 5 'v', 4 'iv', 1 'i' */
  2.4468 +}
  2.4469 +
  2.4470 +@counter-style <dfn>lower-armenian</dfn> {
  2.4471 +	system: additive;
  2.4472 +	range: 1 9999;
  2.4473 +	additive-symbols: 9000 '\584', 8000 '\583', 7000 '\582', 6000 '\581', 5000 '\580', 4000 '\57F', 3000 '\57E', 2000 '\57D', 1000 '\57C', 900 '\57B', 800 '\57A', 700 '\579', 600 '\578', 500 '\577', 400 '\576', 300 '\575', 200 '\574', 100 '\573', 90 '\572', 80 '\571', 70 '\570', 60 '\56F', 50 '\56E', 40 '\56D', 30 '\56C', 20 '\56B', 10 '\56A', 9 '\569', 8 '\568', 7 '\567', 6 '\566', 5 '\565', 4 '\564', 3 '\563', 2 '\562', 1 '\561';
  2.4474 +	/* 9000 'ք', 8000 'փ', 7000 'ւ', 6000 'ց', 5000 'ր', 4000 'տ', 3000 'վ', 2000 'ս', 1000 'ռ', 900 'ջ', 800 'պ', 700 'չ', 600 'ո', 500 'շ', 400 'ն', 300 'յ', 200 'մ', 100 'ճ', 90 'ղ', 80 'ձ', 70 'հ', 60 'կ', 50 'ծ', 40 'խ', 30 'լ', 20 'ի', 10 'ժ', 9 'թ', 8 'ը', 7 'է', 6 'զ', 5 'ե', 4 'դ', 3 'գ', 2 'բ', 1 'ա' */
  2.4475 +}
  2.4476 +
  2.4477 +@counter-style <dfn>upper-armenian</dfn> {
  2.4478 +	system: additive;
  2.4479 +	range: 1 9999;
  2.4480 +	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  2.4481 +	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  2.4482 +}
  2.4483 +
  2.4484 +@counter-style <dfn>armenian</dfn> {
  2.4485 +	system: additive;
  2.4486 +	range: 1 9999;
  2.4487 +	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  2.4488 +	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  2.4489 +}
  2.4490 +
  2.4491 +@counter-style <dfn>georgian</dfn> {
  2.4492 +	system: additive;
  2.4493 +	range: 1 19999;
  2.4494 +	additive-symbols: 10000 '\10F5', 9000 '\10F0', 8000 '\10EF', 7000 '\10F4', 6000 '\10EE', 5000 '\10ED', 4000 '\10EC', 3000 '\10EB', 2000 '\10EA', 1000 '\10E9', 900 '\10E8', 800 '\10E7', 700 '\10E6', 600 '\10E5', 500 '\10E4', 400 '\10F3', 300 '\10E2', 200 '\10E1', 100 '\10E0', 90 '\10DF', 80 '\10DE', 70 '\10DD', 60 '\10F2', 50 '\10DC', 40 '\10DB', 30 '\10DA', 20 '\10D9', 10 '\10D8', 9 '\10D7', 8 '\10F1', 7 '\10D6', 6 '\10D5', 5 '\10D4', 4 '\10D3', 3 '\10D2', 2 '\10D1', 1 '\10D0';
  2.4495 +	/* 10000 'ჵ', 9000 'ჰ', 8000 'ჯ', 7000 'ჴ', 6000 'ხ', 5000 'ჭ', 4000 'წ', 3000 'ძ', 2000 'ც', 1000 'ჩ', 900 'შ', 800 'ყ', 700 'ღ', 600 'ქ', 500 'ფ', 400 'ჳ', 300 'ტ', 200 'ს', 100 'რ', 90 'ჟ', 80 'პ', 70 'ო', 60 'ჲ', 50 'ნ', 40 'მ', 30 'ლ', 20 'კ', 10 'ი', 9 'თ', 8 'ჱ', 7 'ზ', 6 'ვ', 5 'ე', 4 'დ', 3 'გ', 2 'ბ', 1 'ა' */
  2.4496 +}
  2.4497 +
  2.4498 +@counter-style <dfn>ancient-tamil</dfn> {
  2.4499 +	system: additive;
  2.4500 +	range: 1 9999;
  2.4501 +	additive-symbols: 9000 '\BEF\BF2', 8000 '\BEE\BF2', 7000 '\BED\BF2', 6000 '\BEC\BF2', 5000 '\BEB\BF2', 4000 '\BEA\BF2', 3000 '\BE9\BF2', 2000 '\BE8\BF2', 1000 '\BF2', 900 '\BEF\BF1', 800 '\BEE\BF1', 700 '\BED\BF1', 600 '\BEC\BF1', 500 '\BEB\BF1', 400 '\BEA\BF1', 300 '\BE9\BF1', 200 '\BE8\BF1', 100 '\BF1', 90 '\BEF\BF0', 80 '\BEE\BF0', 70 '\BED\BF0', 60 '\BEC\BF0', 50 '\BEB\BF0', 40 '\BEA\BF0', 30 '\BE9\BF0', 20 '\BE8\BF0', 10 '\BF0', 9 '\BEF', 8 '\BEE', 7 '\BED', 6 '\BEC', 5 '\BEB', 4 '\BEA', 3 '\BE9', 2 '\BE8', 1 '\BE7';
  2.4502 +	/* 9000 '௯௲', 8000 '௮௲', 7000 '௭௲', 6000 '௬௲', 5000 '௫௲', 4000 '௪௲', 3000 '௩௲', 2000 '௨௲', 1000 '௲', 900 '௯௱', 800 '௮௱', 700 '௭௱', 600 '௬௱', 500 '௫௱', 400 '௪௱', 300 '௩௱', 200 '௨௱', 100 '௱', 90 '௯௰', 80 '௮௰', 70 '௭௰', 60 '௬௰', 50 '௫௰', 40 '௪௰', 30 '௩௰', 20 '௨௰', 10 '௰', 9 '௯', 8 '௮', 7 '௭', 6 '௬', 5 '௫', 4 '௪', 3 '௩', 2 '௨', 1 '௧' */
  2.4503 +}
  2.4504 +
  2.4505 +@counter-style <dfn>greek</dfn> {
  2.4506 +	system: additive;
  2.4507 +	range: 1 999;
  2.4508 +	additive-symbols: 900 '\3E1', 800 '\3C9', 700 '\3C8', 600 '\3C7', 500 '\3C6', 400 '\3C5', 300 '\3C4', 200 '\3C3', 100 '\3C1', 90 '\3DF', 80 '\3C0', 70 '\3BF', 60 '\3BE', 50 '\3BD', 40 '\3BC', 30 '\3BB', 20 '\3BA', 10 '\3B9', 9 '\3B8', 8 '\3B7', 7 '\3B6', 6 '\3C3\3C4', 5 '\3B5', 4 '\3B4', 3 '\3B3', 2 '\3B2', 1 '\3B1';
  2.4509 +	/* 900 'ϡ', 800 'ω', 700 'ψ', 600 'χ', 500 'φ', 400 'υ', 300 'τ', 200 'σ', 100 'ρ', 90 'ϟ', 80 'π', 70 'ο', 60 'ξ', 50 'ν', 40 'μ', 30 'λ', 20 'κ', 10 'ι', 9 'θ', 8 'η', 7 'ζ', 6 'στ', 5 'ε', 4 'δ', 3 'γ', 2 'β', 1 'α' */
  2.4510 +}</bdo></code></pre>
  2.4511 +
  2.4512 +	<p class=issue>Per <a href="http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists">http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists</a>, putting the circumflex above a digit in armenian numbering multiplies the digit by 1000.  The draft currently states a 10,000 multiplier.  Which is correct? (Having the multiplier be 1000 means that you can potentially write the thousands digit two ways, using either the set of thousands digits or the set of ones digits with a circumflex.  The examples given in the note appear to use the former.)
  2.4513 +
  2.4514 +	<p class=issue>According to a native Greek speaker, the lower-greek and upper-greek styles aren't actually used.  I've removed upper-greek for now, but kept lower-greek because CSS2.1 included the keyword.  Do these have actual use-cases?
  2.4515 +-->
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/css-counter-styles-3/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
     3.3 @@ -0,0 +1,3292 @@
     3.4 +<!DOCTYPE html>
     3.5 +<html><head>
     3.6 +	<title>CSS Counter Styles Level 3</title>
     3.7 +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
     3.8 +	<link rel="stylesheet" type="text/css" href="../default.css">
     3.9 +	<style>
    3.10 +	pre.stylesheet { white-space: pre-wrap; }
    3.11 +	</style>
    3.12 +	<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED">
    3.13 +</head><body>
    3.14 +
    3.15 +<div class='head'>
    3.16 +
    3.17 +<!--logo-->
    3.18 +
    3.19 +<h1>CSS Counter Styles Level 3</h1>
    3.20 +
    3.21 +<dl>
    3.22 +	<dt>This version:
    3.23 +	<dd><!--<a href="http://www.w3.org/TR/[YEAR]/WD-[SHORTNAME]-[CDATE]">http://www.w3.org/TR/[YEAR]/WD-[SHORTNAME]-[CDATE]</a>-->
    3.24 +	<a href="http://dev.w3.org/csswg/css-counter-styles-3/">http://dev.w3.org/csswg/css-counter-styles-3/</a>
    3.25 +
    3.26 +	<dt>Latest version:
    3.27 +	<dd><a href="http://www.w3.org/TR/css-counter-styles-3/">http://www.w3.org/TR/css-counter-styles-3/</a>
    3.28 +
    3.29 +	<dt>Editor's Draft:
    3.30 +	<dd><a href="http://dev.w3.org/csswg/css-counter-styles-3/">http://dev.w3.org/csswg/css-counter-styles-3/</a>
    3.31 +
    3.32 +	<dt>Previous version:
    3.33 +	<dd><a href="http://www.w3.org/TR/2002/WD-css3-lists-20021107/">http://www.w3.org/TR/2002/WD-css3-lists-20021107/</a>
    3.34 +
    3.35 +	<dt>Issue Tracking:</dt>
    3.36 +	<dd><a href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Counter%20Styles&resolution=---">Bugzilla</a>
    3.37 +
    3.38 +	<dt>Feedback:</dt>
    3.39 +	<dd><a href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a> with subject line &ldquo;<kbd>[[css-counter-styles]] <var>&hellip; message topic &hellip;</var></kbd>&rdquo;
    3.40 +
    3.41 +	<dt>Editor:
    3.42 +	<dd class='vcard'>
    3.43 +		<a href="http://xanthir.com/contact/" class='url'>
    3.44 +			<span class='fn'>Tab Atkins Jr.</span>,
    3.45 +		</a>
    3.46 +		<span class=org>Google, Inc.</span>
    3.47 +</dl>
    3.48 +
    3.49 +<!--copyright-->
    3.50 +
    3.51 +<hr title="Separator for header">
    3.52 +</div>
    3.53 +
    3.54 +<h2 class="no-num no-toc" id="abstract">
    3.55 +Abstract</h2>
    3.56 +
    3.57 +	<p>
    3.58 +		This module introduces the ''@counter-style'' rule,
    3.59 +		which allows authors to define their own custom <i>counter styles</i>
    3.60 +		for use with CSS list-marker and generated-content counters [[CSS3LIST]].
    3.61 +		It also predefines a set of common counter styles,
    3.62 +		including the ones present in CSS2 and CSS2.1.
    3.63 +		<a href="http://www.w3.org/TR/CSS/">CSS</a> is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc.
    3.64 +
    3.65 +<h2 class="no-num no-toc" id="status">
    3.66 +Status of this document</h2>
    3.67 +
    3.68 +<!--status-->
    3.69 +
    3.70 +	<p>
    3.71 +		The following counter styles are at-risk: ''cjk-decimal'', ''hebrew'', ''hiragana'', ''hiragana-iroha'', ''katakana'', ''katakana-iroha'', ''japanese-informal'', ''japanese-formal'', ''korean-hangul-formal'', ''korean-hanja-informal'', ''korean-hanja-formal'', ''simp-chinese-informal'', ''simp-chinese-formal'', ''trad-chinese-informal'', ''trad-chinese-formal'', and ''ethiopic-numeric''.
    3.72 +
    3.73 +
    3.74 +<h2 class="no-num no-toc" id="contents">
    3.75 +Table of contents</h2>
    3.76 +
    3.77 +<!--toc-->
    3.78 +
    3.79 +<hr>
    3.80 +
    3.81 +
    3.82 +<h2 id='intro'>
    3.83 +Introduction</h2>
    3.84 +
    3.85 +	<p>
    3.86 +		CSS 1 defined a handful of useful counter styles based on the styles that HTML traditionally allowed on ordered and unordered lists.
    3.87 +		While this was expanded slightly by CSS2.1,
    3.88 +		it doesn't address the needs of worldwide typography.
    3.89 +
    3.90 +	<p>
    3.91 +		This module introduces the ''@counter-style'' rule which allows CSS to address this in an open-ended manner, 
    3.92 +		by allowing the author to define their own counter styles.  
    3.93 +		These styles can then be used in the 'list-style-type' property 
    3.94 +		or in the <code title='counter-function'>counter()</code> and <code title='counters-function'>counters()</code> functions.
    3.95 +		It also defines some additional predefined counter styles,
    3.96 +		particularly ones which are common but complicated to represent with ''@counter-style''.
    3.97 +
    3.98 +
    3.99 +<h2 id='counter-styles'>
   3.100 +Counter Styles</h2>
   3.101 +
   3.102 +	<p>
   3.103 +		A <dfn>counter style</dfn> defines how to convert a counter value into a string.
   3.104 +		Counter styles are composed of:
   3.105 +	
   3.106 +	<ul>
   3.107 +		<li>
   3.108 +			a <dfn title='counter-name'>name</dfn>, 
   3.109 +			to identify the style
   3.110 +		
   3.111 +		<li>
   3.112 +			an <dfn title='counter-algorithm'>algorithm</dfn> 
   3.113 +			that transforms counter values into a string representation
   3.114 +		
   3.115 +		<li>
   3.116 +			a <dfn title='counter-negative'>negative sign</dfn>, 
   3.117 +			which is prepended or appended to the representation of a negative counter value
   3.118 +		
   3.119 +		<li>
   3.120 +			a <dfn title='counter-prefix'>prefix</dfn>, 
   3.121 +			to prepend to the representation
   3.122 +		
   3.123 +		<li>
   3.124 +			a <dfn title='counter-suffix'>suffix</dfn>, 
   3.125 +			to append to the representation
   3.126 +		
   3.127 +		<li>
   3.128 +			a <dfn title='counter-range'>range</dfn>, 
   3.129 +			which limits the values that a counter style handles
   3.130 +		
   3.131 +		<li>
   3.132 +			and a <dfn title='counter-fallback'>fallback style</dfn>, 
   3.133 +			to render the representation with when the counter value is outside the counter style's range 
   3.134 +			or the counter style otherwise can't render the counter value
   3.135 +	</ul>
   3.136 +
   3.137 +	<p>
   3.138 +		When asked to <dfn title='generate-a-counter'>generate a counter representation</dfn> 
   3.139 +		using a particular counter style for a particular counter value, 
   3.140 +		follow these steps:
   3.141 +
   3.142 +	<ol>
   3.143 +		<li>
   3.144 +			If the counter value is outside the <i title='counter-range'>range</i> of the counter style, 
   3.145 +			exit this algorithm and instead <i title='generate-a-counter'>generate a counter representation</i> 
   3.146 +			using the counter style's fallback style and the same counter value.
   3.147 +
   3.148 +		<li>
   3.149 +			Using the counter value and the <i title='counter-algorithm'>counter algorithm</i> for the counter style, 
   3.150 +			generate an initial representation for the counter value.
   3.151 +
   3.152 +		<li>
   3.153 +			Return the representation.
   3.154 +	</ol>
   3.155 +
   3.156 +	<p class='note'>
   3.157 +		Note that the prefix and suffix don't play a part in this algorithm.  
   3.158 +		This is intentional; 
   3.159 +		the prefix and suffix aren't part of the string returned by the counter() or counters() functions.  
   3.160 +		Instead, the prefix and suffix are added by the algorithm that constructs the value of the 'contents' property for the ''::marker'' pseudo-element.  
   3.161 +		This also implies that the prefix and suffix always come from the specified counter-style, 
   3.162 +		even if the actual representation is constructed by a fallback style.
   3.163 +
   3.164 +
   3.165 +<h2 id='the-counter-style-rule'>
   3.166 +Defining Custom Counter Styles: the ''@counter-style'' rule</h2>
   3.167 +
   3.168 +	<p>
   3.169 +		The <dfn id='at-counter-style'>''@counter-style''</dfn> rule allows authors to define a custom <i>counter style</i>.
   3.170 +		The components of a <i>counter style</i> are specified by descriptors in the ''@counter-style'' rule.
   3.171 +		The <i title='counter-algorithm'>algorithm</i> is specified implicitly by a combination of the ''system'', ''symbols'', and ''additive-symbols'' properties.
   3.172 +
   3.173 +	<p>
   3.174 +		The general form of an ''@counter-style'' rule is:
   3.175 +
   3.176 +	<pre>
   3.177 +@counter-style <i>&lt;counter-style-name></i> {
   3.178 +	[ descriptor: value; ]+
   3.179 +}
   3.180 +	</pre>
   3.181 +
   3.182 +	<p class='issue'>
   3.183 +		This isn't strictly correct.
   3.184 +		For example, multiple semicolons in a row are valid.
   3.185 +		This should be done with some productions from the Syntax spec,
   3.186 +		so I can just say <code>&lt;declaration-list></code> or something.
   3.187 +
   3.188 +	<p>
   3.189 +		The <i>&lt;counter-style-name></i> must be be a valid identifier 
   3.190 +		and must not be ''decimal'' or ''none'',
   3.191 +		or else the rule is invalid.
   3.192 +		(Note, however, that some names, like ''inside'' or ''initial'',
   3.193 +		might conflict with the existing values of properties like 'list-style',
   3.194 +		and thus won't be usable there.)
   3.195 +
   3.196 +	<p class='issue'>
   3.197 +		The names should be case-insensitive, 
   3.198 +		but we haven't yet figured out exactly which kind of insensitivity we want for CSS in general.
   3.199 +
   3.200 +	<p>
   3.201 +		Each ''@counter-style'' rule specifies a value for every counter-style descriptor,
   3.202 +		either implicitly or explicitly.  
   3.203 +		Those not given explicit value in the rule take the initial value listed with each descriptor in this specification. 
   3.204 +		These descriptors apply solely within the context of the ''@counter-style'' rule in which they are defined,
   3.205 +		and do not apply to document language elements. 
   3.206 +		There is no notion of which elements the descriptors apply to or whether the values are inherited by child elements.  
   3.207 +		When a given descriptor occurs multiple times in a given ''@counter-style'' rule, 
   3.208 +		only the last specified value is used; 
   3.209 +		all prior values for that descriptor must be ignored. 
   3.210 +
   3.211 +	<p>
   3.212 +		Defining a ''@counter-style'' makes it available to the entire document in which it is included.  
   3.213 +		If multiple ''@counter-style'' rules are defined with the same name, 
   3.214 +		only one wins,
   3.215 +		according to standard cascade rules.
   3.216 +		''@counter-style'' rules cascade "atomically":
   3.217 +		if one replaces another of the same name, 
   3.218 +		it replaces it <em>entirely</em>, 
   3.219 +		rather than just replacing the specific descriptors it specifies.
   3.220 +
   3.221 +	<p>
   3.222 +		This at-rule conforms with the forward-compatible parsing requirement of CSS; 
   3.223 +		conformant parsers that don't understand these rules will ignore them without error. 
   3.224 +		Any descriptors that are not recognized or implemented by a given user agent must be ignored in their entirety;
   3.225 +		they do not make the ''@counter-style'' rule invalid.
   3.226 +
   3.227 +<h3 id='counter-style-system'>
   3.228 +Counter algorithms: the 'system' descriptor</h3>
   3.229 +
   3.230 +	<table class='descdef'>
   3.231 +		<tr>
   3.232 +			<th>Name:
   3.233 +			<td><dfn id="descdef-system">system</dfn>
   3.234 +		<tr>
   3.235 +			<th>Value:
   3.236 +			<td>repeating | numeric | alphabetic | symbolic | additive | <span class=nobr>[fixed &lt;integer>?]</span> | <span class=nobr>[ override &lt;counter-style-name> ]</span>
   3.237 +		<tr>
   3.238 +			<th>Initial:
   3.239 +			<td>symbolic
   3.240 +	</table>
   3.241 +
   3.242 +	<p>The 'system' descriptor specifies which algorithm will be used to construct
   3.243 +	the counter's representation based on the counter value.  For example, 
   3.244 +	''cyclic'' counter styles just cycle through their symbols repeatedly, 
   3.245 +	while ''numeric'' counter styles interpret their symbols as digits and 
   3.246 +	build their representation accordingly.  The systems are defined as follows:
   3.247 +
   3.248 +
   3.249 +<h4 id="cyclic-system">
   3.250 +Cycling Symbols: the ''cyclic'' system</h4>
   3.251 +
   3.252 +	<p>
   3.253 +		The <dfn>''cyclic''</dfn> counter system cycles repeatedly through its provided symbols, 
   3.254 +		looping back to the beginning when it reaches the end of the list.
   3.255 +		It can be used for simple bullets 
   3.256 +		(just provide a single <i>counter symbol</i>), 
   3.257 +		or for cycling through multiple symbols.  
   3.258 +		The first <i>counter symbol</i> is used as the representation of the value 1, 
   3.259 +		the second <i>counter symbol</i> (if it exists) is used as the representation of the value 2, etc.
   3.260 +
   3.261 +	<p>
   3.262 +		If the system is ''cyclic'', 
   3.263 +		the 'symbols' descriptor must contain at least one <i>counter symbol</i>,
   3.264 +		or else the ''@counter-style'' rule is invalid.
   3.265 +		This system is defined over all counter values.
   3.266 +
   3.267 +	<div class=example>
   3.268 +		<p>A "triangle bullet" counter style can be defined as:
   3.269 +
   3.270 +		<pre>
   3.271 +@counter-style <dfn>triangle</dfn> {
   3.272 +	system: cyclic;
   3.273 +	symbols: ‣;
   3.274 +	suffix: '';
   3.275 +}
   3.276 +		</pre>
   3.277 +
   3.278 +		<p>It will then produce lists that look like:
   3.279 +
   3.280 +		<pre>
   3.281 +‣  One
   3.282 +‣  Two
   3.283 +‣  Three
   3.284 +		</pre>
   3.285 +	</div>
   3.286 +
   3.287 +	<p>
   3.288 +		If there are <var>N</var> <i>counter symbols</i> 
   3.289 +		and a representation is being constructed for the integer <var>value</var>, 
   3.290 +		the representation is the <i>counter symbol</i> 
   3.291 +		at index ( (<var>value</var>-1) mod <var>N</var>) 
   3.292 +		of the list of <i>counter symbols</i> (0-indexed).
   3.293 +
   3.294 +
   3.295 +<h4 id="fixed-system">
   3.296 +Exhaustible Symbols: the ''fixed'' system</h4>
   3.297 +
   3.298 +	<p>
   3.299 +		The <dfn>''fixed''</dfn> counter system runs through its list of counter symbols once,
   3.300 +		then falls back.
   3.301 +		It is useful for representing counter styles that only have a finite number of representations.  
   3.302 +		For example, Unicode defines several limited-length runs of special characters meant for lists, 
   3.303 +		such as circled digits.
   3.304 +
   3.305 +	<p>
   3.306 +		If the system is ''fixed'', 
   3.307 +		the 'symbols' descriptor must contain at least one <i>counter symbol</i>,
   3.308 +		or else the ''@counter-style'' rule is invalid.  
   3.309 +		This system is defined over counter values in a finite range, 
   3.310 +		starting with the <i>first symbol value</i> and having a length equal to the length of the list of <i>counter symbols</i>.
   3.311 +
   3.312 +	<p>
   3.313 +		When this system is specified, 
   3.314 +		it may optionally have an integer provided after it, 
   3.315 +		which sets the <dfn>first symbol value</dfn>.  
   3.316 +		If it is omitted, the <i>first symbol value</i> is 1.
   3.317 +
   3.318 +	<div class=example>
   3.319 +		<p>A "box-corner" counter style can be defined as:
   3.320 +
   3.321 +		<pre>
   3.322 +@counter-style <dfn>box-corner</dfn> {
   3.323 +	system: fixed;
   3.324 +	symbols: ◰ ◳ ◲ ◱;
   3.325 +	suffix: ':';
   3.326 +}
   3.327 +		</pre>
   3.328 +
   3.329 +		<p>It will then produce lists that look like:
   3.330 +
   3.331 +		<pre>
   3.332 +◰:  One
   3.333 +◳:  Two
   3.334 +◲:  Three
   3.335 +◱:  Four
   3.336 +5:  Five
   3.337 +6:  Six
   3.338 +		</pre>
   3.339 +	</div>
   3.340 +
   3.341 +	<p>
   3.342 +		The first <i>counter symbol</i> is the representation for the <i>first symbol value</i>, 
   3.343 +		and subsequent counter values are represented by subsequent <i>counter symbols</i>.  
   3.344 +		Once the list of <i>counter symbols</i> is exhausted, 
   3.345 +		further values cannot be represented by this counter style, 
   3.346 +		and must instead be represented by the fallback counter style.
   3.347 +
   3.348 +
   3.349 +
   3.350 +<h4 id="symbolic-system">
   3.351 +Repeating Symbols: the ''symbolic'' system</h4>
   3.352 +
   3.353 +	<p>
   3.354 +		The ''symbolic'' counter system cycles repeatedly through its provided symbols, 
   3.355 +		doubling, tripling, etc. the symbols on each successive pass through the list. 
   3.356 +		For example, if the original symbols were "*" and "†", 
   3.357 +		then on the second pass they would instead be "**" and "††", 
   3.358 +		while on the third they would be "***"and "†††", etc. 
   3.359 +		It can be used for footnote-style markers, 
   3.360 +		and is also sometimes used for alphabetic-style lists for a slightly different presentation than what the ''alphabetic'' system presents.
   3.361 +
   3.362 +	<p>
   3.363 +		If the system is <dfn>''symbolic''</dfn>, 
   3.364 +		the 'symbols' descriptor must contain at least one <i>counter symbol</i>,
   3.365 +		or else the ''@counter-style'' rule is invalid.  
   3.366 +		This system is defined only over strictly positive counter values.
   3.367 +
   3.368 +	<div class=example>
   3.369 +		<p>An "footnote" counter style can be defined as:
   3.370 +
   3.371 +		<pre>
   3.372 +@counter-style <dfn>footnote</dfn> {
   3.373 +	system: symbolic;
   3.374 +	symbols: * ⁑ † ‡;
   3.375 +	suffix: '';
   3.376 +}
   3.377 +		</pre>
   3.378 +
   3.379 +		<p>It will then produce lists that look like:
   3.380 +
   3.381 +		<pre>
   3.382 +*.   One
   3.383 +⁑.   Two
   3.384 +†.   Three
   3.385 +‡.   Four
   3.386 +**.  Five
   3.387 +⁑⁑.  Six
   3.388 +		</pre>
   3.389 +	</div>
   3.390 +
   3.391 +	<div class=example>
   3.392 +		<p>
   3.393 +			Some style guides mandate a list numbering that looks similar to ''upper-alpha'', 
   3.394 +			but repeats differently after the first 26 values, 
   3.395 +			instead going "AA", "BB", "CC", etc.  
   3.396 +			This can be achieved with the symbolic system:
   3.397 +
   3.398 +		<pre>
   3.399 +@counter-style <dfn>upper-alpha-legal</dfn> {
   3.400 +	system: symbolic;
   3.401 +	symbols: A B C D E F G H I J K L M 
   3.402 +	         N O P Q R S T U V W X Y Z;
   3.403 +}</pre>
   3.404 +
   3.405 +		<p>
   3.406 +			This style is identical to ''upper-alpha'' through the first 27 values, 
   3.407 +			but they diverge after that, with ''upper-alpha'' going "AB", "AC", "AD", etc.  
   3.408 +			Starting at the 53rd value, ''upper-alpha'' goes "BA", "BB", "BC", etc., 
   3.409 +			while this style jumps into triple digits with "AAA", "BBB", "CCC", etc.
   3.410 +	</div>
   3.411 +
   3.412 +	<p>
   3.413 +		To construct the representation, run the following algorithm:
   3.414 +
   3.415 +	<p>
   3.416 +		Let <var>N</var> be the length of the list of <i>counter symbols</i>, 
   3.417 +		<var>value</var> initially be the counter value, 
   3.418 +		<var>S</var> initially be the empty string, 
   3.419 +		and <var>symbol(n)</var> be the nth <i>counter symbol</i> in the list of <i>counter symbols</i> (0-indexed).
   3.420 +
   3.421 +	<ol>
   3.422 +		<li>Let the <var>chosen symbol</var> be <code class='inline'>symbol(<var>value</var> mod <var>N</var>)</code>.
   3.423 +
   3.424 +		<li>Let the <var>representation length</var> be <code class='inline'>floor( (<var>value</var> - 1) / <var>N</var> )</code>.
   3.425 +
   3.426 +		<li>Append the <var>chosen symbol</var> to <var>S</var> a number of times equal to the <var>representation length</var>.
   3.427 +	</ol>
   3.428 +
   3.429 +	<p>Finally, return <var>S</var>.
   3.430 +
   3.431 +	<p>
   3.432 +		The ''symbolic'' system will produce representations with sizes that are linear in the magnitude of the counter value.  
   3.433 +		This can potentially be abused to generate excessively large representations 
   3.434 +		and consume undue amounts of the user's memory or even hang their browser.  
   3.435 +		User agents must support representations at least 20 characters long, 
   3.436 +		but they may choose to instead use the fallback style for representations that would be longer than 20 characters.
   3.437 +
   3.438 +
   3.439 +<h4 id="alphabetic-system">
   3.440 +Bijective Numerals: the ''alphabetic'' system</h4>
   3.441 +
   3.442 +	<p>
   3.443 +		The ''alphabetic'' counter system interprets the list of <i>counter symbols</i> as digits to an <em title=''>alphabetic</em> numbering system, 
   3.444 +		similar to the default ''lower-alpha'' counter style,
   3.445 +		which wraps from 'a', 'b', 'c', to 'aa', 'ab', 'ac'. 
   3.446 +		Alphabetic numbering systems do not contain a digit representing 0;
   3.447 +		so the first value when a new digit is added is composed solely of the first digit.
   3.448 +		Alphabetic numbering systems are commonly used for lists, 
   3.449 +		and also appear in many spreadsheet programs to number columns. 
   3.450 +		The first <i>counter symbol</i> in the list is interpreted as the digit 1, 
   3.451 +		the second as the digit 2, 
   3.452 +		and so on.  
   3.453 +
   3.454 +	<p>
   3.455 +		If the system is <dfn>''alphabetic''</dfn>, 
   3.456 +		the 'symbols' descriptor must contain at least two <i>counter symbols</i>,
   3.457 +		or else the ''@counter-style'' rule is invalid.  
   3.458 +		This system is defined only over strictly positive counter values.
   3.459 +
   3.460 +	<div class=example>
   3.461 +		<p>A counter style using go stones can be defined as:
   3.462 +
   3.463 +		<pre>
   3.464 +@counter-style <dfn>go</dfn> {
   3.465 +	system: alphabetic;
   3.466 +	symbols: url(white.svg) url(black.svg);
   3.467 +	suffix: '';
   3.468 +}
   3.469 +		</pre>
   3.470 +
   3.471 +		<p>It will then produce lists that look like:
   3.472 +
   3.473 +		<div class='alphabetic-example'>
   3.474 +<span><img src=images/white.svg alt=''></span> One<br>
   3.475 +<span><img src=images/black.svg alt=''></span> Two<br>
   3.476 +<span><img src=images/white.svg alt=''><img src=images/white.svg alt=''></span>  Three<br>
   3.477 +<span><img src=images/white.svg alt=''><img src=images/black.svg alt=''></span>  Four<br>
   3.478 +<span><img src=images/black.svg alt=''><img src=images/white.svg alt=''></span>  Five<br>
   3.479 +<span><img src=images/black.svg alt=''><img src=images/black.svg alt=''></span>  Six<br>
   3.480 +<span><img src=images/white.svg alt=''><img src=images/white.svg alt=''><img src=images/white.svg alt=''></span> Seven
   3.481 +		</div>
   3.482 +
   3.483 +		<p class='note'>This example requires support for SVG images to display
   3.484 +		correctly.
   3.485 +	</div>
   3.486 +
   3.487 +	<div class='example'>
   3.488 +		<p>Alphabetic styles may also be used to simulate a fixed-width numeric
   3.489 +		style:
   3.490 +
   3.491 +		<pre>
   3.492 +@counter-style <dfn>fixed-decimal</dfn> {
   3.493 +	system: alphabetic;
   3.494 +	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   3.495 +}
   3.496 +
   3.497 +ol { 
   3.498 +	list-style: fixed-decimal;
   3.499 +	counter-reset: list-item 1111; 
   3.500 +}
   3.501 +		</pre>
   3.502 +
   3.503 +		<p>This will produce lists that look like:
   3.504 +
   3.505 +		<pre>
   3.506 +0001.  One
   3.507 +0002.  Two
   3.508 +0003.  Three
   3.509 +0004.  Four
   3.510 +0005.  Five
   3.511 +0006.  Six
   3.512 +		</pre>
   3.513 +
   3.514 +		<p>Two-digit numbers start at value 11, three-digit numbers start at 
   3.515 +		value 111, etc..
   3.516 +
   3.517 +		<p class='issue'>Should I instead explicitly provide a fixed-width numeric
   3.518 +		counter system?  I'd like to see if this sort of numbering is used in the
   3.519 +		wild first.
   3.520 +	</div>
   3.521 +
   3.522 +	<p>
   3.523 +		If there are <var>N</var> <i>counter symbols</i>, 
   3.524 +		the representation is a base <var>N</var> alphabetic number using the <i>counter symbols</i> as digits. 
   3.525 +		To construct the representation, run the following algorithm:
   3.526 +
   3.527 +	<p>
   3.528 +		Let <var>N</var> be the length of the list of <i>counter symbols</i>, 
   3.529 +		<var>value</var> initially be the counter value, 
   3.530 +		<var>S</var> initially be the empty string, 
   3.531 +		and <var>symbol(n)</var> be the nth <i>counter symbol</i> in the list of <i>counter symbols</i> (0-indexed).
   3.532 +
   3.533 +	<p>While <var>value</var> is not equal to 0:
   3.534 +
   3.535 +	<ol>
   3.536 +		<li>Set <var>value</var> to <code><var>value</var> - 1</code>.
   3.537 +
   3.538 +		<li>Prepend <var>symbol( <var>value</var> mod <var>N</var> )</var>
   3.539 +		to <var>S</var>.
   3.540 +
   3.541 +		<li>Set <var>value</var> to <code>floor( <var>value</var> / <var>N</var> )</code>.
   3.542 +	</ol>
   3.543 +
   3.544 +	<p>Finally, return <var>S</var>.
   3.545 +
   3.546 +<h4 id="numeric-system">
   3.547 +Positional Numerals: the ''numeric'' system</h4>
   3.548 +
   3.549 +	<p>
   3.550 +		The <dfn>''numeric''</dfn> counter system interprets the list of <i>counter symbols</i>
   3.551 +		as digits to a "place-value" numbering system, 
   3.552 +		similar to the default ''decimal'' counter style.  
   3.553 +		The first <i>counter symbol</i> in the list is interpreted as the digit 0, 
   3.554 +		the second as the digit 1, 
   3.555 +		and so on.  
   3.556 +
   3.557 +	<p>
   3.558 +		If the system is ''numeric'',
   3.559 +		the 'symbols' descriptor must contain at least two <i>counter symbols</i>,
   3.560 +		or else the ''@counter-style'' rule is invalid. 
   3.561 +		This system is defined over all counter values.
   3.562 +
   3.563 +	<div class=example>
   3.564 +		<p>A "trinary" counter style can be defined as:
   3.565 +
   3.566 +		<pre>
   3.567 +@counter-style <dfn>trinary</dfn> {
   3.568 +	system: numeric;
   3.569 +	symbols: '0' '1' '2';
   3.570 +}
   3.571 +		</pre>
   3.572 +
   3.573 +		<p>It will then produce lists that look like:
   3.574 +
   3.575 +		<pre>
   3.576 +1.   One
   3.577 +2.   Two
   3.578 +10.  Three
   3.579 +11.  Four
   3.580 +12.  Five
   3.581 +20.  Six
   3.582 +		</pre>
   3.583 +	</div>
   3.584 +
   3.585 +	<p>
   3.586 +		If there are <var>N</var> <i>counter symbols</i>, 
   3.587 +		the representation is a base <var>N</var> number using the <i>counter symbols</i> as digits.
   3.588 +		To construct the representation, run the following algorithm: 
   3.589 +
   3.590 +	<p>
   3.591 +		Let <var>N</var> be the length of the list of <i>counter symbols</i>, 
   3.592 +		<var>value</var> initially be the counter value, 
   3.593 +		<var>S</var> initially be the empty string, 
   3.594 +		<var>negative</var> be a boolean flag that is initially false, 
   3.595 +		and <var>symbol(n)</var> be the nth <i>counter symbol</i> in the list of <i>counter symbols</i> (0-indexed).
   3.596 +
   3.597 +	<ol>
   3.598 +		<li>If <var>value</var> is 0, append <var>symbol(0)</var> to 
   3.599 +		<var>S</var> and return <var>S</var>.
   3.600 +
   3.601 +		<li>If <var>value</var> is negative, run the next step of this algorithm with <var>value</var> being the absolute value of <var>value</var> instead.
   3.602 +
   3.603 +		<li>While <var>value</var> is not equal to 0:
   3.604 +
   3.605 +			<ol>
   3.606 +				<li>Prepend <var>symbol( <var>value</var> mod <var>N</var> )</var> 
   3.607 +				to <var>S</var>.
   3.608 +
   3.609 +				<li>Set <var>value</var> to <code>floor( <var>value</var> / <var>N</var> )</code>.
   3.610 +			</ol>
   3.611 +		
   3.612 +
   3.613 +		<li>If <var>value</var> was originally negative, wrap <var>S</var> in the counter style's <i title='counter-negative'>negative sign</i>, as specified in the section for the <a href='#counter-style-negative'>negative descriptor</a>.
   3.614 +
   3.615 +		<li>Return <var>S</var>.
   3.616 +	</ol>
   3.617 +
   3.618 +
   3.619 +<h4 id="additive-system">
   3.620 +Accumulating Numerals: the ''additive'' system</h4>
   3.621 +
   3.622 +	<p>
   3.623 +		The <dfn>''additive''</dfn> counter system is used to represent "sign-value" numbering systems,
   3.624 +		which, rather than using reusing digits in different positions to change their value,
   3.625 +		define additional digits with much larger values,
   3.626 +		so that the value of the number can be obtained by adding all the digits together.
   3.627 +		This is used in Roman numerals
   3.628 +		and other numbering systems around the world.
   3.629 +
   3.630 +	<p>
   3.631 +		If the system is ''additive'', 
   3.632 +		the 'additive-symbols' descriptor must contain at least one <i>additive tuple</i>,
   3.633 +		or else the ''@counter-style'' rule is invalid.  
   3.634 +		This system is nominally defined over all counter values 
   3.635 +		(see algorithm, below, for exact details).
   3.636 +
   3.637 +	<div class=example>
   3.638 +		<p>A "dice" counter style can be defined as:
   3.639 +
   3.640 +		<pre>
   3.641 +@counter-style <dfn>dice</dfn> {
   3.642 +	system: additive;
   3.643 +	additive-symbols: 6 ⚅, 5 ⚄, 4 ⚃, 3 ⚂, 2 ⚁, 1 ⚀;
   3.644 +	suffix: '';
   3.645 +}
   3.646 +		</pre>
   3.647 +
   3.648 +		<p>It will then produce lists that look like:
   3.649 +
   3.650 +		<pre>
   3.651 +⚀    One
   3.652 +⚁    Two
   3.653 +⚂    Three
   3.654 +...
   3.655 +⚅⚄   Eleven
   3.656 +⚅⚅   Twelve
   3.657 +⚅⚅⚀  Thirteen
   3.658 +		</pre>
   3.659 +	</div>
   3.660 +
   3.661 +	<p>
   3.662 +		To construct the representation, run this algorithm:
   3.663 +
   3.664 +	<p> 
   3.665 +		Let <var>value</var> initially be the counter value, 
   3.666 +		<var>S</var> initially be the empty string, 
   3.667 +		and <var>symbol list</var> initially be the list of <i>additive tuples</i>.
   3.668 +
   3.669 +	<ol>
   3.670 +		<li>If <var>value</var> is initially 0, and there is an <i>additive tuple</i> with a weight of 0, append that tuple's <i>counter symbol</i> to S and return S.
   3.671 +
   3.672 +		<li>If <var>value</var> is negative, run the next step of this algorithm with <var>value</var> being the absolute value of <var>value</var> instead.
   3.673 +
   3.674 +		<li>While <var>value</var> is greater than 0 and there are elements left in the <var>symbol list</var>:
   3.675 +
   3.676 +			<ol>
   3.677 +				<li>Pop the first <i>additive tuple</i> from the <var>symbol list</var>.
   3.678 +				This is the <dfn title="current tuple|current tuple's">current tuple</dfn>.
   3.679 +
   3.680 +				<li>Append the <i>current tuple</i>&apos;s <i>counter symbol</i> to <var>S</var> 
   3.681 +				<code>floor( <var>value</var> / <var><i>current tuple's</i> weight</var> )</code>
   3.682 +				times (this may be 0).
   3.683 +
   3.684 +				<li>Decrement <var>value</var> by the <var><i>current tuple's</i> weight multiplied
   3.685 +				by the number of times the <i>current tuple</i> was appended to <var>S</var>
   3.686 +				in the previous step.
   3.687 +			</ol>
   3.688 +		
   3.689 +
   3.690 +		<li>If <var>value</var> was originally negative, wrap <var>S</var> in the counter style's <i title='counter-negative'>negative sign</i>, as specified in the section for the <a href='#counter-style-negative'>negative descriptor</a>.
   3.691 +
   3.692 +		<li>If the loop ended because <var>value</var> is 0, return S.  Otherwise, the given counter value cannot be represented by this counter style, and must instead be represented by the fallback counter style.
   3.693 +	</ol>
   3.694 +
   3.695 +	<p>
   3.696 +		The ''additive'' system will produce representations with sizes that are linear in the magnitude of the counter value.  
   3.697 +		This can potentially be abused to generate excessively large representations and consume undue amounts of the user's memory or even hang their browser.  
   3.698 +		User agents must support representations at least 20 characters long, 
   3.699 +		but they may choose to instead use the fallback style for representations that would be longer than 20 characters.
   3.700 +
   3.701 +
   3.702 +<h4 id="override-system">
   3.703 +Tweaking Existing Counter Styles: the ''override'' system</h4>
   3.704 +
   3.705 +	<p>
   3.706 +		The <dfn>''override''</dfn> system allows an author to use the <i>algorithm</i> of another counter style, 
   3.707 +		but alter other aspects, 
   3.708 +		such as the negative sign or the suffix.  
   3.709 +		If a counter style uses the ''override'' system, 
   3.710 +		any unspecified descriptors must be taken from the overridden counter style specified, 
   3.711 +		rather than taking their initial values.
   3.712 +
   3.713 +	<p>
   3.714 +		If a @counter-style uses the ''override' system, 
   3.715 +		it must not contain a 'symbols' or 'additive-symbols' descriptor,
   3.716 +		or else the ''@counter-style'' rule is invalid.
   3.717 +		If the specified counter style name isn't the name of any currently-defined counter style, 
   3.718 +		it must be treated as if it was overriding the ''decimal'' counter style.
   3.719 +
   3.720 +
   3.721 +<h3 id='counter-style-negative'>
   3.722 +Formatting negative values: the 'negative' descriptor</h3>
   3.723 +
   3.724 +	<table class='descdef'>
   3.725 +		<tr>
   3.726 +			<th>Name:
   3.727 +			<td><dfn id="descdef-negative">negative</dfn>
   3.728 +		<tr>
   3.729 +			<th>Value:
   3.730 +			<td>&lt;string> &lt;string>?
   3.731 +		<tr>
   3.732 +			<th>Initial:
   3.733 +			<td>"\2D" ("-" hyphen-minus)
   3.734 +	</table>
   3.735 +
   3.736 +	<p>The 'negative' descriptor defines how to alter the representation when
   3.737 +	the counter value is negative.  Not all counter systems can render negative
   3.738 +	numbers.
   3.739 +
   3.740 +	<p>The first string in the value is prepended to the representation when the
   3.741 +	counter value is negative.  The second string, if specified, is appended
   3.742 +	to the representation when the counter value is negative.
   3.743 +
   3.744 +	<div class='example'>
   3.745 +		<p>For example, specifying ''negative: "(" ")";'' will make negative
   3.746 +		values be wrapped in parentheses, which is sometimes used in financial
   3.747 +		contexts, like "(2) (1) 0 1 2 3...".
   3.748 +	</div>
   3.749 +
   3.750 +
   3.751 +<h3 id='counter-style-prefix'>
   3.752 +Symbols before the marker: the 'prefix' descriptor</h3>
   3.753 +
   3.754 +	<table class='descdef'>
   3.755 +		<tr>
   3.756 +			<th>Name:
   3.757 +			<td><dfn id="descdef-prefix">prefix</dfn>
   3.758 +		<tr>
   3.759 +			<th>Value:
   3.760 +			<td>&lt;string>
   3.761 +		<tr>
   3.762 +			<th>Initial:
   3.763 +			<td>"" (the empty string)
   3.764 +	</table>
   3.765 +
   3.766 +	<p>The 'prefix' descripter specifies a string that is prepended to the 
   3.767 +	marker representation.  Prefixes are only added by the algorithm for constructing
   3.768 +	the default contents of the ''::marker'' pseudo-element; the prefix is not 
   3.769 +	added automatically when the counter() or counters() functions are used.  
   3.770 +	Prefixes come before any negative sign.
   3.771 +
   3.772 +
   3.773 +<h3 id='counter-style-suffix'>
   3.774 +Symbols after the marker: the 'suffix' descriptor</h3>
   3.775 +
   3.776 +	<table class='descdef'>
   3.777 +		<tr>
   3.778 +			<th>Name:
   3.779 +			<td><dfn id="descdef-suffix">suffix</dfn>
   3.780 +		<tr>
   3.781 +			<th>Value:
   3.782 +			<td>&lt;string>
   3.783 +		<tr>
   3.784 +			<th>Initial:
   3.785 +			<td>"\2E" ("." full stop)
   3.786 +	</table>
   3.787 +
   3.788 +	<p>The 'suffix' descripter specifies a string that is appended to the 
   3.789 +	marker representation.  Suffixes are only added by the algorithm for constructing
   3.790 +	the default contents of the ''::marker'' pseudo-element; the suffix is not 
   3.791 +	added automatically when the counter() or counters() functions are used.  
   3.792 +	Suffixes are added to the representation after negative signs.
   3.793 +
   3.794 +
   3.795 +<h3 id='counter-style-range'>
   3.796 +Limiting the counter scope: the 'range' descriptor</h3>
   3.797 +
   3.798 +	<table class='descdef'>
   3.799 +		<tr>
   3.800 +			<th>Name:
   3.801 +			<td><dfn id="descdef-range">range</dfn>
   3.802 +		<tr>
   3.803 +			<th>Value:
   3.804 +			<td>[ [ &lt;integer> | infinite ]{2} ]# | auto
   3.805 +		<tr>
   3.806 +			<th>Initial:
   3.807 +			<td>auto
   3.808 +	</table>
   3.809 +
   3.810 +	<p>The 'range' descriptor defines the ranges over which the counter style is defined.
   3.811 +	If a counter style is used to represent a counter value outside of its ranges,
   3.812 +	the counter style instead drops down to its fallback counter style.
   3.813 +
   3.814 +	<p>If the value is not ''auto'', the first value of each range in the list represents the lower bound of the range (with ''infinite'' representing negative infinity), and the second value represents the upper bound of the range (with 'infinite' representing positive infinity).  This is an inclusive range - it includes both the lower and upper bound numbers.  The range of the counter style as a whole is the union of the individual ranges.  If the lower bound of any range is higher than the higher bound, the entire descriptor is invalid and must be ignored.
   3.815 +
   3.816 +	<p>If the value is ''auto'', the range depends on the counter system.  For ''cyclic'', ''numeric'', and ''fixed'' systems, it must be treated identically to specifying ''infinite infinite''.  For ''alphabetic'' and ''symbolic'', it must be treated identically to ''1 infinite''.  For ''additive'', it must be treated identically to ''0 infinite''.  For ''override'', it must be treated according to the system of the counter style it is overriding.
   3.817 +
   3.818 +	<p>Some counter style systems have their own implicit ranges, specified above in the individual descriptions for each system.  The explicit range given by the ''<code class="css">range</code>'' descriptor applies at the same time as the implicit range given by the ''<code class="css">system</code>'' descriptor - if the counter value is outside either range, the fallback style must instead be used to generate the representation.
   3.819 +
   3.820 +	<p class=issue>There's also an implicit range coming from implementation 
   3.821 +	limits.  Should we require UAs to support all values in a signed 2-byte int,
   3.822 +	or a signed 4-byte int?
   3.823 +
   3.824 +
   3.825 +<h3 id='counter-style-fallback'>
   3.826 +Defining fallback: the 'fallback' descriptor</h3>
   3.827 +
   3.828 +	<table class='descdef'>
   3.829 +		<tr>
   3.830 +			<th>Name:
   3.831 +			<td><dfn id="descdef-fallback">fallback</dfn>
   3.832 +		<tr>
   3.833 +			<th>Value:
   3.834 +			<td>&lt;counter-style-name>
   3.835 +		<tr>
   3.836 +			<th>Initial:
   3.837 +			<td>decimal
   3.838 +	</table>
   3.839 +
   3.840 +	<p>The 'fallback' descriptor specifies a fallback counter style to be used
   3.841 +	when the current counter style can't create a representation for a given
   3.842 +	counter value.  For example, if a counter style defined with a range of 1-10
   3.843 +	is asked to represent a counter value of 11, the counter value's representation
   3.844 +	is instead constructed with the fallback counter style (or possibly the 
   3.845 +	fallback style's fallback style, if the fallback style can't represent that
   3.846 +	value, etc.).
   3.847 +
   3.848 +	<p>If the value of the 'fallback' descriptor isn't the name of any 
   3.849 +	currently-defined counter style, the used value of the 'fallback' descriptor
   3.850 +	is <i>decimal</i> instead.  Similarly, while following fallbacks to find
   3.851 +	a counter style that can render the given counter value, if a loop in the 
   3.852 +	specified fallbacks is detected, the <i>decimal</i> style must be used instead.
   3.853 +
   3.854 +	<p class='note'>Note that it is not necessarily an error to specify fallback
   3.855 +	loops.  For example, if an author desires a counter style with significantly
   3.856 +	different representations for even and odd counter values, they may find it 
   3.857 +	easiest to define one style that can only represent odd values and one that 
   3.858 +	can only represent even values, and specify each as the fallback for the 
   3.859 +	other one.  Though the fallback graph is circular, at no point do you encounter 
   3.860 +	a loop while following these fallbacks - every counter value is represented 
   3.861 +	by one or the other counter style.  
   3.862 +
   3.863 +	<p class='issue'>Is it useful to allow
   3.864 +	this case?  If it would be significantly easier for implementations to just
   3.865 +	detect and reject circular fallback graphs, that would probably be acceptable.</span>
   3.866 +
   3.867 +
   3.868 +<h3 id='counter-style-symbols'>
   3.869 +Marker characters: the 'symbols' and 'additive-symbols' descriptors</h3>
   3.870 +
   3.871 +	<table class='descdef'>
   3.872 +		<tr>
   3.873 +			<th>Name:
   3.874 +			<td><dfn id="descdef-symbols">symbols</dfn>
   3.875 +		<tr>
   3.876 +			<th>Value:
   3.877 +			<td>[ &lt;string> | &lt;image> | &lt;identifier> ]+
   3.878 +		<tr>
   3.879 +			<th>Initial:
   3.880 +			<td>N/A
   3.881 +	</table>
   3.882 +
   3.883 +	<table class='descdef'>
   3.884 +		<tr>
   3.885 +			<th>Name:
   3.886 +			<td><dfn id="descdef-additive-symbols">additive-symbols</dfn>
   3.887 +		<tr>
   3.888 +			<th>Value:
   3.889 +			<td>[ &lt;integer> && [ &lt;string> | &lt;image> | &lt;identifier> ] ]#
   3.890 +		<tr>
   3.891 +			<th>Initial:
   3.892 +			<td>N/A
   3.893 +	</table>
   3.894 +
   3.895 +	<p>The 'symbols' and 'additive-symbols' descriptors specify the symbols
   3.896 +	used by the marker-construction algorithm specified by the 'system' descriptor.
   3.897 +	The 'symbols' descriptor must be specified if the counter system is ''cyclic'',
   3.898 +	''numeric'', ''alphabetic'', ''symbolic'', or ''fixed'', and the 
   3.899 +	'additive-symbols' descriptor must be specified if the counter system is
   3.900 +	''additive''; otherwise, the ''@counter-style'' is invalid and must be ignored.
   3.901 +
   3.902 +	<p>Some counter systems specify that the 'symbols' descriptor must have at
   3.903 +	least two entries.  If the counter style's system is such, and the 'symbols'
   3.904 +	descriptor has only a single entry, the counter style is invalid and must
   3.905 +	be ignored.
   3.906 +
   3.907 +	<p>Each entry in the 'symbols' descriptor's value defines a <dfn>counter symbol</dfn>,
   3.908 +	which is interpreted differently based on the counter style's system.  Each
   3.909 +	entry in the 'additive-symbols' descriptor's value defines an <dfn>additive tuple</dfn>,
   3.910 +	which consists of a <i>counter symbol</i> and a non-negative integer weight.  
   3.911 +	Each weight must be a non-negative integer, and the <i>additive tuples</i>
   3.912 +	must be specified in order of descending weight; otherwise, the @counter-style
   3.913 +	is invalid and must be ignored.
   3.914 +
   3.915 +	<p>
   3.916 +		<i>Counter symbols</i> may be strings, images, or identifiers, 
   3.917 +		and the three types can be mixed in a single descriptor.  
   3.918 +		Counter representations are constructed by concatenating counter symbols together.  
   3.919 +		Identifiers are rendered as strings containing the same characters.  
   3.920 +		Images are rendered as inline replaced elements.  
   3.921 +		The <a href="http://dev.w3.org/csswg/css3-images/#default-object-size">default object size</a> of an image <i>counter symbol</i> is a 1em by 1em square.
   3.922 +
   3.923 +
   3.924 +<!-- ====================================================================== -->
   3.925 +
   3.926 +<h2 id='symbols-function'>
   3.927 +Defining Anonymous Counter Styles: the ''symbols()'' function</h2>
   3.928 +
   3.929 +	<p>
   3.930 +		The ''symbols()'' function allows a <i>counter style</i> to be defined inline in a property value,
   3.931 +		for when a style is used only once in a stylesheet and defining a full ''@counter-style'' rule would be overkill.
   3.932 +		It does not provide the full feature-set of the ''@counter-style'' rule, 
   3.933 +		but provides a sufficient subset to still be useful.  
   3.934 +		The syntax of the ''symbols()'' rule is:
   3.935 +
   3.936 +	<pre><dfn id='type-symbols-function'>&lt;symbols-function></dfn> = symbols( &lt;symbols-type>? [ &lt;string> | &lt;image> ]+ )</pre>
   3.937 +
   3.938 +	<p>
   3.939 +		Where &lt;symbols-type> is one of the following keywords: 
   3.940 +		''cyclic'', ''numeric'', ''alphabetic'', ''symbolic'', or ''fixed''.
   3.941 +
   3.942 +	<p>
   3.943 +		The ''symbols()'' function defines an anonymous counter style 
   3.944 +		with no <i title="counter-name">name</i>, 
   3.945 +		a <i title="counter-prefix">prefix</i> 
   3.946 +		and <i title="counter-suffix">suffix</i> of ''""'' (the empty string), 
   3.947 +		a <i title="counter-range">range</i> of ''auto'', 
   3.948 +		a <i title="counter-fallback">fallback style</i> of ''decimal'', 
   3.949 +		and a <i title="counter-negative">negative sign</i> of "\2D" ("-" hyphen-minus).  
   3.950 +		The counter style's <i title="counter-algorithm">algorithm</i> is constructed 
   3.951 +		by consulting the previous chapter using the provided system&nbsp;&mdash;
   3.952 +		or ''symbolic'' if the system was omitted&nbsp;&mdash;
   3.953 +		and the provided &lt;string>s and &lt;image>s as the value of the 'symbols' property.  
   3.954 +		If the system is ''fixed'', the <i>first symbol value</i> is ''1''.
   3.955 +
   3.956 +	<div class='example'>
   3.957 +		<p>
   3.958 +			This code:
   3.959 +		
   3.960 +		<pre>ol { list-style: symbols("*" "\2020" "\2021" "\A7"); }</pre>
   3.961 +
   3.962 +		<p>
   3.963 +			will produce lists that look like:
   3.964 +		
   3.965 +		<pre>
   3.966 +*   One
   3.967 +†   Two
   3.968 +‡   Three
   3.969 +§   Four
   3.970 +**  Five
   3.971 +††  Six
   3.972 +‡‡  Seven</pre>
   3.973 +
   3.974 +		<p>
   3.975 +			On the other hand, specifying the system of counter, like so:
   3.976 +		
   3.977 +		<pre>ol { list-style: symbols(cyclic "*" "\2020" "\2021" "\A7"); }</pre>
   3.978 +
   3.979 +		<p>
   3.980 +			will produce lists that look like:
   3.981 +		
   3.982 +		<pre>
   3.983 +*   One
   3.984 +†   Two
   3.985 +‡   Three
   3.986 +§   Four
   3.987 +*   Five
   3.988 +†   Six
   3.989 +‡   Seven</pre>
   3.990 +	</div>
   3.991 +
   3.992 +	<p class='note'>
   3.993 +		Note that the ''symbols()'' function only allows strings and images, 
   3.994 +		while the 'symbols' descriptor of a ''@counter-style'' rule also allows identifiers.
   3.995 +
   3.996 +
   3.997 +<!--
   3.998 +   SSSSSSSSSSSSSSS      tttt                              lllllll                                      
   3.999 + SS:::::::::::::::S  ttt:::t                              l:::::l                                      
  3.1000 +S:::::SSSSSS::::::S  t:::::t                              l:::::l                                      
  3.1001 +S:::::S     SSSSSSS  t:::::t                              l:::::l                                      
  3.1002 +S:::::S        ttttttt:::::tttttttyyyyyyy           yyyyyyyl::::l     eeeeeeeeeeee        ssssssssss   
  3.1003 +S:::::S        t:::::::::::::::::t y:::::y         y:::::y l::::l   ee::::::::::::ee    ss::::::::::s  
  3.1004 + S::::SSSS     t:::::::::::::::::t  y:::::y       y:::::y  l::::l  e::::::eeeee:::::eess:::::::::::::s 
  3.1005 +  SS::::::SSSSStttttt:::::::tttttt   y:::::y     y:::::y   l::::l e::::::e     e:::::es::::::ssss:::::s
  3.1006 +    SSS::::::::SS    t:::::t          y:::::y   y:::::y    l::::l e:::::::eeeee::::::e s:::::s  ssssss 
  3.1007 +       SSSSSS::::S   t:::::t           y:::::y y:::::y     l::::l e:::::::::::::::::e    s::::::s      
  3.1008 +            S:::::S  t:::::t            y:::::y:::::y      l::::l e::::::eeeeeeeeeee        s::::::s   
  3.1009 +            S:::::S  t:::::t    tttttt   y:::::::::y       l::::l e:::::::e           ssssss   s:::::s 
  3.1010 +SSSSSSS     S:::::S  t::::::tttt:::::t    y:::::::y       l::::::le::::::::e          s:::::ssss::::::s
  3.1011 +S::::::SSSSSS:::::S  tt::::::::::::::t     y:::::y        l::::::l e::::::::eeeeeeee  s::::::::::::::s 
  3.1012 +S:::::::::::::::SS     tt:::::::::::tt    y:::::y         l::::::l  ee:::::::::::::e   s:::::::::::ss  
  3.1013 + SSSSSSSSSSSSSSS         ttttttttttt     y:::::y          llllllll    eeeeeeeeeeeeee    sssssssssss    
  3.1014 +                                        y:::::y                                                        
  3.1015 +                                       y:::::y                                                         
  3.1016 +                                      y:::::y                                                          
  3.1017 +                                     y:::::y                                                           
  3.1018 +                                    yyyyyyy                                                            
  3.1019 +-->
  3.1020 +
  3.1021 +
  3.1022 +<h2 id='predefined-counters'>
  3.1023 +Simple Predefined Counter Styles</h2>
  3.1024 +
  3.1025 +	<p>
  3.1026 +		The following stylesheet uses the ''@counter-style'' rule
  3.1027 +		to redefine all of the counter styles defined in CSS 2 and CSS 2.1.
  3.1028 +		This stylesheet is normative - 
  3.1029 +		UAs must include it in their UA stylesheet
  3.1030 +		(or at least act as if these rules were defined at that level).
  3.1031 +
  3.1032 +
  3.1033 +<h3 id='simple-numeric'>
  3.1034 +Numeric: ''decimal'', ''decimal-leading-zero'', ''cjk-decimal'', ''lower-roman'', ''upper-roman'', ''armenian'', ''georgian'', ''hebrew''</h3>
  3.1035 +
  3.1036 +	<dl>
  3.1037 +		<dt><dfn>''decimal''</dfn>
  3.1038 +		<dd>
  3.1039 +			Western decimal numbers
  3.1040 +			(e.g., 1, 2, 3, ..., 98, 99, 100).
  3.1041 +
  3.1042 +		<dt><dfn>''decimal-leading-zero''</dfn>
  3.1043 +		<dd>
  3.1044 +			Decimal numbers padded by initial zeros 
  3.1045 +			(e.g., 01, 02, 03, ..., 98, 99, 100).
  3.1046 +			
  3.1047 +		<dt><dfn>''cjk-decimal''</dfn>
  3.1048 +		<dd>
  3.1049 +			Han decimal numbers
  3.1050 +			(e.g., 一, 二, 三, ..., 九八, 九九, 一〇〇).
  3.1051 +			
  3.1052 +		<dt><dfn>''lower-roman''</dfn>
  3.1053 +		<dd>
  3.1054 +			Lowercase ASCII Roman numerals
  3.1055 +			(e.g., i, ii, iii, ..., xcviii, xcix, c).
  3.1056 +			
  3.1057 +		<dt><dfn>''upper-roman''</dfn>
  3.1058 +		<dd>
  3.1059 +			Uppercase ASCII Roman numerals
  3.1060 +			(e.g., I, II, III, ..., XCVIII, XCIX, C).
  3.1061 +			
  3.1062 +		<dt><dfn>''armenian''</dfn>
  3.1063 +		<dd>
  3.1064 +			Traditional uppercase Armenian numbering
  3.1065 +			(e.g., Ա, Բ, Գ, ..., ՂԸ, ՂԹ, Ճ).
  3.1066 +
  3.1067 +		<dt><dfn>''georgian''</dfn>
  3.1068 +		<dd>
  3.1069 +			Traditional Georgian numbering
  3.1070 +			(e.g., ა, ბ, გ, ..., ჟჱ, ჟთ, რ).
  3.1071 +			
  3.1072 +		<dt><dfn>''hebrew''</dfn>
  3.1073 +		<dd>
  3.1074 +			Traditional Hebrew numbering
  3.1075 +			(e.g., א&lrm;, ב&lrm;, ג&lrm;, ..., צח&lrm;, צט&lrm;, ק&lrm;).
  3.1076 +	</dl>
  3.1077 +
  3.1078 +	<p>
  3.1079 +		The ''decimal'' counter-style must not be overridable with a ''@counter-style'' rule,
  3.1080 +		so that it is always available as an ultimate fallback style.
  3.1081 +
  3.1082 +	<p>
  3.1083 +		The following stylesheet fragment provides the normative definition of these predefined counter styles:
  3.1084 +
  3.1085 +	<pre class='stylesheet'><bdo>
  3.1086 +@counter-style decimal {
  3.1087 +	system: numeric;
  3.1088 +	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
  3.1089 +}
  3.1090 +
  3.1091 +@counter-style decimal-leading-zero {
  3.1092 +	system: fixed -9;
  3.1093 +	symbols: '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09';
  3.1094 +}
  3.1095 +
  3.1096 +@counter-style cjk-decimal {
  3.1097 +	system: numeric;
  3.1098 +	symbols: \3007 \4E00 \4E8C \4E09 \56DB \4E94 \516D \4E03 \516B \4E5D;
  3.1099 +	/* 〇 一 二 三 四 五 六 七 八 九 */
  3.1100 +}
  3.1101 +
  3.1102 +@counter-style lower-roman {
  3.1103 +	system: additive;
  3.1104 +	range: 1 4999;
  3.1105 +	additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i;
  3.1106 +}
  3.1107 +
  3.1108 +@counter-style upper-roman {
  3.1109 +	system: additive;
  3.1110 +	range: 1 4999;
  3.1111 +	additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I;
  3.1112 +}
  3.1113 +
  3.1114 +@counter-style armenian {
  3.1115 +	system: additive;
  3.1116 +	range: 1 9999;
  3.1117 +	additive-symbols: 9000 \554, 8000 \553, 7000 \552, 6000 \551, 5000 \550, 4000 \54F, 3000 \54E, 2000 \54D, 1000 \54C, 900 \54B, 800 \54A, 700 \549, 600 \548, 500 \547, 400 \546, 300 \545, 200 \544, 100 \543, 90 \542, 80 \541, 70 \540, 60 \53F, 50 \53E, 40 \53D, 30 \53C, 20 \53B, 10 \53A, 9 \539, 8 \538, 7 \537, 6 \536, 5 \535, 4 \534, 3 \533, 2 \532, 1 \531;
  3.1118 +	/* 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա */
  3.1119 +}
  3.1120 +
  3.1121 +@counter-style georgian {
  3.1122 +	system: additive;
  3.1123 +	range: 1 19999;
  3.1124 +	additive-symbols: 10000 \10F5, 9000 \10F0, 8000 \10EF, 7000 \10F4, 6000 \10EE, 5000 \10ED, 4000 \10EC, 3000 \10EB, 2000 \10EA, 1000 \10E9, 900 \10E8, 800 \10E7, 700 \10E6, 600 \10E5, 500 \10E4, 400 \10F3, 300 \10E2, 200 \10E1, 100 \10E0, 90 \10DF, 80 \10DE, 70 \10DD, 60 \10F2, 50 \10DC, 40 \10DB, 30 \10DA, 20 \10D9, 10 \10D8, 9 \10D7, 8 \10F1, 7 \10D6, 6 \10D5, 5 \10D4, 4 \10D3, 3 \10D2, 2 \10D1, 1 \10D0;
  3.1125 +	/* 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა */
  3.1126 +}
  3.1127 +
  3.1128 +@counter-style hebrew {
  3.1129 +	system: additive;
  3.1130 +	range: 1 infinite;
  3.1131 +	additive-symbols: 400 \5EA, 300 \5E9, 200 \5E8, 100 \5E7, 90 \5E6, 80 \5E4, 70 \5E2, 60 \5E1, 50 \5E0, 40 \5DE, 30 \5DC, 20 \5DB, 19 \5D9\5D8, 18 \5D9\5D7, 17 \5D9\5D6, 16 \5D8\5D6, 15 \5D8\5D5, 10 \5D9, 9 \5D8, 8 \5D7, 7 \5D6, 6 \5D5, 5 \5D4, 4 \5D3, 3 \5D2, 2 \5D1, 1 \5D0;
  3.1132 +	/* 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א */
  3.1133 +	/* This system manually specifies the values for 19-15 to force the correct display of 15 and 16, which are commonly rewritten to avoid a close resemblance to the Tetragrammaton. */
  3.1134 +}</bdo></pre>
  3.1135 +
  3.1136 +
  3.1137 +<h3 id='simple-alphabetic'>
  3.1138 +Alphabetic: ''lower-alpha'', ''lower-latin'', ''upper-alpha'', ''upper-latin'', ''lower-greek'', ''hiragana'', ''hiragana-iroha'', ''katakana'', ''katakana-iroha''</h3>
  3.1139 +
  3.1140 +	<dl>
  3.1141 +		<dt><dfn>''lower-alpha''</dfn>
  3.1142 +		<dt><dfn>''lower-latin''</dfn>
  3.1143 +		<dd>
  3.1144 +			Lowercase ASCII letters
  3.1145 +			(e.g., a, b, c, ..., z, aa, ab).
  3.1146 +
  3.1147 +		<dt><dfn>''upper-alpha''</dfn>
  3.1148 +		<dt><dfn>''upper-latin''</dfn>
  3.1149 +		<dd>
  3.1150 +			Uppercase ASCII letters
  3.1151 +			(e.g., A, B, C, ..., Z, AA, AB).
  3.1152 +
  3.1153 +		<dt><dfn>''lower-greek''</dfn>
  3.1154 +		<dd>
  3.1155 +			Lowercase classical Greek
  3.1156 +			(e.g., α, β, γ, ..., ω, αα, αβ).
  3.1157 +
  3.1158 +		<dt><dfn>''hiragana''</dfn>
  3.1159 +		<dd>
  3.1160 +			Dictionary-order hiragana lettering
  3.1161 +			(e.g., あ, い, う, ..., ん, ああ, あい).
  3.1162 +
  3.1163 +		<dt><dfn>''hiragana-iroha''</dfn>
  3.1164 +		<dd>
  3.1165 +			Iroha-order hiragana lettering
  3.1166 +			(e.g., い, ろ, は, ..., ん, いい, いろ).
  3.1167 +
  3.1168 +		<dt><dfn>''katakana''</dfn>
  3.1169 +		<dd>
  3.1170 +			Dictionary-order katakana lettering
  3.1171 +			(e.g., ア, イ, ウ, ..., ン, アア, アイ).
  3.1172 +
  3.1173 +		<dt><dfn>''katakana-iroha''</dfn>
  3.1174 +		<dd>
  3.1175 +			Iroha-order katakana lettering
  3.1176 +			(e.g., イ, ロ, ハ, ..., ン, イイ, イロ)
  3.1177 +	</dl>
  3.1178 +
  3.1179 +	<p>
  3.1180 +		The following stylesheet fragment provides the normative definition of these predefined counter styles:
  3.1181 +
  3.1182 +	<pre class='stylesheet'><bdo>
  3.1183 +@counter-style lower-alpha {
  3.1184 +	system: alphabetic;
  3.1185 +	symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
  3.1186 +}
  3.1187 +
  3.1188 +@counter-style lower-latin {
  3.1189 +	system: override lower-alpha;
  3.1190 +}
  3.1191 +
  3.1192 +@counter-style upper-alpha {
  3.1193 +	system: alphabetic;
  3.1194 +	symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
  3.1195 +}
  3.1196 +
  3.1197 +@counter-style upper-latin {
  3.1198 +	system: override upper-alpha;
  3.1199 +}
  3.1200 +
  3.1201 +@counter-style lower-greek {
  3.1202 +	system: alphabetic;
  3.1203 +	symbols: \3B1 \3B2 \3B3 \3B4 \3B5 \3B6 \3B7 \3B8 \3B9 \3BA \3BB \3BC \3BD \3BE \3BF \3C0 \3C1 \3C3 \3C4 \3C5 \3C6 \3C7 \3C8 \3C9;
  3.1204 +	/* α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω */
  3.1205 +}
  3.1206 +
  3.1207 +@counter-style hiragana {
  3.1208 +	system: alphabetic;
  3.1209 +	symbols: \3042 \3044 \3046 \3048 \304A \304B \304D \304F \3051 \3053 \3055 \3057 \3059 \305B \305D \305F \3061 \3064 \3066 \3068 \306A \306B \306C \306D \306E \306F \3072 \3075 \3078 \307B \307E \307F \3080 \3081 \3082 \3084 \3086 \3088 \3089 \308A \308B \308C \308D \308F \3092 \3093;
  3.1210 +	/* あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん */
  3.1211 +	suffix: '、';
  3.1212 +}
  3.1213 +
  3.1214 +@counter-style hiragana-iroha {
  3.1215 +	system: alphabetic;
  3.1216 +	symbols: \3044 \308D \306F \306B \307B \3078 \3068 \3061 \308A \306C \308B \3092 \308F \304B \3088 \305F \308C \305D \3064 \306D \306A \3089 \3080 \3046 \3090 \306E \304A \304F \3084 \307E \3051 \3075 \3053 \3048 \3066 \3042 \3055 \304D \3086 \3081 \307F \3057 \3091 \3072 \3082 \305B \3059 \3093;
  3.1217 +	/* い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す ん */
  3.1218 +	suffix: '、';
  3.1219 +}
  3.1220 +
  3.1221 +@counter-style katakana {
  3.1222 +	system: alphabetic;
  3.1223 +	symbols: \30A2 \30A4 \30A6 \30A8 \30AA \30AB \30AD \30AF \30B1 \30B3 \30B5 \30B7 \30B9 \30BB \30BD \30BF \30C1 \30C4 \30C6 \30C8 \30CA \30CB \30CC \30CD \30CE \30CF \30D2 \30D5 \30D8 \30DB \30DE \30DF \30E0 \30E1 \30E2 \30E4 \30E6 \30E8 \30E9 \30EA \30EB \30EC \30ED \30EF \30F2 \30F3;
  3.1224 +	/* ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン */
  3.1225 +	suffix: '、';
  3.1226 +}
  3.1227 +
  3.1228 +@counter-style katakana-iroha {
  3.1229 +	system: alphabetic;
  3.1230 +	symbols: \30A4 \30ED \30CF \30CB \30DB \30D8 \30C8 \30C1 \30EA \30CC \30EB \30F2 \30EF \30AB \30E8 \30BF \30EC \30BD \30C4 \30CD \30CA \30E9 \30E0 \30A6 \30F0 \30CE \30AA \30AF \30E4 \30DE \30B1 \30D5 \30B3 \30A8 \30C6 \30A2 \30B5 \30AD \30E6 \30E1 \30DF \30B7 \30F1 \30D2 \30E2 \30BB \30B9 \30F3;
  3.1231 +	/* イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス ン */
  3.1232 +	suffix: '、';
  3.1233 +}</bdo></pre>
  3.1234 +
  3.1235 +
  3.1236 +<h3 id='simple-symbolic'>
  3.1237 +Symbolic: ''disc'', ''circle'', ''square''</h3>
  3.1238 +
  3.1239 +	<dl>
  3.1240 +		<dt><dfn>''disc''</dfn>
  3.1241 +		<dd>A filled circle, similar to • U+2022 BULLET.
  3.1242 +
  3.1243 +		<dt><dfn>''circle''</dfn>
  3.1244 +		<dd>A hollow circle, similar to ◦ U+25E6 WHITE BULLET.
  3.1245 +
  3.1246 +		<dt><dfn>''square''</dfn>
  3.1247 +		<dd>A filled square, similar to ◾ U+25FE BLACK MEDIUM SMALL SQUARE.
  3.1248 +	</dl>
  3.1249 +
  3.1250 +	<p>
  3.1251 +		The following stylesheet fragment provides the normative definition of these predefined counter styles:
  3.1252 +
  3.1253 +	<pre class='stylesheet'>
  3.1254 +@counter-style disc {
  3.1255 +	system: cyclic;
  3.1256 +	symbols: \2022;
  3.1257 +	/* • */
  3.1258 +	suffix: '';
  3.1259 +}
  3.1260 +
  3.1261 +@counter-style circle {
  3.1262 +	system: cyclic;
  3.1263 +	symbols: \25E6;
  3.1264 +	/* ◦ */
  3.1265 +	suffix: '';
  3.1266 +}
  3.1267 +
  3.1268 +@counter-style square {
  3.1269 +	system: cyclic;
  3.1270 +	symbols: \25FE;
  3.1271 +	/* ◾ */
  3.1272 +	suffix: '';
  3.1273 +}</pre>
  3.1274 +
  3.1275 +	<p>
  3.1276 +		Alternately, a browser may render these styles using a browser-generated image instead of the defined character.
  3.1277 +		If so, the image must look similar to the character,
  3.1278 +		and must be sized to attractively fill a 1em by 1em square.
  3.1279 +
  3.1280 +
  3.1281 +<!-- ======================================================================= -->
  3.1282 +
  3.1283 +<h2 id='complex-predefined-counters'>
  3.1284 +Complex Predefined Counter Styles</h2>
  3.1285 +
  3.1286 +	<p>
  3.1287 +		While authors may define their own counter styles using the ''@counter-style'' rule 
  3.1288 +		or rely on the set of <a href='#ua-stylesheet'>predefined counter styles</a>, 
  3.1289 +		a few counter styles are described by rules that are too complex to be captured by the predefined algorithms.
  3.1290 +		These counter styles are described in this section.
  3.1291 +
  3.1292 +	<p>
  3.1293 +		Some of the counter styles specified in this section 
  3.1294 +		have custom <i title='counter-algorithm'>algorithms for generating counter values</i>, 
  3.1295 +		but are otherwise identical to a counter style defined via the ''@counter-style'' rule. 
  3.1296 +		For example, an author can reference one of these styles in an ''override'' system, 
  3.1297 +		reusing the algorithm but swapping out some of the other descriptors.
  3.1298 +
  3.1299 +
  3.1300 +<h3 id='complex-cjk'>
  3.1301 +Longhand East Asian Counter Styles: ''japanese-informal'', ''japanese-formal'', ''korean-hangul-formal'', ''korean-hanja-informal'', ''korean-hanja-formal'', ''simp-chinese-informal'', ''simp-chinese-formal'', ''trad-chinese-informal'', ''trad-chinese-formal''</h3>
  3.1302 +
  3.1303 +	<p>
  3.1304 +		Chinese, Japanese, and Korean have longhand counter styles, 
  3.1305 +		which have a structure similar to "one hundred thirteen thousand and twenty-three" in English.  
  3.1306 +		Each has both formal and informal variants. 
  3.1307 +		The formal styles are typically used in financial and legal documents, 
  3.1308 +		as their characters are more difficult to alter into each other.
  3.1309 +
  3.1310 +	<dl>
  3.1311 +		<dt>japanese-informal
  3.1312 +		<dd>
  3.1313 +			Informal Japanese Kanji numbering
  3.1314 +			(e.g., 一万一千百十一)
  3.1315 +
  3.1316 +		<dt>japanese-formal
  3.1317 +		<dd>
  3.1318 +			Formal Japanese Kanji numbering
  3.1319 +			(e.g. 壱萬壱阡壱百壱拾壱)
  3.1320 +
  3.1321 +		<dt>korean-hangul-formal
  3.1322 +		<dd>
  3.1323 +			Korean Hangul numbering
  3.1324 +			(e.g., 일만 일천일백일십일)
  3.1325 +
  3.1326 +		<dt>korean-hanja-informal
  3.1327 +		<dd>
  3.1328 +			Informal Korean Hanja numbering
  3.1329 +			(e.g., 萬 一千百十一)
  3.1330 +
  3.1331 +		<dt>korean-hanja-formal
  3.1332 +		<dd>
  3.1333 +			Forman Korean Han (Hanja) numbering
  3.1334 +			(e.g., 壹萬 壹仟壹百壹拾壹)
  3.1335 +
  3.1336 +		<dt>simp-chinese-informal
  3.1337 +		<dd>
  3.1338 +			Simplified Chinese informal numbering
  3.1339 +			(e.g., 一万一千一百一十一)
  3.1340 +
  3.1341 +		<dt>simp-chinese-formal
  3.1342 +		<dd>
  3.1343 +			Simplified Chinese formal numbering
  3.1344 +			(e.g. 壹万壹仟壹佰壹拾壹)
  3.1345 +
  3.1346 +		<dt>trad-chinese-informal
  3.1347 +		<dd>
  3.1348 +			Traditional Chinese informal numbering
  3.1349 +			(e.g., 一萬一千一百一十一)
  3.1350 +
  3.1351 +		<dt>trad-chinese-formal
  3.1352 +		<dd>
  3.1353 +			Traditional Chinese informal numbering
  3.1354 +			(e.g., 壹萬壹仟壹佰壹拾壹)
  3.1355 +
  3.1356 +		<dt>cjk-ideographic
  3.1357 +		<dd>
  3.1358 +			This counter style is identical to ''trad-chinese-formal''. 
  3.1359 +			(It exists for legacy reasons.)
  3.1360 +	</dl>
  3.1361 +
  3.1362 +	<p class="note">
  3.1363 +		The examples above show the number 11,111,
  3.1364 +		which is not often used as a counter value,
  3.1365 +		but illustrates the differences among the systems.
  3.1366 +
  3.1367 +	<div class="example">
  3.1368 +		The following table shows examples of these styles, particularly some ways in which they differ.
  3.1369 +
  3.1370 +		<table class="data">
  3.1371 +			<thead>
  3.1372 +				<tr><th>Counter Style
  3.1373 +				    <th>0
  3.1374 +				    <th>1
  3.1375 +				    <th>2
  3.1376 +				    <th>3
  3.1377 +				    <th>10
  3.1378 +				    <th>11
  3.1379 +				    <th>99
  3.1380 +				    <th>100
  3.1381 +				    <th>101
  3.1382 +				    <th>10,000
  3.1383 +			</thead>
  3.1384 +			<tbody>
  3.1385 +				<tr><th scope="row">''japanese-informal''
  3.1386 +				    <td>〇
  3.1387 +				    <td>一
  3.1388 +				    <td>二
  3.1389 +				    <td>三
  3.1390 +				    <td>一十
  3.1391 +				    <td>一十一
  3.1392 +				    <td>九十九
  3.1393 +				    <td>一百
  3.1394 +				    <td>一百一
  3.1395 +				    <td>一万
  3.1396 +				<tr><th scope="row">''japanese-formal''
  3.1397 +				    <td>零
  3.1398 +				    <td>壱
  3.1399 +				    <td>弐
  3.1400 +				    <td>参
  3.1401 +				    <td>壱拾
  3.1402 +				    <td>壱拾壱
  3.1403 +				    <td>九拾九
  3.1404 +				    <td>壱百
  3.1405 +				    <td>壱百壱
  3.1406 +				    <td>壱萬
  3.1407 +				<tr><th scope="row">''korean-hangul-formal''
  3.1408 +				    <td>영
  3.1409 +				    <td>일
  3.1410 +				    <td>이
  3.1411 +				    <td>삼
  3.1412 +				    <td>일십
  3.1413 +				    <td>일십일
  3.1414 +				    <td>구십구
  3.1415 +				    <td>일백
  3.1416 +				    <td>일백일
  3.1417 +				    <td>일만
  3.1418 +				<tr><th scope="row">''korean-hanja-informal''
  3.1419 +				    <td>영
  3.1420 +				    <td>一
  3.1421 +				    <td>二
  3.1422 +				    <td>三
  3.1423 +				    <td>一十
  3.1424 +				    <td>一十一
  3.1425 +				    <td>九十九
  3.1426 +				    <td>一百
  3.1427 +				    <td>一百一
  3.1428 +				    <td>萬
  3.1429 +				<tr><th scope="row">''korean-hanja-formal''
  3.1430 +				    <td>零
  3.1431 +				    <td>壹
  3.1432 +				    <td>貳
  3.1433 +				    <td>參 
  3.1434 +				    <td>壹拾
  3.1435 +				    <td>壹拾壹
  3.1436 +				    <td>九拾九
  3.1437 +				    <td>壹百
  3.1438 +				    <td>壹百壹
  3.1439 +				    <td>壹萬
  3.1440 +				<tr><th scope="row">''simp-chinese-informal''
  3.1441 +		<dd>
  3.1442 +				    <td>零
  3.1443 +				    <td>一
  3.1444 +				    <td>二
  3.1445 +				    <td>三
  3.1446 +				    <td>十
  3.1447 +				    <td>十一
  3.1448 +				    <td>九十九
  3.1449 +				    <td>一百
  3.1450 +				    <td>一百零一
  3.1451 +				    <td>一万
  3.1452 +				<tr><th scope="row">''simp-chinese-formal''
  3.1453 +				    <td>零
  3.1454 +				    <td>壹
  3.1455 +				    <td>贰
  3.1456 +				    <td>叁
  3.1457 +				    <td>壹拾
  3.1458 +				    <td>壹拾壹
  3.1459 +				    <td>玖拾玖
  3.1460 +				    <td>壹佰
  3.1461 +				    <td>壹佰零壹
  3.1462 +				    <td>壹万
  3.1463 +				<tr><th scope="row">''trad-chinese-informal''
  3.1464 +				    <td>零
  3.1465 +				    <td>一
  3.1466 +				    <td>二
  3.1467 +				    <td>三
  3.1468 +				    <td>十
  3.1469 +				    <td>十一
  3.1470 +				    <td>九十九
  3.1471 +				    <td>一百
  3.1472 +				    <td>一百零一
  3.1473 +				    <td>一萬
  3.1474 +				    <td>
  3.1475 +				<tr><th scope="row">''trad-chinese-formal''
  3.1476 +				    <td>零
  3.1477 +				    <td>壹
  3.1478 +				    <td>貳
  3.1479 +				    <td>參
  3.1480 +				    <td>壹拾
  3.1481 +				    <td>壹拾壹
  3.1482 +				    <td>玖拾玖
  3.1483 +				    <td>壹佰
  3.1484 +				    <td>壹佰零壹
  3.1485 +				    <td>壹萬
  3.1486 +			</tbody>
  3.1487 +		</table>
  3.1488 +	</div>
  3.1489 +
  3.1490 +	<p>
  3.1491 +		The Korean and Japanese variants of these counter styles can,
  3.1492 +		if limited from 0 to 9999,
  3.1493 +		be expressed as ''@counter-style'' rules.
  3.1494 +		Thus, the implementation details are split into two sections:
  3.1495 +		a required section defining the styles over this limited range,
  3.1496 +		and an optional section defining them over a much larger range
  3.1497 +		that requires custom algorithms for all of the styles.
  3.1498 +
  3.1499 +<h4 id='limited-cjk'>
  3.1500 +Limited-range Implementation (required)</h4>
  3.1501 +
  3.1502 +<h5 id='limited-japanese' class="no-num no-toc">
  3.1503 +Japanese</h5>
  3.1504 +
  3.1505 +	<pre class='stylesheet'>
  3.1506 +@counter-style <dfn>japanese-informal</dfn> {
  3.1507 +	system: additive;
  3.1508 +	range: -9999 9999;
  3.1509 +	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \3007;
  3.1510 +	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇 */
  3.1511 +	suffix: '\3001';
  3.1512 +	/* 、 */
  3.1513 +	negative: "\30DE\30A4\30CA\30B9";
  3.1514 +	/* マイナス */
  3.1515 +	fallback: cjk-decimal;
  3.1516 +}
  3.1517 +
  3.1518 +@counter-style <dfn>japanese-formal</dfn> {
  3.1519 +	system: additive;
  3.1520 +	range: -9999 9999;
  3.1521 +	additive-symbols: 9000 \4E5D\9621, 8000 \516B\9621, 7000 \4E03\9621, 6000 \516D\9621, 5000 \4F0D\9621, 4000 \56DB\9621, 3000 \53C2\9621, 2000 \5F10\9621, 1000 \58F1\9621, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4F0D\767E, 400 \56DB\767E, 300 \53C2\767E, 200 \5F10\767E, 100 \58F1\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4F0D\62FE, 40 \56DB\62FE, 30 \53C2\62FE, 20 \5F10\62FE, 10 \58F1\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4F0D, 4 \56DB, 3 \53C2, 2 \5F10, 1 \58F1, 0 \96F6;
  3.1522 +	/* 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零 */
  3.1523 +	suffix: '\3001';
  3.1524 +	/* 、 */
  3.1525 +	negative: "\30DE\30A4\30CA\30B9";
  3.1526 +	/* マイナス */
  3.1527 +	fallback: cjk-decimal;
  3.1528 +}</pre>
  3.1529 +
  3.1530 +
  3.1531 +<h5 id=limited-korean class="no-num no-toc">
  3.1532 +Korean</h5>
  3.1533 +
  3.1534 +	<pre class='stylesheet'>
  3.1535 +@counter-style <dfn>korean-hangul-formal</dfn> {
  3.1536 +	system: additive;
  3.1537 +	range: 0 9999;
  3.1538 +	additive-symbols: 9000 \AD6C\CC9C, 8000 \D314\CC9C, 7000 \CE60\CC9C, 6000 \C721\CC9C, 5000 \C624\CC9C, 4000 \C0AC\CC9C, 3000 \C0BC\CC9C, 2000 \C774\CC9C, 1000 \C77C\CC9C, 900 \AD6C\BC31, 800 \D314\BC31, 700 \CE60\BC31, 600 \C721\BC31, 500 \C624\BC31, 400 \C0AC\BC31, 300 \C0BC\BC31, 200 \C774\BC31, 100 \C77C\BC31, 90 \AD6C\C2ED, 80 \D314\C2ED, 70 \CE60\C2ED, 60 \C721\C2ED, 50 \C624\C2ED, 40 \C0AC\C2ED, 30 \C0BC\C2ED, 20 \C774\C2ED, 10 \C77C\C2ED, 9 \AD6C, 8 \D314, 7 \CE60, 6 \C721, 5 \C624, 4 \C0AC, 3 \C0BC, 2 \C774, 1 \C77C, 0 \C601;
  3.1539 +	/* 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영 */
  3.1540 +	suffix: '\3001';
  3.1541 +	/* 、 */
  3.1542 +}
  3.1543 +
  3.1544 +@counter-style <dfn>korean-hanja-informal</dfn> {
  3.1545 +	system: additive;
  3.1546 +	range: 0 9999;
  3.1547 +	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \96F6;
  3.1548 +	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零 */
  3.1549 +	suffix: '\3001';
  3.1550 +	/* 、 */
  3.1551 +}
  3.1552 +
  3.1553 +@counter-style <dfn>korean-hanja-formal</dfn> {
  3.1554 +	system: additive;
  3.1555 +	range: 0 9999;
  3.1556 +	additive-symbols: 9000 \4E5D\4EDF, 8000 \516B\4EDF, 7000 \4E03\4EDF, 6000 \516D\4EDF, 5000 \4E94\4EDF, 4000 \56DB\4EDF, 3000 \53C3\4EDF, 2000 \8CB3\4EDF, 1000 \58F9\4EDF, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \53C3\767E, 200 \8CB3\767E, 100 \58F9\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4E94\62FE, 40 \56DB\62FE, 30 \53C3\62FE, 20 \8CB3\62FE, 10 \58F9\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \53C3, 2 \8CB3, 1 \58F9, 0 \96F6;
  3.1557 +	/* 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零 */
  3.1558 +	suffix: '\3001';
  3.1559 +	/* 、 */
  3.1560 +}</pre>
  3.1561 +
  3.1562 +
  3.1563 +<h5 id='limited-chinese' class="no-num no-toc">
  3.1564 +Chinese</h5>
  3.1565 +
  3.1566 +	<p>The Chinese longhand styles are defined over the range -9999 to 9999.  
  3.1567 +	For numbers outside this range, the ''cjk-decimal'' style is used.  All of the
  3.1568 +	styles are defined by almost identical algorithms (specified as a single
  3.1569 +	algorithm here, with the differences called out when relevant), but use 
  3.1570 +	different sets of characters.  The list following the algorithm gives the
  3.1571 +	name of each counter style using this algorithm, and the individual character
  3.1572 +	sets used by each style.
  3.1573 +
  3.1574 +	<ol>
  3.1575 +		<li>If the counter value is 0, the representation is the character for 0
  3.1576 +		specified for the given counter style.  Skip the rest of this algorithm.
  3.1577 +
  3.1578 +		<li>Initially represent the counter value as a decimal number.  For each 
  3.1579 +		digit that is not 0, append the appropriate digit marker to the digit.  
  3.1580 +		The ones digit has no marker.
  3.1581 +
  3.1582 +		<li>For the informal styles, if the counter value is between ten and 
  3.1583 +		nineteen, remove the tens digit (leave the digit marker).
  3.1584 +
  3.1585 +		<li>Drop any trailing zeros and collapse any remaining zeros into a single
  3.1586 +		zero digit.
  3.1587 +
  3.1588 +		<li>Replace the digits 0-9 with the appropriate character for the given
  3.1589 +		counter style.  Return the resultant string as the representation of the
  3.1590 +		counter value.
  3.1591 +	</ol>
  3.1592 +
  3.1593 +	<p>For all of these counter styles, the <i title='counter-suffix'>suffix descriptor</i>
  3.1594 +	is "、" U+3001, the <i title='counter-fallback'>fallback descriptor</i> is
  3.1595 +	''cjk-decimal'', the <i title='counter-lower-bound'>lower bound descriptor</i> 
  3.1596 +	is -9999, the <i title='counter-upper-bound'>upper bound descriptor</i> 
  3.1597 +	is 9999, and the <i title='counter-negative'>negative sign</i> is given in the table
  3.1598 +	of symbols for each style.
  3.1599 +
  3.1600 +	<p>The following tables define the characters used in these styles:
  3.1601 +
  3.1602 +	<table class='data'>
  3.1603 +		<thead>
  3.1604 +			<tr>
  3.1605 +				<th rowspan=2 scope=col>Values
  3.1606 +				<th colspan=4 scope=col>Codepoints
  3.1607 +			<tr>
  3.1608 +				<th><dfn>simp-chinese-informal</dfn>
  3.1609 +				<th><dfn>simp-chinese-formal</dfn>
  3.1610 +				<th><dfn>trad-chinese-informal</dfn>
  3.1611 +				<th><dfn>trad-chinese-formal</dfn>
  3.1612 +		</thead>
  3.1613 +		<tbody>
  3.1614 +			<tr>
  3.1615 +				<th scope=row>Digit 0
  3.1616 +				<td>零 U+96F6
  3.1617 +				<td>零 U+96F6
  3.1618 +				<td>零  U+96F6
  3.1619 +				<td>零  U+96F6
  3.1620 +			<tr>
  3.1621 +				<th scope=row>Digit 1
  3.1622 +				<td>一 U+4E00
  3.1623 +				<td>壹 U+58F9
  3.1624 +				<td>一 U+4E00
  3.1625 +				<td>壹  U+58F9
  3.1626 +			<tr>
  3.1627 +				<th scope=row>Digit 2
  3.1628 +				<td>二 U+4E8C
  3.1629 +				<td>贰 U+8D30
  3.1630 +				<td>二 U+4E8C
  3.1631 +				<td>貳  U+8CB3
  3.1632 +			<tr>
  3.1633 +				<th scope=row>Digit 3
  3.1634 +				<td>三 U+4E09
  3.1635 +				<td>叁 U+53C1
  3.1636 +				<td>三 U+4E09
  3.1637 +				<td>參  U+53C3
  3.1638 +			<tr>
  3.1639 +				<th scope=row>Digit 4
  3.1640 +				<td>四 U+56DB
  3.1641 +				<td>肆 U+8086
  3.1642 +				<td>四 U+56DB
  3.1643 +				<td>肆  U+8086
  3.1644 +			<tr>
  3.1645 +				<th scope=row>Digit 5
  3.1646 +				<td>五 U+4E94
  3.1647 +				<td>伍 U+4F0D
  3.1648 +				<td>五 U+4E94
  3.1649 +				<td>伍  U+4F0D
  3.1650 +			<tr>
  3.1651 +				<th scope=row>Digit 6
  3.1652 +				<td>六 U+516D
  3.1653 +				<td>陆 U+9646
  3.1654 +				<td>六 U+516D
  3.1655 +				<td>陸  U+9678
  3.1656 +			<tr>
  3.1657 +				<th scope=row>Digit 7
  3.1658 +				<td>七 U+4E03
  3.1659 +				<td>柒 U+67D2
  3.1660 +				<td>七 U+4E03
  3.1661 +				<td>柒  U+67D2
  3.1662 +			<tr>
  3.1663 +				<th scope=row>Digit 8
  3.1664 +				<td>八 U+516B
  3.1665 +				<td>捌 U+634C
  3.1666 +				<td>八 U+516B
  3.1667 +				<td>捌  U+634C
  3.1668 +			<tr>
  3.1669 +				<th scope=row>Digit 9
  3.1670 +				<td>九 U+4E5D
  3.1671 +				<td>玖 U+7396
  3.1672 +				<td>九 U+4E5D
  3.1673 +				<td>玖  U+7396
  3.1674 +			<tr>
  3.1675 +				<th scope=row>Tens Digit Marker
  3.1676 +				<td>十 U+5341
  3.1677 +				<td>拾 U+62FE
  3.1678 +				<td>十 U+5341
  3.1679 +				<td>拾  U+62FE
  3.1680 +			<tr>
  3.1681 +				<th scope=row>Hundreds Digit Marker
  3.1682 +				<td>百 U+767E
  3.1683 +				<td>佰 U+4F70
  3.1684 +				<td>百 U+767E 
  3.1685 +				<td>佰  U+4F70
  3.1686 +			<tr>
  3.1687 +				<th scope=row>Thousands Digit Marker
  3.1688 +				<td>千 U+5343
  3.1689 +				<td>仟 U+4EDF
  3.1690 +				<td>千 U+5343
  3.1691 +				<td>仟  U+4EDF
  3.1692 +			<tr>
  3.1693 +				<th scope=row>Negative Sign
  3.1694 +				<td>负 U+8D1F
  3.1695 +				<td>負 U+8D1F
  3.1696 +				<td>負 U+8CA0
  3.1697 +				<td>負 U+8CA0
  3.1698 +		</tbody>
  3.1699 +	</table>
  3.1700 +
  3.1701 +	<div class='note'>
  3.1702 +		<p>For reference, here are the first 120 values for the ''simp-chinese-informal'' style:
  3.1703 +
  3.1704 +		<pre>
  3.1705 +  1     一    41   四十一    81   八十一
  3.1706 +  2     二    42   四十二    82   八十二
  3.1707 +  3     三    43   四十三    83   八十三
  3.1708 +  4     四    44   四十四    84   八十四
  3.1709 +  5     五    45   四十五    85   八十五
  3.1710 +  6     六    46   四十六    86   八十六
  3.1711 +  7     七    47   四十七    87   八十七
  3.1712 +  8     八    48   四十八    88   八十八
  3.1713 +  9     九    49   四十九    89   八十九
  3.1714 + 10     十    50    五十    90    九十
  3.1715 + 11    十一    51   五十一    91   九十一
  3.1716 + 12    十二    52   五十二    92   九十二
  3.1717 + 13    十三    53   五十三    93   九十三
  3.1718 + 14    十四    54   五十四    94   九十四
  3.1719 + 15    十五    55   五十五    95   九十五
  3.1720 + 16    十六    56   五十六    96   九十六
  3.1721 + 17    十七    57   五十七    97   九十七
  3.1722 + 18    十八    58   五十八    98   九十八
  3.1723 + 19    十九    59   五十九    99   九十九
  3.1724 + 20    二十    60    六十   100    一百
  3.1725 + 21   二十一    61   六十一   101  一百零一
  3.1726 + 22   二十二    62   六十二   102  一百零二
  3.1727 + 23   二十三    63   六十三   103  一百零三
  3.1728 + 24   二十四    64   六十四   104  一百零四
  3.1729 + 25   二十五    65   六十五   105  一百零五
  3.1730 + 26   二十六    66   六十六   106  一百零六
  3.1731 + 27   二十七    67   六十七   107  一百零七
  3.1732 + 28   二十八    68   六十八   108  一百零八
  3.1733 + 29   二十九    69   六十九   109  一百零九
  3.1734 + 30    三十    70    七十   110  一百一十
  3.1735 + 31   三十一    71   七十一   111 一百一十一
  3.1736 + 32   三十二    72   七十二   112 一百一十二
  3.1737 + 33   三十三    73   七十三   113 一百一十三
  3.1738 + 34   三十四    74   七十四   114 一百一十四
  3.1739 + 35   三十五    75   七十五   115 一百一十五
  3.1740 + 36   三十六    76   七十六   116 一百一十六
  3.1741 + 37   三十七    77   七十七   117 一百一十七
  3.1742 + 38   三十八    78   七十八   118 一百一十八
  3.1743 + 39   三十九    79   七十九   119 一百一十九
  3.1744 + 40    四十    80    八十   120  一百二十</pre>
  3.1745 +	</div>		
  3.1746 +
  3.1747 +<!-- ====================================================================== -->
  3.1748 +
  3.1749 +<h4 id='extended-cjk'>
  3.1750 +Extended Implementation (optional)</h4>
  3.1751 +
  3.1752 +	<p>Some counter styles described in earlier chapters have been limited to an artifically small (though still useful) range to reduce the overall complexity of the spec and the task of implementing those styles.  However, some implementations might consider the extra complexity worthwhile  for the additional range it offers to authors.  To accomodate this, this section describes how to extend the limited counter-styles to a larger range.
  3.1753 +
  3.1754 +	<p>This entire section is normative, but <strong>optional</strong>.  User-agents may ignore it and still be conformant.  If a user-agent implements some of the extended forms described in this section, they must be implemented as described here.
  3.1755 +
  3.1756 +	<p>The Chinese longhand styles are defined out to 10k with a <a href='#cjk-counter-styles'>specialized algorithm</a>, while the Japanese and Korean longhand styles are defined similarly as ''additive'' styles.  However, these styles are defined out to 10<sup>16</sup> in common usage.  The following section describes an alternative algorithm for these styles.
  3.1757 +
  3.1758 +	<p>The Chinese and Japanese styles are defined for all numbers between 
  3.1759 +	-10<sup>16</sup> and 10<sup>16</sup>, exclusive; the Korean styles are 
  3.1760 +	defined for all non-negative numbers less than 10<sup>16</sup>.  For numbers
  3.1761 +	outside this range, the ''cjk-decimal'' style is used.  All of the
  3.1762 +	styles are defined by almost identical algorithms (specified as a single
  3.1763 +	algorithm here, with the differences called out when relevant), but use 
  3.1764 +	different sets of characters.  The list following the algorithm gives the
  3.1765 +	name of each counter style using this algorithm, and the individual character
  3.1766 +	sets used by each style.
  3.1767 +
  3.1768 +	<ol>
  3.1769 +		<li>If the counter value is 0, the representation is the character for 0
  3.1770 +		specified for the given counter style.  Skip the rest of this algorithm.
  3.1771 +
  3.1772 +		<li>Initially represent the counter value as a decimal number.  Starting
  3.1773 +		from the right (ones place), split the decimal number into groups of
  3.1774 +		four digits.
  3.1775 +
  3.1776 +		<li>For each group with a non-zero value, append the appropriate group
  3.1777 +		marker to the group.  The ones group has no marker.
  3.1778 +
  3.1779 +		<li>Within each group, for each digit that is not 0, append the appropriate
  3.1780 +		digit marker to the digit.  The ones digit of each group has no marker.
  3.1781 +
  3.1782 +		<li>Drop ones:
  3.1783 +			<ul>
  3.1784 +				<li>For the Chinese informal styles, for any group with a value
  3.1785 +				between ten and nineteen, remove the tens digit (leave the digit
  3.1786 +				marker).
  3.1787 +
  3.1788 +				<li>For the Japanese informal and Korean informal styles, if any
  3.1789 +				of the digit markers are preceded by the digit 1, and that digit
  3.1790 +				is not the first digit of the group, remove the digit (leave the
  3.1791 +				digit marker).
  3.1792 +
  3.1793 +				<li>For Korean informal styles, if the value of the ten-thousands
  3.1794 +				group is 1, drop the digit (leave the digit marker).
  3.1795 +			</ul>
  3.1796 +		
  3.1797 +
  3.1798 +		<li>Drop zeros:
  3.1799 +			<ul>
  3.1800 +				<li>For the Japanese and Korean styles, drop all zero digits.
  3.1801 +
  3.1802 +				<li>For the Chinese styles, drop any trailing zeros for all
  3.1803 +				non-zero groups and collapse (across groups) each remaining
  3.1804 +				consecutive group of zeros into a single zero digit.
  3.1805 +			</ul>
  3.1806 +		
  3.1807 +
  3.1808 +		<li>For the Korean styles, insert a space (" " U+0020) between each group.
  3.1809 +
  3.1810 +		<li>Replace the digits 0-9 with the appropriate character for the given
  3.1811 +		counter style.  Return the resultant string as the representation of the
  3.1812 +		counter value.
  3.1813 +	</ol>
  3.1814 +
  3.1815 +	<p>For all of these counter styles, the <i title='counter-suffix'>suffix descriptor</i>
  3.1816 +	is "、" U+3001, the <i title='counter-fallback'>fallback descriptor</i> is
  3.1817 +	''cjk-decimal'', and the <i title='counter-negative'>negative sign</i> is given in the tables
  3.1818 +	below, or else is the initial value of the descriptor.  For Chinese and Japanese, the 
  3.1819 +	<i title='counter-lower-range'>lower range bound descriptor</i> is -9999 9999 9999 9999
  3.1820 +	(-10<sup>16</sup>+1), while for Korean it's 0.  For all of them, the
  3.1821 +	<i title='counter-upper-range'>upper range bound descriptor</i> is 9999 9999 9999 9999
  3.1822 +	(10<sup>16</sup>-1).
  3.1823 +
  3.1824 +	<p>The following tables define the characters used in these styles:
  3.1825 +
  3.1826 +	<table class='data'>
  3.1827 +		<thead>
  3.1828 +			<tr>
  3.1829 +				<th rowspan=2 scope=col>Values
  3.1830 +				<th colspan=4 scope=col>Codepoints
  3.1831 +			<tr>
  3.1832 +				<th><dfn>simp-chinese-informal</dfn>
  3.1833 +				<th><dfn>simp-chinese-formal</dfn>
  3.1834 +				<th><dfn>trad-chinese-informal</dfn>
  3.1835 +				<th><dfn>trad-chinese-formal</dfn>
  3.1836 +		</thead>
  3.1837 +		<tbody>
  3.1838 +			<tr>
  3.1839 +				<th scope=row>Digit 0
  3.1840 +				<td>零 U+96F6
  3.1841 +				<td>零 U+96F6
  3.1842 +				<td>零 U+96F6
  3.1843 +				<td>零 U+96F6
  3.1844 +			<tr>
  3.1845 +				<th scope=row>Digit 1
  3.1846 +				<td>一 U+4E00
  3.1847 +				<td>壹 U+58F9
  3.1848 +				<td>一 U+4E00
  3.1849 +				<td>壹 U+58F9
  3.1850 +			<tr>
  3.1851 +				<th scope=row>Digit 2
  3.1852 +				<td>二 U+4E8C
  3.1853 +				<td>贰 U+8D30
  3.1854 +				<td>二 U+4E8C
  3.1855 +				<td>貳 U+8CB3
  3.1856 +			<tr>
  3.1857 +				<th scope=row>Digit 3
  3.1858 +				<td>三 U+4E09
  3.1859 +				<td>叁 U+53C1
  3.1860 +				<td>三 U+4E09
  3.1861 +				<td>參 U+53C3
  3.1862 +			<tr>
  3.1863 +				<th scope=row>Digit 4
  3.1864 +				<td>四 U+56DB
  3.1865 +				<td>肆 U+8086
  3.1866 +				<td>四 U+56DB
  3.1867 +				<td>肆 U+8086
  3.1868 +			<tr>
  3.1869 +				<th scope=row>Digit 5
  3.1870 +				<td>五 U+4E94
  3.1871 +				<td>伍 U+4F0D
  3.1872 +				<td>五 U+4E94
  3.1873 +				<td>伍 U+4F0D
  3.1874 +			<tr>
  3.1875 +				<th scope=row>Digit 6
  3.1876 +				<td>六 U+516D
  3.1877 +				<td>陆 U+9646
  3.1878 +				<td>六 U+516D
  3.1879 +				<td>陸 U+9678
  3.1880 +			<tr>
  3.1881 +				<th scope=row>Digit 7
  3.1882 +				<td>七 U+4E03
  3.1883 +				<td>柒 U+67D2
  3.1884 +				<td>七 U+4E03
  3.1885 +				<td>柒 U+67D2
  3.1886 +			<tr>
  3.1887 +				<th scope=row>Digit 8
  3.1888 +				<td>八 U+516B
  3.1889 +				<td>捌 U+634C
  3.1890 +				<td>八 U+516B
  3.1891 +				<td>捌 U+634C
  3.1892 +			<tr>
  3.1893 +				<th scope=row>Digit 9
  3.1894 +				<td>九 U+4E5D
  3.1895 +				<td>玖 U+7396
  3.1896 +				<td>九 U+4E5D
  3.1897 +				<td>玖 U+7396
  3.1898 +			<tr>
  3.1899 +				<th scope=row>Second Digit Marker
  3.1900 +				<td>十 U+5341
  3.1901 +				<td>拾 U+62FE
  3.1902 +				<td>十 U+5341
  3.1903 +				<td>拾 U+62FE
  3.1904 +			<tr>
  3.1905 +				<th scope=row>Third Digit Marker
  3.1906 +				<td>百 U+767E
  3.1907 +				<td>佰 U+4F70
  3.1908 +				<td>百 U+767E 
  3.1909 +				<td>佰 U+4F70
  3.1910 +			<tr>
  3.1911 +				<th scope=row>Fourth Digit Marker
  3.1912 +				<td>千 U+5343
  3.1913 +				<td>仟 U+4EDF
  3.1914 +				<td>千 U+5343
  3.1915 +				<td>仟 U+4EDF
  3.1916 +			<tr>
  3.1917 +				<th scope=row>Second Group Marker
  3.1918 +				<td>万 U+4E07
  3.1919 +				<td>万 U+4E07
  3.1920 +				<td>萬 U+842C
  3.1921 +				<td>萬 U+842C
  3.1922 +			<tr>
  3.1923 +				<th scope=row>Third Group Marker
  3.1924 +				<td>亿 U+4EBF
  3.1925 +				<td>亿 U+4EBF
  3.1926 +				<td>億 U+5104
  3.1927 +				<td>億 U+5104
  3.1928 +			<tr>
  3.1929 +				<th scope=row>Fourth Group Marker
  3.1930 +				<td>万亿 U+4E07 U+4EBF
  3.1931 +				<td>万亿 U+4E07 U+4EBF
  3.1932 +				<td>兆 U+5146
  3.1933 +				<td>兆 U+5146
  3.1934 +			<tr>
  3.1935 +				<th scope=row>Negative Sign
  3.1936 +				<td>负 U+8D1F
  3.1937 +				<td>負 U+8D1F
  3.1938 +				<td>負 U+8CA0
  3.1939 +				<td>負 U+8CA0
  3.1940 +		</tbody>
  3.1941 +	</table>
  3.1942 +
  3.1943 +	<table class='data'>
  3.1944 +		<thead>
  3.1945 +			<tr>
  3.1946 +				<th rowspan=2 scope=col>Values
  3.1947 +				<th colspan=2 scope=col>Codepoints
  3.1948 +			<tr>
  3.1949 +				<th><dfn>japanese-informal</dfn>
  3.1950 +				<th><dfn>japanese-formal</dfn>
  3.1951 +		</thead>
  3.1952 +		<tbody>
  3.1953 +			<tr>
  3.1954 +				<th scope=row>Digit 0
  3.1955 +				<td>〇 U+3007
  3.1956 +				<td>零 U+96F6
  3.1957 +			<tr>
  3.1958 +				<th scope=row>Digit 1
  3.1959 +				<td>一 U+4E00
  3.1960 +				<td>壱 U+58F1
  3.1961 +			<tr>
  3.1962 +				<th scope=row>Digit 2
  3.1963 +				<td>二 U+4E8C
  3.1964 +				<td>弐 U+5F10
  3.1965 +			<tr>
  3.1966 +				<th scope=row>Digit 3
  3.1967 +				<td>三 U+4E09
  3.1968 +				<td>参 U+53C2
  3.1969 +			<tr>
  3.1970 +				<th scope=row>Digit 4
  3.1971 +				<td>四 U+56DB
  3.1972 +				<td>四 U+56DB
  3.1973 +			<tr>
  3.1974 +				<th scope=row>Digit 5
  3.1975 +				<td>五 U+4E94
  3.1976 +				<td>伍 U+4f0D
  3.1977 +			<tr>
  3.1978 +				<th scope=row>Digit 6
  3.1979 +				<td>六 U+516D
  3.1980 +				<td>六 U+516D
  3.1981 +			<tr>
  3.1982 +				<th scope=row>Digit 7
  3.1983 +				<td>七 U+4E03
  3.1984 +				<td>七 U+4E03
  3.1985 +			<tr>
  3.1986 +				<th scope=row>Digit 8
  3.1987 +				<td>八 U+516B
  3.1988 +				<td>八 U+516B
  3.1989 +			<tr>
  3.1990 +				<th scope=row>Digit 9
  3.1991 +				<td>九 U+4E5D
  3.1992 +				<td>九 U+4E5D
  3.1993 +			<tr>
  3.1994 +				<th scope=row>Second Digit Marker
  3.1995 +				<td>十 U+5341
  3.1996 +				<td>拾 U+62FE
  3.1997 +			<tr>
  3.1998 +				<th scope=row>Third Digit Marker
  3.1999 +				<td>百 U+767E
  3.2000 +				<td>百 U+767E
  3.2001 +			<tr>
  3.2002 +				<th scope=row>Fourth Digit Marker
  3.2003 +				<td>千 U+5343
  3.2004 +				<td>阡 U+9621
  3.2005 +			<tr>
  3.2006 +				<th scope=row>Second Group Marker
  3.2007 +				<td>万 U+4E07
  3.2008 +				<td>萬 U+842C
  3.2009 +			<tr>
  3.2010 +				<th scope=row>Third Group Marker
  3.2011 +				<td>億 U+5104
  3.2012 +				<td>億 U+5104
  3.2013 +			<tr>
  3.2014 +				<th scope=row>Fourth Group Marker
  3.2015 +				<td>兆 U+5146
  3.2016 +				<td>兆 U+5146
  3.2017 +			<tr>
  3.2018 +				<th scope=row>Negative Sign
  3.2019 +				<td colspan=2>マイナス U+30DE U+30A4 U+30CA U+30B9
  3.2020 +		</tbody>
  3.2021 +	</table>
  3.2022 +
  3.2023 +	<table class='data'>
  3.2024 +		<thead>
  3.2025 +			<tr>
  3.2026 +				<th rowspan=2 scope=col>Values
  3.2027 +				<th colspan=3 scope=col>Codepoints
  3.2028 +			<tr>
  3.2029 +				<th><dfn>korean-hangul-formal</dfn>
  3.2030 +				<th><dfn>korean-hanja-informal</dfn>
  3.2031 +				<th><dfn>korean-hanja-formal</dfn>
  3.2032 +		</thead>
  3.2033 +		<tbody>
  3.2034 +			<tr>
  3.2035 +				<th scope=row>Digit 0
  3.2036 +				<td>영 U+C601
  3.2037 +				<td>零 U+96F6
  3.2038 +				<td>零 U+96F6
  3.2039 +			<tr>
  3.2040 +				<th scope=row>Digit 1
  3.2041 +				<td>일 U+C77C
  3.2042 +				<td>一 U+4E00
  3.2043 +				<td>壹 U+58F9
  3.2044 +			<tr>
  3.2045 +				<th scope=row>Digit 2
  3.2046 +				<td>이 U+C774
  3.2047 +				<td>二 U+4E8C
  3.2048 +				<td>貳 U+8CB3
  3.2049 +			<tr>
  3.2050 +				<th scope=row>Digit 3
  3.2051 +				<td>삼 U+C0BC
  3.2052 +				<td>三 U+4E09
  3.2053 +				<td>參 U+53C3
  3.2054 +			<tr>
  3.2055 +				<th scope=row>Digit 4
  3.2056 +				<td>사 U+C0AC
  3.2057 +				<td>四 U+56DB
  3.2058 +				<td>四 U+56DB
  3.2059 +			<tr>
  3.2060 +				<th scope=row>Digit 5
  3.2061 +				<td>오 U+C624
  3.2062 +				<td>五 U+4E94
  3.2063 +				<td>五 U+4E94
  3.2064 +			<tr>
  3.2065 +				<th scope=row>Digit 6
  3.2066 +				<td>육 U+C721
  3.2067 +				<td>六 U+516D
  3.2068 +				<td>六 U+516D
  3.2069 +			<tr>
  3.2070 +				<th scope=row>Digit 7
  3.2071 +				<td>칠 U+CE60
  3.2072 +				<td>七 U+4E03
  3.2073 +				<td>七 U+4E03
  3.2074 +			<tr>
  3.2075 +				<th scope=row>Digit 8
  3.2076 +				<td>팔 U+D314
  3.2077 +				<td>八 U+516B
  3.2078 +				<td>八 U+516B
  3.2079 +			<tr>
  3.2080 +				<th scope=row>Digit 9
  3.2081 +				<td>구 U+AD6C
  3.2082 +				<td>九 U+4E5D
  3.2083 +				<td>九 U+4E5D
  3.2084 +			<tr>
  3.2085 +				<th scope=row>Second Digit Marker
  3.2086 +				<td>십 U+C2ED
  3.2087 +				<td>十 U+5341
  3.2088 +				<td>拾 U+62FE
  3.2089 +			<tr>
  3.2090 +				<th scope=row>Third Digit Marker
  3.2091 +				<td>백 U+BC31
  3.2092 +				<td>百 U+767E
  3.2093 +				<td>百 U+767E
  3.2094 +			<tr>
  3.2095 +				<th scope=row>Fourth Digit Marker
  3.2096 +				<td>천 U+CC9C
  3.2097 +				<td>千 U+5343
  3.2098 +				<td>仟 U+4EDF
  3.2099 +			<tr>
  3.2100 +				<th scope=row>Second Group Marker
  3.2101 +				<td>만 U+B9CC
  3.2102 +				<td>萬 U+842C
  3.2103 +				<td>萬 U+842C
  3.2104 +			<tr>
  3.2105 +				<th scope=row>Third Group Marker
  3.2106 +				<td>억 U+C5B5
  3.2107 +				<td>億 U+5104
  3.2108 +				<td>億 U+5104
  3.2109 +			<tr>
  3.2110 +				<th scope=row>Fourth Group Marker
  3.2111 +				<td>조 U+C870
  3.2112 +				<td>兆 U+5146
  3.2113 +				<td>兆 U+5146
  3.2114 +		</tbody>
  3.2115 +	</table>
  3.2116 +
  3.2117 +
  3.2118 +<!-- ======================================================================= -->
  3.2119 +
  3.2120 +
  3.2121 +<h3 id='ethiopic-numeric-counter-style'>
  3.2122 +Ethiopic Numeric Counter Style: ''ethiopic-numeric''</h3>
  3.2123 +
  3.2124 +	<p class='issue'>
  3.2125 +		This counter style is not part of CSS 2.0 or 2.1,
  3.2126 +		but can't be represented well by @counter-style.
  3.2127 +		Should we keep it?
  3.2128 +
  3.2129 +	<p>The <dfn>ethiopic-numeric</dfn> counter style is defined for all positive non-zero numbers.
  3.2130 +		The following algorithm converts decimal digits to ethiopic numbers:
  3.2131 +
  3.2132 +	<ol>
  3.2133 +		<li>Split the number into groups of two digits, starting with the least
  3.2134 +		significant decimal digit.
  3.2135 +
  3.2136 +		<li>Index each group sequentially, starting from the least significant
  3.2137 +		as group number zero.
  3.2138 +
  3.2139 +		<li>If the group has an odd index (as given in the previous step) and
  3.2140 +		has the value 1, or if the group is the most significant one and has
  3.2141 +		the value 1, or if the group has the value zero, then remove the digit
  3.2142 +		(but leave the group, so it still has a separator appended below).
  3.2143 +
  3.2144 +		<li>For each remaining digit, substitute the relevant ethiopic character
  3.2145 +		from the list below.
  3.2146 +			<table class=data>
  3.2147 +				<thead>
  3.2148 +					<tr>
  3.2149 +						<th colspan="3">Tens
  3.2150 +						<th colspan="3">Units
  3.2151 +					<tr>
  3.2152 +						<th>Values
  3.2153 +						<th colspan="2">Codepoints
  3.2154 +						<th>Values
  3.2155 +						<th colspan="2">Codepoints
  3.2156 +				<tbody>
  3.2157 +					<tr>
  3.2158 +						<td>10
  3.2159 +						<td>፲
  3.2160 +						<td>U+1372
  3.2161 +						<td>1
  3.2162 +						<td>፩
  3.2163 +						<td>U+1369
  3.2164 +					<tr>
  3.2165 +						<td>20
  3.2166 +						<td>፳
  3.2167 +						<td>U+1373
  3.2168 +						<td>2
  3.2169 +						<td>፪
  3.2170 +						<td>U+136A
  3.2171 +					<tr>
  3.2172 +						<td>30
  3.2173 +						<td>፴
  3.2174 +						<td>U+1374
  3.2175 +						<td>3
  3.2176 +						<td>፫
  3.2177 +						<td>U+136B
  3.2178 +					<tr>
  3.2179 +						<td>40
  3.2180 +						<td>፵
  3.2181 +						<td>U+1375
  3.2182 +						<td>4
  3.2183 +						<td>፬
  3.2184 +						<td>U+136C
  3.2185 +					<tr>
  3.2186 +						<td>50
  3.2187 +						<td>፶
  3.2188 +						<td>U+1376
  3.2189 +						<td>5
  3.2190 +						<td>፭
  3.2191 +						<td>U+136D
  3.2192 +					<tr>
  3.2193 +						<td>60
  3.2194 +						<td>፷
  3.2195 +						<td>U+1377
  3.2196 +						<td>6
  3.2197 +						<td>፮
  3.2198 +						<td>U+136E
  3.2199 +					<tr>
  3.2200 +						<td>70
  3.2201 +						<td>፸
  3.2202 +						<td>U+1378
  3.2203 +						<td>7
  3.2204 +						<td>፯
  3.2205 +						<td>U+136F
  3.2206 +					<tr>
  3.2207 +						<td>80
  3.2208 +						<td>፹
  3.2209 +						<td>U+1379
  3.2210 +						<td>8
  3.2211 +						<td>፰
  3.2212 +						<td>U+1370
  3.2213 +					<tr>
  3.2214 +						<td>90
  3.2215 +						<td>፺
  3.2216 +						<td>U+137A
  3.2217 +						<td>9
  3.2218 +						<td>፱
  3.2219 +						<td>U+1371
  3.2220 +			</table>
  3.2221 +		
  3.2222 +
  3.2223 +		<li>For each group with an odd index (as given in the second step) that 
  3.2224 +		did not have its digits removed in the third step, append ፻ U+137B.
  3.2225 +
  3.2226 +		<li>For each group with an even index (as given in the second step),
  3.2227 +		except the group with number 0, append ፼ U+137C.
  3.2228 +
  3.2229 +		<li>Concatenate the groups into one string.
  3.2230 +	</ol>
  3.2231 +
  3.2232 +	<p>For this system, the <i title='counter-name'>name</i> is "ethiopic-numeric",
  3.2233 +	the <i title='counter-lower-bound'>lower range bound descriptor</i> is 1, the 
  3.2234 +	<i title='counter-upper-bound'>upper range bound descriptor</i> is infinity, and 
  3.2235 +	the rest of the descriptors have their initial value.
  3.2236 +
  3.2237 +	<p class='issue'>Is there a better suffix to use than the initial (".")?  The
  3.2238 +	alphabetic ethiopic systems use a different suffix.
  3.2239 +
  3.2240 +	<div class="example">
  3.2241 +		<p>The decimal number 100, in ethiopic, is ፻ U+137B <!-- odd -->
  3.2242 +
  3.2243 +		<p> The decimal number 78010092, in ethiopic, is
  3.2244 +		፸፰፻፩፼፺፪ 
  3.2245 +		U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even --> U+137A U+136A. <!-- 90 2 -->
  3.2246 +
  3.2247 +		<p> The decimal number 780000001092, in ethiopic, is
  3.2248 +		፸፰፻፩፼፼፺፪
  3.2249 +		U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even --> U+137C <!-- even --> U+137A U+136A. <!-- 90 2 -->
  3.2250 +	</div>
  3.2251 +
  3.2252 +
  3.2253 +
  3.2254 +<h2 id="apis">APIs</h2>
  3.2255 +
  3.2256 +<h3 id='extentions-to-cssrule-interface'>
  3.2257 +Extensions to the <code>CSSRule</code> interface</h3>
  3.2258 +
  3.2259 +	<p>
  3.2260 +		The <code>CSSRule</code> interface is extended as follows:
  3.2261 +
  3.2262 +	<pre class='idl'><!--
  3.2263 +	-->partial interface CSSRule {&#xa;<!--
  3.2264 +	-->    const unsigned short COUNTER_STYLE_RULE = 11;&#xa;<!--
  3.2265 +	-->}</pre>
  3.2266 +
  3.2267 +
  3.2268 +<h3 id="the-csscounterstylerule-interface">
  3.2269 +The <code>CSSCounterStyleRule</code> interface</h3>
  3.2270 +
  3.2271 +	<p>
  3.2272 +		The <dfn>CSSCounterStyleRule</dfn> interface represents a ''@counter-style'' rule.
  3.2273 +
  3.2274 +	<pre class='idl'><!--
  3.2275 +	-->interface CSSCounterStyleRule : CSSRule {&#xa;<!--
  3.2276 +	-->  readonly attribute DOMString name;&#xa;<!--
  3.2277 +	-->  readonly attribute DOMString system;&#xa;<!--
  3.2278 +	-->  readonly attribute DOMString symbols;&#xa;<!--
  3.2279 +	-->  readonly attribute DOMString additiveSymbols;&#xa;<!--
  3.2280 +	-->  readonly attribute DOMString negative;&#xa;<!--
  3.2281 +	-->  readonly attribute DOMString prefix;&#xa;<!--
  3.2282 +	-->  readonly attribute DOMString suffix;&#xa;<!--
  3.2283 +	-->  readonly attribute DOMString range;&#xa;<!--
  3.2284 +	-->  readonly attribute DOMString fallback;&#xa;<!--
  3.2285 +	-->}</pre>
  3.2286 +
  3.2287 +	<dl class='idl-attributes'>
  3.2288 +		<dt><var>name</var> of type <code>DOMString</code>, readonly
  3.2289 +		<dd>
  3.2290 +			The <var>name</var> attribute must return a <code>DOMString</code> object that contains the serialization of the <var>&lt;counter-style-name></var> defined for the associated ''@counter-style'' block.
  3.2291 +
  3.2292 +		<dt>everything else
  3.2293 +		<dd>
  3.2294 +			The remaining attributes must return a <code>DOMString</code> object that contains the serialization of the associated descriptor defined for the associated ''@counter-style'' block.
  3.2295 +	</dl>
  3.2296 +
  3.2297 +
  3.2298 +<h2 class="no-num" id="acknowledgments">
  3.2299 +Acknowledgments</h2>
  3.2300 +
  3.2301 +	<p>
  3.2302 +		The following people and documentation they wrote were very useful for defining the numbering systems: 
  3.2303 +		<!-- alphabetical by full name -->
  3.2304 +		Alexander Savenkov,
  3.2305 +		Arron Eicholz,
  3.2306 +		Aryeh Gregor,
  3.2307 +		Christopher Hoess,
  3.2308 +		Daniel Yacob,
  3.2309 +		Frank Tang,
  3.2310 +		Jonathan Rosenne,
  3.2311 +		Karl Ove Hufthammer,
  3.2312 +		Musheg Arakelyan,
  3.2313 +		Nariné Renard Karapetyan,
  3.2314 +		Randall Bart,
  3.2315 +		Richard Ishida,
  3.2316 +		Simon Montagu (Mozilla, smontagu@smontagu.org)
  3.2317 +	
  3.2318 +
  3.2319 +		<!-- see http://www.damowmow.com/temp/csswg/lists/part2.html 
  3.2320 +		     http://www.qsm.co.il/Hebrew/Gimatria.htm
  3.2321 +		     http://people.netscape.com/smontagu/writings/HebrewNumbers.html
  3.2322 +		     http://www.ethiopic.org/Collation/OrderedLists.html
  3.2323 +		     http://bugzilla.mozilla.org/show_bug.cgi?id=102252 -->
  3.2324 +
  3.2325 +<h2 id="conformance" class='no-num'>
  3.2326 +Conformance</h2>
  3.2327 +
  3.2328 +<h3 id="conventions" class='no-num'>
  3.2329 +Document Conventions</h3>
  3.2330 +
  3.2331 +	<p>Conformance requirements are expressed with a combination of
  3.2332 +	descriptive assertions and RFC 2119 terminology. The key words “MUST”,
  3.2333 +	“MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”,
  3.2334 +	“RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this
  3.2335 +	document are to be interpreted as described in RFC 2119.
  3.2336 +	However, for readability, these words do not appear in all uppercase
  3.2337 +	letters in this specification.
  3.2338 +	
  3.2339 +	<p>All of the text of this specification is normative except sections
  3.2340 +	explicitly marked as non-normative, examples, and notes. [[!RFC2119]]
  3.2341 +	
  3.2342 +	<p>Examples in this specification are introduced with the words “for example”
  3.2343 +	or are set apart from the normative text with <code>class="example"</code>,
  3.2344 +	like this:
  3.2345 +	
  3.2346 +	<div class="example">
  3.2347 +		<p>This is an example of an informative example.
  3.2348 +	</div>
  3.2349 +	
  3.2350 +	<p>Informative notes begin with the word “Note” and are set apart from the
  3.2351 +	normative text with <code>class="note"</code>, like this:
  3.2352 +	
  3.2353 +	<p class="note">Note, this is an informative note.
  3.2354 +
  3.2355 +<h3 id="conformance-classes" class='no-num'>
  3.2356 +Conformance Classes</h3>
  3.2357 +
  3.2358 +	<p>Conformance to CSS Counter Styles Module
  3.2359 +	is defined for three conformance classes:
  3.2360 +	<dl>
  3.2361 +		<dt><dfn title="style sheet!!as conformance class">style sheet</dfn>
  3.2362 +			<dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#style-sheet">CSS
  3.2363 +			style sheet</a>.
  3.2364 +		<dt><dfn>renderer</dfn></dt>
  3.2365 +			<dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a>
  3.2366 +			that interprets the semantics of a style sheet and renders
  3.2367 +			documents that use them.
  3.2368 +		<dt><dfn id="authoring-tool">authoring tool</dfn></dt>
  3.2369 +			<dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a>
  3.2370 +			that writes a style sheet.
  3.2371 +	</dl>
  3.2372 +	
  3.2373 +	<p>A style sheet is conformant to CSS Counter Styles Module
  3.2374 +	if all of its declarations that use properties defined in this module
  3.2375 +	have values that are valid according to the generic CSS grammar and the
  3.2376 +	individual grammars of each property as given in this module.
  3.2377 +	
  3.2378 +	<p>A renderer is conformant to CSS Counter Styles Module
  3.2379 +	if, in addition to interpreting the style sheet as defined by the
  3.2380 +	appropriate specifications, it supports all the features defined
  3.2381 +	by CSS Counter Styles Module by parsing them correctly
  3.2382 +	and rendering the document accordingly. However, the inability of a
  3.2383 +	UA to correctly render a document due to limitations of the device
  3.2384 +	does not make the UA non-conformant. (For example, a UA is not
  3.2385 +	required to render color on a monochrome monitor.)
  3.2386 +	
  3.2387 +	<p>An authoring tool is conformant to CSS Counter Styles Module
  3.2388 +	if it writes style sheets that are syntactically correct according to the
  3.2389 +	generic CSS grammar and the individual grammars of each feature in
  3.2390 +	this module, and meet all other conformance requirements of style sheets
  3.2391 +	as described in this module.
  3.2392 +
  3.2393 +<h3 id="partial" class='no-num'>
  3.2394 +Partial Implementations</h3>
  3.2395 +
  3.2396 +	<p>So that authors can exploit the forward-compatible parsing rules to
  3.2397 +	assign fallback values, CSS renderers <strong>must</strong>
  3.2398 +	treat as invalid (and <a href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore
  3.2399 +	as appropriate</a>) any at-rules, properties, property values, keywords,
  3.2400 +	and other syntactic constructs for which they have no usable level of
  3.2401 +	support. In particular, user agents <strong>must not</strong> selectively
  3.2402 +	ignore unsupported component values and honor supported values in a single
  3.2403 +	multi-value property declaration: if any value is considered invalid
  3.2404 +	(as unsupported values must be), CSS requires that the entire declaration
  3.2405 +	be ignored.
  3.2406 +	
  3.2407 +<h3 id="experimental" class='no-num'>
  3.2408 +Experimental Implementations</h3>
  3.2409 +
  3.2410 +	<p>To avoid clashes with future CSS features, the CSS2.1 specification
  3.2411 +	reserves a <a href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed
  3.2412 +	syntax</a> for proprietary and experimental extensions to CSS.
  3.2413 +	
  3.2414 +	<p>Prior to a specification reaching the Candidate Recommendation stage
  3.2415 +	in the W3C process, all implementations of a CSS feature are considered
  3.2416 +	experimental. The CSS Working Group recommends that implementations
  3.2417 +	use a vendor-prefixed syntax for such features, including those in
  3.2418 +	W3C Working Drafts. This avoids incompatibilities with future changes
  3.2419 +	in the draft.
  3.2420 +	
  3.2421 + 
  3.2422 +<h3 id="testing" class='no-num'>
  3.2423 +Non-Experimental Implementations</h3>
  3.2424 +
  3.2425 +	<p>Once a specification reaches the Candidate Recommendation stage,
  3.2426 +	non-experimental implementations are possible, and implementors should
  3.2427 +	release an unprefixed implementation of any CR-level feature they
  3.2428 +	can demonstrate to be correctly implemented according to spec.
  3.2429 +	
  3.2430 +	<p>To establish and maintain the interoperability of CSS across
  3.2431 +	implementations, the CSS Working Group requests that non-experimental
  3.2432 +	CSS renderers submit an implementation report (and, if necessary, the
  3.2433 +	testcases used for that implementation report) to the W3C before
  3.2434 +	releasing an unprefixed implementation of any CSS features. Testcases
  3.2435 +	submitted to W3C are subject to review and correction by the CSS
  3.2436 +	Working Group.
  3.2437 +	
  3.2438 +	<p>Further information on submitting testcases and implementation reports
  3.2439 +	can be found from on the CSS Working Group's website at
  3.2440 +	<a href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>.
  3.2441 +	Questions should be directed to the
  3.2442 +	<a href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a>
  3.2443 +	mailing list.
  3.2444 +
  3.2445 +<h2 class="no-num" id="references">References</h2>
  3.2446 +
  3.2447 +<h3 class="no-num">Normative references</h3>
  3.2448 +<!--normative-->
  3.2449 +
  3.2450 +<h3 class="no-num">Other references</h3>
  3.2451 +<!--informative-->
  3.2452 +
  3.2453 +<h2 class="no-num">Property index</h2>
  3.2454 +<!-- properties -->
  3.2455 +
  3.2456 +<h2 class="no-num">Index</h2>
  3.2457 +<!--index-->
  3.2458 +
  3.2459 +
  3.2460 +
  3.2461 +
  3.2462 +
  3.2463 +
  3.2464 +
  3.2465 +
  3.2466 +
  3.2467 +
  3.2468 +
  3.2469 +
  3.2470 +
  3.2471 +<!--
  3.2472 +<h2 id='ua-stylesheet'>
  3.2473 +Predefined Counter Styles</h2>
  3.2474 +
  3.2475 +	<p>The CSS Lists and Counters specification [[!CSS3LIST]] defines a mechanism for authors to define almost any counter style they would want.  However, forcing authors to redefine common styles every time they are used would be unnecessarily onerous.  To aid in this regard, this specification predefines a large set of counter styles.  User agents must include the following stylesheet as a user-agent stylesheet, so authors can depend on these styles being present.
  3.2476 +
  3.2477 +	<p>As with any ''@counter-style'' rule, the counter style definitions given here can be overridden by the author if they desire to attach a different style to a counter style name defined in this stylesheet.
  3.2478 +
  3.2479 +	<p class='issue'>Should this chapter and the next be made an informative appendix rather than a required UA stylesheet?
  3.2480 +
  3.2481 +<h3 id='predefined-repeating'>
  3.2482 +Predefined Repeating Styles</h3>
  3.2483 +
  3.2484 +	<pre class=css><code><bdo dir="ltr">
  3.2485 +@counter-style <dfn>box</dfn> {
  3.2486 +	system: cyclic;
  3.2487 +	symbols: '\25FD';
  3.2488 +	/* '◽' */
  3.2489 +	suffix: '';
  3.2490 +}
  3.2491 +
  3.2492 +@counter-style <dfn>check</dfn> {
  3.2493 +	system: cyclic;
  3.2494 +	symbols: '\2713';
  3.2495 +	/* '✓' */
  3.2496 +	suffix: '';
  3.2497 +}
  3.2498 +
  3.2499 +@counter-style <dfn>circle</dfn> {
  3.2500 +	system: cyclic;
  3.2501 +	symbols: '\25E6';
  3.2502 +	/* '◦' */
  3.2503 +	suffix: '';
  3.2504 +}
  3.2505 +
  3.2506 +@counter-style <dfn>diamond</dfn> {
  3.2507 +	system: cyclic;
  3.2508 +	symbols: '\25C6';
  3.2509 +	/* '◆' */
  3.2510 +	suffix: '';
  3.2511 +}
  3.2512 +
  3.2513 +@counter-style <dfn>disc</dfn> {
  3.2514 +	system: cyclic;
  3.2515 +	symbols: '\2022';
  3.2516 +	/* '•' */
  3.2517 +	suffix: '';
  3.2518 +}
  3.2519 +
  3.2520 +@counter-style <dfn>dash</dfn> {
  3.2521 +	system: cyclic;
  3.2522 +	symbols: '\2043';
  3.2523 +	/* '⁃' */
  3.2524 +	suffix: '';
  3.2525 +}
  3.2526 +
  3.2527 +@counter-style <dfn>square</dfn> {
  3.2528 +	system: cyclic;
  3.2529 +	symbols: '\25FE';
  3.2530 +	/* '◾' */
  3.2531 +	suffix: '';
  3.2532 +}</bdo></code></pre>
  3.2533 +
  3.2534 +<h3 id='predefined-numeric'>
  3.2535 +Predefined Numeric Styles</h3>
  3.2536 +
  3.2537 +	<pre class=css><code><bdo dir="ltr">
  3.2538 +@counter-style <dfn>arabic-indic</dfn> {
  3.2539 +	system: numeric;
  3.2540 +	symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669';
  3.2541 +	/* '٠' '١' '٢' '٣' '٤' '٥' '٦' '٧' '٨' '٩' */
  3.2542 +}
  3.2543 +
  3.2544 +@counter-style <dfn>bengali</dfn> {
  3.2545 +	system: numeric;
  3.2546 +	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  3.2547 +	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  3.2548 +}
  3.2549 +
  3.2550 +@counter-style <dfn>binary</dfn> {
  3.2551 +	system: numeric;
  3.2552 +	symbols: '\30' '\31';
  3.2553 +	/* '0' '1' */
  3.2554 +}
  3.2555 +
  3.2556 +@counter-style <dfn>cambodian</dfn> {
  3.2557 +	system: numeric;
  3.2558 +	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  3.2559 +	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  3.2560 +}
  3.2561 +
  3.2562 +@counter-style <dfn>decimal</dfn> {
  3.2563 +	system: numeric;
  3.2564 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39';
  3.2565 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  3.2566 +}
  3.2567 +
  3.2568 +@counter-style <dfn>devanagari</dfn> {
  3.2569 +	system: numeric;
  3.2570 +	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  3.2571 +	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  3.2572 +}
  3.2573 +
  3.2574 +@counter-style <dfn>eastern-nagari</dfn> {
  3.2575 +	system: numeric;
  3.2576 +	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  3.2577 +	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  3.2578 +}
  3.2579 +
  3.2580 +@counter-style <dfn>fullwidth-decimal</dfn> {
  3.2581 +	system: numeric;
  3.2582 +	symbols: '\FF10' '\FF11' '\FF12' '\FF13' '\FF14' '\FF15' '\FF16' '\FF17' '\FF18' '\FF19';
  3.2583 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  3.2584 +}
  3.2585 +
  3.2586 +@counter-style <dfn>gujarati</dfn> {
  3.2587 +	system: numeric;
  3.2588 +	symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF';
  3.2589 +	/* '૦' '૧' '૨' '૩' '૪' '૫' '૬' '૭' '૮' '૯' */
  3.2590 +}
  3.2591 +
  3.2592 +@counter-style <dfn>gurmukhi</dfn> {
  3.2593 +	system: numeric;
  3.2594 +	symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F';
  3.2595 +	/* '੦' '੧' '੨' '੩' '੪' '੫' '੬' '੭' '੮' '੯' */
  3.2596 +}
  3.2597 +
  3.2598 +@counter-style <dfn>kannada</dfn> {
  3.2599 +	system: numeric;
  3.2600 +	symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF';
  3.2601 +	/* '೦' '೧' '೨' '೩' '೪' '೫' '೬' '೭' '೮' '೯' */
  3.2602 +}
  3.2603 +
  3.2604 +@counter-style <dfn>khmer</dfn> {
  3.2605 +	system: numeric;
  3.2606 +	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  3.2607 +	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  3.2608 +}
  3.2609 +
  3.2610 +@counter-style <dfn>lower-hexadecimal</dfn> {
  3.2611 +	system: numeric;
  3.2612 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\61' '\62' '\63' '\64' '\65' '\66';
  3.2613 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f' */
  3.2614 +}
  3.2615 +
  3.2616 +@counter-style <dfn>lao</dfn> {
  3.2617 +	system: numeric;
  3.2618 +	symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9';
  3.2619 +	/* '໐' '໑' '໒' '໓' '໔' '໕' '໖' '໗' '໘' '໙' */
  3.2620 +}
  3.2621 +
  3.2622 +@counter-style <dfn>lepcha</dfn> {
  3.2623 +	system: numeric;
  3.2624 +	symbols: '\1C40' '\1C41' '\1C42' '\1C43' '\1C44' '\1C45' '\1C46' '\1C47' '\1C48' '\1C49';
  3.2625 +	/* '᱀' '᱁' '᱂' '᱃' '᱄' '᱅' '᱆' '᱇' '᱈' '᱉' */
  3.2626 +}
  3.2627 +
  3.2628 +@counter-style <dfn>malayalam</dfn> {
  3.2629 +	system: numeric;
  3.2630 +	symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F';
  3.2631 +	/* '൦' '൧' '൨' '൩' '൪' '൫' '൬' '൭' '൮' '൯' */
  3.2632 +}
  3.2633 +
  3.2634 +@counter-style <dfn>marathi</dfn> {
  3.2635 +	system: numeric;
  3.2636 +	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  3.2637 +	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  3.2638 +}
  3.2639 +
  3.2640 +@counter-style <dfn>mongolian</dfn> {
  3.2641 +	system: numeric;
  3.2642 +	symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819';
  3.2643 +	/* '᠐' '᠑' '᠒' '᠓' '᠔' '᠕' '᠖' '᠗' '᠘' '᠙' */
  3.2644 +}
  3.2645 +
  3.2646 +@counter-style <dfn>myanmar</dfn> {
  3.2647 +	system: numeric;
  3.2648 +	symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049';
  3.2649 +	/* '၀' '၁' '၂' '၃' '၄' '၅' '၆' '၇' '၈' '၉' */
  3.2650 +}
  3.2651 +
  3.2652 +@counter-style <dfn>new-base-60</dfn> {
  3.2653 +	system: numeric;
  3.2654 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\4A' '\4B' '\4C' '\4D' '\4E' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A' '\5F' '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  3.2655 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'J' 'K' 'L' 'M' 'N' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '_' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  3.2656 +}
  3.2657 +
  3.2658 +@counter-style <dfn>octal</dfn> {
  3.2659 +	system: numeric;
  3.2660 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37';
  3.2661 +	/* '0' '1' '2' '3' '4' '5' '6' '7' */
  3.2662 +}
  3.2663 +
  3.2664 +@counter-style <dfn>oriya</dfn> {
  3.2665 +	system: numeric;
  3.2666 +	symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F';
  3.2667 +	/* '୦' '୧' '୨' '୩' '୪' '୫' '୬' '୭' '୮' '୯' */
  3.2668 +}
  3.2669 +
  3.2670 +@counter-style <dfn>persian</dfn> {
  3.2671 +	system: numeric;
  3.2672 +	symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9';
  3.2673 +	/* '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹' */
  3.2674 +}
  3.2675 +
  3.2676 +@counter-style <dfn>super-decimal</dfn> {
  3.2677 +	system: numeric;
  3.2678 +	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
  3.2679 +	/* '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹' */
  3.2680 +}
  3.2681 +
  3.2682 +@counter-style <dfn>shan</dfn> {
  3.2683 +	system: numeric;
  3.2684 +	symbols: '\1090' '\1091' '\1092' '\1093' '\1094' '\1095' '\1096' '\1097' '\1098' '\1099';
  3.2685 +	/* '႐' '႑' '႒' '႓' '႔' '႕' '႖' '႗' '႘' '႙' */
  3.2686 +}
  3.2687 +
  3.2688 +@counter-style <dfn>tamil</dfn> {
  3.2689 +	system: numeric;
  3.2690 +	symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF';
  3.2691 +	/* '௦' '௧' '௨' '௩' '௪' '௫' '௬' '௭' '௮' '௯' */
  3.2692 +}
  3.2693 +
  3.2694 +@counter-style <dfn>telugu</dfn> {
  3.2695 +	system: numeric;
  3.2696 +	symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F';
  3.2697 +	/* '౦' '౧' '౨' '౩' '౪' '౫' '౬' '౭' '౮' '౯' */
  3.2698 +}
  3.2699 +
  3.2700 +@counter-style <dfn>tibetan</dfn> {
  3.2701 +	system: numeric;
  3.2702 +	symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29';
  3.2703 +	/* '༠' '༡' '༢' '༣' '༤' '༥' '༦' '༧' '༨' '༩' */
  3.2704 +}
  3.2705 +
  3.2706 +@counter-style <dfn>thai</dfn> {
  3.2707 +	system: numeric;
  3.2708 +	symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59';
  3.2709 +	/* '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' */
  3.2710 +}
  3.2711 +
  3.2712 +@counter-style <dfn>upper-hexadecimal</dfn> {
  3.2713 +	system: numeric;
  3.2714 +	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46';
  3.2715 +	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' */
  3.2716 +}</bdo></code></pre>
  3.2717 +
  3.2718 +<h3 id='predefined-alphabetic'>
  3.2719 +Predefined Alphabetic Styles</h3>
  3.2720 +
  3.2721 +	<pre class=css><code><bdo dir="ltr">
  3.2722 +@counter-style <dfn>afar</dfn> {
  3.2723 +	system: alphabetic;
  3.2724 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1260' '\1270' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12E8' '\12F0' '\12F8' '\1308' '\1338' '\1348';
  3.2725 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'በ' 'ተ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'የ' 'ደ' 'ዸ' 'ገ' 'ጸ' 'ፈ' */
  3.2726 +	suffix: '/';
  3.2727 +}
  3.2728 +
  3.2729 +@counter-style <dfn>agaw</dfn> {
  3.2730 +	system: alphabetic;
  3.2731 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  3.2732 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'ቐ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  3.2733 +	suffix: '/';
  3.2734 +}
  3.2735 +
  3.2736 +@counter-style <dfn>ari</dfn> {
  3.2737 +	system: alphabetic;
  3.2738 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1328' '\1340' '\1350';
  3.2739 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጨ' 'ፀ' 'ፐ' */
  3.2740 +	suffix: '/';
  3.2741 +}
  3.2742 +
  3.2743 +@counter-style <dfn>blin</dfn> {
  3.2744 +	system: alphabetic;
  3.2745 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1230' '\1238' '\1228' '\1240' '\1250' '\1260' '\1270' '\1290' '\1300' '\1308' '\1318' '\1320' '\1328' '\1348' '\1278' '\1298' '\1338' '\1330' '\1350';
  3.2746 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሰ' 'ሸ' 'ረ' 'ቀ' 'ቐ' 'በ' 'ተ' 'ነ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ፈ' 'ቸ' 'ኘ' 'ጸ' 'ጰ' 'ፐ' */
  3.2747 +	suffix: '/';
  3.2748 +}
  3.2749 +
  3.2750 +@counter-style <dfn>cambodian-consonant</dfn> {
  3.2751 +	system: alphabetic;
  3.2752 +	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  3.2753 +	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  3.2754 +}
  3.2755 +
  3.2756 +@counter-style <dfn>cjk-earthly-branch</dfn> {
  3.2757 +	system: alphabetic;
  3.2758 +	symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5';
  3.2759 +	/* '子' '丑' '寅' '卯' '辰' '巳' '午' '未' '申' '酉' '戌' '亥' */
  3.2760 +	suffix: '、';
  3.2761 +}
  3.2762 +
  3.2763 +@counter-style <dfn>cjk-heavenly-stem</dfn> {
  3.2764 +	system: alphabetic;
  3.2765 +	symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678';
  3.2766 +	/* '甲' '乙' '丙' '丁' '戊' '己' '庚' '辛' '壬' '癸' */
  3.2767 +	suffix: '、';
  3.2768 +}
  3.2769 +
  3.2770 +@counter-style <dfn>dizi</dfn> {
  3.2771 +	system: alphabetic;
  3.2772 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1338' '\1340' '\1348';
  3.2773 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጸ' 'ፀ' 'ፈ' */
  3.2774 +	suffix: '/';
  3.2775 +}
  3.2776 +
  3.2777 +@counter-style <dfn>fullwidth-lower-alpha</dfn> {
  3.2778 +	system: alphabetic;
  3.2779 +	symbols: '\FF41' '\FF42' '\FF43' '\FF44' '\FF45' '\FF46' '\FF47' '\FF48' '\FF49' '\FF4A' '\FF4B' '\FF4C' '\FF4D' '\FF4E' '\FF4F' '\FF50' '\FF51' '\FF52' '\FF53' '\FF54' '\FF55' '\FF56' '\FF57' '\FF58' '\FF59' '\FF5A';
  3.2780 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  3.2781 +	suffix: '.';
  3.2782 +}
  3.2783 +
  3.2784 +@counter-style <dfn>fullwidth-upper-alpha</dfn> {
  3.2785 +	system: alphabetic;
  3.2786 +	symbols: '\FF21' '\FF22' '\FF23' '\FF24' '\FF25' '\FF26' '\FF27' '\FF28' '\FF29' '\FF2A' '\FF2B' '\FF2C' '\FF2D' '\FF2E' '\FF2F' '\FF30' '\FF31' '\FF32' '\FF33' '\FF34' '\FF35' '\FF36' '\FF37' '\FF38' '\FF39' '\FF3A';
  3.2787 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  3.2788 +	suffix: '.';
  3.2789 +}
  3.2790 +
  3.2791 +@counter-style <dfn>gedeo</dfn> {
  3.2792 +	system: alphabetic;
  3.2793 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  3.2794 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  3.2795 +	suffix: '/';
  3.2796 +}
  3.2797 +
  3.2798 +@counter-style <dfn>gumuz</dfn> {
  3.2799 +	system: alphabetic;
  3.2800 +	symbols: '\1200' '\1210' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1308' '\1328' '\1330' '\1340' '\1350';
  3.2801 +	/* 'ሀ' 'ሐ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ገ' 'ጨ' 'ጰ' 'ፀ' 'ፐ' */
  3.2802 +	suffix: '/';
  3.2803 +}
  3.2804 +
  3.2805 +@counter-style <dfn>hadiyya</dfn> {
  3.2806 +	system: alphabetic;
  3.2807 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  3.2808 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  3.2809 +	suffix: '/';
  3.2810 +}
  3.2811 +
  3.2812 +@counter-style <dfn>harari</dfn> {
  3.2813 +	system: alphabetic;
  3.2814 +	symbols: '\1210' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1348';
  3.2815 +	/* 'ሐ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ፈ' */
  3.2816 +	suffix: '/';
  3.2817 +}
  3.2818 +
  3.2819 +@counter-style <dfn>hindi</dfn> {
  3.2820 +	system: alphabetic;
  3.2821 +	symbols: '\915' '\916' '\917' '\918' '\919' '\91A' '\91B' '\91C' '\91D' '\91E' '\91F' '\920' '\921' '\922' '\923' '\924' '\925' '\926' '\927' '\928' '\92A' '\92B' '\92C' '\92D' '\92E' '\92F' '\930' '\932' '\935' '\936' '\937' '\938' '\939';
  3.2822 +	/* 'क' 'ख' 'ग' 'घ' 'ङ' 'च' 'छ' 'ज' 'झ' 'ञ' 'ट' 'ठ' 'ड' 'ढ' 'ण' 'त' 'थ' 'द' 'ध' 'न' 'प' 'फ' 'ब' 'भ' 'म' 'य' 'र' 'ल' 'व' 'श' 'ष' 'स' 'ह' */
  3.2823 +}
  3.2824 +
  3.2825 +@counter-style <dfn>kaffa</dfn> {
  3.2826 +	system: alphabetic;
  3.2827 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  3.2828 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሠ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  3.2829 +	suffix: '/';
  3.2830 +}
  3.2831 +
  3.2832 +@counter-style <dfn>kebena</dfn> {
  3.2833 +	system: alphabetic;
  3.2834 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  3.2835 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  3.2836 +	suffix: '/';
  3.2837 +}
  3.2838 +
  3.2839 +@counter-style <dfn>kembata</dfn> {
  3.2840 +	system: alphabetic;
  3.2841 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  3.2842 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  3.2843 +	suffix: '/';
  3.2844 +}
  3.2845 +
  3.2846 +@counter-style <dfn>khmer-consonant</dfn> {
  3.2847 +	system: alphabetic;
  3.2848 +	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  3.2849 +	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  3.2850 +}
  3.2851 +
  3.2852 +@counter-style <dfn>konso</dfn> {
  3.2853 +	system: alphabetic;
  3.2854 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1348' '\1350';
  3.2855 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ፈ' 'ፐ' */
  3.2856 +	suffix: '/';
  3.2857 +}
  3.2858 +
  3.2859 +@counter-style <dfn>korean-consonant</dfn> {
  3.2860 +	system: alphabetic;
  3.2861 +	symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E';
  3.2862 +	/* 'ㄱ' 'ㄴ' 'ㄷ' 'ㄹ' 'ㅁ' 'ㅂ' 'ㅅ' 'ㅇ' 'ㅈ' 'ㅊ' 'ㅋ' 'ㅌ' 'ㅍ' 'ㅎ' */
  3.2863 +}
  3.2864 +
  3.2865 +@counter-style <dfn>korean-syllable</dfn> {
  3.2866 +	system: alphabetic;
  3.2867 +	symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558';
  3.2868 +	/* '가' '나' '다' '라' '마' '바' '사' '아' '자' '차' '카' '타' '파' '하' */
  3.2869 +}
  3.2870 +
  3.2871 +@counter-style <dfn>kunama</dfn> {
  3.2872 +	system: alphabetic;
  3.2873 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308';
  3.2874 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' */
  3.2875 +	suffix: '/';
  3.2876 +}
  3.2877 +
  3.2878 +@counter-style <dfn>lower-alpha</dfn> {
  3.2879 +	system: alphabetic;
  3.2880 +	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  3.2881 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  3.2882 +}
  3.2883 +
  3.2884 +@counter-style <dfn>lower-belorussian</dfn> {
  3.2885 +	system: alphabetic;
  3.2886 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\456' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\45E' '\444' '\445' '\446' '\447' '\448' '\44B' '\44C' '\44D' '\44E' '\44F';
  3.2887 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'і' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ў' 'ф' 'х' 'ц' 'ч' 'ш' 'ы' 'ь' 'э' 'ю' 'я' */
  3.2888 +	suffix: ')';
  3.2889 +}
  3.2890 +
  3.2891 +@counter-style <dfn>lower-bulgarian</dfn> {
  3.2892 +	system: alphabetic;
  3.2893 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44C' '\44E' '\44F';
  3.2894 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ь' 'ю' 'я' */
  3.2895 +	suffix: ')';
  3.2896 +}
  3.2897 +
  3.2898 +@counter-style <dfn>lower-greek</dfn> {
  3.2899 +	system: alphabetic;
  3.2900 +	symbols: '\3B1' '\3B2' '\3B3' '\3B4' '\3B5' '\3B6' '\3B7' '\3B8' '\3B9' '\3BA' '\3BB' '\3BC' '\3BD' '\3BE' '\3BF' '\3C0' '\3C1' '\3C3' '\3C4' '\3C5' '\3C6' '\3C7' '\3C8' '\3C9';
  3.2901 +	/* 'α' 'β' 'γ' 'δ' 'ε' 'ζ' 'η' 'θ' 'ι' 'κ' 'λ' 'μ' 'ν' 'ξ' 'ο' 'π' 'ρ' 'σ' 'τ' 'υ' 'φ' 'χ' 'ψ' 'ω' */
  3.2902 +	/* This style is only defined because CSS2.1 has it.  It doesn't appear to actually be used in Greek texts. */
  3.2903 +}
  3.2904 +
  3.2905 +@counter-style <dfn>lower-macedonian</dfn> {
  3.2906 +	system: alphabetic;
  3.2907 +	symbols: '\430' '\431' '\432' '\433' '\434' '\453' '\435' '\436' '\437' '\455' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45C' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  3.2908 +	/* 'а' 'б' 'в' 'г' 'д' 'ѓ' 'е' 'ж' 'з' 'ѕ' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ќ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  3.2909 +	suffix: ')';
  3.2910 +}
  3.2911 +
  3.2912 +@counter-style <dfn>lower-oromo-qubee</dfn> {
  3.2913 +	system: alphabetic;
  3.2914 +	symbols: '\61' '\61\61' '\62' '\63' '\64' '\65' '\65\65' '\66' '\67' '\68' '\69' '\69\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\6F\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\75\75' '\76' '\77' '\78' '\79' '\7A' '\63\68' '\64\68' '\6B\68' '\6E\79' '\70\68' '\73\68';
  3.2915 +	/* 'a' 'aa' 'b' 'c' 'd' 'e' 'ee' 'f' 'g' 'h' 'i' 'ii' 'j' 'k' 'l' 'm' 'n' 'o' 'oo' 'p' 'q' 'r' 's' 't' 'u' 'uu' 'v' 'w' 'x' 'y' 'z' 'ch' 'dh' 'kh' 'ny' 'ph' 'sh' */
  3.2916 +}
  3.2917 +
  3.2918 +@counter-style <dfn>lower-russian</dfn> {
  3.2919 +	system: alphabetic;
  3.2920 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44D' '\44E' '\44F';
  3.2921 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'э' 'ю' 'я' */
  3.2922 +	suffix: ')';
  3.2923 +}
  3.2924 +
  3.2925 +@counter-style <dfn>lower-russian-full</dfn> {
  3.2926 +	system: alphabetic;
  3.2927 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44B' '\44C' '\44D' '\44E' '\44F';
  3.2928 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я' */
  3.2929 +	suffix: ')';
  3.2930 +}
  3.2931 +
  3.2932 +@counter-style <dfn>lower-serbo-croatian</dfn> {
  3.2933 +	system: alphabetic;
  3.2934 +	symbols: '\430' '\431' '\432' '\433' '\434' '\452' '\435' '\436' '\437' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45B' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  3.2935 +	/* 'а' 'б' 'в' 'г' 'д' 'ђ' 'е' 'ж' 'з' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ћ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  3.2936 +	suffix: ')';
  3.2937 +}
  3.2938 +
  3.2939 +@counter-style <dfn>lower-ukrainian</dfn> {
  3.2940 +	system: alphabetic;
  3.2941 +	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\44E' '\44F';
  3.2942 +	/* 'а' 'б' 'в' 'г' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'ю' 'я' */
  3.2943 +	suffix: ')';
  3.2944 +}
  3.2945 +
  3.2946 +@counter-style <dfn>lower-ukrainian-full</dfn> {
  3.2947 +	system: alphabetic;
  3.2948 +	symbols: '\430' '\431' '\432' '\433' '\491' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\457' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44C' '\44E' '\44F';
  3.2949 +	/* 'а' 'б' 'в' 'г' 'ґ' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'ї' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ь' 'ю' 'я' */
  3.2950 +	suffix: ')';
  3.2951 +}
  3.2952 +
  3.2953 +@counter-style <dfn>meen</dfn> {
  3.2954 +	system: alphabetic;
  3.2955 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1350' '\1340';
  3.2956 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፐ' 'ፀ' */
  3.2957 +	suffix: '/';
  3.2958 +}
  3.2959 +
  3.2960 +@counter-style <dfn>oromo</dfn> {
  3.2961 +	system: alphabetic;
  3.2962 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  3.2963 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  3.2964 +	suffix: '/';
  3.2965 +}
  3.2966 +
  3.2967 +@counter-style <dfn>saho</dfn> {
  3.2968 +	system: alphabetic;
  3.2969 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1240' '\1260' '\1270' '\1290' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  3.2970 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ቀ' 'በ' 'ተ' 'ነ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  3.2971 +	suffix: '/';
  3.2972 +}
  3.2973 +
  3.2974 +@counter-style <dfn>sidama</dfn> {
  3.2975 +	system: alphabetic;
  3.2976 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  3.2977 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  3.2978 +	suffix: '/';
  3.2979 +}
  3.2980 +
  3.2981 +@counter-style <dfn>silti</dfn> {
  3.2982 +	system: alphabetic;
  3.2983 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  3.2984 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  3.2985 +	suffix: '/';
  3.2986 +}
  3.2987 +
  3.2988 +@counter-style <dfn>thai-alphabetic</dfn> {
  3.2989 +	system: alphabetic;
  3.2990 +	symbols: '\E01' '\E02' '\E04' '\E07' '\E08' '\E09' '\E0A' '\E0B' '\E0C' '\E0D' '\E0E' '\E0F' '\E10' '\E11' '\E12' '\E13' '\E14' '\E15' '\E16' '\E17' '\E18' '\E19' '\E1A' '\E1B' '\E1C' '\E1D' '\E1E' '\E1F' '\E20' '\E21' '\E22' '\E23' '\E25' '\E27' '\E28' '\E29' '\E2A' '\E2B' '\E2C' '\E2D' '\E2E';
  3.2991 +	/* 'ก' 'ข' 'ค' 'ง' 'จ' 'ฉ' 'ช' 'ซ' 'ฌ' 'ญ' 'ฎ' 'ฏ' 'ฐ' 'ฑ' 'ฒ' 'ณ' 'ด' 'ต' 'ถ' 'ท' 'ธ' 'น' 'บ' 'ป' 'ผ' 'ฝ' 'พ' 'ฟ' 'ภ' 'ม' 'ย' 'ร' 'ล' 'ว' 'ศ' 'ษ' 'ส' 'ห' 'ฬ' 'อ' 'ฮ' */
  3.2992 +}
  3.2993 +
  3.2994 +@counter-style <dfn>tigre</dfn> {
  3.2995 +	system: alphabetic;
  3.2996 +	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12D8' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  3.2997 +	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'ዘ' 'የ' 'ደ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  3.2998 +	suffix: '/';
  3.2999 +}
  3.3000 +
  3.3001 +@counter-style <dfn>upper-alpha</dfn> {
  3.3002 +	system: alphabetic;
  3.3003 +	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  3.3004 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  3.3005 +}
  3.3006 +
  3.3007 +@counter-style <dfn>upper-belorussian</dfn> {
  3.3008 +	system: alphabetic;
  3.3009 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\406' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\40E' '\424' '\425' '\426' '\427' '\428' '\42B' '\42C' '\42D' '\42E' '\42F';
  3.3010 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'І' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ў' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  3.3011 +}
  3.3012 +
  3.3013 +@counter-style <dfn>upper-bulgarian</dfn> {
  3.3014 +	system: alphabetic;
  3.3015 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42C' '\42E' '\42F';
  3.3016 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ь' 'Ю' 'Я' */
  3.3017 +}
  3.3018 +
  3.3019 +@counter-style <dfn>upper-macedonian</dfn> {
  3.3020 +	system: alphabetic;
  3.3021 +	symbols: '\410' '\411' '\412' '\413' '\414' '\403' '\415' '\416' '\417' '\405' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40C' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  3.3022 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ѓ' 'Е' 'Ж' 'З' 'Ѕ' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ќ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  3.3023 +}
  3.3024 +
  3.3025 +@counter-style <dfn>upper-oromo-qubee</dfn> {
  3.3026 +	system: alphabetic;
  3.3027 +	symbols: '\41' '\41\41' '\42' '\43' '\44' '\45' '\45\45' '\46' '\47' '\48' '\49' '\49\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\4F\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\55\55' '\56' '\57' '\58' '\59' '\5A' '\43\48' '\44\48' '\4B\48' '\4E\59' '\50\48' '\53\48';
  3.3028 +	/* 'A' 'AA' 'B' 'C' 'D' 'E' 'EE' 'F' 'G' 'H' 'I' 'II' 'J' 'K' 'L' 'M' 'N' 'O' 'OO' 'P' 'Q' 'R' 'S' 'T' 'U' 'UU' 'V' 'W' 'X' 'Y' 'Z' 'CH' 'DH' 'KH' 'NY' 'PH' 'SH' */
  3.3029 +}
  3.3030 +
  3.3031 +@counter-style <dfn>upper-russian</dfn> {
  3.3032 +	system: alphabetic;
  3.3033 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42D' '\42E' '\42F';
  3.3034 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Э' 'Ю' 'Я' */
  3.3035 +}
  3.3036 +
  3.3037 +@counter-style <dfn>upper-russian-full</dfn> {
  3.3038 +	system: alphabetic;
  3.3039 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42B' '\42C' '\42D' '\42E' '\42F';
  3.3040 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  3.3041 +}
  3.3042 +
  3.3043 +@counter-style <dfn>upper-serbo-croatian</dfn> {
  3.3044 +	system: alphabetic;
  3.3045 +	symbols: '\410' '\411' '\412' '\413' '\414' '\402' '\415' '\416' '\417' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40B' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  3.3046 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  3.3047 +}
  3.3048 +
  3.3049 +@counter-style <dfn>upper-ukrainian</dfn> {
  3.3050 +	system: alphabetic;
  3.3051 +	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\42E' '\42F';
  3.3052 +	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ю' 'Я' */
  3.3053 +}
  3.3054 +
  3.3055 +@counter-style <dfn>upper-ukrainian-full</dfn> {
  3.3056 +	system: alphabetic;
  3.3057 +	symbols: '\410' '\411' '\412' '\413' '\490' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\407' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42C' '\42E' '\42F';
  3.3058 +	/* 'А' 'Б' 'В' 'Г' 'Ґ' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'Ї' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ь' 'Ю' 'Я' */
  3.3059 +}
  3.3060 +
  3.3061 +@counter-style <dfn>wolaita</dfn> {
  3.3062 +	system: alphabetic;
  3.3063 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1230' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350';
  3.3064 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ሰ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፀ' 'ፈ' 'ፐ' */
  3.3065 +	suffix: '/';
  3.3066 +}
  3.3067 +
  3.3068 +@counter-style <dfn>yemsa</dfn> {
  3.3069 +	system: alphabetic;
  3.3070 +	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1348' '\1350';
  3.3071 +	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  3.3072 +	suffix: '/';
  3.3073 +}</bdo></code></pre>
  3.3074 +
  3.3075 +<h3 id='predefined-symbolic'>
  3.3076 +Predefined Symbolic Styles</h3>
  3.3077 +
  3.3078 +	<pre class=css><code><bdo dir="ltr">
  3.3079 +@counter-style <dfn>asterisk</dfn> {
  3.3080 +	system: symbolic;
  3.3081 +	symbols: '\2A';
  3.3082 +	/* '*' */
  3.3083 +	suffix: '';
  3.3084 +}
  3.3085 +
  3.3086 +@counter-style <dfn>lower-alpha-symbolic</dfn> {
  3.3087 +	system: symbolic;
  3.3088 +	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  3.3089 +	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  3.3090 +}
  3.3091 +
  3.3092 +@counter-style <dfn>upper-alpha-symbolic</dfn> {
  3.3093 +	system: symbolic;
  3.3094 +	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  3.3095 +	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  3.3096 +}</bdo></code></pre>
  3.3097 +
  3.3098 +<h3 id='predefined-fixed'>
  3.3099 +Predefined FixeD Styles</h3>
  3.3100 +
  3.3101 +	<pre class=css><code><bdo dir="ltr">
  3.3102 +@counter-style <dfn>circled-decimal</dfn> {
  3.3103 +	system: fixed 0;
  3.3104 +	symbols: '\24EA' '\2460' '\2461' '\2462' '\2463' '\2464' '\2465' '\2466' '\2467' '\2468' '\2469' '\246A' '\246B' '\246C' '\246D' '\246E' '\246F' '\2470' '\2471' '\2472' '\2473' '\3251' '\3252' '\3253' '\3254' '\3255' '\3256' '\3257' '\3258' '\3259' '\325a' '\325b' '\325c' '\325d' '\325e' '\325f' '\32b1' '\32b2' '\32b3' '\32b4' '\32b5' '\32b6' '\32b7' '\32b8' '\32b9' '\32ba' '\32bb' '\32bc' '\32bd' '\32be' '\32bf';
  3.3105 +	/* '⓪' '①' '②' '③' '④' '⑤' '⑥' '⑦' '⑧' '⑨' '⑩' '⑪' '⑫' '⑬' '⑭' '⑮' '⑯' '⑰' '⑱' '⑲' '⑳' '㉑' '㉒' '㉓' '㉔' '㉕' '㉖' '㉗' '㉘' '㉙' '㉚' '㉛' '㉜' '㉝' '㉞' '㉟' '㊱' '㊲' '㊳' '㊴' '㊵' '㊶' '㊷' '㊸' '㊹' '㊺' '㊻' '㊼' '㊽' '㊾' '㊿' */
  3.3106 +	suffix: '';
  3.3107 +}
  3.3108 +
  3.3109 +@counter-style <dfn>circled-lower-latin</dfn> {
  3.3110 +	system: fixed;
  3.3111 +	symbols: '\24D0' '\24D1' '\24D2' '\24D3' '\24D4' '\24D5' '\24D6' '\24D7' '\24D8' '\24D9' '\24DA' '\24DB' '\24DC' '\24DD' '\24DE' '\24DF' '\24E0' '\24E1' '\24E2' '\24E3' '\24E4' '\24E5' '\24E6' '\24E7' '\24E8' '\24E9';
  3.3112 +	/* 'ⓐ' 'ⓑ' 'ⓒ' 'ⓓ' 'ⓔ' 'ⓕ' 'ⓖ' 'ⓗ' 'ⓘ' 'ⓙ' 'ⓚ' 'ⓛ' 'ⓜ' 'ⓝ' 'ⓞ' 'ⓟ' 'ⓠ' 'ⓡ' 'ⓢ' 'ⓣ' 'ⓤ' 'ⓥ' 'ⓦ' 'ⓧ' 'ⓨ' 'ⓩ' */
  3.3113 +	suffix: '';
  3.3114 +}
  3.3115 +
  3.3116 +@counter-style <dfn>circled-upper-latin</dfn> {
  3.3117 +	system: fixed;
  3.3118 +	symbols: '\24B6' '\24B7' '\24B8' '\24B9' '\24BA' '\24BB' '\24BC' '\24BD' '\24BE' '\24BF' '\24C0' '\24C1' '\24C2' '\24C3' '\24C4' '\24C5' '\24C6' '\24C7' '\24C8' '\24C9' '\24CA' '\24CB' '\24CC' '\24CD' '\24CE' '\24CF';
  3.3119 +	/* 'Ⓐ' 'Ⓑ' 'Ⓒ' 'Ⓓ' 'Ⓔ' 'Ⓕ' 'Ⓖ' 'Ⓗ' 'Ⓘ' 'Ⓙ' 'Ⓚ' 'Ⓛ' 'Ⓜ' 'Ⓝ' 'Ⓞ' 'Ⓟ' 'Ⓠ' 'Ⓡ' 'Ⓢ' 'Ⓣ' 'Ⓤ' 'Ⓥ' 'Ⓦ' 'Ⓧ' 'Ⓨ' 'Ⓩ' */
  3.3120 +	suffix: '';
  3.3121 +}
  3.3122 +
  3.3123 +@counter-style <dfn>circled-korean-consonant</dfn> {
  3.3124 +	system: fixed;
  3.3125 +	symbols: '\3260' '\3261' '\3262' '\3263' '\3264' '\3265' '\3266' '\3267' '\3268' '\3269' '\326A' '\326B' '\326C' '\326D';
  3.3126 +	/* '㉠' '㉡' '㉢' '㉣' '㉤' '㉥' '㉦' '㉧' '㉨' '㉩' '㉪' '㉫' '㉬' '㉭' */
  3.3127 +	suffix: '';
  3.3128 +}
  3.3129 +
  3.3130 +@counter-style <dfn>circled-korean-syllable</dfn> {
  3.3131 +	system: fixed;
  3.3132 +	symbols: '\326E' '\326F' '\3270' '\3271' '\3272' '\3273' '\3274' '\3275' '\3276' '\3277' '\3278' '\3279' '\327A' '\327B';
  3.3133 +	/* '㉮' '㉯' '㉰' '㉱' '㉲' '㉳' '㉴' '㉵' '㉶' '㉷' '㉸' '㉹' '㉺' '㉻' */
  3.3134 +	suffix: '';
  3.3135 +}
  3.3136 +
  3.3137 +@counter-style <dfn>decimal-leading-zero</dfn> {
  3.3138 +	system: fixed -9;
  3.3139 +	symbols: '\2D\30\39' '\2D\30\38' '\2D\30\37' '\2D\30\36' '\2D\30\35' '\2D\30\34' '\2D\30\33' '\2D\30\32' '\2D\30\31' '\30\30' '\30\31' '\30\32' '\30\33' '\30\34' '\30\35' '\30\36' '\30\37' '\30\38' '\30\39';
  3.3140 +	/* '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09' */
  3.3141 +}
  3.3142 +
  3.3143 +@counter-style <dfn>dotted-decimal</dfn> {
  3.3144 +	system: fixed;
  3.3145 +	symbols: '\2488' '\2489' '\248A' '\248B' '\248C' '\248D' '\248E' '\248F' '\2490' '\2491' '\2492' '\2493' '\2494' '\2495' '\2496' '\2497' '\2498' '\2499' '\249A' '\249B';
  3.3146 +	/* '⒈' '⒉' '⒊' '⒋' '⒌' '⒍' '⒎' '⒏' '⒐' '⒑' '⒒' '⒓' '⒔' '⒕' '⒖' '⒗' '⒘' '⒙' '⒚' '⒛' */
  3.3147 +	suffix: '';
  3.3148 +}
  3.3149 +
  3.3150 +@counter-style <dfn>double-circled-decimal</dfn> {
  3.3151 +	system: fixed;
  3.3152 +	symbols: '\24F5' '\24F6' '\24F7' '\24F8' '\24F9' '\24FA' '\24FB' '\24FC' '\24FD' '\24FE';
  3.3153 +	/* '⓵' '⓶' '⓷' '⓸' '⓹' '⓺' '⓻' '⓼' '⓽' '⓾' */
  3.3154 +	suffix: '';
  3.3155 +}
  3.3156 +
  3.3157 +@counter-style <dfn>filled-circled-decimal</dfn> {
  3.3158 +	system: fixed;
  3.3159 +	symbols: '\2776' '\2777' '\2778' '\2779' '\277a' '\277b' '\277c' '\277d' '\277e' '\277f' '\24EB' '\24EC' '\24ED' '\24EE' '\24EF' '\24F0' '\24F1' '\24F2' '\24F3' '\24F4';
  3.3160 +	/* '❶' '❷' '❸' '❹' '❺' '❻' '❼' '❽' '❾' '❿' '⓫' '⓬' '⓭' '⓮' '⓯' '⓰' '⓱' '⓲' '⓳' '⓴' */
  3.3161 +	suffix: '';
  3.3162 +}
  3.3163 +
  3.3164 +@counter-style <dfn>fullwidth-upper-roman</dfn> {
  3.3165 +	system: fixed;
  3.3166 +	symbols: '\2160' '\2161' '\2162' '\2163' '\2164' '\2165' '\2166' '\2167' '\2168' '\2169' '\216A' '\216B';
  3.3167 +	/* 'Ⅰ' 'Ⅱ' 'Ⅲ' 'Ⅳ' 'Ⅴ' 'Ⅵ' 'Ⅶ' 'Ⅷ' 'Ⅸ' 'Ⅹ' 'Ⅺ' 'Ⅻ' */
  3.3168 +	suffix: '';
  3.3169 +}
  3.3170 +
  3.3171 +@counter-style <dfn>fullwidth-lower-roman</dfn> {
  3.3172 +	system: fixed;
  3.3173 +	symbols: '\2170' '\2171' '\2172' '\2173' '\2174' '\2175' '\2176' '\2177' '\2178' '\2179' '\217A' '\217B';
  3.3174 +	/* 'ⅰ' 'ⅱ' 'ⅲ' 'ⅳ' 'ⅴ' 'ⅵ' 'ⅶ' 'ⅷ' 'ⅸ' 'ⅹ' 'ⅺ' 'ⅻ' */
  3.3175 +	suffix: '';
  3.3176 +}
  3.3177 +
  3.3178 +@counter-style <dfn>parenthesized-decimal</dfn> {
  3.3179 +	system: fixed;
  3.3180 +	symbols: '\2474' '\2475' '\2476' '\2477' '\2478' '\2479' '\247A' '\247B' '\247C' '\247D' '\247E' '\247F' '\2480' '\2481' '\2482' '\2483' '\2484' '\2485' '\2486' '\2487';
  3.3181 +	/* '⑴' '⑵' '⑶' '⑷' '⑸' '⑹' '⑺' '⑻' '⑼' '⑽' '⑾' '⑿' '⒀' '⒁' '⒂' '⒃' '⒄' '⒅' '⒆' '⒇' */
  3.3182 +	suffix: '';
  3.3183 +}
  3.3184 +
  3.3185 +@counter-style <dfn>parenthesized-lower-latin</dfn> {
  3.3186 +	system: fixed;
  3.3187 +	symbols: '\249C' '\249D' '\249E' '\249F' '\24A0' '\24A1' '\24A2' '\24A3' '\24A4' '\24A5' '\24A6' '\24A7' '\24A8' '\24A9' '\24AA' '\24AB' '\24AC' '\24AD' '\24AE' '\24AF' '\24B0' '\24B1' '\24B2' '\24B3' '\24B4' '\24B5';
  3.3188 +	/* '⒜' '⒝' '⒞' '⒟' '⒠' '⒡' '⒢' '⒣' '⒤' '⒥' '⒦' '⒧' '⒨' '⒩' '⒪' '⒫' '⒬' '⒭' '⒮' '⒯' '⒰' '⒱' '⒲' '⒳' '⒴' '⒵' */
  3.3189 +	suffix: '';
  3.3190 +}
  3.3191 +
  3.3192 +@counter-style <dfn>parenthesized-hangul-consonant</dfn> {
  3.3193 +	system: fixed;
  3.3194 +	symbols: '\3200' '\3201' '\3202' '\3203' '\3204' '\3205' '\3206' '\3207' '\3208' '\3209' '\320A' '\320B' '\320C' '\320D';
  3.3195 +	/* '㈀' '㈁' '㈂' '㈃' '㈄' '㈅' '㈆' '㈇' '㈈' '㈉' '㈊' '㈋' '㈌' '㈍' */
  3.3196 +	suffix: '';
  3.3197 +}
  3.3198 +
  3.3199 +@counter-style <dfn>parenthesized-hangul-syllable</dfn> {
  3.3200 +	system: fixed;
  3.3201 +	symbols: '\320E' '\320F' '\3210' '\3211' '\3212' '\3213' '\3214' '\3215' '\3216' '\3217' '\3218' '\3219' '\321A';
  3.3202 +	/* '㈎' '㈏' '㈐' '㈑' '㈒' '㈓' '㈔' '㈕' '㈖' '㈗' '㈘' '㈙' '㈚' */
  3.3203 +	suffix: '';
  3.3204 +}
  3.3205 +
  3.3206 +@counter-style <dfn>persian-abjad</dfn> {
  3.3207 +	system: fixed;
  3.3208 +	symbols: '\627' '\628' '\62C' '\62F' '\647\200D' '\648' '\632' '\62D' '\637' '\6CC' '\6A9' '\644' '\645' '\646' '\633' '\639' '\641' '\635' '\642' '\631' '\634' '\62A' '\62B' '\62E' '\630' '\636' '\638' '\63A';
  3.3209 +	/* 'ا' 'ب' 'ج' 'د' 'ه‍' 'و' 'ز' 'ح' 'ط' 'ی' 'ک' 'ل' 'م' 'ن' 'س' 'ع' 'ف' 'ص' 'ق' 'ر' 'ش' 'ت' 'ث' 'خ' 'ذ' 'ض' 'ظ' 'غ' */
  3.3210 +}
  3.3211 +
  3.3212 +@counter-style <dfn>persian-alphabetic</dfn> {
  3.3213 +	system: fixed;
  3.3214 +	symbols: '\627' '\628' '\67E' '\62A' '\62B' '\62C' '\686' '\62D' '\62E' '\62F' '\630' '\631' '\632' '\698' '\633' '\634' '\635' '\636' '\637' '\638' '\639' '\63A' '\641' '\642' '\6A9' '\6AF' '\644' '\645' '\646' '\648' '\647\200D' '\6CC';
  3.3215 +	/* 'ا' 'ب' 'پ' 'ت' 'ث' 'ج' 'چ' 'ح' 'خ' 'د' 'ذ' 'ر' 'ز' 'ژ' 'س' 'ش' 'ص' 'ض' 'ط' 'ظ' 'ع' 'غ' 'ف' 'ق' 'ک' 'گ' 'ل' 'م' 'ن' 'و' 'ه‍' 'ی' */
  3.3216 +}</bdo></code></pre>
  3.3217 +
  3.3218 +<h3 id='predefined-additive'>
  3.3219 +Predefined Additive Styles</h3>
  3.3220 +
  3.3221 +	<pre class=css><code><bdo dir="ltr">
  3.3222 +@counter-style <dfn>simple-upper-roman</dfn> {
  3.3223 +	system: additive;
  3.3224 +	range: 1 4999;
  3.3225 +	additive-symbols: 1000 '\4D', 500 '\44', 100 '\43', 50 '\4C', 10 '\58', 5 '\56', 1 '\49';
  3.3226 +	/* 1000 'M', 500 'D', 100 'C', 50 'L', 10 'X', 5 'V', 1 'I' */
  3.3227 +}
  3.3228 +
  3.3229 +@counter-style <dfn>simple-lower-roman</dfn> {
  3.3230 +	system: additive;
  3.3231 +	range: 1 4999;
  3.3232 +	additive-symbols: 1000 '\6D', 500 '\64', 100 '\63', 50 '\6C', 10 '\78', 5 '\76', 1 '\69';
  3.3233 +	/* 1000 'm', 500 'd', 100 'c', 50 'l', 10 'x', 5 'v', 1 'i' */
  3.3234 +}
  3.3235 +
  3.3236 +@counter-style <dfn>upper-roman</dfn> {
  3.3237 +	system: additive;
  3.3238 +	range: 1 4999;
  3.3239 +	additive-symbols: 1000 '\4D', 900 '\43\4D', 500 '\44', 400 '\43\44', 100 '\43', 90 '\58\43', 50 '\4C', 40 '\58\4C', 10 '\58', 9 '\49\58', 5 '\56', 4 '\49\56', 1 '\49';
  3.3240 +	/* 1000 'M', 900 'CM', 500 'D', 400 'CD', 100 'C', 90 'XC', 50 'L', 40 'XL', 10 'X', 9 'IX', 5 'V', 4 'IV', 1 'I' */
  3.3241 +}
  3.3242 +
  3.3243 +@counter-style <dfn>lower-roman</dfn> {
  3.3244 +	system: additive;
  3.3245 +	range: 1 4999;
  3.3246 +	additive-symbols: 1000 '\6D', 900 '\63\6D', 500 '\64', 400 '\63\64', 100 '\63', 90 '\78\63', 50 '\6C', 40 '\78\6C', 10 '\78', 9 '\69\78', 5 '\76', 4 '\69\76', 1 '\69';
  3.3247 +	/* 1000 'm', 900 'cm', 500 'd', 400 'cd', 100 'c', 90 'xc', 50 'l', 40 'xl', 10 'x', 9 'ix', 5 'v', 4 'iv', 1 'i' */
  3.3248 +}
  3.3249 +
  3.3250 +@counter-style <dfn>lower-armenian</dfn> {
  3.3251 +	system: additive;
  3.3252 +	range: 1 9999;
  3.3253 +	additive-symbols: 9000 '\584', 8000 '\583', 7000 '\582', 6000 '\581', 5000 '\580', 4000 '\57F', 3000 '\57E', 2000 '\57D', 1000 '\57C', 900 '\57B', 800 '\57A', 700 '\579', 600 '\578', 500 '\577', 400 '\576', 300 '\575', 200 '\574', 100 '\573', 90 '\572', 80 '\571', 70 '\570', 60 '\56F', 50 '\56E', 40 '\56D', 30 '\56C', 20 '\56B', 10 '\56A', 9 '\569', 8 '\568', 7 '\567', 6 '\566', 5 '\565', 4 '\564', 3 '\563', 2 '\562', 1 '\561';
  3.3254 +	/* 9000 'ք', 8000 'փ', 7000 'ւ', 6000 'ց', 5000 'ր', 4000 'տ', 3000 'վ', 2000 'ս', 1000 'ռ', 900 'ջ', 800 'պ', 700 'չ', 600 'ո', 500 'շ', 400 'ն', 300 'յ', 200 'մ', 100 'ճ', 90 'ղ', 80 'ձ', 70 'հ', 60 'կ', 50 'ծ', 40 'խ', 30 'լ', 20 'ի', 10 'ժ', 9 'թ', 8 'ը', 7 'է', 6 'զ', 5 'ե', 4 'դ', 3 'գ', 2 'բ', 1 'ա' */
  3.3255 +}
  3.3256 +
  3.3257 +@counter-style <dfn>upper-armenian</dfn> {
  3.3258 +	system: additive;
  3.3259 +	range: 1 9999;
  3.3260 +	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  3.3261 +	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  3.3262 +}
  3.3263 +
  3.3264 +@counter-style <dfn>armenian</dfn> {
  3.3265 +	system: additive;
  3.3266 +	range: 1 9999;
  3.3267 +	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  3.3268 +	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  3.3269 +}
  3.3270 +
  3.3271 +@counter-style <dfn>georgian</dfn> {
  3.3272 +	system: additive;
  3.3273 +	range: 1 19999;
  3.3274 +	additive-symbols: 10000 '\10F5', 9000 '\10F0', 8000 '\10EF', 7000 '\10F4', 6000 '\10EE', 5000 '\10ED', 4000 '\10EC', 3000 '\10EB', 2000 '\10EA', 1000 '\10E9', 900 '\10E8', 800 '\10E7', 700 '\10E6', 600 '\10E5', 500 '\10E4', 400 '\10F3', 300 '\10E2', 200 '\10E1', 100 '\10E0', 90 '\10DF', 80 '\10DE', 70 '\10DD', 60 '\10F2', 50 '\10DC', 40 '\10DB', 30 '\10DA', 20 '\10D9', 10 '\10D8', 9 '\10D7', 8 '\10F1', 7 '\10D6', 6 '\10D5', 5 '\10D4', 4 '\10D3', 3 '\10D2', 2 '\10D1', 1 '\10D0';
  3.3275 +	/* 10000 'ჵ', 9000 'ჰ', 8000 'ჯ', 7000 'ჴ', 6000 'ხ', 5000 'ჭ', 4000 'წ', 3000 'ძ', 2000 'ც', 1000 'ჩ', 900 'შ', 800 'ყ', 700 'ღ', 600 'ქ', 500 'ფ', 400 'ჳ', 300 'ტ', 200 'ს', 100 'რ', 90 'ჟ', 80 'პ', 70 'ო', 60 'ჲ', 50 'ნ', 40 'მ', 30 'ლ', 20 'კ', 10 'ი', 9 'თ', 8 'ჱ', 7 'ზ', 6 'ვ', 5 'ე', 4 'დ', 3 'გ', 2 'ბ', 1 'ა' */
  3.3276 +}
  3.3277 +
  3.3278 +@counter-style <dfn>ancient-tamil</dfn> {
  3.3279 +	system: additive;
  3.3280 +	range: 1 9999;
  3.3281 +	additive-symbols: 9000 '\BEF\BF2', 8000 '\BEE\BF2', 7000 '\BED\BF2', 6000 '\BEC\BF2', 5000 '\BEB\BF2', 4000 '\BEA\BF2', 3000 '\BE9\BF2', 2000 '\BE8\BF2', 1000 '\BF2', 900 '\BEF\BF1', 800 '\BEE\BF1', 700 '\BED\BF1', 600 '\BEC\BF1', 500 '\BEB\BF1', 400 '\BEA\BF1', 300 '\BE9\BF1', 200 '\BE8\BF1', 100 '\BF1', 90 '\BEF\BF0', 80 '\BEE\BF0', 70 '\BED\BF0', 60 '\BEC\BF0', 50 '\BEB\BF0', 40 '\BEA\BF0', 30 '\BE9\BF0', 20 '\BE8\BF0', 10 '\BF0', 9 '\BEF', 8 '\BEE', 7 '\BED', 6 '\BEC', 5 '\BEB', 4 '\BEA', 3 '\BE9', 2 '\BE8', 1 '\BE7';
  3.3282 +	/* 9000 '௯௲', 8000 '௮௲', 7000 '௭௲', 6000 '௬௲', 5000 '௫௲', 4000 '௪௲', 3000 '௩௲', 2000 '௨௲', 1000 '௲', 900 '௯௱', 800 '௮௱', 700 '௭௱', 600 '௬௱', 500 '௫௱', 400 '௪௱', 300 '௩௱', 200 '௨௱', 100 '௱', 90 '௯௰', 80 '௮௰', 70 '௭௰', 60 '௬௰', 50 '௫௰', 40 '௪௰', 30 '௩௰', 20 '௨௰', 10 '௰', 9 '௯', 8 '௮', 7 '௭', 6 '௬', 5 '௫', 4 '௪', 3 '௩', 2 '௨', 1 '௧' */
  3.3283 +}
  3.3284 +
  3.3285 +@counter-style <dfn>greek</dfn> {
  3.3286 +	system: additive;
  3.3287 +	range: 1 999;
  3.3288 +	additive-symbols: 900 '\3E1', 800 '\3C9', 700 '\3C8', 600 '\3C7', 500 '\3C6', 400 '\3C5', 300 '\3C4', 200 '\3C3', 100 '\3C1', 90 '\3DF', 80 '\3C0', 70 '\3BF', 60 '\3BE', 50 '\3BD', 40 '\3BC', 30 '\3BB', 20 '\3BA', 10 '\3B9', 9 '\3B8', 8 '\3B7', 7 '\3B6', 6 '\3C3\3C4', 5 '\3B5', 4 '\3B4', 3 '\3B3', 2 '\3B2', 1 '\3B1';
  3.3289 +	/* 900 'ϡ', 800 'ω', 700 'ψ', 600 'χ', 500 'φ', 400 'υ', 300 'τ', 200 'σ', 100 'ρ', 90 'ϟ', 80 'π', 70 'ο', 60 'ξ', 50 'ν', 40 'μ', 30 'λ', 20 'κ', 10 'ι', 9 'θ', 8 'η', 7 'ζ', 6 'στ', 5 'ε', 4 'δ', 3 'γ', 2 'β', 1 'α' */
  3.3290 +}</bdo></code></pre>
  3.3291 +
  3.3292 +	<p class=issue>Per <a href="http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists">http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists</a>, putting the circumflex above a digit in armenian numbering multiplies the digit by 1000.  The draft currently states a 10,000 multiplier.  Which is correct? (Having the multiplier be 1000 means that you can potentially write the thousands digit two ways, using either the set of thousands digits or the set of ones digits with a circumflex.  The examples given in the note appear to use the former.)
  3.3293 +
  3.3294 +	<p class=issue>According to a native Greek speaker, the lower-greek and upper-greek styles aren't actually used.  I've removed upper-greek for now, but kept lower-greek because CSS2.1 included the keyword.  Do these have actual use-cases?
  3.3295 +-->
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/css-counter-styles-3/images/black.svg	Tue Sep 25 22:50:24 2012 +0200
     4.3 @@ -0,0 +1,9 @@
     4.4 +<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="16" height="16">
     4.5 + <defs>
     4.6 +  <radialGradient id="black" cx="30%" cy="30%">
     4.7 +   <stop offset="0%" stop-color="#888" />
     4.8 +   <stop offset="100%" stop-color="black" />
     4.9 +  </radialGradient>
    4.10 + </defs>
    4.11 + <circle cx="50%" cy="50%" r="50%" fill="url(#black)" />
    4.12 +</svg>
    4.13 \ No newline at end of file
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/css-counter-styles-3/images/white.svg	Tue Sep 25 22:50:24 2012 +0200
     5.3 @@ -0,0 +1,9 @@
     5.4 +<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="16" height="16">
     5.5 + <defs>
     5.6 +  <radialGradient id="white" cx="30%" cy="30%">
     5.7 +   <stop offset="0%" stop-color="white" />
     5.8 +   <stop offset="100%" stop-color="#ccc" />
     5.9 +  </radialGradient>
    5.10 + </defs>
    5.11 + <circle cx="50%" cy="50%" r="48" fill="url(#white)" stroke="black" stroke-width="4"/>
    5.12 +</svg>
    5.13 \ No newline at end of file
     6.1 --- a/css-counter-styles/Overview.html	Tue Sep 25 22:47:59 2012 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,3622 +0,0 @@
     6.4 -<!DOCTYPE html>
     6.5 -
     6.6 -<html>
     6.7 - <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
     6.8 -  <title>CSS Counter Styles Level 3</title>
     6.9 -
    6.10 -  <link href="http://purl.org/dc/terms/" rel=schema.DC>
    6.11 -  <meta content="CSS Counter Styles Level 3" name=DC.title>
    6.12 -  <meta content=text name=DC.type>
    6.13 -  <meta content=2012-09-15 name=DC.issued>
    6.14 -  <meta content="Tab Atkins Jr." name=DC.creator>
    6.15 -  <meta content=W3C name=DC.publisher>
    6.16 -  <meta content="http://www.w3.org/TR/2012/ED-unknown-shortname-20120915/"
    6.17 -   name=DC.identifier>
    6.18 -  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    6.19 -   rel=DC.rights>
    6.20 -  <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    6.21 -  <link href="../default.css" rel=stylesheet type="text/css">
    6.22 -  <style>
    6.23 -	pre.stylesheet { white-space: pre-wrap; }
    6.24 -	</style>
    6.25 -  <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet
    6.26 -   type="text/css">
    6.27 -
    6.28 - <body>
    6.29 -  <div class=head> <!--begin-logo-->
    6.30 -   <p><a href="http://www.w3.org/"><img alt=W3C height=48
    6.31 -    src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->
    6.32 -
    6.33 -   <h1>CSS Counter Styles Level 3</h1>
    6.34 -
    6.35 -   <dl>
    6.36 -    <dt>Editor:
    6.37 -
    6.38 -    <dd><a href="http://www.xanthir.com/contact">Tab Atkins Jr.</a>, Google
    6.39 -     Inc.
    6.40 -   </dl>
    6.41 -   <!--begin-copyright-->
    6.42 -   <p class=copyright><a
    6.43 -    href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    6.44 -    rel=license>Copyright</a> © 2012 <a href="http://www.w3.org/"><abbr
    6.45 -    title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
    6.46 -    href="http://www.csail.mit.edu/"><abbr
    6.47 -    title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
    6.48 -    href="http://www.ercim.eu/"><abbr
    6.49 -    title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
    6.50 -    <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
    6.51 -    href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
    6.52 -    <a
    6.53 -    href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
    6.54 -    and <a
    6.55 -    href="http://www.w3.org/Consortium/Legal/copyright-documents">document
    6.56 -    use</a> rules apply.</p>
    6.57 -   <!--end-copyright-->
    6.58 -   <hr title="Separator for header">
    6.59 -  </div>
    6.60 -
    6.61 -  <h2 class="no-num no-toc" id=abstract> Abstract</h2>
    6.62 -
    6.63 -  <p> The <a href="http://www.w3.org/TR/css3-lists/">CSS Lists Module</a>
    6.64 -   defines the concept of counters, which can be used implicitly in list
    6.65 -   markers or explicitly with the ‘<code class=css>counter()</code>’ or
    6.66 -   ‘<code class=css>counters()</code>’ functions. A counter's integer
    6.67 -   value is turned into a string by providing a <a
    6.68 -   href="#counter-style0"><i>counter style</i></a>. This module introduces
    6.69 -   the ‘<code class=css>@counter-style</code>’ rule, which allows authors
    6.70 -   to define their own custom <i>counter styles</i>. It also redefines all
    6.71 -   the counter styles present in CSS2 and CSS2.1, plus a small number of
    6.72 -   other useful counter styles, in terms of ‘<code
    6.73 -   class=css>@counter-style</code>’ rules in the UA style sheet. <a
    6.74 -   href="http://www.w3.org/TR/CSS/">CSS</a> is a language for describing the
    6.75 -   rendering of structured documents (such as HTML and XML) on screen, on
    6.76 -   paper, in speech, etc.
    6.77 -
    6.78 -  <h2 class="no-num no-toc" id=status> Status of this document</h2>
    6.79 -  <!--begin-status-->
    6.80 -
    6.81 -  <p>This is a public copy of the editors' draft. It is provided for
    6.82 -   discussion only and may change at any moment. Its publication here does
    6.83 -   not imply endorsement of its contents by W3C. Don't cite this document
    6.84 -   other than as work in progress.
    6.85 -
    6.86 -  <p>The (<a
    6.87 -   href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
    6.88 -   mailing list <a
    6.89 -   href="mailto:www-style@w3.org?Subject=%5Bunknown-shortname%5D%20PUT%20SUBJECT%20HERE">
    6.90 -   www-style@w3.org</a> (see <a
    6.91 -   href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for
    6.92 -   discussion of this specification. When sending e-mail, please put the text
    6.93 -   “unknown-shortname” in the subject, preferably like this:
    6.94 -   “[<!---->unknown-shortname<!---->] <em>…summary of comment…</em>”
    6.95 -
    6.96 -  <p>This document was produced by the <a href="/Style/CSS/members">CSS
    6.97 -   Working Group</a> (part of the <a href="/Style/">Style Activity</a>).
    6.98 -
    6.99 -  <p>This document was produced by a group operating under the <a
   6.100 -   href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
   6.101 -   Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status"
   6.102 -   rel=disclosure>public list of any patent disclosures</a> made in
   6.103 -   connection with the deliverables of the group; that page also includes
   6.104 -   instructions for disclosing a patent. An individual who has actual
   6.105 -   knowledge of a patent which the individual believes contains <a
   6.106 -   href="/Consortium/Patent-Policy-20040205/#def-essential">Essential
   6.107 -   Claim(s)</a> must disclose the information in accordance with <a
   6.108 -   href="/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the
   6.109 -   W3C Patent Policy</a>.</p>
   6.110 -  <!--end-status-->
   6.111 -
   6.112 -  <h2 class="no-num no-toc" id=contents> Table of contents</h2>
   6.113 -  <!--begin-toc-->
   6.114 -
   6.115 -  <ul class=toc>
   6.116 -   <li><a href="#counter-style"><span class=secno>1. </span> Defining Custom
   6.117 -    Counter Styles: the ‘<code class=css>@counter-style</code>’ rule</a>
   6.118 -    <ul class=toc>
   6.119 -     <li><a href="#counter-style-type"><span class=secno>1.1. </span> Counter
   6.120 -      algorithms: the ‘<code class=property>type</code>’ descriptor</a>
   6.121 -      <ul class=toc>
   6.122 -       <li><a href="#repeating"><span class=secno>1.1.1. </span>
   6.123 -        repeating</a>
   6.124 -
   6.125 -       <li><a href="#numeric"><span class=secno>1.1.2. </span> numeric</a>
   6.126 -
   6.127 -       <li><a href="#alphabetic"><span class=secno>1.1.3. </span>
   6.128 -        alphabetic</a>
   6.129 -
   6.130 -       <li><a href="#symbolic"><span class=secno>1.1.4. </span> symbolic</a>
   6.131 -
   6.132 -       <li><a href="#non-repeating"><span class=secno>1.1.5. </span>
   6.133 -        non-repeating</a>
   6.134 -
   6.135 -       <li><a href="#additive"><span class=secno>1.1.6. </span> additive</a>
   6.136 -
   6.137 -       <li><a href="#override"><span class=secno>1.1.7. </span> override</a>
   6.138 -      </ul>
   6.139 -
   6.140 -     <li><a href="#counter-style-negative"><span class=secno>1.2. </span>
   6.141 -      Formatting negative values: the ‘<code
   6.142 -      class=property>negative</code>’ descriptor</a>
   6.143 -
   6.144 -     <li><a href="#counter-style-prefix"><span class=secno>1.3. </span>
   6.145 -      Symbols before the marker: the ‘<code class=property>prefix</code>’
   6.146 -      descriptor</a>
   6.147 -
   6.148 -     <li><a href="#counter-style-suffix"><span class=secno>1.4. </span>
   6.149 -      Symbols after the marker: the ‘<code class=property>suffix</code>’
   6.150 -      descriptor</a>
   6.151 -
   6.152 -     <li><a href="#counter-style-range"><span class=secno>1.5. </span>
   6.153 -      Limiting the counter scope: the ‘<code class=property>range</code>’
   6.154 -      descriptor</a>
   6.155 -
   6.156 -     <li><a href="#counter-style-fallback"><span class=secno>1.6. </span>
   6.157 -      Defining fallback: the ‘<code class=property>fallback</code>’
   6.158 -      descriptor</a>
   6.159 -
   6.160 -     <li><a href="#counter-style-symbols"><span class=secno>1.7. </span>
   6.161 -      Marker characters: the ‘<code class=property>symbols</code>’ and
   6.162 -      ‘<code class=property>additive-symbols</code>’ descriptors</a>
   6.163 -    </ul>
   6.164 -
   6.165 -   <li><a href="#symbols-function"><span class=secno>2. </span> Defining
   6.166 -    Anonymous Counter Styles: the ‘<code class=css>symbols()</code>’
   6.167 -    function</a>
   6.168 -
   6.169 -   <li><a href="#predefined-counters"><span class=secno>3. </span> Simple
   6.170 -    Predefined Counter Styles</a>
   6.171 -    <ul class=toc>
   6.172 -     <li><a href="#simple-numeric"><span class=secno>3.1. </span> Numeric:
   6.173 -      ‘<code class=css>decimal</code>’, ‘<code
   6.174 -      class=css>decimal-leading-zero</code>’, ‘<code
   6.175 -      class=css>cjk-decimal</code>’, ‘<code
   6.176 -      class=css>lower-roman</code>’, ‘<code
   6.177 -      class=css>upper-roman</code>’, ‘<code class=css>armenian</code>’,
   6.178 -      ‘<code class=css>georgian</code>’, ‘<code
   6.179 -      class=css>hebrew</code>’</a>
   6.180 -
   6.181 -     <li><a href="#simple-alphabetic"><span class=secno>3.2. </span>
   6.182 -      Alphabetic: ‘<code class=css>lower-alpha</code>’, ‘<code
   6.183 -      class=css>lower-latin</code>’, ‘<code
   6.184 -      class=css>upper-alpha</code>’, ‘<code
   6.185 -      class=css>upper-latin</code>’, ‘<code
   6.186 -      class=css>lower-greek</code>’, ‘<code class=css>hiragana</code>’,
   6.187 -      ‘<code class=css>hiragana-iroha</code>’, ‘<code
   6.188 -      class=css>katakana</code>’, ‘<code
   6.189 -      class=css>katakana-iroha</code>’</a>
   6.190 -
   6.191 -     <li><a href="#simple-symbolic"><span class=secno>3.3. </span> Symbolic:
   6.192 -      ‘<code class=css>disc</code>’, ‘<code class=css>circle</code>’,
   6.193 -      ‘<code class=css>square</code>’</a>
   6.194 -    </ul>
   6.195 -
   6.196 -   <li><a href="#complex-predefined-counters"><span class=secno>4. </span>
   6.197 -    Complex Predefined Counter Styles</a>
   6.198 -    <ul class=toc>
   6.199 -     <li><a href="#complex-cjk"><span class=secno>4.1. </span> Longhand East
   6.200 -      Asian Counter Styles: ‘<code class=css>japanese-informal</code>’,
   6.201 -      ‘<code class=css>japanese-formal</code>’, ‘<code
   6.202 -      class=css>korean-hangul-formal</code>’, ‘<code
   6.203 -      class=css>korean-hanja-informal</code>’, ‘<code
   6.204 -      class=css>korean-hanja-formal</code>’, ‘<code
   6.205 -      class=css>simp-chinese-informal</code>’, ‘<code
   6.206 -      class=css>simp-chinese-formal</code>’, ‘<code
   6.207 -      class=css>trad-chinese-informal</code>’, ‘<code
   6.208 -      class=css>trad-chinese-formal</code>’</a>
   6.209 -      <ul class=toc>
   6.210 -       <li><a href="#limited-cjk"><span class=secno>4.1.1. </span>
   6.211 -        Limited-range Implementation (required)</a>
   6.212 -
   6.213 -       <li><a href="#extended-cjk"><span class=secno>4.1.2. </span> Extended
   6.214 -        Implementation (optional)</a>
   6.215 -      </ul>
   6.216 -
   6.217 -     <li><a href="#ethiopic-numeric"><span class=secno>4.2. </span> Ethiopic
   6.218 -      Numeric Counter Style: ‘<code
   6.219 -      class=css>ethiopic-numeric</code>’</a>
   6.220 -    </ul>
   6.221 -
   6.222 -   <li><a href="#apis"><span class=secno>5. </span>APIs</a>
   6.223 -    <ul class=toc>
   6.224 -     <li><a href="#extentions-to-cssrule-interface"><span class=secno>5.1.
   6.225 -      </span> Extensions to the <code>CSSRule</code> interface</a>
   6.226 -
   6.227 -     <li><a href="#the-csscounterstylerule-interface"><span class=secno>5.2.
   6.228 -      </span> The <code>CSSCounterStyleRule</code> interface</a>
   6.229 -    </ul>
   6.230 -  </ul>
   6.231 -  <!--end-toc-->
   6.232 -
   6.233 -  <hr>
   6.234 -  <!-- ====================================================================== -->
   6.235 -
   6.236 -  <h2 id=counter-style><span class=secno>1. </span> Defining Custom Counter
   6.237 -   Styles: the ‘<code class=css>@counter-style</code>’ rule</h2>
   6.238 -
   6.239 -  <p> CSS 2.1 defined a handful of useful counter styles based on the styles
   6.240 -   that HTML traditionally allowed on ordered and unordered lists. This tiny
   6.241 -   set, though, is quite inadequate for modern web pages; displaying an
   6.242 -   ordered list with markers based on the latin alphabet while the content is
   6.243 -   Arabic seems quite incongruous!
   6.244 -
   6.245 -  <p> Unfortunately, the set of potentially useful list styles is too large
   6.246 -   to specify ahead of time - the world contains thousands of languages and
   6.247 -   hundreds of scripts, not to mention the near-infinite stylistic variations
   6.248 -   found on the web that go beyond mere language-based variation. The
   6.249 -   ‘<code class=css>@counter-style</code>’ rule allows CSS to address
   6.250 -   this in an open-ended manner, by allowing the author to define their own
   6.251 -   counter styles. These styles can then be used in the ‘<code
   6.252 -   class=property>list-style-type</code>’ property or in the <code
   6.253 -   title=counter-function>counter()</code> and <code
   6.254 -   title=counters-function>counters()</code> functions.
   6.255 -
   6.256 -  <p> A <dfn id=counter-style0>counter style</dfn> defines how to construct
   6.257 -   the representation of a counter value. Counter styles are composed of:
   6.258 -
   6.259 -  <ul>
   6.260 -   <li> a <dfn id=name title=counter-name>name</dfn>, to identify the style
   6.261 -
   6.262 -   <li> an <dfn id=algorithm title=counter-algorithm>algorithm</dfn> that
   6.263 -    transforms counter values into a string representation
   6.264 -
   6.265 -   <li> a <dfn id=negative-sign title=counter-negative>negative sign</dfn>,
   6.266 -    which is prepended or appended to the representation of a negative
   6.267 -    counter value
   6.268 -
   6.269 -   <li> a <dfn id=prefix title=counter-prefix>prefix</dfn>, to prepend to the
   6.270 -    representation
   6.271 -
   6.272 -   <li> a <dfn id=suffix title=counter-suffix>suffix</dfn>, to append to the
   6.273 -    representation
   6.274 -
   6.275 -   <li> a <dfn id=range title=counter-range>range</dfn>, which limits the
   6.276 -    values that a counter style can handle
   6.277 -
   6.278 -   <li> and a <dfn id=fallback-style title=counter-fallback>fallback
   6.279 -    style</dfn>, to render the representation with when the counter value is
   6.280 -    outside the counter style's range or the counter style otherwise can't
   6.281 -    render the counter value
   6.282 -  </ul>
   6.283 -
   6.284 -  <p> The algorithm is usually specified implicitly by a combination of the
   6.285 -   ‘<a href="#descdef-type"><code class=css>type</code></a>’, ‘<a
   6.286 -   href="#descdef-symbols"><code class=css>symbols</code></a>’, and ‘<a
   6.287 -   href="#descdef-additive-symbols"><code
   6.288 -   class=css>additive-symbols</code></a>’ properties, but some counter
   6.289 -   styles instead have their algorithm explicitly defined in the <a
   6.290 -   href="#complex-predefined-counters">Complex Counter Styles</a> section.
   6.291 -
   6.292 -  <p> When asked to <dfn id=generate-a-counter-representation
   6.293 -   title=generate-a-counter>generate a counter representation</dfn> using a
   6.294 -   particular counter style for a particular counter value, follow these
   6.295 -   steps:
   6.296 -
   6.297 -  <ol>
   6.298 -   <li> If the counter value is outside the <a href="#range"><i
   6.299 -    title=counter-range>range</i></a> of the counter style, exit this
   6.300 -    algorithm and instead <a href="#generate-a-counter-representation"><i
   6.301 -    title=generate-a-counter>generate a counter representation</i></a> using
   6.302 -    the counter style's fallback style and the same counter value.
   6.303 -
   6.304 -   <li> Using the counter value and the <a href="#algorithm"><i
   6.305 -    title=counter-algorithm>counter algorithm</i></a> for the counter style,
   6.306 -    generate an initial representation for the counter value.
   6.307 -
   6.308 -   <li> Return the representation.
   6.309 -  </ol>
   6.310 -
   6.311 -  <p class=note> Note that the prefix and suffix don't play a part in this
   6.312 -   algorithm. This is intentional; the prefix and suffix aren't part of the
   6.313 -   string returned by the counter() or counters() functions. Instead, the
   6.314 -   prefix and suffix are added by the algorithm that constructs the value of
   6.315 -   the ‘<code class=property>contents</code>’ property for the ‘<code
   6.316 -   class=css>::marker</code>’ pseudo-element. This also implies that the
   6.317 -   prefix and suffix always come from the specified counter-style, even if
   6.318 -   the actual representation is constructed by a fallback style.
   6.319 -
   6.320 -  <p> The general form of an ‘<code class=css>@counter-style</code>’ rule
   6.321 -   is:
   6.322 -
   6.323 -  <pre>
   6.324 -@counter-style <i>&lt;counter-style-name></i> {
   6.325 -	[ descriptor: value; ]+
   6.326 -}
   6.327 -	</pre>
   6.328 -
   6.329 -  <p> Each ‘<code class=css>@counter-style</code>’ rule specifies a value
   6.330 -   for every counter-style descriptor, either implicitly or explicitly. Those
   6.331 -   not given explicit value in the rule take the initial value listed with
   6.332 -   each descriptor in this specification. These descriptors apply solely
   6.333 -   within the context of the @counter-style rule in which they are defined,
   6.334 -   and do not apply to document language elements. There is no notion of
   6.335 -   which elements the descriptors apply to or whether the values are
   6.336 -   inherited by child elements. When a given descriptor occurs multiple times
   6.337 -   in a given @counter-style rule, only the last specified value is used; all
   6.338 -   prior values for that descriptor must be ignored. Unknown descriptors must
   6.339 -   be ignored; they must not make the ‘<code
   6.340 -   class=css>@counter-style</code>’ rule invalid.
   6.341 -
   6.342 -  <p> Defining a ‘<code class=css>@counter-style</code>’ must make it
   6.343 -   available to the entire document in which it is included. If multiple
   6.344 -   ‘<code class=css>@counter-style</code>’ rules are defined with the
   6.345 -   same name, only one wins, according to standard cascade rules. ‘<code
   6.346 -   class=css>@counter-style</code>’ rules cascade "atomically" - if one
   6.347 -   replaces another of the same name, it replaces it <em>entirely</em>,
   6.348 -   rather than just replacing the specific descriptors it specifies.
   6.349 -
   6.350 -  <p> This at-rule conforms with the forward-compatible parsing requirement
   6.351 -   of CSS; parsers may ignore these rules without error. Any descriptors that
   6.352 -   are not recognized or implemented by a given user agent must be ignored.
   6.353 -   The <i>&lt;counter-style-name></i> must be be a valid identifier and must
   6.354 -   not be ‘<a href="#decimal"><code class=css>decimal</code></a>’ or
   6.355 -   ‘<code class=css>none</code>’, or else the rule is invalid. (Note,
   6.356 -   however, that some names, like ‘<code class=css>inside</code>’ or
   6.357 -   ‘<code class=css>initial</code>’, might conflict with the existing
   6.358 -   values of properties like ‘<code
   6.359 -   class=property>list-style-type</code>’, and thus won't be usable there.)
   6.360 -
   6.361 -  <h3 id=counter-style-type><span class=secno>1.1. </span> Counter
   6.362 -   algorithms: the ‘<a href="#descdef-type"><code
   6.363 -   class=property>type</code></a>’ descriptor</h3>
   6.364 -
   6.365 -  <table class=descdef>
   6.366 -   <tbody>
   6.367 -    <tr>
   6.368 -     <th>Name:
   6.369 -
   6.370 -     <td><dfn id=descdef-type>type</dfn>
   6.371 -
   6.372 -    <tr>
   6.373 -     <th>Value:
   6.374 -
   6.375 -     <td>repeating | numeric | alphabetic | symbolic | additive | <span
   6.376 -      class=nobr>[non-repeating &lt;integer>?]</span> | <span class=nobr>[
   6.377 -      override &lt;counter-style-name> ]</span>
   6.378 -
   6.379 -    <tr>
   6.380 -     <th>Initial:
   6.381 -
   6.382 -     <td>symbolic
   6.383 -  </table>
   6.384 -
   6.385 -  <p>The ‘<a href="#descdef-type"><code class=property>type</code></a>’
   6.386 -   descriptor specifies which algorithm will be used to construct the
   6.387 -   counter's representation based on the counter value. For example, <a
   6.388 -   href="#repeating0"><i>repeating</i></a> type counter styles just cycle
   6.389 -   through their symbols repeatedly, while <a
   6.390 -   href="#numeric0"><i>numeric</i></a> type counter styles interpret their
   6.391 -   symbols as digits and build their representation accordingly. The types
   6.392 -   are defined as follows:
   6.393 -
   6.394 -  <h4 id=repeating><span class=secno>1.1.1. </span> repeating</h4>
   6.395 -
   6.396 -  <p>If the type is <dfn id=repeating0>repeating</dfn>, the ‘<a
   6.397 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   6.398 -   descriptor must contain at least one <a href="#counter-symbol"><i>counter
   6.399 -   symbol</i></a>. This type is defined over all counter values.
   6.400 -
   6.401 -  <p>The <a href="#repeating0"><i>repeating</i></a> counter type cycles
   6.402 -   repeatedly through its provided symbols, looping back to the beginning
   6.403 -   when it reaches the end of the list, similar to the default <a
   6.404 -   href="#disc"><i>disc</i></a> counter style. It can be used for simple
   6.405 -   bullets (just provide a single <a href="#counter-symbol"><i>counter
   6.406 -   symbol</i></a>), or for cycling through multiple bullets. The first <a
   6.407 -   href="#counter-symbol"><i>counter symbol</i></a> is used as the
   6.408 -   representation of the value 1, the second <a
   6.409 -   href="#counter-symbol"><i>counter symbol</i></a> (if it exists) is used as
   6.410 -   the representation of the value 2, etc.
   6.411 -
   6.412 -  <p>In general, if there are <var>length</var> <i>counter symbols</i> and a
   6.413 -   representation is being constructed for the value <var>value</var>, the
   6.414 -   representation is the <a href="#counter-symbol"><i>counter symbol</i></a>
   6.415 -   at index ( (<var>value</var>-1) mod <var>length</var>) of the list of <a
   6.416 -   href="#counter-symbol"><i>counter symbol</i></a>s (0-indexed).
   6.417 -
   6.418 -  <div class=example>
   6.419 -   <p>A "triangle bullet" counter style can be defined as:
   6.420 -
   6.421 -   <pre>
   6.422 -@counter-style <dfn id=triangle>triangle</dfn> {
   6.423 -	type: repeating;
   6.424 -	symbols: ‣;
   6.425 -	suffix: '';
   6.426 -}
   6.427 -		</pre>
   6.428 -
   6.429 -   <p>It will then produce lists that look like:
   6.430 -
   6.431 -   <pre>
   6.432 -‣  One
   6.433 -‣  Two
   6.434 -‣  Three
   6.435 -		</pre>
   6.436 -  </div>
   6.437 -
   6.438 -  <h4 id=numeric><span class=secno>1.1.2. </span> numeric</h4>
   6.439 -
   6.440 -  <p>If the type is <dfn id=numeric0>numeric</dfn>, the ‘<a
   6.441 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   6.442 -   descriptor must contain at least two <a href="#counter-symbol"><i>counter
   6.443 -   symbol</i></a>s. This type is defined over all counter values.
   6.444 -
   6.445 -  <p>The <a href="#numeric0"><i>numeric</i></a> counter type cycles
   6.446 -   interprets the list of <a href="#counter-symbol"><i>counter
   6.447 -   symbol</i></a>s as digits to a number system, similar to the default <a
   6.448 -   href="#decimal"><i>decimal</i></a> counter style. The first <a
   6.449 -   href="#counter-symbol"><i>counter symbol</i></a> in the list is
   6.450 -   interpreted as the digit 0, the second as the digit 1, and so on. If there
   6.451 -   are <var>length</var> <a href="#counter-symbol"><i>counter
   6.452 -   symbol</i></a>s, the representation is a base <var>length</var> number
   6.453 -   using the <a href="#counter-symbol"><i>counter symbol</i></a>s as digits.
   6.454 -
   6.455 -  <p>To construct the representation, run the following algorithm. Let
   6.456 -   <var>length</var> be the length of the list of <i>counter symbols</i>,
   6.457 -   <var>value</var> initially be the counter value, <var>S</var> initially be
   6.458 -   the empty string, <a href="#descdef-negative"><var>negative</var></a> be a
   6.459 -   boolean flag that is initially false, and <var>symbol(n)</var> be the nth
   6.460 -   <a href="#counter-symbol"><i>counter symbol</i></a> in the list of <a
   6.461 -   href="#counter-symbol"><i>counter symbol</i></a>s (0-indexed).
   6.462 -
   6.463 -  <ol>
   6.464 -   <li>If <var>value</var> is 0, append <var>symbol(0)</var> to <var>S</var>
   6.465 -    and return <var>S</var>.
   6.466 -
   6.467 -   <li>If <var>value</var> is negative, run the next step of this algorithm
   6.468 -    with <var>value</var> being the absolute value of <var>value</var>
   6.469 -    instead.
   6.470 -
   6.471 -   <li>While <var>value</var> is not equal to 0:
   6.472 -    <ol>
   6.473 -     <li>Prepend <var>symbol( <var>value</var> mod <var>length</var> )</var>
   6.474 -      to <var>S</var>.
   6.475 -
   6.476 -     <li>Set <var>value</var> to <code>floor( <var>value</var> /
   6.477 -      <var>length</var> )</code>.
   6.478 -    </ol>
   6.479 -
   6.480 -   <li>If <var>value</var> was originally negative, wrap <var>S</var> in the
   6.481 -    counter style's <a href="#negative-sign"><i
   6.482 -    title=counter-negative>negative sign</i></a>, as specified in the section
   6.483 -    for the <a href="#counter-style-negative">negative descriptor</a>.
   6.484 -
   6.485 -   <li>Return <var>S</var>.
   6.486 -  </ol>
   6.487 -
   6.488 -  <div class=example>
   6.489 -   <p>A "trinary" counter style can be defined as:
   6.490 -
   6.491 -   <pre>
   6.492 -@counter-style <dfn id=trinary>trinary</dfn> {
   6.493 -	type: numeric;
   6.494 -	symbols: '0' '1' '2';
   6.495 -}
   6.496 -		</pre>
   6.497 -
   6.498 -   <p>It will then produce lists that look like:
   6.499 -
   6.500 -   <pre>
   6.501 -1.   One
   6.502 -2.   Two
   6.503 -10.  Three
   6.504 -11.  Four
   6.505 -12.  Five
   6.506 -20.  Six
   6.507 -		</pre>
   6.508 -  </div>
   6.509 -
   6.510 -  <h4 id=alphabetic><span class=secno>1.1.3. </span> alphabetic</h4>
   6.511 -
   6.512 -  <p>If the type is <dfn id=alphabetic0>alphabetic</dfn>, the ‘<a
   6.513 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   6.514 -   descriptor must contain at least two <a href="#counter-symbol"><i>counter
   6.515 -   symbol</i></a>s. This type is defined only over strictly positive counter
   6.516 -   values.
   6.517 -
   6.518 -  <p>The <a href="#alphabetic0"><i>alphabetic</i></a> counter type interprets
   6.519 -   the list of <i>counter symbols</i> as digits to an <a
   6.520 -   href="#alphabetic0"><em>alphabetic</em></a> numbering system, similar to
   6.521 -   the default ‘<a href="#lower-alpha"><code
   6.522 -   class=css>lower-alpha</code></a>’ counter style. Alphabetic numbering
   6.523 -   systems are commonly used for lists, and also appear in many spreadsheet
   6.524 -   programs to number columns. The first <a href="#counter-symbol"><i>counter
   6.525 -   symbol</i></a> in the list is interpreted as the digit 1, the second as
   6.526 -   the digit 2, and so on. If there are <var>length</var> <a
   6.527 -   href="#counter-symbol"><i>counter symbol</i></a>s, the representation is a
   6.528 -   base <var>length</var> alphabetic number using the <a
   6.529 -   href="#counter-symbol"><i>counter symbol</i></a>s as digits. Alphabetic
   6.530 -   numbering systems do not contain a digit representing 0.
   6.531 -
   6.532 -  <p>To construct the representation, run the following algorithm. Let
   6.533 -   <var>length</var> be the length of the list of <a
   6.534 -   href="#counter-symbol"><i>counter symbol</i></a>s, <var>value</var>
   6.535 -   initially be the counter value, <var>S</var> initially be the empty
   6.536 -   string, and <var>symbol(n)</var> be the nth <a
   6.537 -   href="#counter-symbol"><i>counter symbol</i></a> in the list of <a
   6.538 -   href="#counter-symbol"><i>counter symbol</i></a>s (0-indexed).
   6.539 -
   6.540 -  <p>While <var>value</var> is not equal to 0:
   6.541 -
   6.542 -  <ol>
   6.543 -   <li>Set <var>value</var> to <code><var>value</var> - 1</code>.
   6.544 -
   6.545 -   <li>Prepend <var>symbol( <var>value</var> mod <var>length</var> )</var> to
   6.546 -    <var>S</var>.
   6.547 -
   6.548 -   <li>Set <var>value</var> to <code>floor( <var>value</var> /
   6.549 -    <var>length</var> )</code>.
   6.550 -  </ol>
   6.551 -
   6.552 -  <p>Finally, return <var>S</var>.
   6.553 -
   6.554 -  <div class=example>
   6.555 -   <p>A counter style using go stones can be defined as:
   6.556 -
   6.557 -   <pre>
   6.558 -@counter-style <dfn id=go>go</dfn> {
   6.559 -	type: alphabetic;
   6.560 -	symbols: url(white.svg) url(black.svg);
   6.561 -	suffix: '';
   6.562 -}
   6.563 -		</pre>
   6.564 -
   6.565 -   <p>It will then produce lists that look like:
   6.566 -
   6.567 -   <div class=alphabetic-example> <span><img alt="" src=white.svg></span>
   6.568 -    One<br>
   6.569 -    <span><img alt="" src=black.svg></span> Two<br>
   6.570 -    <span><img alt="" src=white.svg><img alt="" src=white.svg></span>
   6.571 -    Three<br>
   6.572 -    <span><img alt="" src=white.svg><img alt="" src=black.svg></span>
   6.573 -    Four<br>
   6.574 -    <span><img alt="" src=black.svg><img alt="" src=white.svg></span>
   6.575 -    Five<br>
   6.576 -    <span><img alt="" src=black.svg><img alt="" src=black.svg></span> Six<br>
   6.577 -    <span><img alt="" src=white.svg><img alt="" src=white.svg><img alt=""
   6.578 -    src=white.svg></span> Seven</div>
   6.579 -
   6.580 -   <p class=note>This example requires support for SVG images to display
   6.581 -    correctly.
   6.582 -  </div>
   6.583 -
   6.584 -  <div class=example>
   6.585 -   <p>Alphabetic styles may also be used to simulate a fixed-width numeric
   6.586 -    style:
   6.587 -
   6.588 -   <pre>
   6.589 -@counter-style <dfn id=fixed-decimal>fixed-decimal</dfn> {
   6.590 -	type: alphabetic;
   6.591 -	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   6.592 -}
   6.593 -
   6.594 -ol { 
   6.595 -	list-style: fixed-decimal;
   6.596 -	counter-reset: list-item 1111; 
   6.597 -}
   6.598 -		</pre>
   6.599 -
   6.600 -   <p>This will produce lists that look like:
   6.601 -
   6.602 -   <pre>
   6.603 -0001.  One
   6.604 -0002.  Two
   6.605 -0003.  Three
   6.606 -0004.  Four
   6.607 -0005.  Five
   6.608 -0006.  Six
   6.609 -		</pre>
   6.610 -
   6.611 -   <p>Two-digit numbers start at value 11, three-digit numbers start at value
   6.612 -    111, etc..
   6.613 -
   6.614 -   <p class=issue>Should I instead explicitly provide a fixed-width numeric
   6.615 -    counter type? I'd like to see if this sort of numbering is used in the
   6.616 -    wild first.
   6.617 -  </div>
   6.618 -
   6.619 -  <h4 id=symbolic><span class=secno>1.1.4. </span> symbolic</h4>
   6.620 -
   6.621 -  <p>If the type is <dfn id=symbolic0>symbolic</dfn>, the ‘<a
   6.622 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   6.623 -   descriptor must contain at least one <a href="#counter-symbol"><i>counter
   6.624 -   symbol</i></a>. This type is defined only over strictly positive counter
   6.625 -   values.
   6.626 -
   6.627 -  <p>The <a href="#symbolic0"><i>symbolic</i></a> counter type cycles
   6.628 -   repeatedly through its provided symbols, doubling, tripling, etc. the
   6.629 -   symbols on each successive pass through the list. For example, if the
   6.630 -   original symbols were "*" and "†", then on the second pass they would
   6.631 -   instead be "**" and "††", while on the third they would be "***" and
   6.632 -   "†††", etc. It can be used for footnote-style markers, and is also
   6.633 -   sometimes used for alphabetic-style lists for a slightly different
   6.634 -   presentation than what the <a href="#alphabetic0"><i>alphabetic</i></a>
   6.635 -   type presents.
   6.636 -
   6.637 -  <p>To construct the representation, run the following algorithm. Let
   6.638 -   <var>length</var> be the length of the list of <a
   6.639 -   href="#counter-symbol"><i>counter symbol</i></a>s, <var>value</var>
   6.640 -   initially be the counter value, <var>S</var> initially be the empty
   6.641 -   string, and <var>symbol(n)</var> be the nth <a
   6.642 -   href="#counter-symbol"><i>counter symbol</i></a> in the list of <a
   6.643 -   href="#counter-symbol"><i>counter symbol</i></a>s (0-indexed).
   6.644 -
   6.645 -  <ol>
   6.646 -   <li>Let the <var>chosen symbol</var> be <code
   6.647 -    class=inline>symbol(<var>value</var> mod <var>length</var>)</code>.
   6.648 -
   6.649 -   <li>Let the <var>representation length</var> be <code class=inline>floor(
   6.650 -    (<var>value</var> - 1) / <var>length</var> )</code>.
   6.651 -
   6.652 -   <li>Append the <var>chosen symbol</var> to <var>S</var> a number of times
   6.653 -    equal to the <var>representation length</var>.
   6.654 -  </ol>
   6.655 -
   6.656 -  <p>Finally, return <var>S</var>.
   6.657 -
   6.658 -  <div class=example>
   6.659 -   <p>An "footnote" counter style can be defined as:
   6.660 -
   6.661 -   <pre>
   6.662 -@counter-style <dfn id=footnote>footnote</dfn> {
   6.663 -	type: symbolic;
   6.664 -	symbols: * ⁑ † ‡;
   6.665 -	suffix: '';
   6.666 -}
   6.667 -		</pre>
   6.668 -
   6.669 -   <p>It will then produce lists that look like:
   6.670 -
   6.671 -   <pre>
   6.672 -*.   One
   6.673 -⁑.   Two
   6.674 -†.   Three
   6.675 -‡.   Four
   6.676 -**.  Five
   6.677 -⁑⁑.  Six
   6.678 -		</pre>
   6.679 -  </div>
   6.680 -
   6.681 -  <div class=example>
   6.682 -   <p>Some style guides mandate a list numbering that looks similar to ‘<a
   6.683 -    href="#upper-alpha"><code class=css>upper-alpha</code></a>’, but
   6.684 -    repeats differently after the first 26 values, instead going "AA", "BB",
   6.685 -    "CC", etc. This can be achieved with the symbolic type:
   6.686 -
   6.687 -   <pre>
   6.688 -@counter-style <dfn id=upper-alpha-legal>upper-alpha-legal</dfn> {
   6.689 -	type: symbolic;
   6.690 -	symbols: A B C D E F G H I J K L M 
   6.691 -	         N O P Q R S T U V W X Y Z;
   6.692 -}</pre>
   6.693 -
   6.694 -   <p>This style is identical to ‘<a href="#upper-alpha"><code
   6.695 -    class=css>upper-alpha</code></a>’ through the first 27 values, but they
   6.696 -    diverge after that, with ‘<a href="#upper-alpha"><code
   6.697 -    class=css>upper-alpha</code></a>’ going "AB", "AC", "AD", etc. Starting
   6.698 -    at the 53rd value, ‘<a href="#upper-alpha"><code
   6.699 -    class=css>upper-alpha</code></a>’ goes "BA", "BB", "BC", etc., while
   6.700 -    this style jumps up to the triple digits with "AAA", "BBB", "CCC", etc.
   6.701 -  </div>
   6.702 -
   6.703 -  <p>The <a href="#symbolic0"><i>symbolic</i></a> type will produce
   6.704 -   representations with sizes that are linear in the magnitude of the counter
   6.705 -   value. This can potentially be abused to generate excessively large
   6.706 -   representations and consume undue amounts of the user's memory or even
   6.707 -   hang their browser. User agents must support representations at least 20
   6.708 -   characters long, but they may choose to instead use the fallback style for
   6.709 -   representations that would be longer than 20 characters.
   6.710 -
   6.711 -  <h4 id=non-repeating><span class=secno>1.1.5. </span> non-repeating</h4>
   6.712 -
   6.713 -  <p>If the type is <dfn id=non-repeating0>non-repeating</dfn>, the ‘<a
   6.714 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   6.715 -   descriptor must contain at least one <a href="#counter-symbol"><i>counter
   6.716 -   symbol</i></a>. This type is defined over counter values in a finite
   6.717 -   range, starting with the <a href="#first-symbol-value"><i>first symbol
   6.718 -   value</i></a> and having a length equal to the length of the list of <a
   6.719 -   href="#counter-symbol"><i>counter symbol</i></a>s.
   6.720 -
   6.721 -  <p>The <a href="#non-repeating0"><i>non-repeating</i></a> counter type is
   6.722 -   for representing counter styles that only have a finite number of
   6.723 -   representations. For example, Unicode defines several limited-length runs
   6.724 -   of special characters meant for lists, such as circled digits.
   6.725 -
   6.726 -  <p>When this type is specified, it may optionally have an integer provided
   6.727 -   after it, which sets the <dfn id=first-symbol-value>first symbol
   6.728 -   value</dfn>. If it is omitted, the <a href="#first-symbol-value"><i>first
   6.729 -   symbol value</i></a> is 1.
   6.730 -
   6.731 -  <p>The first <a href="#counter-symbol"><i>counter symbol</i></a> is the
   6.732 -   representation for the <a href="#first-symbol-value"><i>first symbol
   6.733 -   value</i></a>, and subsequent counter values are represented by subsequent
   6.734 -   <a href="#counter-symbol"><i>counter symbol</i></a>s. Once the list of <a
   6.735 -   href="#counter-symbol"><i>counter symbol</i></a>s is exhausted, further
   6.736 -   values cannot be represented by this type, and must instead be represented
   6.737 -   by the fallback counter style.
   6.738 -
   6.739 -  <div class=example>
   6.740 -   <p>A "box-corner" counter style can be defined as:
   6.741 -
   6.742 -   <pre>
   6.743 -@counter-style <dfn id=box-corner>box-corner</dfn> {
   6.744 -	type: non-repeating;
   6.745 -	symbols: ◰ ◳ ◲ ◱;
   6.746 -	suffix: ':';
   6.747 -}
   6.748 -		</pre>
   6.749 -
   6.750 -   <p>It will then produce lists that look like:
   6.751 -
   6.752 -   <pre>
   6.753 -◰:  One
   6.754 -◳:  Two
   6.755 -◲:  Three
   6.756 -◱:  Four
   6.757 -5:  Five
   6.758 -6:  Six
   6.759 -		</pre>
   6.760 -  </div>
   6.761 -
   6.762 -  <h4 id=additive><span class=secno>1.1.6. </span> additive</h4>
   6.763 -
   6.764 -  <p>If the type is <dfn id=additive0>additive</dfn>, the ‘<a
   6.765 -   href="#descdef-additive-symbols"><code
   6.766 -   class=property>additive-symbols</code></a>’ descriptor must contain at
   6.767 -   least one <a href="#additive-tuple"><i>additive tuple</i></a>. This type
   6.768 -   is nominally defined over all counter values (see algorithm, below, for
   6.769 -   exact details)
   6.770 -
   6.771 -  <p>The <a href="#additive0"><i>additive</i></a> counter type takes as many
   6.772 -   of the largest symbols that it can, then as many of the next largest
   6.773 -   symbol, etc. until the sum of all the symbols equals the counter value. It
   6.774 -   can be used to implement roman numerals, and additionally is used to
   6.775 -   represent the numbering system of several languages which use different
   6.776 -   characters for the digits in differnt positions.
   6.777 -
   6.778 -  <p>To construct the representation, run this algorithm. Let
   6.779 -   <var>value</var> initially be the counter value, <var>S</var> initially be
   6.780 -   the empty string, and <var>symbol list</var> initially be the list of <a
   6.781 -   href="#additive-tuple"><i>additive tuple</i></a>s.
   6.782 -
   6.783 -  <ol>
   6.784 -   <li>If <var>value</var> is initially 0, and there is an <a
   6.785 -    href="#additive-tuple"><i>additive tuple</i></a> with a weight of 0,
   6.786 -    append that tuple's <a href="#counter-symbol"><i>counter symbol</i></a>
   6.787 -    to S and return S.
   6.788 -
   6.789 -   <li>If <var>value</var> is negative, run the next step of this algorithm
   6.790 -    with <var>value</var> being the absolute value of <var>value</var>
   6.791 -    instead.
   6.792 -
   6.793 -   <li>While <var>value</var> is greater than 0 and there are elements left
   6.794 -    in the <var>symbol list</var>:
   6.795 -    <ol>
   6.796 -     <li>Pop the first <a href="#additive-tuple"><i>additive tuple</i></a>
   6.797 -      from the <var>symbol list</var>. This is the <dfn id=current-tuple
   6.798 -      title="current tuple|current tuple's">current tuple</dfn>.
   6.799 -
   6.800 -     <li>Append the <a href="#current-tuple"><i>current tuple</i></a>‘<code
   6.801 -      class=css>s <a href="#counter-symbol"><i>counter symbol</i></a> to
   6.802 -      <var>S</var> <code>floor( <var>value</var> / <a
   6.803 -      href="#current-tuple"><var><i>current tuple</i></var></a></code>’s
   6.804 -      weight )</code> times (this may be 0).
   6.805 -
   6.806 -     <li>Decrement <var>value</var> by the <var><a
   6.807 -      href="#current-tuple"><i>current tuple's</i></a> weight multiplied by
   6.808 -      the number of times the <a href="#current-tuple"><i>current
   6.809 -      tuple</i></a> was appended to <var>S</var> in the previous step. </var>
   6.810 -    </ol>
   6.811 -
   6.812 -   <li>If <var>value</var> was originally negative, wrap <var>S</var> in the
   6.813 -    counter style's <a href="#negative-sign"><i
   6.814 -    title=counter-negative>negative sign</i></a>, as specified in the section
   6.815 -    for the <a href="#counter-style-negative">negative descriptor</a>.
   6.816 -
   6.817 -   <li>If the loop ended because <var>value</var> is 0, return S. Otherwise,
   6.818 -    the given counter value cannot be represented by this counter style, and
   6.819 -    must instead be represented by the fallback counter style.
   6.820 -  </ol>
   6.821 -
   6.822 -  <div class=example>
   6.823 -   <p>A "dice" counter style can be defined as:
   6.824 -
   6.825 -   <pre>
   6.826 -@counter-style <dfn id=dice>dice</dfn> {
   6.827 -	type: additive;
   6.828 -	additive-symbols: 6 ⚅, 5 ⚄, 4 ⚃, 3 ⚂, 2 ⚁, 1 ⚀;
   6.829 -	suffix: '';
   6.830 -}
   6.831 -		</pre>
   6.832 -
   6.833 -   <p>It will then produce lists that look like:
   6.834 -
   6.835 -   <pre>
   6.836 -⚀    One
   6.837 -⚁    Two
   6.838 -⚂    Three
   6.839 -...
   6.840 -⚅⚄   Eleven
   6.841 -⚅⚅   Twelve
   6.842 -⚅⚅⚀  Thirteen
   6.843 -		</pre>
   6.844 -  </div>
   6.845 -
   6.846 -  <p>The <a href="#additive0"><i>additive</i></a> type will produce
   6.847 -   representations with sizes that are linear in the magnitude of the counter
   6.848 -   value. This can potentially be abused to generate excessively large
   6.849 -   representations and consume undue amounts of the user's memory or even
   6.850 -   hang their browser. User agents must support representations at least 20
   6.851 -   characters long, but they may choose to instead use the fallback style for
   6.852 -   representations that would be longer than 20 characters.
   6.853 -
   6.854 -  <h4 id=override><span class=secno>1.1.7. </span> override</h4>
   6.855 -
   6.856 -  <p>The <dfn id=override0>override</dfn> type allows an author to use the
   6.857 -   <i>algorithm</i> of another counter style, but alter other aspects, such
   6.858 -   as the negative sign or the suffix. If a counter style uses the <a
   6.859 -   href="#override0"><i>override</i></a> type, any unspecified descriptors
   6.860 -   must be taken from the specified counter style, rather than taking their
   6.861 -   initial values.
   6.862 -
   6.863 -  <p>If a @counter-style uses the <a href="#override0"><i>override</i></a>
   6.864 -   type, it must not contain a ‘<a href="#descdef-symbols"><code
   6.865 -   class=property>symbols</code></a>’ or ‘<a
   6.866 -   href="#descdef-additive-symbols"><code
   6.867 -   class=property>additive-symbols</code></a>’ descriptor; otherwise it is
   6.868 -   invalid and must be ignored. If the specified counter style name isn't the
   6.869 -   name of any currently-defined counter style, it must be treated as if it
   6.870 -   was overriding the <a href="#decimal"><i>decimal</i></a> counter style.
   6.871 -
   6.872 -  <h3 id=counter-style-negative><span class=secno>1.2. </span> Formatting
   6.873 -   negative values: the ‘<a href="#descdef-negative"><code
   6.874 -   class=property>negative</code></a>’ descriptor</h3>
   6.875 -
   6.876 -  <table class=descdef>
   6.877 -   <tbody>
   6.878 -    <tr>
   6.879 -     <th>Name:
   6.880 -
   6.881 -     <td><dfn id=descdef-negative>negative</dfn>
   6.882 -
   6.883 -    <tr>
   6.884 -     <th>Value:
   6.885 -
   6.886 -     <td>&lt;string> &lt;string>?
   6.887 -
   6.888 -    <tr>
   6.889 -     <th>Initial:
   6.890 -
   6.891 -     <td>"\2D" ("-" hyphen-minus)
   6.892 -  </table>
   6.893 -
   6.894 -  <p>The ‘<a href="#descdef-negative"><code
   6.895 -   class=property>negative</code></a>’ descriptor defines how to alter the
   6.896 -   representation when the counter value is negative. Not all counter types
   6.897 -   can render negative numbers.
   6.898 -
   6.899 -  <p>The first string in the value is prepended to the representation when
   6.900 -   the counter value is negative. The second string, if specified, is
   6.901 -   appended to the representation when the counter value is negative.
   6.902 -
   6.903 -  <div class=example>
   6.904 -   <p>For example, specifying ‘<a href="#descdef-negative"><code
   6.905 -    class=css>negative: "(" ")";</code></a>’ will make negative values be
   6.906 -    wrapped in parentheses, which is sometimes used in financial contexts,
   6.907 -    like "(2) (1) 0 1 2 3...".
   6.908 -  </div>
   6.909 -
   6.910 -  <h3 id=counter-style-prefix><span class=secno>1.3. </span> Symbols before
   6.911 -   the marker: the ‘<a href="#descdef-prefix"><code
   6.912 -   class=property>prefix</code></a>’ descriptor</h3>
   6.913 -
   6.914 -  <table class=descdef>
   6.915 -   <tbody>
   6.916 -    <tr>
   6.917 -     <th>Name:
   6.918 -
   6.919 -     <td><dfn id=descdef-prefix>prefix</dfn>
   6.920 -
   6.921 -    <tr>
   6.922 -     <th>Value:
   6.923 -
   6.924 -     <td>&lt;string>
   6.925 -
   6.926 -    <tr>
   6.927 -     <th>Initial:
   6.928 -
   6.929 -     <td>"" (the empty string)
   6.930 -  </table>
   6.931 -
   6.932 -  <p>The ‘<a href="#descdef-prefix"><code
   6.933 -   class=property>prefix</code></a>’ descripter specifies a string that is
   6.934 -   prepended to the marker representation. Prefixes are only added by the
   6.935 -   algorithm for constructing the default contents of the ‘<code
   6.936 -   class=css>::marker</code>’ pseudo-element; the prefix is not added
   6.937 -   automatically when the counter() or counters() functions are used.
   6.938 -   Prefixes are added to the representation after negative signs.
   6.939 -
   6.940 -  <h3 id=counter-style-suffix><span class=secno>1.4. </span> Symbols after
   6.941 -   the marker: the ‘<a href="#descdef-suffix"><code
   6.942 -   class=property>suffix</code></a>’ descriptor</h3>
   6.943 -
   6.944 -  <table class=descdef>
   6.945 -   <tbody>
   6.946 -    <tr>
   6.947 -     <th>Name:
   6.948 -
   6.949 -     <td><dfn id=descdef-suffix>suffix</dfn>
   6.950 -
   6.951 -    <tr>
   6.952 -     <th>Value:
   6.953 -
   6.954 -     <td>&lt;string>
   6.955 -
   6.956 -    <tr>
   6.957 -     <th>Initial:
   6.958 -
   6.959 -     <td>"\2E" ("." full stop)
   6.960 -  </table>
   6.961 -
   6.962 -  <p>The ‘<a href="#descdef-suffix"><code
   6.963 -   class=property>suffix</code></a>’ descripter specifies a string that is
   6.964 -   appended to the marker representation. Suffixes are only added by the
   6.965 -   algorithm for constructing the default contents of the ‘<code
   6.966 -   class=css>::marker</code>’ pseudo-element; the suffix is not added
   6.967 -   automatically when the counter() or counters() functions are used.
   6.968 -   Suffixes are added to the representation after negative signs.
   6.969 -
   6.970 -  <h3 id=counter-style-range><span class=secno>1.5. </span> Limiting the
   6.971 -   counter scope: the ‘<a href="#descdef-range"><code
   6.972 -   class=property>range</code></a>’ descriptor</h3>
   6.973 -
   6.974 -  <table class=descdef>
   6.975 -   <tbody>
   6.976 -    <tr>
   6.977 -     <th>Name:
   6.978 -
   6.979 -     <td><dfn id=descdef-range>range</dfn>
   6.980 -
   6.981 -    <tr>
   6.982 -     <th>Value:
   6.983 -
   6.984 -     <td>[ [ &lt;integer> | infinite ]{2} ]# | auto
   6.985 -
   6.986 -    <tr>
   6.987 -     <th>Initial:
   6.988 -
   6.989 -     <td>auto
   6.990 -  </table>
   6.991 -
   6.992 -  <p>The ‘<a href="#descdef-range"><code class=property>range</code></a>’
   6.993 -   descriptor defines the ranges over which the counter style is defined. If
   6.994 -   a counter style is used to represent a counter value outside of its
   6.995 -   ranges, the counter style instead drops down to its fallback counter
   6.996 -   style.
   6.997 -
   6.998 -  <p>If the value is not ‘<code class=css>auto</code>’, the first value
   6.999 -   of each range in the list represents the lower bound of the range (with
  6.1000 -   ‘<code class=css>infinite</code>’ representing negative infinity), and
  6.1001 -   the second value represents the upper bound of the range (with ‘<code
  6.1002 -   class=property>infinite</code>’ representing positive infinity). This is
  6.1003 -   an inclusive range - it includes both the lower and upper bound numbers.
  6.1004 -   The range of the counter style as a whole is the union of the individual
  6.1005 -   ranges. If the lower bound of any range is higher than the higher bound,
  6.1006 -   the entire descriptor is invalid and must be ignored.
  6.1007 -
  6.1008 -  <p>If the value is ‘<code class=css>auto</code>’, the range depends on
  6.1009 -   the counter type. For ‘<a href="#repeating0"><code
  6.1010 -   class=css>repeating</code></a>’, ‘<a href="#numeric0"><code
  6.1011 -   class=css>numeric</code></a>’, and ‘<a href="#non-repeating0"><code
  6.1012 -   class=css>non-repeating</code></a>’ types, it must be treated
  6.1013 -   identically to specifying ‘<code class=css>infinite infinite</code>’.
  6.1014 -   For ‘<a href="#alphabetic0"><code class=css>alphabetic</code></a>’ and
  6.1015 -   ‘<a href="#symbolic0"><code class=css>symbolic</code></a>’, it must be
  6.1016 -   treated identically to ‘<code class=css>1 infinite</code>’. For ‘<a
  6.1017 -   href="#additive0"><code class=css>additive</code></a>’, it must be
  6.1018 -   treated identically to ‘<code class=css>0 infinite</code>’. For ‘<a
  6.1019 -   href="#override0"><code class=css>override</code></a>’, it must be
  6.1020 -   treated according to the type of the counter style it is overriding.
  6.1021 -
  6.1022 -  <p>Some counter style types have their own implicit ranges, specified above
  6.1023 -   in the individual descriptions for each type. The explicit range given by
  6.1024 -   the ‘<a href="#descdef-range"><code class=css>range</code></a>’
  6.1025 -   descriptor applies at the same time as the implicit range given by the
  6.1026 -   ‘<a href="#descdef-type"><code class=css>type</code></a>’ descriptor -
  6.1027 -   if the counter value is outside either range, the fallback style must
  6.1028 -   instead be used to generate the representation.
  6.1029 -
  6.1030 -  <p class=issue>There's also an implicit range coming from implementation
  6.1031 -   limits. Should we require UAs to support all values in a signed 2-byte
  6.1032 -   int, or a signed 4-byte int?
  6.1033 -
  6.1034 -  <h3 id=counter-style-fallback><span class=secno>1.6. </span> Defining
  6.1035 -   fallback: the ‘<a href="#descdef-fallback"><code
  6.1036 -   class=property>fallback</code></a>’ descriptor</h3>
  6.1037 -
  6.1038 -  <table class=descdef>
  6.1039 -   <tbody>
  6.1040 -    <tr>
  6.1041 -     <th>Name:
  6.1042 -
  6.1043 -     <td><dfn id=descdef-fallback>fallback</dfn>
  6.1044 -
  6.1045 -    <tr>
  6.1046 -     <th>Value:
  6.1047 -
  6.1048 -     <td>&lt;counter-style-name>
  6.1049 -
  6.1050 -    <tr>
  6.1051 -     <th>Initial:
  6.1052 -
  6.1053 -     <td>decimal
  6.1054 -  </table>
  6.1055 -
  6.1056 -  <p>The ‘<a href="#descdef-fallback"><code
  6.1057 -   class=property>fallback</code></a>’ descriptor specifies a fallback
  6.1058 -   counter style to be used when the current counter style can't create a
  6.1059 -   representation for a given counter value. For example, if a counter style
  6.1060 -   defined with a range of 1-10 is asked to represent a counter value of 11,
  6.1061 -   the counter value's representation is instead constructed with the
  6.1062 -   fallback counter style (or possibly the fallback style's fallback style,
  6.1063 -   if the fallback style can't represent that value, etc.).
  6.1064 -
  6.1065 -  <p>If the value of the ‘<a href="#descdef-fallback"><code
  6.1066 -   class=property>fallback</code></a>’ descriptor isn't the name of any
  6.1067 -   currently-defined counter style, the used value of the ‘<a
  6.1068 -   href="#descdef-fallback"><code class=property>fallback</code></a>’
  6.1069 -   descriptor is <a href="#decimal"><i>decimal</i></a> instead. Similarly,
  6.1070 -   while following fallbacks to find a counter style that can render the
  6.1071 -   given counter value, if a loop in the specified fallbacks is detected, the
  6.1072 -   <a href="#decimal"><i>decimal</i></a> style must be used instead.
  6.1073 -
  6.1074 -  <p class=note>Note that it is not necessarily an error to specify fallback
  6.1075 -   loops. For example, if an author desires a counter style with
  6.1076 -   significantly different representations for even and odd counter values,
  6.1077 -   they may find it easiest to define one style that can only represent odd
  6.1078 -   values and one that can only represent even values, and specify each as
  6.1079 -   the fallback for the other one. Though the fallback graph is circular, at
  6.1080 -   no point do you encounter a loop while following these fallbacks - every
  6.1081 -   counter value is represented by one or the other counter style.
  6.1082 -
  6.1083 -  <p class=issue>Is it useful to allow this case? If it would be
  6.1084 -   significantly easier for implementations to just detect and reject
  6.1085 -   circular fallback graphs, that would probably be acceptable.
  6.1086 -
  6.1087 -  <h3 id=counter-style-symbols><span class=secno>1.7. </span> Marker
  6.1088 -   characters: the ‘<a href="#descdef-symbols"><code
  6.1089 -   class=property>symbols</code></a>’ and ‘<a
  6.1090 -   href="#descdef-additive-symbols"><code
  6.1091 -   class=property>additive-symbols</code></a>’ descriptors</h3>
  6.1092 -
  6.1093 -  <table class=descdef>
  6.1094 -   <tbody>
  6.1095 -    <tr>
  6.1096 -     <th>Name:
  6.1097 -
  6.1098 -     <td><dfn id=descdef-symbols>symbols</dfn>
  6.1099 -
  6.1100 -    <tr>
  6.1101 -     <th>Value:
  6.1102 -
  6.1103 -     <td>[ &lt;string> | &lt;image> | &lt;identifier> ]+
  6.1104 -
  6.1105 -    <tr>
  6.1106 -     <th>Initial:
  6.1107 -
  6.1108 -     <td>N/A
  6.1109 -  </table>
  6.1110 -
  6.1111 -  <table class=descdef>
  6.1112 -   <tbody>
  6.1113 -    <tr>
  6.1114 -     <th>Name:
  6.1115 -
  6.1116 -     <td><dfn id=descdef-additive-symbols>additive-symbols</dfn>
  6.1117 -
  6.1118 -    <tr>
  6.1119 -     <th>Value:
  6.1120 -
  6.1121 -     <td>[ &lt;integer> && [ &lt;string> | &lt;image> | &lt;identifier> ] ]#
  6.1122 -
  6.1123 -    <tr>
  6.1124 -     <th>Initial:
  6.1125 -
  6.1126 -     <td>N/A
  6.1127 -  </table>
  6.1128 -
  6.1129 -  <p>The ‘<a href="#descdef-symbols"><code
  6.1130 -   class=property>symbols</code></a>’ and ‘<a
  6.1131 -   href="#descdef-additive-symbols"><code
  6.1132 -   class=property>additive-symbols</code></a>’ descriptors specify the
  6.1133 -   characters used by the marker-construction algorithm specified by the
  6.1134 -   ‘<a href="#descdef-type"><code class=property>type</code></a>’
  6.1135 -   descriptor. The ‘<a href="#descdef-symbols"><code
  6.1136 -   class=property>symbols</code></a>’ descriptor must be specified if the
  6.1137 -   counter type is <a href="#repeating0"><i>repeating</i></a>, <a
  6.1138 -   href="#numeric0"><i>numeric</i></a>, <a
  6.1139 -   href="#alphabetic0"><i>alphabetic</i></a>, <a
  6.1140 -   href="#symbolic0"><i>symbolic</i></a>, or <a
  6.1141 -   href="#non-repeating0"><i>non-repeating</i></a>, and the ‘<a
  6.1142 -   href="#descdef-additive-symbols"><code
  6.1143 -   class=property>additive-symbols</code></a>’ descriptor must be specified
  6.1144 -   if the counter type is <a href="#additive0"><i>additive</i></a>;
  6.1145 -   otherwise, the @counter-style is invalid and must be ignored.
  6.1146 -
  6.1147 -  <p>Some counter styles specify that the ‘<a href="#descdef-symbols"><code
  6.1148 -   class=property>symbols</code></a>’ descriptor must have at least two
  6.1149 -   entries. If the counter's style is such a type, and the ‘<a
  6.1150 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
  6.1151 -   descriptor has only a single entry, the counter style is invalid and must
  6.1152 -   be ignored.
  6.1153 -
  6.1154 -  <p>Each entry in the ‘<a href="#descdef-symbols"><code
  6.1155 -   class=property>symbols</code></a>’ descriptor's value defines a <dfn
  6.1156 -   id=counter-symbol>counter symbol</dfn>, which is interpreted differently
  6.1157 -   based on the counter style's type. Each entry in the ‘<a
  6.1158 -   href="#descdef-additive-symbols"><code
  6.1159 -   class=property>additive-symbols</code></a>’ descriptor's value defines
  6.1160 -   an <dfn id=additive-tuple>additive tuple</dfn>, which consists of a <a
  6.1161 -   href="#counter-symbol"><i>counter symbol</i></a> and a non-negative
  6.1162 -   integer weight. Each weight must be a non-negative integer, and the <a
  6.1163 -   href="#additive-tuple"><i>additive tuple</i></a>s must be specified in
  6.1164 -   order of descending weight; otherwise, the @counter-style is invalid and
  6.1165 -   must be ignored.
  6.1166 -
  6.1167 -  <p>Counter symbols may be strings, images, or identifiers, and the three
  6.1168 -   types can be mixed in a single descriptor. Counter representations are
  6.1169 -   constructed by concatenating counter symbols together. Identifiers are
  6.1170 -   rendered as strings containing the same characters. Images are rendered as
  6.1171 -   inline replaced elements. The <a
  6.1172 -   href="http://dev.w3.org/csswg/css3-images/#default-object-size">default
  6.1173 -   object size</a> of an image counter symbol is a 1em by 1em square.
  6.1174 -   <!-- ====================================================================== -->
  6.1175 -
  6.1176 -  <h2 id=symbols-function><span class=secno>2. </span> Defining Anonymous
  6.1177 -   Counter Styles: the ‘<a href="#descdef-symbols"><code
  6.1178 -   class=css>symbols()</code></a>’ function</h2>
  6.1179 -
  6.1180 -  <p> The previous chapter specified a way to define custom counter styles.
  6.1181 -   However, counter styles are sometimes used only once in a stylesheet, and
  6.1182 -   defining a full ‘<code class=css>@counter-style</code>’ rule can be
  6.1183 -   overkill for this case (not to mention the possibility of unintentional
  6.1184 -   name collisions). To address this case, the ‘<a
  6.1185 -   href="#descdef-symbols"><code class=css>symbols()</code></a>’ function
  6.1186 -   provides a simple way to define an anonymous counter style as an inline
  6.1187 -   value. It does not provide the full feature-set of the ‘<code
  6.1188 -   class=css>@counter-style</code>’ rule, but provides a sufficient subset
  6.1189 -   to still be useful. The syntax of the ‘<a href="#descdef-symbols"><code
  6.1190 -   class=css>symbols()</code></a>’ rule is:
  6.1191 -
  6.1192 -  <pre><dfn
  6.1193 -   id=type-symbols-function>&lt;symbols-function></dfn> = symbols( &lt;symbols-type>? [ &lt;string> | &lt;image> ]+ )</pre>
  6.1194 -
  6.1195 -  <p> Where &lt;symbols-type> is one of the following keywords: ‘<a
  6.1196 -   href="#repeating0"><code class=css>repeating</code></a>’, ‘<a
  6.1197 -   href="#numeric0"><code class=css>numeric</code></a>’, ‘<a
  6.1198 -   href="#alphabetic0"><code class=css>alphabetic</code></a>’, ‘<a
  6.1199 -   href="#symbolic0"><code class=css>symbolic</code></a>’, or ‘<a
  6.1200 -   href="#non-repeating0"><code class=css>non-repeating</code></a>’.
  6.1201 -
  6.1202 -  <p> The ‘<a href="#descdef-symbols"><code
  6.1203 -   class=css>symbols()</code></a>’ function defines an anonymous counter
  6.1204 -   style with no <a href="#name"><i title=counter-name>name</i></a>, a <a
  6.1205 -   href="#prefix"><i title=counter-prefix>prefix</i></a> and <a
  6.1206 -   href="#suffix"><i title=counter-suffix>suffix</i></a> of ‘<code
  6.1207 -   class=css>""</code>’ (the empty string), a <a href="#range"><i
  6.1208 -   title=counter-range>range</i></a> from negative infinity to positive
  6.1209 -   infinity, n <a href="#fallback-style"><i title=counter-fallback>fallback
  6.1210 -   style</i></a> of ‘<a href="#decimal"><code
  6.1211 -   class=css>decimal</code></a>’, and a <a href="#negative-sign"><i
  6.1212 -   title=counter-negative>negative sign</i></a> of "\2D" ("-" hyphen-minus).
  6.1213 -   The counter style's <a href="#algorithm"><i
  6.1214 -   title=counter-algorithm>algorithm</i></a> is constructed by consulting the
  6.1215 -   previous chapter using the provided type - or ‘<a
  6.1216 -   href="#symbolic0"><code class=css>symbolic</code></a>’ if the type was
  6.1217 -   omitted - and the provided &lt;string>s and &lt;image>s as the value of
  6.1218 -   the ‘<a href="#descdef-symbols"><code
  6.1219 -   class=property>symbols</code></a>’ property. If the type is ‘<a
  6.1220 -   href="#non-repeating0"><code class=css>non-repeating</code></a>’, the <a
  6.1221 -   href="#first-symbol-value"><i>first symbol value</i></a> is ‘<code
  6.1222 -   class=css>1</code>’.
  6.1223 -
  6.1224 -  <div class=example>
  6.1225 -   <p> This code:
  6.1226 -
  6.1227 -   <pre>ol { list-style: symbols("*" "\2020" "\2021" "\A7"); }</pre>
  6.1228 -
  6.1229 -   <p> will produce lists that look like:
  6.1230 -
  6.1231 -   <pre>
  6.1232 -*   One
  6.1233 -†   Two
  6.1234 -‡   Three
  6.1235 -§   Four
  6.1236 -**  Five
  6.1237 -††  Six
  6.1238 -‡‡  Seven</pre>
  6.1239 -
  6.1240 -   <p> On the other hand, specifying the type of counter, like so:
  6.1241 -
  6.1242 -   <pre>ol { list-style: symbols(repeating "*" "\2020" "\2021" "\A7"); }</pre>
  6.1243 -
  6.1244 -   <p> will produce lists that look like:
  6.1245 -
  6.1246 -   <pre>
  6.1247 -*   One
  6.1248 -†   Two
  6.1249 -‡   Three
  6.1250 -§   Four
  6.1251 -*   Five
  6.1252 -†   Six
  6.1253 -‡   Seven</pre>
  6.1254 -  </div>
  6.1255 -
  6.1256 -  <p class=note> Note that the ‘<a href="#descdef-symbols"><code
  6.1257 -   class=css>symbols()</code></a>’ function only allows strings and images,
  6.1258 -   while the ‘<a href="#descdef-symbols"><code
  6.1259 -   class=property>symbols</code></a>’ descriptor of a ‘<code
  6.1260 -   class=css>@counter-style</code>’ rule also allows identifiers. <!--
  6.1261 -   SSSSSSSSSSSSSSS      tttt                              lllllll                                      
  6.1262 - SS:::::::::::::::S  ttt:::t                              l:::::l                                      
  6.1263 -S:::::SSSSSS::::::S  t:::::t                              l:::::l                                      
  6.1264 -S:::::S     SSSSSSS  t:::::t                              l:::::l                                      
  6.1265 -S:::::S        ttttttt:::::tttttttyyyyyyy           yyyyyyyl::::l     eeeeeeeeeeee        ssssssssss   
  6.1266 -S:::::S        t:::::::::::::::::t y:::::y         y:::::y l::::l   ee::::::::::::ee    ss::::::::::s  
  6.1267 - S::::SSSS     t:::::::::::::::::t  y:::::y       y:::::y  l::::l  e::::::eeeee:::::eess:::::::::::::s 
  6.1268 -  SS::::::SSSSStttttt:::::::tttttt   y:::::y     y:::::y   l::::l e::::::e     e:::::es::::::ssss:::::s
  6.1269 -    SSS::::::::SS    t:::::t          y:::::y   y:::::y    l::::l e:::::::eeeee::::::e s:::::s  ssssss 
  6.1270 -       SSSSSS::::S   t:::::t           y:::::y y:::::y     l::::l e:::::::::::::::::e    s::::::s      
  6.1271 -            S:::::S  t:::::t            y:::::y:::::y      l::::l e::::::eeeeeeeeeee        s::::::s   
  6.1272 -            S:::::S  t:::::t    tttttt   y:::::::::y       l::::l e:::::::e           ssssss   s:::::s 
  6.1273 -SSSSSSS     S:::::S  t::::::tttt:::::t    y:::::::y       l::::::le::::::::e          s:::::ssss::::::s
  6.1274 -S::::::SSSSSS:::::S  tt::::::::::::::t     y:::::y        l::::::l e::::::::eeeeeeee  s::::::::::::::s 
  6.1275 -S:::::::::::::::SS     tt:::::::::::tt    y:::::y         l::::::l  ee:::::::::::::e   s:::::::::::ss  
  6.1276 - SSSSSSSSSSSSSSS         ttttttttttt     y:::::y          llllllll    eeeeeeeeeeeeee    sssssssssss    
  6.1277 -                                        y:::::y                                                        
  6.1278 -                                       y:::::y                                                         
  6.1279 -                                      y:::::y                                                          
  6.1280 -                                     y:::::y                                                           
  6.1281 -                                    yyyyyyy                                                            
  6.1282 --->
  6.1283 -
  6.1284 -  <h2 id=predefined-counters><span class=secno>3. </span> Simple Predefined
  6.1285 -   Counter Styles</h2>
  6.1286 -
  6.1287 -  <p> The following stylesheet uses the ‘<code
  6.1288 -   class=css>@counter-style</code>’ rule to redefine all of the counter
  6.1289 -   styles defined in CSS 2 and CSS 2.1. This stylesheet is normative - UAs
  6.1290 -   must include it in their UA stylesheet (or at least act as if these rules
  6.1291 -   were defined at that level).
  6.1292 -
  6.1293 -  <h3 id=simple-numeric><span class=secno>3.1. </span> Numeric: ‘<a
  6.1294 -   href="#decimal"><code class=css>decimal</code></a>’, ‘<a
  6.1295 -   href="#decimal-leading-zero"><code
  6.1296 -   class=css>decimal-leading-zero</code></a>’, ‘<a
  6.1297 -   href="#cjk-decimal"><code class=css>cjk-decimal</code></a>’, ‘<a
  6.1298 -   href="#lower-roman"><code class=css>lower-roman</code></a>’, ‘<a
  6.1299 -   href="#upper-roman"><code class=css>upper-roman</code></a>’, ‘<a
  6.1300 -   href="#armenian"><code class=css>armenian</code></a>’, ‘<a
  6.1301 -   href="#georgian"><code class=css>georgian</code></a>’, ‘<a
  6.1302 -   href="#hebrew"><code class=css>hebrew</code></a>’</h3>
  6.1303 -
  6.1304 -  <pre class=stylesheet><bdo>
  6.1305 -@counter-style <dfn id=decimal>decimal</dfn> {
  6.1306 -	type: numeric;
  6.1307 -	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
  6.1308 -}
  6.1309 -
  6.1310 -@counter-style <dfn
  6.1311 -   id=decimal-leading-zero>decimal-leading-zero</dfn> {
  6.1312 -	type: non-repeating -9;
  6.1313 -	symbols: '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09';
  6.1314 -}
  6.1315 -
  6.1316 -@counter-style <dfn
  6.1317 -   id=cjk-decimal>cjk-decimal</dfn> {
  6.1318 -	type: numeric;
  6.1319 -	symbols: \3007 \4E00 \4E8C \4E09 \56DB \4E94 \516D \4E03 \516B \4E5D;
  6.1320 -	/* 〇 一 二 三 四 五 六 七 八 九 */
  6.1321 -}
  6.1322 -
  6.1323 -@counter-style <dfn
  6.1324 -   id=lower-roman>lower-roman</dfn> {
  6.1325 -	type: additive;
  6.1326 -	range: 1 4999;
  6.1327 -	additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i;
  6.1328 -}
  6.1329 -
  6.1330 -@counter-style <dfn
  6.1331 -   id=upper-roman>upper-roman</dfn> {
  6.1332 -	type: additive;
  6.1333 -	range: 1 4999;
  6.1334 -	additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I;
  6.1335 -}
  6.1336 -
  6.1337 -@counter-style <dfn
  6.1338 -   id=armenian>armenian</dfn> {
  6.1339 -	type: additive;
  6.1340 -	range: 1 9999;
  6.1341 -	additive-symbols: 9000 \554, 8000 \553, 7000 \552, 6000 \551, 5000 \550, 4000 \54F, 3000 \54E, 2000 \54D, 1000 \54C, 900 \54B, 800 \54A, 700 \549, 600 \548, 500 \547, 400 \546, 300 \545, 200 \544, 100 \543, 90 \542, 80 \541, 70 \540, 60 \53F, 50 \53E, 40 \53D, 30 \53C, 20 \53B, 10 \53A, 9 \539, 8 \538, 7 \537, 6 \536, 5 \535, 4 \534, 3 \533, 2 \532, 1 \531;
  6.1342 -	/* 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա */
  6.1343 -}
  6.1344 -
  6.1345 -@counter-style <dfn
  6.1346 -   id=georgian>georgian</dfn> {
  6.1347 -	type: additive;
  6.1348 -	range: 1 19999;
  6.1349 -	additive-symbols: 10000 \10F5, 9000 \10F0, 8000 \10EF, 7000 \10F4, 6000 \10EE, 5000 \10ED, 4000 \10EC, 3000 \10EB, 2000 \10EA, 1000 \10E9, 900 \10E8, 800 \10E7, 700 \10E6, 600 \10E5, 500 \10E4, 400 \10F3, 300 \10E2, 200 \10E1, 100 \10E0, 90 \10DF, 80 \10DE, 70 \10DD, 60 \10F2, 50 \10DC, 40 \10DB, 30 \10DA, 20 \10D9, 10 \10D8, 9 \10D7, 8 \10F1, 7 \10D6, 6 \10D5, 5 \10D4, 4 \10D3, 3 \10D2, 2 \10D1, 1 \10D0;
  6.1350 -	/* 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა */
  6.1351 -}
  6.1352 -
  6.1353 -@counter-style <dfn
  6.1354 -   id=hebrew>hebrew</dfn> {
  6.1355 -	type: additive;
  6.1356 -	range: 1 infinite;
  6.1357 -	additive-symbols: 400 \5EA, 300 \5E9, 200 \5E8, 100 \5E7, 90 \5E6, 80 \5E4, 70 \5E2, 60 \5E1, 50 \5E0, 40 \5DE, 30 \5DC, 20 \5DB, 19 \5D9\5D8, 18 \5D9\5D7, 17 \5D9\5D6, 16 \5D8\5D6, 15 \5D8\5D5, 10 \5D9, 9 \5D8, 8 \5D7, 7 \5D6, 6 \5D5, 5 \5D4, 4 \5D3, 3 \5D2, 2 \5D1, 1 \5D0;
  6.1358 -	/* 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א */
  6.1359 -	/* This system manually specifies the values for 19-15 to force the correct display of 15 and 16, which are commonly rewritten to avoid a close resemblance to the Tetragrammaton. */
  6.1360 -}</bdo></pre>
  6.1361 -
  6.1362 -  <p> The ‘<a href="#decimal"><code class=css>decimal</code></a>’
  6.1363 -   counter-style must not be overridable with a @counter-style rule, so that
  6.1364 -   it is always available as an ultimate fallback style.
  6.1365 -
  6.1366 -  <h3 id=simple-alphabetic><span class=secno>3.2. </span> Alphabetic: ‘<a
  6.1367 -   href="#lower-alpha"><code class=css>lower-alpha</code></a>’, ‘<a
  6.1368 -   href="#lower-latin"><code class=css>lower-latin</code></a>’, ‘<a
  6.1369 -   href="#upper-alpha"><code class=css>upper-alpha</code></a>’, ‘<a
  6.1370 -   href="#upper-latin"><code class=css>upper-latin</code></a>’, ‘<a
  6.1371 -   href="#lower-greek"><code class=css>lower-greek</code></a>’, ‘<a
  6.1372 -   href="#hiragana"><code class=css>hiragana</code></a>’, ‘<a
  6.1373 -   href="#hiragana-iroha"><code class=css>hiragana-iroha</code></a>’, ‘<a
  6.1374 -   href="#katakana"><code class=css>katakana</code></a>’, ‘<a
  6.1375 -   href="#katakana-iroha"><code class=css>katakana-iroha</code></a>’</h3>
  6.1376 -
  6.1377 -  <pre class=stylesheet><bdo>
  6.1378 -@counter-style <dfn
  6.1379 -   id=lower-alpha>lower-alpha</dfn> {
  6.1380 -	type: alphabetic;
  6.1381 -	symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
  6.1382 -}
  6.1383 -
  6.1384 -@counter-style <dfn
  6.1385 -   id=lower-latin>lower-latin</dfn> {
  6.1386 -	type: override lower-alpha;
  6.1387 -}
  6.1388 -
  6.1389 -@counter-style <dfn
  6.1390 -   id=upper-alpha>upper-alpha</dfn> {
  6.1391 -	type: alphabetic;
  6.1392 -	symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
  6.1393 -}
  6.1394 -
  6.1395 -@counter-style <dfn
  6.1396 -   id=upper-latin>upper-latin</dfn> {
  6.1397 -	type: override upper-alpha;
  6.1398 -}
  6.1399 -
  6.1400 -@counter-style <dfn
  6.1401 -   id=lower-greek>lower-greek</dfn> {
  6.1402 -	type: alphabetic;
  6.1403 -	symbols: \3B1 \3B2 \3B3 \3B4 \3B5 \3B6 \3B7 \3B8 \3B9 \3BA \3BB \3BC \3BD \3BE \3BF \3C0 \3C1 \3C3 \3C4 \3C5 \3C6 \3C7 \3C8 \3C9;
  6.1404 -	/* α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω */
  6.1405 -}
  6.1406 -
  6.1407 -@counter-style <dfn
  6.1408 -   id=hiragana>hiragana</dfn> {
  6.1409 -	type: alphabetic;
  6.1410 -	symbols: \3042 \3044 \3046 \3048 \304A \304B \304D \304F \3051 \3053 \3055 \3057 \3059 \305B \305D \305F \3061 \3064 \3066 \3068 \306A \306B \306C \306D \306E \306F \3072 \3075 \3078 \307B \307E \307F \3080 \3081 \3082 \3084 \3086 \3088 \3089 \308A \308B \308C \308D \308F \3092 \3093;
  6.1411 -	/* あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん */
  6.1412 -	suffix: 、;
  6.1413 -}
  6.1414 -
  6.1415 -@counter-style <dfn
  6.1416 -   id=hiragana-iroha>hiragana-iroha</dfn> {
  6.1417 -	type: alphabetic;
  6.1418 -	symbols: \3044 \308D \306F \306B \307B \3078 \3068 \3061 \308A \306C \308B \3092 \308F \304B \3088 \305F \308C \305D \3064 \306D \306A \3089 \3080 \3046 \3090 \306E \304A \304F \3084 \307E \3051 \3075 \3053 \3048 \3066 \3042 \3055 \304D \3086 \3081 \307F \3057 \3091 \3072 \3082 \305B \3059 \3093;
  6.1419 -	/* い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す ん */
  6.1420 -	suffix: 、;
  6.1421 -}
  6.1422 -
  6.1423 -@counter-style <dfn
  6.1424 -   id=katakana>katakana</dfn> {
  6.1425 -	type: alphabetic;
  6.1426 -	symbols: \30A2 \30A4 \30A6 \30A8 \30AA \30AB \30AD \30AF \30B1 \30B3 \30B5 \30B7 \30B9 \30BB \30BD \30BF \30C1 \30C4 \30C6 \30C8 \30CA \30CB \30CC \30CD \30CE \30CF \30D2 \30D5 \30D8 \30DB \30DE \30DF \30E0 \30E1 \30E2 \30E4 \30E6 \30E8 \30E9 \30EA \30EB \30EC \30ED \30EF \30F2 \30F3;
  6.1427 -	/* ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン */
  6.1428 -	suffix: 、;
  6.1429 -}
  6.1430 -
  6.1431 -@counter-style <dfn
  6.1432 -   id=katakana-iroha>katakana-iroha</dfn> {
  6.1433 -	type: alphabetic;
  6.1434 -	symbols: \30A4 \30ED \30CF \30CB \30DB \30D8 \30C8 \30C1 \30EA \30CC \30EB \30F2 \30EF \30AB \30E8 \30BF \30EC \30BD \30C4 \30CD \30CA \30E9 \30E0 \30A6 \30F0 \30CE \30AA \30AF \30E4 \30DE \30B1 \30D5 \30B3 \30A8 \30C6 \30A2 \30B5 \30AD \30E6 \30E1 \30DF \30B7 \30F1 \30D2 \30E2 \30BB \30B9 \30F3;
  6.1435 -	/* イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス ン */
  6.1436 -	suffix: '、';
  6.1437 -}</bdo></pre>
  6.1438 -
  6.1439 -  <h3 id=simple-symbolic><span class=secno>3.3. </span> Symbolic: ‘<a
  6.1440 -   href="#disc"><code class=css>disc</code></a>’, ‘<a
  6.1441 -   href="#circle"><code class=css>circle</code></a>’, ‘<a
  6.1442 -   href="#square"><code class=css>square</code></a>’</h3>
  6.1443 -
  6.1444 -  <p> In addition to the above styles, UAs must define three counter styles
  6.1445 -   named ‘<a href="#disc"><code class=css>disc</code></a>’, ‘<a
  6.1446 -   href="#circle"><code class=css>circle</code></a>’, and ‘<a
  6.1447 -   href="#square"><code class=css>square</code></a>’. They must do so
  6.1448 -   either by including the following stylesheet in their UA stylesheet, or by
  6.1449 -   rendering the bullets with a browser-generated image matching the
  6.1450 -   descriptions below the stylesheet.
  6.1451 -
  6.1452 -  <p> If a browser chooses to render these counter styles by generating
  6.1453 -   images, the images must be sized to attractively fill a 1em by 1em
  6.1454 -   rectangle. As well, the styles must still be overrideable by a later
  6.1455 -   ‘<code class=css>@counter-style</code>’ rule defining a counter style
  6.1456 -   of the same name, as if they were defined by a ‘<code
  6.1457 -   class=css>@counter-style</code>’ rule in the UA stylesheet.
  6.1458 -
  6.1459 -  <pre class=stylesheet>
  6.1460 -@counter-style <dfn id=disc>disc</dfn> {
  6.1461 -	type: repeating;
  6.1462 -	symbols: \2022;
  6.1463 -	/* • */
  6.1464 -	suffix: ;
  6.1465 -}
  6.1466 -
  6.1467 -@counter-style <dfn
  6.1468 -   id=circle>circle</dfn> {
  6.1469 -	type: repeating;
  6.1470 -	symbols: \25E6;
  6.1471 -	/* ◦ */
  6.1472 -	suffix: ;
  6.1473 -}
  6.1474 -
  6.1475 -@counter-style <dfn
  6.1476 -   id=square>square</dfn> {
  6.1477 -	type: repeating;
  6.1478 -	symbols: \25FE;
  6.1479 -	/* ◾ */
  6.1480 -	suffix: '';
  6.1481 -}</pre>
  6.1482 -
  6.1483 -  <dl>
  6.1484 -   <dt>disc
  6.1485 -
  6.1486 -   <dd>A filled circle, similar to • U+2022 BULLET.
  6.1487 -
  6.1488 -   <dt>circle
  6.1489 -
  6.1490 -   <dd>A hollow circle, similar to ◦ U+25E6 WHITE BULLET.
  6.1491 -
  6.1492 -   <dt>square
  6.1493 -
  6.1494 -   <dd>A filled square, similar to ◾ U+25FE BLACK MEDIUM SMALL SQUARE.
  6.1495 -  </dl>
  6.1496 -  <!-- ======================================================================= -->
  6.1497 -
  6.1498 -  <h2 id=complex-predefined-counters><span class=secno>4. </span> Complex
  6.1499 -   Predefined Counter Styles</h2>
  6.1500 -
  6.1501 -  <p> While authors may define their own counter styles using the ‘<code
  6.1502 -   class=css>@counter-style</code>’ rule or rely on the set of <a
  6.1503 -   href="#ua-stylesheet">predefined counter styles</a>, a few counter styles
  6.1504 -   are described by rules that are too complex to be captured by the
  6.1505 -   predefined algorithms. These counter styles are described in this section.
  6.1506 -
  6.1507 -  <p> Some of the counter styles specified in this section have custom <a
  6.1508 -   href="#algorithm"><i title=counter-algorithm>algorithms for generating
  6.1509 -   counter values</i></a>, but are otherwise identical to a counter style
  6.1510 -   defined via the ‘<code class=css>@counter-style</code>’ rule. For
  6.1511 -   example, an author can reference one of these styles in an ‘<a
  6.1512 -   href="#override0"><code class=property>override</code></a>’ type,
  6.1513 -   reusing the algorithm but swapping out some of the other descriptors.
  6.1514 -
  6.1515 -  <h3 id=complex-cjk><span class=secno>4.1. </span> Longhand East Asian
  6.1516 -   Counter Styles: ‘<a href="#japanese-informal0"><code
  6.1517 -   class=css>japanese-informal</code></a>’, ‘<a
  6.1518 -   href="#japanese-formal0"><code class=css>japanese-formal</code></a>’,
  6.1519 -   ‘<a href="#korean-hangul-formal0"><code
  6.1520 -   class=css>korean-hangul-formal</code></a>’, ‘<a
  6.1521 -   href="#korean-hanja-informal0"><code
  6.1522 -   class=css>korean-hanja-informal</code></a>’, ‘<a
  6.1523 -   href="#korean-hanja-formal0"><code
  6.1524 -   class=css>korean-hanja-formal</code></a>’, ‘<a
  6.1525 -   href="#simp-chinese-informal0"><code
  6.1526 -   class=css>simp-chinese-informal</code></a>’, ‘<a
  6.1527 -   href="#simp-chinese-formal0"><code
  6.1528 -   class=css>simp-chinese-formal</code></a>’, ‘<a
  6.1529 -   href="#trad-chinese-informal0"><code
  6.1530 -   class=css>trad-chinese-informal</code></a>’, ‘<a
  6.1531 -   href="#trad-chinese-formal0"><code
  6.1532 -   class=css>trad-chinese-formal</code></a>’</h3>
  6.1533 -
  6.1534 -  <p> Chinese, Japanese, and Korean have longhand counter styles, which have
  6.1535 -   a structure similar to "one hundred thirteen thousand and twenty-three" in
  6.1536 -   English. Each has both formal and informal variants. The formal styles are
  6.1537 -   typically used in financial and legal documents, as their characters are
  6.1538 -   more difficult to alter into each other.
  6.1539 -
  6.1540 -  <p> Some of the counter styles can, if limited to a reasonable range, be
  6.1541 -   expressed as ‘<code class=css>@counter-style</code>’ rules. As such,
  6.1542 -   this section is split into two pieces: a required section defining the
  6.1543 -   styles over this limited range, and an optional section defining them over
  6.1544 -   a much larger range that requires custom algorithms for all of the styles.
  6.1545 -
  6.1546 -  <dl>
  6.1547 -   <dt>japanese-informal
  6.1548 -
  6.1549 -   <dd>description and example of this style
  6.1550 -
  6.1551 -   <dt>japanese-formal
  6.1552 -
  6.1553 -   <dd>...
  6.1554 -
  6.1555 -   <dt>korean-hangul-formal
  6.1556 -
  6.1557 -   <dd>...
  6.1558 -
  6.1559 -   <dt>korean-hanja-informal
  6.1560 -
  6.1561 -   <dd>...
  6.1562 -
  6.1563 -   <dt>korean-hanja-formal
  6.1564 -
  6.1565 -   <dd>...
  6.1566 -
  6.1567 -   <dt>simp-chinese-informal
  6.1568 -
  6.1569 -   <dd>The simplified Chinese informal style.
  6.1570 -
  6.1571 -   <dt>simp-chinese-formal
  6.1572 -
  6.1573 -   <dd>The simplified Chinese formal style
  6.1574 -
  6.1575 -   <dt>trad-chinese-informal
  6.1576 -
  6.1577 -   <dd>The traditional Chinese informal style
  6.1578 -
  6.1579 -   <dt>trad-chinese-formal
  6.1580 -
  6.1581 -   <dd>The traditional Chinese formal style
  6.1582 -
  6.1583 -   <dt>cjk-ideographic
  6.1584 -
  6.1585 -   <dd>This counter style is identical to ‘<a
  6.1586 -    href="#trad-chinese-formal0"><code
  6.1587 -    class=css>trad-chinese-formal</code></a>’. (It exists for legacy
  6.1588 -    reasons.)
  6.1589 -  </dl>
  6.1590 -
  6.1591 -  <h4 id=limited-cjk><span class=secno>4.1.1. </span> Limited-range
  6.1592 -   Implementation (required)</h4>
  6.1593 -
  6.1594 -  <h5 class="no-num no-toc" id=limited-japanese> Japanese</h5>
  6.1595 -
  6.1596 -  <pre class=stylesheet>
  6.1597 -@counter-style <dfn
  6.1598 -   id=japanese-informal>japanese-informal</dfn> {
  6.1599 -	type: additive;
  6.1600 -	range: 0 9999;
  6.1601 -	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \3007;
  6.1602 -	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇 */
  6.1603 -	suffix: \3001;
  6.1604 -	/* 、 */
  6.1605 -	fallback: cjk-decimal;
  6.1606 -}
  6.1607 -
  6.1608 -@counter-style <dfn
  6.1609 -   id=japanese-formal>japanese-formal</dfn> {
  6.1610 -	type: additive;
  6.1611 -	range: 0 9999;
  6.1612 -	additive-symbols: 9000 \4E5D\9621, 8000 \516B\9621, 7000 \4E03\9621, 6000 \516D\9621, 5000 \4F0D\9621, 4000 \56DB\9621, 3000 \53C2\9621, 2000 \5F10\9621, 1000 \58F1\9621, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4F0D\767E, 400 \56DB\767E, 300 \53C2\767E, 200 \5F10\767E, 100 \58F1\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4F0D\62FE, 40 \56DB\62FE, 30 \53C2\62FE, 20 \5F10\62FE, 10 \58F1\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4F0D, 4 \56DB, 3 \53C2, 2 \5F10, 1 \58F1, 0 \96F6;
  6.1613 -	/* 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零 */
  6.1614 -	suffix: \3001;
  6.1615 -	/* 、 */
  6.1616 -	fallback: cjk-decimal;
  6.1617 -}</pre>
  6.1618 -
  6.1619 -  <h5 class="no-num no-toc" id=limited-korean> Korean</h5>
  6.1620 -
  6.1621 -  <pre class=stylesheet>
  6.1622 -@counter-style <dfn
  6.1623 -   id=korean-hangul-formal>korean-hangul-formal</dfn> {
  6.1624 -	type: additive;
  6.1625 -	range: 0 9999;
  6.1626 -	additive-symbols: 9000 \AD6C\CC9C, 8000 \D314\CC9C, 7000 \CE60\CC9C, 6000 \C721\CC9C, 5000 \C624\CC9C, 4000 \C0AC\CC9C, 3000 \C0BC\CC9C, 2000 \C774\CC9C, 1000 \C77C\CC9C, 900 \AD6C\BC31, 800 \D314\BC31, 700 \CE60\BC31, 600 \C721\BC31, 500 \C624\BC31, 400 \C0AC\BC31, 300 \C0BC\BC31, 200 \C774\BC31, 100 \C77C\BC31, 90 \AD6C\C2ED, 80 \D314\C2ED, 70 \CE60\C2ED, 60 \C721\C2ED, 50 \C624\C2ED, 40 \C0AC\C2ED, 30 \C0BC\C2ED, 20 \C774\C2ED, 10 \C77C\C2ED, 9 \AD6C, 8 \D314, 7 \CE60, 6 \C721, 5 \C624, 4 \C0AC, 3 \C0BC, 2 \C774, 1 \C77C, 0 \C601;
  6.1627 -	/* 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영 */
  6.1628 -	suffix: \3001;
  6.1629 -	/* 、 */
  6.1630 -}
  6.1631 -
  6.1632 -@counter-style <dfn
  6.1633 -   id=korean-hanja-informal>korean-hanja-informal</dfn> {
  6.1634 -	type: additive;
  6.1635 -	range: 0 9999;
  6.1636 -	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \96F6;
  6.1637 -	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零 */
  6.1638 -	suffix: \3001;
  6.1639 -	/* 、 */
  6.1640 -}
  6.1641 -
  6.1642 -@counter-style <dfn
  6.1643 -   id=korean-hanja-formal>korean-hanja-formal</dfn> {
  6.1644 -	type: additive;
  6.1645 -	range: 0 9999;
  6.1646 -	additive-symbols: 9000 \4E5D\4EDF, 8000 \516B\4EDF, 7000 \4E03\4EDF, 6000 \516D\4EDF, 5000 \4E94\4EDF, 4000 \56DB\4EDF, 3000 \53C3\4EDF, 2000 \8CB3\4EDF, 1000 \58F9\4EDF, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \53C3\767E, 200 \8CB3\767E, 100 \58F9\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4E94\62FE, 40 \56DB\62FE, 30 \53C3\62FE, 20 \8CB3\62FE, 10 \58F9\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \53C3, 2 \8CB3, 1 \58F9, 0 \96F6;
  6.1647 -	/* 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零 */
  6.1648 -	suffix: \3001;
  6.1649 -	/* 、 */
  6.1650 -}</pre>
  6.1651 -
  6.1652 -  <h5 class="no-num no-toc" id=limited-chinese> Chinese</h5>
  6.1653 -
  6.1654 -  <p>The Chinese longhand styles are defined over the range -9999 to 9999.
  6.1655 -   For numbers outside this range, the ‘<a href="#cjk-decimal"><code
  6.1656 -   class=css>cjk-decimal</code></a>’ style is used. All of the styles are
  6.1657 -   defined by almost identical algorithms (specified as a single algorithm
  6.1658 -   here, with the differences called out when relevant), but use different
  6.1659 -   sets of characters. The list following the algorithm gives the name of
  6.1660 -   each counter style using this algorithm, and the individual character sets
  6.1661 -   used by each style.
  6.1662 -
  6.1663 -  <ol>
  6.1664 -   <li>If the counter value is 0, the representation is the character for 0
  6.1665 -    specified for the given counter style. Skip the rest of this algorithm.
  6.1666 -
  6.1667 -   <li>Initially represent the counter value as a decimal number. For each
  6.1668 -    digit that is not 0, append the appropriate digit marker to the digit.
  6.1669 -    The ones digit has no marker.
  6.1670 -
  6.1671 -   <li>For the informal styles, if the counter value is between ten and
  6.1672 -    nineteen, remove the tens digit (leave the digit marker).
  6.1673 -
  6.1674 -   <li>Drop any trailing zeros and collapse any remaining zeros into a single
  6.1675 -    zero digit.
  6.1676 -
  6.1677 -   <li>Replace the digits 0-9 with the appropriate character for the given
  6.1678 -    counter style. Return the resultant string as the representation of the
  6.1679 -    counter value.
  6.1680 -  </ol>
  6.1681 -
  6.1682 -  <p>For all of these counter styles, the <a href="#suffix"><i
  6.1683 -   title=counter-suffix>suffix descriptor</i></a> is "、" U+3001, the <a
  6.1684 -   href="#fallback-style"><i title=counter-fallback>fallback
  6.1685 -   descriptor</i></a> is ‘<a href="#cjk-decimal"><code
  6.1686 -   class=css>cjk-decimal</code></a>’, the <i
  6.1687 -   title=counter-lower-bound>lower bound descriptor</i> is -9999, the <i
  6.1688 -   title=counter-upper-bound>upper bound descriptor</i> is 9999, and the <a
  6.1689 -   href="#negative-sign"><i title=counter-negative>negative sign</i></a> is
  6.1690 -   given in the table of symbols for each style.
  6.1691 -
  6.1692 -  <p>The following tables define the characters used in these styles:
  6.1693 -
  6.1694 -  <table class=data>
  6.1695 -   <thead>
  6.1696 -    <tr>
  6.1697 -     <th rowspan=2 scope=col>Values
  6.1698 -
  6.1699 -     <th colspan=4 scope=col>Codepoints
  6.1700 -
  6.1701 -    <tr>
  6.1702 -     <th><dfn id=simp-chinese-informal>simp-chinese-informal</dfn>
  6.1703 -
  6.1704 -     <th><dfn id=simp-chinese-formal>simp-chinese-formal</dfn>
  6.1705 -
  6.1706 -     <th><dfn id=trad-chinese-informal>trad-chinese-informal</dfn>
  6.1707 -
  6.1708 -     <th><dfn id=trad-chinese-formal>trad-chinese-formal</dfn>
  6.1709 -
  6.1710 -   <tbody>
  6.1711 -    <tr>
  6.1712 -     <th scope=row>Digit 0
  6.1713 -
  6.1714 -     <td>零 U+96F6
  6.1715 -
  6.1716 -     <td>零 U+96F6
  6.1717 -
  6.1718 -     <td>零 U+96F6
  6.1719 -
  6.1720 -     <td>零 U+96F6
  6.1721 -
  6.1722 -    <tr>
  6.1723 -     <th scope=row>Digit 1
  6.1724 -
  6.1725 -     <td>一 U+4E00
  6.1726 -
  6.1727 -     <td>壹 U+58F9
  6.1728 -
  6.1729 -     <td>一 U+4E00
  6.1730 -
  6.1731 -     <td>壹 U+58F9
  6.1732 -
  6.1733 -    <tr>
  6.1734 -     <th scope=row>Digit 2
  6.1735 -
  6.1736 -     <td>二 U+4E8C
  6.1737 -
  6.1738 -     <td>贰 U+8D30
  6.1739 -
  6.1740 -     <td>二 U+4E8C
  6.1741 -
  6.1742 -     <td>貳 U+8CB3
  6.1743 -
  6.1744 -    <tr>
  6.1745 -     <th scope=row>Digit 3
  6.1746 -
  6.1747 -     <td>三 U+4E09
  6.1748 -
  6.1749 -     <td>叁 U+53C1
  6.1750 -
  6.1751 -     <td>三 U+4E09
  6.1752 -
  6.1753 -     <td>參 U+53C3
  6.1754 -
  6.1755 -    <tr>
  6.1756 -     <th scope=row>Digit 4
  6.1757 -
  6.1758 -     <td>四 U+56DB
  6.1759 -
  6.1760 -     <td>肆 U+8086
  6.1761 -
  6.1762 -     <td>四 U+56DB
  6.1763 -
  6.1764 -     <td>肆 U+8086
  6.1765 -
  6.1766 -    <tr>
  6.1767 -     <th scope=row>Digit 5
  6.1768 -
  6.1769 -     <td>五 U+4E94
  6.1770 -
  6.1771 -     <td>伍 U+4F0D
  6.1772 -
  6.1773 -     <td>五 U+4E94
  6.1774 -
  6.1775 -     <td>伍 U+4F0D
  6.1776 -
  6.1777 -    <tr>
  6.1778 -     <th scope=row>Digit 6
  6.1779 -
  6.1780 -     <td>六 U+516D
  6.1781 -
  6.1782 -     <td>陆 U+9646
  6.1783 -
  6.1784 -     <td>六 U+516D
  6.1785 -
  6.1786 -     <td>陸 U+9678
  6.1787 -
  6.1788 -    <tr>
  6.1789 -     <th scope=row>Digit 7
  6.1790 -
  6.1791 -     <td>七 U+4E03
  6.1792 -
  6.1793 -     <td>柒 U+67D2
  6.1794 -
  6.1795 -     <td>七 U+4E03
  6.1796 -
  6.1797 -     <td>柒 U+67D2
  6.1798 -
  6.1799 -    <tr>
  6.1800 -     <th scope=row>Digit 8
  6.1801 -
  6.1802 -     <td>八 U+516B
  6.1803 -
  6.1804 -     <td>捌 U+634C
  6.1805 -
  6.1806 -     <td>八 U+516B
  6.1807 -
  6.1808 -     <td>捌 U+634C
  6.1809 -
  6.1810 -    <tr>
  6.1811 -     <th scope=row>Digit 9
  6.1812 -
  6.1813 -     <td>九 U+4E5D
  6.1814 -
  6.1815 -     <td>玖 U+7396
  6.1816 -
  6.1817 -     <td>九 U+4E5D
  6.1818 -
  6.1819 -     <td>玖 U+7396
  6.1820 -
  6.1821 -    <tr>
  6.1822 -     <th scope=row>Tens Digit Marker
  6.1823 -
  6.1824 -     <td>十 U+5341
  6.1825 -
  6.1826 -     <td>拾 U+62FE
  6.1827 -
  6.1828 -     <td>十 U+5341
  6.1829 -
  6.1830 -     <td>拾 U+62FE
  6.1831 -
  6.1832 -    <tr>
  6.1833 -     <th scope=row>Hundreds Digit Marker
  6.1834 -
  6.1835 -     <td>百 U+767E
  6.1836 -
  6.1837 -     <td>佰 U+4F70
  6.1838 -
  6.1839 -     <td>百 U+767E
  6.1840 -
  6.1841 -     <td>佰 U+4F70
  6.1842 -
  6.1843 -    <tr>
  6.1844 -     <th scope=row>Thousands Digit Marker
  6.1845 -
  6.1846 -     <td>千 U+5343
  6.1847 -
  6.1848 -     <td>仟 U+4EDF
  6.1849 -
  6.1850 -     <td>千 U+5343
  6.1851 -
  6.1852 -     <td>仟 U+4EDF
  6.1853 -
  6.1854 -    <tr>
  6.1855 -     <th scope=row>Negative Sign
  6.1856 -
  6.1857 -     <td>负 U+8D1F
  6.1858 -
  6.1859 -     <td>負 U+8D1F
  6.1860 -
  6.1861 -     <td>負 U+8CA0
  6.1862 -
  6.1863 -     <td>負 U+8CA0
  6.1864 -  </table>
  6.1865 -
  6.1866 -  <p class=note>Note: Chinese, Japanese, and Korean longhand numbering is
  6.1867 -   actually defined up to 10<sup>72</sup>. In practice, lists are rarely
  6.1868 -   numbered above ten thousand, so these styles have been limited to their
  6.1869 -   first "group".
  6.1870 -
  6.1871 -  <div class=note>
  6.1872 -   <p>For reference, here are the first 120 values for the ‘<a
  6.1873 -    href="#simp-chinese-informal0"><code
  6.1874 -    class=css>simp-chinese-informal</code></a>’ style:
  6.1875 -
  6.1876 -   <pre>
  6.1877 -  1     一    41   四十一    81   八十一
  6.1878 -  2     二    42   四十二    82   八十二
  6.1879 -  3     三    43   四十三    83   八十三
  6.1880 -  4     四    44   四十四    84   八十四
  6.1881 -  5     五    45   四十五    85   八十五
  6.1882 -  6     六    46   四十六    86   八十六
  6.1883 -  7     七    47   四十七    87   八十七
  6.1884 -  8     八    48   四十八    88   八十八
  6.1885 -  9     九    49   四十九    89   八十九
  6.1886 - 10     十    50    五十    90    九十
  6.1887 - 11    十一    51   五十一    91   九十一
  6.1888 - 12    十二    52   五十二    92   九十二
  6.1889 - 13    十三    53   五十三    93   九十三
  6.1890 - 14    十四    54   五十四    94   九十四
  6.1891 - 15    十五    55   五十五    95   九十五
  6.1892 - 16    十六    56   五十六    96   九十六
  6.1893 - 17    十七    57   五十七    97   九十七
  6.1894 - 18    十八    58   五十八    98   九十八
  6.1895 - 19    十九    59   五十九    99   九十九
  6.1896 - 20    二十    60    六十   100    一百
  6.1897 - 21   二十一    61   六十一   101  一百零一
  6.1898 - 22   二十二    62   六十二   102  一百零二
  6.1899 - 23   二十三    63   六十三   103  一百零三
  6.1900 - 24   二十四    64   六十四   104  一百零四
  6.1901 - 25   二十五    65   六十五   105  一百零五
  6.1902 - 26   二十六    66   六十六   106  一百零六
  6.1903 - 27   二十七    67   六十七   107  一百零七
  6.1904 - 28   二十八    68   六十八   108  一百零八
  6.1905 - 29   二十九    69   六十九   109  一百零九
  6.1906 - 30    三十    70    七十   110  一百一十
  6.1907 - 31   三十一    71   七十一   111 一百一十一
  6.1908 - 32   三十二    72   七十二   112 一百一十二
  6.1909 - 33   三十三    73   七十三   113 一百一十三
  6.1910 - 34   三十四    74   七十四   114 一百一十四
  6.1911 - 35   三十五    75   七十五   115 一百一十五
  6.1912 - 36   三十六    76   七十六   116 一百一十六
  6.1913 - 37   三十七    77   七十七   117 一百一十七
  6.1914 - 38   三十八    78   七十八   118 一百一十八
  6.1915 - 39   三十九    79   七十九   119 一百一十九
  6.1916 - 40    四十    80    八十   120  一百二十</pre>
  6.1917 -  </div>
  6.1918 -
  6.1919 -  <div class=issue>
  6.1920 -   <p>It's possible, with some fallback hackery, to represent these styles
  6.1921 -    with a @counter-style rule. For example, the following 11 styles would
  6.1922 -    serve to represent ‘<a href="#simp-chinese-informal0"><code
  6.1923 -    class=css>simp-chinese-informal</code></a>’ between 0 and 999:
  6.1924 -
  6.1925 -   <pre class=stylesheet>
  6.1926 -@counter-style simp-chinese-informal {
  6.1927 -	type: non-repeating 101;
  6.1928 -	fallback: simp-chinese-informal-200;
  6.1929 -	symbols: 一百零一 一百零二 一百零三 一百零四 一百零五 一百零六 一百零七 一百零八 一百零九;
  6.1930 -}
  6.1931 -@counter-style simp-chinese-informal-200 {
  6.1932 -	type: non-repeating 201;
  6.1933 -	fallback: simp-chinese-informal-300;
  6.1934 -	symbols: 二百零一 二百零二 二百零三 二百零四 二百零五 二百零六 二百零七 二百零八 二百零九;
  6.1935 -}
  6.1936 -/* etc for 300 through 900*/
  6.1937 -@counter-style simp-chinese-informal-10 {
  6.1938 -	type: non-repeating 10;
  6.1939 -	fallback: simp-chinese-informal-rest;
  6.1940 -	symbols: 十 十一 十二 十三 十四 十五 十六 十七 十八 十九;
  6.1941 -}
  6.1942 -@counter-style simp-chinese-informal-rest {
  6.1943 -	type: additive;
  6.1944 -	range: 0 999;
  6.1945 -	fallback: cjk-decimal;
  6.1946 -	additive-symbols: 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百,
  6.1947 -	300 三百, 200 二百, 100 一百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30
  6.1948 -	三十, 20 二十, 10 一十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零;
  6.1949 -}</pre>
  6.1950 -
  6.1951 -   <p>If Lists allowed multiple ranges, the -100 through -900 styles could be
  6.1952 -    collapsed into a single additive style, for a total of only 3
  6.1953 -    @counter-style rules, and up to 9999 could be done with (I believe) 2
  6.1954 -    additional rules. If Lists was altered to let non-numeric styles
  6.1955 -    represent negative values, the negative half of the range could be
  6.1956 -    represented without any extra rules.
  6.1957 -
  6.1958 -   <p>All of the Chinese longhand styles are nearly identical, and
  6.1959 -    ethiopian-numeric can be represented in a similar fashion. Is this too
  6.1960 -    hacky for me to represent them officially using this strategy, or is it
  6.1961 -    okay?
  6.1962 -  </div>
  6.1963 -  <!-- ====================================================================== -->
  6.1964 -
  6.1965 -  <h4 id=extended-cjk><span class=secno>4.1.2. </span> Extended
  6.1966 -   Implementation (optional)</h4>
  6.1967 -
  6.1968 -  <p>Some counter styles described in earlier chapters have been limited to
  6.1969 -   an artifically small (though still useful) range to reduce the overall
  6.1970 -   complexity of the spec and the task of implementing those styles. However,
  6.1971 -   some implementations might consider the extra complexity worthwhile for
  6.1972 -   the additional range it offers to authors. To accomodate this, this
  6.1973 -   section describes how to extend the limited counter-styles to a larger
  6.1974 -   range.
  6.1975 -
  6.1976 -  <p>This entire section is normative, but <strong>optional</strong>.
  6.1977 -   User-agents may ignore it and still be conformant. If a user-agent
  6.1978 -   implements some of the extended forms described in this section, they must
  6.1979 -   be implemented as described here.
  6.1980 -
  6.1981 -  <p>The Chinese longhand styles are defined out to 10k with a <a
  6.1982 -   href="#cjk-counter-styles">specialized algorithm</a>, while the Japanese
  6.1983 -   and Korean longhand styles are defined similarly as <a
  6.1984 -   href="#additive0"><i>additive</i></a> styles. However, these styles are
  6.1985 -   defined out to 10<sup>16</sup> in common usage. The following section
  6.1986 -   describes an alternative algorithm for these styles.
  6.1987 -
  6.1988 -  <p>The Chinese and Japanese styles are defined for all numbers between
  6.1989 -   -10<sup>16</sup> and 10<sup>16</sup>, exclusive; the Korean styles are
  6.1990 -   defined for all non-negative numbers less than 10<sup>16</sup>. For
  6.1991 -   numbers outside this range, the ‘<a href="#cjk-decimal"><code
  6.1992 -   class=css>cjk-decimal</code></a>’ style is used. All of the styles are
  6.1993 -   defined by almost identical algorithms (specified as a single algorithm
  6.1994 -   here, with the differences called out when relevant), but use different
  6.1995 -   sets of characters. The list following the algorithm gives the name of
  6.1996 -   each counter style using this algorithm, and the individual character sets
  6.1997 -   used by each style.
  6.1998 -
  6.1999 -  <ol>
  6.2000 -   <li>If the counter value is 0, the representation is the character for 0
  6.2001 -    specified for the given counter style. Skip the rest of this algorithm.
  6.2002 -
  6.2003 -   <li>Initially represent the counter value as a decimal number. Starting
  6.2004 -    from the right (ones place), split the decimal number into groups of four
  6.2005 -    digits.
  6.2006 -
  6.2007 -   <li>For each group with a non-zero value, append the appropriate group
  6.2008 -    marker to the group. The ones group has no marker.
  6.2009 -
  6.2010 -   <li>Within each group, for each digit that is not 0, append the
  6.2011 -    appropriate digit marker to the digit. The ones digit of each group has
  6.2012 -    no marker.
  6.2013 -
  6.2014 -   <li>Drop ones:
  6.2015 -    <ul>
  6.2016 -     <li>For the Chinese informal styles, for any group with a value between
  6.2017 -      ten and nineteen, remove the tens digit (leave the digit marker).
  6.2018 -
  6.2019 -     <li>For the Japanese informal and Korean informal styles, if any of the
  6.2020 -      digit markers are preceded by the digit 1, and that digit is not the
  6.2021 -      first digit of the group, remove the digit (leave the digit marker).
  6.2022 -
  6.2023 -     <li>For Korean informal styles, if the value of the ten-thousands group
  6.2024 -      is 1, drop the digit (leave the digit marker).
  6.2025 -    </ul>
  6.2026 -
  6.2027 -   <li>Drop zeros:
  6.2028 -    <ul>
  6.2029 -     <li>For the Japanese and Korean styles, drop all zero digits.
  6.2030 -
  6.2031 -     <li>For the Chinese styles, drop any trailing zeros for all non-zero
  6.2032 -      groups and collapse (across groups) each remaining consecutive group of
  6.2033 -      zeros into a single zero digit.
  6.2034 -    </ul>
  6.2035 -
  6.2036 -   <li>For the Korean styles, insert a space (" " U+0020) between each group.
  6.2037 -
  6.2038 -   <li>Replace the digits 0-9 with the appropriate character for the given
  6.2039 -    counter style. Return the resultant string as the representation of the
  6.2040 -    counter value.
  6.2041 -  </ol>
  6.2042 -
  6.2043 -  <p>For all of these counter styles, the <a href="#suffix"><i
  6.2044 -   title=counter-suffix>suffix descriptor</i></a> is "、" U+3001, the <a
  6.2045 -   href="#fallback-style"><i title=counter-fallback>fallback
  6.2046 -   descriptor</i></a> is ‘<a href="#cjk-decimal"><code
  6.2047 -   class=css>cjk-decimal</code></a>’, and the <a href="#negative-sign"><i
  6.2048 -   title=counter-negative>negative sign</i></a> is given in the tables below,
  6.2049 -   or else is the initial value of the descriptor. For Chinese and Japanese,
  6.2050 -   the <i title=counter-lower-range>lower range bound descriptor</i> is -9999
  6.2051 -   9999 9999 9999 (-10<sup>16</sup>+1), while for Korean it's 0. For all of
  6.2052 -   them, the <i title=counter-upper-range>upper range bound descriptor</i> is
  6.2053 -   9999 9999 9999 9999 (10<sup>16</sup>-1).
  6.2054 -
  6.2055 -  <p>The following tables define the characters used in these styles:
  6.2056 -
  6.2057 -  <table class=data>
  6.2058 -   <thead>
  6.2059 -    <tr>
  6.2060 -     <th rowspan=2 scope=col>Values
  6.2061 -
  6.2062 -     <th colspan=4 scope=col>Codepoints
  6.2063 -
  6.2064 -    <tr>
  6.2065 -     <th><dfn id=simp-chinese-informal0>simp-chinese-informal</dfn>
  6.2066 -
  6.2067 -     <th><dfn id=simp-chinese-formal0>simp-chinese-formal</dfn>
  6.2068 -
  6.2069 -     <th><dfn id=trad-chinese-informal0>trad-chinese-informal</dfn>
  6.2070 -
  6.2071 -     <th><dfn id=trad-chinese-formal0>trad-chinese-formal</dfn>
  6.2072 -
  6.2073 -   <tbody>
  6.2074 -    <tr>
  6.2075 -     <th scope=row>Digit 0
  6.2076 -
  6.2077 -     <td>零 U+96F6
  6.2078 -
  6.2079 -     <td>零 U+96F6
  6.2080 -
  6.2081 -     <td>零 U+96F6
  6.2082 -
  6.2083 -     <td>零 U+96F6
  6.2084 -
  6.2085 -    <tr>
  6.2086 -     <th scope=row>Digit 1
  6.2087 -
  6.2088 -     <td>一 U+4E00
  6.2089 -
  6.2090 -     <td>壹 U+58F9
  6.2091 -
  6.2092 -     <td>一 U+4E00
  6.2093 -
  6.2094 -     <td>壹 U+58F9
  6.2095 -
  6.2096 -    <tr>
  6.2097 -     <th scope=row>Digit 2
  6.2098 -
  6.2099 -     <td>二 U+4E8C
  6.2100 -
  6.2101 -     <td>贰 U+8D30
  6.2102 -
  6.2103 -     <td>二 U+4E8C
  6.2104 -
  6.2105 -     <td>貳 U+8CB3
  6.2106 -
  6.2107 -    <tr>
  6.2108 -     <th scope=row>Digit 3
  6.2109 -
  6.2110 -     <td>三 U+4E09
  6.2111 -
  6.2112 -     <td>叁 U+53C1
  6.2113 -
  6.2114 -     <td>三 U+4E09
  6.2115 -
  6.2116 -     <td>參 U+53C3
  6.2117 -
  6.2118 -    <tr>
  6.2119 -     <th scope=row>Digit 4
  6.2120 -
  6.2121 -     <td>四 U+56DB
  6.2122 -
  6.2123 -     <td>肆 U+8086
  6.2124 -
  6.2125 -     <td>四 U+56DB
  6.2126 -
  6.2127 -     <td>肆 U+8086
  6.2128 -
  6.2129 -    <tr>
  6.2130 -     <th scope=row>Digit 5
  6.2131 -
  6.2132 -     <td>五 U+4E94
  6.2133 -
  6.2134 -     <td>伍 U+4F0D
  6.2135 -
  6.2136 -     <td>五 U+4E94
  6.2137 -
  6.2138 -     <td>伍 U+4F0D
  6.2139 -
  6.2140 -    <tr>
  6.2141 -     <th scope=row>Digit 6
  6.2142 -
  6.2143 -     <td>六 U+516D
  6.2144 -
  6.2145 -     <td>陆 U+9646
  6.2146 -
  6.2147 -     <td>六 U+516D
  6.2148 -
  6.2149 -     <td>陸 U+9678
  6.2150 -
  6.2151 -    <tr>
  6.2152 -     <th scope=row>Digit 7
  6.2153 -
  6.2154 -     <td>七 U+4E03
  6.2155 -
  6.2156 -     <td>柒 U+67D2
  6.2157 -
  6.2158 -     <td>七 U+4E03
  6.2159 -
  6.2160 -     <td>柒 U+67D2
  6.2161 -
  6.2162 -    <tr>
  6.2163 -     <th scope=row>Digit 8
  6.2164 -
  6.2165 -     <td>八 U+516B
  6.2166 -
  6.2167 -     <td>捌 U+634C
  6.2168 -
  6.2169 -     <td>八 U+516B
  6.2170 -
  6.2171 -     <td>捌 U+634C
  6.2172 -
  6.2173 -    <tr>
  6.2174 -     <th scope=row>Digit 9
  6.2175 -
  6.2176 -     <td>九 U+4E5D
  6.2177 -
  6.2178 -     <td>玖 U+7396
  6.2179 -
  6.2180 -     <td>九 U+4E5D
  6.2181 -
  6.2182 -     <td>玖 U+7396
  6.2183 -
  6.2184 -    <tr>
  6.2185 -     <th scope=row>Second Digit Marker
  6.2186 -
  6.2187 -     <td>十 U+5341
  6.2188 -
  6.2189 -     <td>拾 U+62FE
  6.2190 -
  6.2191 -     <td>十 U+5341
  6.2192 -
  6.2193 -     <td>拾 U+62FE
  6.2194 -
  6.2195 -    <tr>
  6.2196 -     <th scope=row>Third Digit Marker
  6.2197 -
  6.2198 -     <td>百 U+767E
  6.2199 -
  6.2200 -     <td>佰 U+4F70
  6.2201 -
  6.2202 -     <td>百 U+767E
  6.2203 -
  6.2204 -     <td>佰 U+4F70
  6.2205 -
  6.2206 -    <tr>
  6.2207 -     <th scope=row>Fourth Digit Marker
  6.2208 -
  6.2209 -     <td>千 U+5343
  6.2210 -
  6.2211 -     <td>仟 U+4EDF
  6.2212 -
  6.2213 -     <td>千 U+5343
  6.2214 -
  6.2215 -     <td>仟 U+4EDF
  6.2216 -
  6.2217 -    <tr>
  6.2218 -     <th scope=row>Second Group Marker
  6.2219 -
  6.2220 -     <td>万 U+4E07
  6.2221 -
  6.2222 -     <td>万 U+4E07
  6.2223 -
  6.2224 -     <td>萬 U+842C
  6.2225 -
  6.2226 -     <td>萬 U+842C
  6.2227 -
  6.2228 -    <tr>
  6.2229 -     <th scope=row>Third Group Marker
  6.2230 -
  6.2231 -     <td>亿 U+4EBF
  6.2232 -
  6.2233 -     <td>亿 U+4EBF
  6.2234 -
  6.2235 -     <td>億 U+5104
  6.2236 -
  6.2237 -     <td>億 U+5104
  6.2238 -
  6.2239 -    <tr>
  6.2240 -     <th scope=row>Fourth Group Marker
  6.2241 -
  6.2242 -     <td>万亿 U+4E07 U+4EBF
  6.2243 -
  6.2244 -     <td>万亿 U+4E07 U+4EBF
  6.2245 -
  6.2246 -     <td>兆 U+5146
  6.2247 -
  6.2248 -     <td>兆 U+5146
  6.2249 -
  6.2250 -    <tr>
  6.2251 -     <th scope=row>Negative Sign
  6.2252 -
  6.2253 -     <td>负 U+8D1F
  6.2254 -
  6.2255 -     <td>負 U+8D1F
  6.2256 -
  6.2257 -     <td>負 U+8CA0
  6.2258 -
  6.2259 -     <td>負 U+8CA0
  6.2260 -  </table>
  6.2261 -
  6.2262 -  <table class=data>
  6.2263 -   <thead>
  6.2264 -    <tr>
  6.2265 -     <th rowspan=2 scope=col>Values
  6.2266 -
  6.2267 -     <th colspan=2 scope=col>Codepoints
  6.2268 -
  6.2269 -    <tr>
  6.2270 -     <th><dfn id=japanese-informal0>japanese-informal</dfn>
  6.2271 -
  6.2272 -     <th><dfn id=japanese-formal0>japanese-formal</dfn>
  6.2273 -
  6.2274 -   <tbody>
  6.2275 -    <tr>
  6.2276 -     <th scope=row>Digit 0
  6.2277 -
  6.2278 -     <td>〇 U+3007
  6.2279 -
  6.2280 -     <td>零 U+96F6
  6.2281 -
  6.2282 -    <tr>
  6.2283 -     <th scope=row>Digit 1
  6.2284 -
  6.2285 -     <td>一 U+4E00
  6.2286 -
  6.2287 -     <td>壱 U+58F1
  6.2288 -
  6.2289 -    <tr>
  6.2290 -     <th scope=row>Digit 2
  6.2291 -
  6.2292 -     <td>二 U+4E8C
  6.2293 -
  6.2294 -     <td>弐 U+5F10
  6.2295 -
  6.2296 -    <tr>
  6.2297 -     <th scope=row>Digit 3
  6.2298 -
  6.2299 -     <td>三 U+4E09
  6.2300 -
  6.2301 -     <td>参 U+53C2
  6.2302 -
  6.2303 -    <tr>
  6.2304 -     <th scope=row>Digit 4
  6.2305 -
  6.2306 -     <td>四 U+56DB
  6.2307 -
  6.2308 -     <td>四 U+56DB
  6.2309 -
  6.2310 -    <tr>
  6.2311 -     <th scope=row>Digit 5
  6.2312 -
  6.2313 -     <td>五 U+4E94
  6.2314 -
  6.2315 -     <td>伍 U+4f0D
  6.2316 -
  6.2317 -    <tr>
  6.2318 -     <th scope=row>Digit 6
  6.2319 -
  6.2320 -     <td>六 U+516D
  6.2321 -
  6.2322 -     <td>六 U+516D
  6.2323 -
  6.2324 -    <tr>
  6.2325 -     <th scope=row>Digit 7
  6.2326 -
  6.2327 -     <td>七 U+4E03
  6.2328 -
  6.2329 -     <td>七 U+4E03
  6.2330 -
  6.2331 -    <tr>
  6.2332 -     <th scope=row>Digit 8
  6.2333 -
  6.2334 -     <td>八 U+516B
  6.2335 -
  6.2336 -     <td>八 U+516B
  6.2337 -
  6.2338 -    <tr>
  6.2339 -     <th scope=row>Digit 9
  6.2340 -
  6.2341 -     <td>九 U+4E5D
  6.2342 -
  6.2343 -     <td>九 U+4E5D
  6.2344 -
  6.2345 -    <tr>
  6.2346 -     <th scope=row>Second Digit Marker
  6.2347 -
  6.2348 -     <td>十 U+5341
  6.2349 -
  6.2350 -     <td>拾 U+62FE
  6.2351 -
  6.2352 -    <tr>
  6.2353 -     <th scope=row>Third Digit Marker
  6.2354 -
  6.2355 -     <td>百 U+767E
  6.2356 -
  6.2357 -     <td>百 U+767E
  6.2358 -
  6.2359 -    <tr>
  6.2360 -     <th scope=row>Fourth Digit Marker
  6.2361 -
  6.2362 -     <td>千 U+5343
  6.2363 -
  6.2364 -     <td>阡 U+9621
  6.2365 -
  6.2366 -    <tr>
  6.2367 -     <th scope=row>Second Group Marker
  6.2368 -
  6.2369 -     <td>万 U+4E07
  6.2370 -
  6.2371 -     <td>萬 U+842C
  6.2372 -
  6.2373 -    <tr>
  6.2374 -     <th scope=row>Third Group Marker
  6.2375 -
  6.2376 -     <td>億 U+5104
  6.2377 -
  6.2378 -     <td>億 U+5104
  6.2379 -
  6.2380 -    <tr>
  6.2381 -     <th scope=row>Fourth Group Marker
  6.2382 -
  6.2383 -     <td>兆 U+5146
  6.2384 -
  6.2385 -     <td>兆 U+5146
  6.2386 -
  6.2387 -    <tr>
  6.2388 -     <th scope=row>Negative Sign
  6.2389 -
  6.2390 -     <td colspan=2>マイナス U+30DE U+30A4 U+30CA U+30B9
  6.2391 -  </table>
  6.2392 -
  6.2393 -  <table class=data>
  6.2394 -   <thead>
  6.2395 -    <tr>
  6.2396 -     <th rowspan=2 scope=col>Values
  6.2397 -
  6.2398 -     <th colspan=3 scope=col>Codepoints
  6.2399 -
  6.2400 -    <tr>
  6.2401 -     <th><dfn id=korean-hangul-formal0>korean-hangul-formal</dfn>
  6.2402 -
  6.2403 -     <th><dfn id=korean-hanja-informal0>korean-hanja-informal</dfn>
  6.2404 -
  6.2405 -     <th><dfn id=korean-hanja-formal0>korean-hanja-formal</dfn>
  6.2406 -
  6.2407 -   <tbody>
  6.2408 -    <tr>
  6.2409 -     <th scope=row>Digit 0
  6.2410 -
  6.2411 -     <td>영 U+C601
  6.2412 -
  6.2413 -     <td>零 U+96F6
  6.2414 -
  6.2415 -     <td>零 U+96F6
  6.2416 -
  6.2417 -    <tr>
  6.2418 -     <th scope=row>Digit 1
  6.2419 -
  6.2420 -     <td>일 U+C77C
  6.2421 -
  6.2422 -     <td>一 U+4E00
  6.2423 -
  6.2424 -     <td>壹 U+58F9
  6.2425 -
  6.2426 -    <tr>
  6.2427 -     <th scope=row>Digit 2
  6.2428 -
  6.2429 -     <td>이 U+C774
  6.2430 -
  6.2431 -     <td>二 U+4E8C
  6.2432 -
  6.2433 -     <td>貳 U+8CB3
  6.2434 -
  6.2435 -    <tr>
  6.2436 -     <th scope=row>Digit 3
  6.2437 -
  6.2438 -     <td>삼 U+C0BC
  6.2439 -
  6.2440 -     <td>三 U+4E09
  6.2441 -
  6.2442 -     <td>參 U+53C3
  6.2443 -
  6.2444 -    <tr>
  6.2445 -     <th scope=row>Digit 4
  6.2446 -
  6.2447 -     <td>사 U+C0AC
  6.2448 -
  6.2449 -     <td>四 U+56DB
  6.2450 -
  6.2451 -     <td>四 U+56DB
  6.2452 -
  6.2453 -    <tr>
  6.2454 -     <th scope=row>Digit 5
  6.2455 -
  6.2456 -     <td>오 U+C624
  6.2457 -
  6.2458 -     <td>五 U+4E94
  6.2459 -
  6.2460 -     <td>五 U+4E94
  6.2461 -
  6.2462 -    <tr>
  6.2463 -     <th scope=row>Digit 6
  6.2464 -
  6.2465 -     <td>육 U+C721
  6.2466 -
  6.2467 -     <td>六 U+516D
  6.2468 -
  6.2469 -     <td>六 U+516D
  6.2470 -
  6.2471 -    <tr>
  6.2472 -     <th scope=row>Digit 7
  6.2473 -
  6.2474 -     <td>칠 U+CE60
  6.2475 -
  6.2476 -     <td>七 U+4E03
  6.2477 -
  6.2478 -     <td>七 U+4E03
  6.2479 -
  6.2480 -    <tr>
  6.2481 -     <th scope=row>Digit 8
  6.2482 -
  6.2483 -     <td>팔 U+D314
  6.2484 -
  6.2485 -     <td>八 U+516B
  6.2486 -
  6.2487 -     <td>八 U+516B
  6.2488 -
  6.2489 -    <tr>
  6.2490 -     <th scope=row>Digit 9
  6.2491 -
  6.2492 -     <td>구 U+AD6C
  6.2493 -
  6.2494 -     <td>九 U+4E5D
  6.2495 -
  6.2496 -     <td>九 U+4E5D
  6.2497 -
  6.2498 -    <tr>
  6.2499 -     <th scope=row>Second Digit Marker
  6.2500 -
  6.2501 -     <td>십 U+C2ED
  6.2502 -
  6.2503 -     <td>十 U+5341
  6.2504 -
  6.2505 -     <td>拾 U+62FE
  6.2506 -
  6.2507 -    <tr>
  6.2508 -     <th scope=row>Third Digit Marker
  6.2509 -
  6.2510 -     <td>백 U+BC31
  6.2511 -
  6.2512 -     <td>百 U+767E
  6.2513 -
  6.2514 -     <td>百 U+767E
  6.2515 -
  6.2516 -    <tr>
  6.2517 -     <th scope=row>Fourth Digit Marker
  6.2518 -
  6.2519 -     <td>천 U+CC9C
  6.2520 -
  6.2521 -     <td>千 U+5343
  6.2522 -
  6.2523 -     <td>仟 U+4EDF
  6.2524 -
  6.2525 -    <tr>
  6.2526 -     <th scope=row>Second Group Marker
  6.2527 -
  6.2528 -     <td>만 U+B9CC
  6.2529 -
  6.2530 -     <td>萬 U+842C
  6.2531 -
  6.2532 -     <td>萬 U+842C
  6.2533 -
  6.2534 -    <tr>
  6.2535 -     <th scope=row>Third Group Marker
  6.2536 -
  6.2537 -     <td>억 U+C5B5
  6.2538 -
  6.2539 -     <td>億 U+5104
  6.2540 -
  6.2541 -     <td>億 U+5104
  6.2542 -
  6.2543 -    <tr>
  6.2544 -     <th scope=row>Fourth Group Marker
  6.2545 -
  6.2546 -     <td>조 U+C870
  6.2547 -
  6.2548 -     <td>兆 U+5146
  6.2549 -
  6.2550 -     <td>兆 U+5146
  6.2551 -  </table>
  6.2552 -  <!-- ======================================================================= -->
  6.2553 -
  6.2554 -  <h3 id=ethiopic-numeric><span class=secno>4.2. </span> Ethiopic Numeric
  6.2555 -   Counter Style: ‘<code class=css>ethiopic-numeric</code>’</h3>
  6.2556 -
  6.2557 -  <p class=issue> This counter style is not part of CSS 2.0 or 2.1, but can't
  6.2558 -   be represented well by @counter-style. Should we keep it?
  6.2559 -
  6.2560 -  <p>The Ethiopian numbering system is defined for all positive non-zero
  6.2561 -   numbers. The following algorithm converts decimal digits to ethiopic
  6.2562 -   numbers.
  6.2563 -
  6.2564 -  <ol>
  6.2565 -   <li>Split the number into groups of two digits, starting with the least
  6.2566 -    significant decimal digit.
  6.2567 -
  6.2568 -   <li>Index each group sequentially, starting from the least significant as
  6.2569 -    group number zero.
  6.2570 -
  6.2571 -   <li>If the group has an odd index (as given in the previous step) and has
  6.2572 -    the value 1, or if the group is the most significant one and has the
  6.2573 -    value 1, or if the group has the value zero, then remove the digit (but
  6.2574 -    leave the group, so it still has a separator appended below).
  6.2575 -
  6.2576 -   <li>For each remaining digit, substitute the relevant ethiopic character
  6.2577 -    from the list below.
  6.2578 -    <table class=data>
  6.2579 -     <thead>
  6.2580 -      <tr>
  6.2581 -       <th colspan=3>Tens
  6.2582 -
  6.2583 -       <th colspan=3>Units
  6.2584 -
  6.2585 -      <tr>
  6.2586 -       <th>Values
  6.2587 -
  6.2588 -       <th colspan=2>Codepoints
  6.2589 -
  6.2590 -       <th>Values
  6.2591 -
  6.2592 -       <th colspan=2>Codepoints
  6.2593 -
  6.2594 -     <tbody>
  6.2595 -      <tr>
  6.2596 -       <td>10
  6.2597 -
  6.2598 -       <td>፲
  6.2599 -
  6.2600 -       <td>U+1372
  6.2601 -
  6.2602 -       <td>1
  6.2603 -
  6.2604 -       <td>፩
  6.2605 -
  6.2606 -       <td>U+1369
  6.2607 -
  6.2608 -      <tr>
  6.2609 -       <td>20
  6.2610 -
  6.2611 -       <td>፳
  6.2612 -
  6.2613 -       <td>U+1373
  6.2614 -
  6.2615 -       <td>2
  6.2616 -
  6.2617 -       <td>፪
  6.2618 -
  6.2619 -       <td>U+136A
  6.2620 -
  6.2621 -      <tr>
  6.2622 -       <td>30
  6.2623 -
  6.2624 -       <td>፴
  6.2625 -
  6.2626 -       <td>U+1374
  6.2627 -
  6.2628 -       <td>3
  6.2629 -
  6.2630 -       <td>፫
  6.2631 -
  6.2632 -       <td>U+136B
  6.2633 -
  6.2634 -      <tr>
  6.2635 -       <td>40
  6.2636 -
  6.2637 -       <td>፵
  6.2638 -
  6.2639 -       <td>U+1375
  6.2640 -
  6.2641 -       <td>4
  6.2642 -
  6.2643 -       <td>፬
  6.2644 -
  6.2645 -       <td>U+136C
  6.2646 -
  6.2647 -      <tr>
  6.2648 -       <td>50
  6.2649 -
  6.2650 -       <td>፶
  6.2651 -
  6.2652 -       <td>U+1376
  6.2653 -
  6.2654 -       <td>5
  6.2655 -
  6.2656 -       <td>፭
  6.2657 -
  6.2658 -       <td>U+136D
  6.2659 -
  6.2660 -      <tr>
  6.2661 -       <td>60
  6.2662 -
  6.2663 -       <td>፷
  6.2664 -
  6.2665 -       <td>U+1377
  6.2666 -
  6.2667 -       <td>6
  6.2668 -
  6.2669 -       <td>፮
  6.2670 -
  6.2671 -       <td>U+136E
  6.2672 -
  6.2673 -      <tr>
  6.2674 -       <td>70
  6.2675 -
  6.2676 -       <td>፸
  6.2677 -
  6.2678 -       <td>U+1378
  6.2679 -
  6.2680 -       <td>7
  6.2681 -
  6.2682 -       <td>፯
  6.2683 -
  6.2684 -       <td>U+136F
  6.2685 -
  6.2686 -      <tr>
  6.2687 -       <td>80
  6.2688 -
  6.2689 -       <td>፹
  6.2690 -
  6.2691 -       <td>U+1379
  6.2692 -
  6.2693 -       <td>8
  6.2694 -
  6.2695 -       <td>፰
  6.2696 -
  6.2697 -       <td>U+1370
  6.2698 -
  6.2699 -      <tr>
  6.2700 -       <td>90
  6.2701 -
  6.2702 -       <td>፺
  6.2703 -
  6.2704 -       <td>U+137A
  6.2705 -
  6.2706 -       <td>9
  6.2707 -
  6.2708 -       <td>፱
  6.2709 -
  6.2710 -       <td>U+1371
  6.2711 -    </table>
  6.2712 -
  6.2713 -   <li>For each group with an odd index (as given in the second step) that
  6.2714 -    did not have its digits removed in the third step, append ፻ U+137B.
  6.2715 -
  6.2716 -   <li>For each group with an even index (as given in the second step),
  6.2717 -    except the group with number 0, append ፼ U+137C.
  6.2718 -
  6.2719 -   <li>Concatenate the groups into one string.
  6.2720 -  </ol>
  6.2721 -
  6.2722 -  <p>For this system, the <a href="#name"><i title=counter-name>name</i></a>
  6.2723 -   is "ethiopic-numeric", the <i title=counter-lower-bound>lower range bound
  6.2724 -   descriptor</i> is 1, the <i title=counter-upper-bound>upper range bound
  6.2725 -   descriptor</i> is infinity, and the rest of the descriptors have their
  6.2726 -   initial value.
  6.2727 -
  6.2728 -  <p class=issue>Is there a better suffix to use than the initial (".")? The
  6.2729 -   alphabetic ethiopic systems use a different suffix.
  6.2730 -
  6.2731 -  <div class=example>
  6.2732 -   <p>The decimal number 100, in ethiopic, is ፻ U+137B <!-- odd -->
  6.2733 -
  6.2734 -   <p> The decimal number 78010092, in ethiopic, is ፸፰፻፩፼፺፪
  6.2735 -    U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even -->
  6.2736 -    U+137A U+136A. <!-- 90 2 -->
  6.2737 -
  6.2738 -   <p> The decimal number 780000001092, in ethiopic, is
  6.2739 -    ፸፰፻፩፼፼፺፪ U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369
  6.2740 -    U+137C <!-- 1 even --> U+137C <!-- even --> U+137A U+136A. <!-- 90 2 -->
  6.2741 -  </div>
  6.2742 -
  6.2743 -  <h2 id=apis><span class=secno>5. </span>APIs</h2>
  6.2744 -
  6.2745 -  <h3 id=extentions-to-cssrule-interface><span class=secno>5.1. </span>
  6.2746 -   Extensions to the <code>CSSRule</code> interface</h3>
  6.2747 -
  6.2748 -  <p> The <code>CSSRule</code> interface is extended as follows:
  6.2749 -
  6.2750 -  <pre class=idl><!--
  6.2751 -	-->partial interface CSSRule {
  6.2752 -<!--
  6.2753 -	-->    const unsigned short COUNTER_STYLE_RULE = 11;
  6.2754 -<!--
  6.2755 -	-->}</pre>
  6.2756 -
  6.2757 -  <h3 id=the-csscounterstylerule-interface><span class=secno>5.2. </span> The
  6.2758 -   <a href="#csscounterstylerule"><code>CSSCounterStyleRule</code></a>
  6.2759 -   interface</h3>
  6.2760 -
  6.2761 -  <p> The <dfn id=csscounterstylerule>CSSCounterStyleRule</dfn> interface
  6.2762 -   represents a ‘<code class=css>@counter-style</code>’ rule.
  6.2763 -
  6.2764 -  <pre class=idl><!--
  6.2765 -	-->interface CSSCounterStyleRule : CSSRule {
  6.2766 -<!--
  6.2767 -	-->  readonly attribute DOMString name;
  6.2768 -<!--
  6.2769 -	-->  readonly attribute DOMString type;
  6.2770 -<!--
  6.2771 -	-->  readonly attribute DOMString symbols;
  6.2772 -<!--
  6.2773 -	-->  readonly attribute DOMString additiveSymbols;
  6.2774 -<!--
  6.2775 -	-->  readonly attribute DOMString negative;
  6.2776 -<!--
  6.2777 -	-->  readonly attribute DOMString prefix;
  6.2778 -<!--
  6.2779 -	-->  readonly attribute DOMString suffix;
  6.2780 -<!--
  6.2781 -	-->  readonly attribute DOMString range;
  6.2782 -<!--
  6.2783 -	-->  readonly attribute DOMString fallback;
  6.2784 -<!--
  6.2785 -	-->}</pre>
  6.2786 -
  6.2787 -  <dl class=idl-attributes>
  6.2788 -   <dt><var>name</var> of type <code>DOMString</code>, readonly
  6.2789 -
  6.2790 -   <dd> The <var>name</var> attribute must return a <code>DOMString</code>
  6.2791 -    object that contains the serialization of the
  6.2792 -    <var>&lt;counter-style-name></var> defined for the associated ‘<code
  6.2793 -    class=css>@counter-style</code>’ block.
  6.2794 -
  6.2795 -   <dt>everything else
  6.2796 -
  6.2797 -   <dd> The remaining attributes must return a <code>DOMString</code> object
  6.2798 -    that contains the serialization of the associated descriptor defined for
  6.2799 -    the associated ‘<code class=css>@counter-style</code>’ block.
  6.2800 -  </dl>
  6.2801 -  <!--
  6.2802 -<h2 id='ua-stylesheet'>
  6.2803 -Predefined Counter Styles</h2>
  6.2804 -
  6.2805 -	<p>The CSS Lists and Counters specification [[!CSS3LIST]] defines a mechanism for authors to define almost any counter style they would want.  However, forcing authors to redefine common styles every time they are used would be unnecessarily onerous.  To aid in this regard, this specification predefines a large set of counter styles.  User agents must include the following stylesheet as a user-agent stylesheet, so authors can depend on these styles being present.
  6.2806 -
  6.2807 -	<p>As with any ''@counter-style'' rule, the counter style definitions given here can be overridden by the author if they desire to attach a different style to a counter style name defined in this stylesheet.
  6.2808 -
  6.2809 -	<p class='issue'>Should this chapter and the next be made an informative appendix rather than a required UA stylesheet?
  6.2810 -
  6.2811 -<h3 id='predefined-repeating'>
  6.2812 -Predefined Repeating Styles</h3>
  6.2813 -
  6.2814 -	<pre class=css><code><bdo dir="ltr">
  6.2815 -@counter-style <dfn>box</dfn> {
  6.2816 -	type: repeating;
  6.2817 -	symbols: '\25FD';
  6.2818 -	/* '◽' */
  6.2819 -	suffix: '';
  6.2820 -}
  6.2821 -
  6.2822 -@counter-style <dfn>check</dfn> {
  6.2823 -	type: repeating;
  6.2824 -	symbols: '\2713';
  6.2825 -	/* '✓' */
  6.2826 -	suffix: '';
  6.2827 -}
  6.2828 -
  6.2829 -@counter-style <dfn>circle</dfn> {
  6.2830 -	type: repeating;
  6.2831 -	symbols: '\25E6';
  6.2832 -	/* '◦' */
  6.2833 -	suffix: '';
  6.2834 -}
  6.2835 -
  6.2836 -@counter-style <dfn>diamond</dfn> {
  6.2837 -	type: repeating;
  6.2838 -	symbols: '\25C6';
  6.2839 -	/* '◆' */
  6.2840 -	suffix: '';
  6.2841 -}
  6.2842 -
  6.2843 -@counter-style <dfn>disc</dfn> {
  6.2844 -	type: repeating;
  6.2845 -	symbols: '\2022';
  6.2846 -	/* '•' */
  6.2847 -	suffix: '';
  6.2848 -}
  6.2849 -
  6.2850 -@counter-style <dfn>dash</dfn> {
  6.2851 -	type: repeating;
  6.2852 -	symbols: '\2043';
  6.2853 -	/* '⁃' */
  6.2854 -	suffix: '';
  6.2855 -}
  6.2856 -
  6.2857 -@counter-style <dfn>square</dfn> {
  6.2858 -	type: repeating;
  6.2859 -	symbols: '\25FE';
  6.2860 -	/* '◾' */
  6.2861 -	suffix: '';
  6.2862 -}</bdo></code></pre>
  6.2863 -
  6.2864 -<h3 id='predefined-numeric'>
  6.2865 -Predefined Numeric Styles</h3>
  6.2866 -
  6.2867 -	<pre class=css><code><bdo dir="ltr">
  6.2868 -@counter-style <dfn>arabic-indic</dfn> {
  6.2869 -	type: numeric;
  6.2870 -	symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669';
  6.2871 -	/* '٠' '١' '٢' '٣' '٤' '٥' '٦' '٧' '٨' '٩' */
  6.2872 -}
  6.2873 -
  6.2874 -@counter-style <dfn>bengali</dfn> {
  6.2875 -	type: numeric;
  6.2876 -	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  6.2877 -	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  6.2878 -}
  6.2879 -
  6.2880 -@counter-style <dfn>binary</dfn> {
  6.2881 -	type: numeric;
  6.2882 -	symbols: '\30' '\31';
  6.2883 -	/* '0' '1' */
  6.2884 -}
  6.2885 -
  6.2886 -@counter-style <dfn>cambodian</dfn> {
  6.2887 -	type: numeric;
  6.2888 -	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  6.2889 -	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  6.2890 -}
  6.2891 -
  6.2892 -@counter-style <dfn>decimal</dfn> {
  6.2893 -	type: numeric;
  6.2894 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39';
  6.2895 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  6.2896 -}
  6.2897 -
  6.2898 -@counter-style <dfn>devanagari</dfn> {
  6.2899 -	type: numeric;
  6.2900 -	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  6.2901 -	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  6.2902 -}
  6.2903 -
  6.2904 -@counter-style <dfn>eastern-nagari</dfn> {
  6.2905 -	type: numeric;
  6.2906 -	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  6.2907 -	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  6.2908 -}
  6.2909 -
  6.2910 -@counter-style <dfn>fullwidth-decimal</dfn> {
  6.2911 -	type: numeric;
  6.2912 -	symbols: '\FF10' '\FF11' '\FF12' '\FF13' '\FF14' '\FF15' '\FF16' '\FF17' '\FF18' '\FF19';
  6.2913 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  6.2914 -}
  6.2915 -
  6.2916 -@counter-style <dfn>gujarati</dfn> {
  6.2917 -	type: numeric;
  6.2918 -	symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF';
  6.2919 -	/* '૦' '૧' '૨' '૩' '૪' '૫' '૬' '૭' '૮' '૯' */
  6.2920 -}
  6.2921 -
  6.2922 -@counter-style <dfn>gurmukhi</dfn> {
  6.2923 -	type: numeric;
  6.2924 -	symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F';
  6.2925 -	/* '੦' '੧' '੨' '੩' '੪' '੫' '੬' '੭' '੮' '੯' */
  6.2926 -}
  6.2927 -
  6.2928 -@counter-style <dfn>kannada</dfn> {
  6.2929 -	type: numeric;
  6.2930 -	symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF';
  6.2931 -	/* '೦' '೧' '೨' '೩' '೪' '೫' '೬' '೭' '೮' '೯' */
  6.2932 -}
  6.2933 -
  6.2934 -@counter-style <dfn>khmer</dfn> {
  6.2935 -	type: numeric;
  6.2936 -	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  6.2937 -	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  6.2938 -}
  6.2939 -
  6.2940 -@counter-style <dfn>lower-hexadecimal</dfn> {
  6.2941 -	type: numeric;
  6.2942 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\61' '\62' '\63' '\64' '\65' '\66';
  6.2943 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f' */
  6.2944 -}
  6.2945 -
  6.2946 -@counter-style <dfn>lao</dfn> {
  6.2947 -	type: numeric;
  6.2948 -	symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9';
  6.2949 -	/* '໐' '໑' '໒' '໓' '໔' '໕' '໖' '໗' '໘' '໙' */
  6.2950 -}
  6.2951 -
  6.2952 -@counter-style <dfn>lepcha</dfn> {
  6.2953 -	type: numeric;
  6.2954 -	symbols: '\1C40' '\1C41' '\1C42' '\1C43' '\1C44' '\1C45' '\1C46' '\1C47' '\1C48' '\1C49';
  6.2955 -	/* '᱀' '᱁' '᱂' '᱃' '᱄' '᱅' '᱆' '᱇' '᱈' '᱉' */
  6.2956 -}
  6.2957 -
  6.2958 -@counter-style <dfn>malayalam</dfn> {
  6.2959 -	type: numeric;
  6.2960 -	symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F';
  6.2961 -	/* '൦' '൧' '൨' '൩' '൪' '൫' '൬' '൭' '൮' '൯' */
  6.2962 -}
  6.2963 -
  6.2964 -@counter-style <dfn>marathi</dfn> {
  6.2965 -	type: numeric;
  6.2966 -	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  6.2967 -	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  6.2968 -}
  6.2969 -
  6.2970 -@counter-style <dfn>mongolian</dfn> {
  6.2971 -	type: numeric;
  6.2972 -	symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819';
  6.2973 -	/* '᠐' '᠑' '᠒' '᠓' '᠔' '᠕' '᠖' '᠗' '᠘' '᠙' */
  6.2974 -}
  6.2975 -
  6.2976 -@counter-style <dfn>myanmar</dfn> {
  6.2977 -	type: numeric;
  6.2978 -	symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049';
  6.2979 -	/* '၀' '၁' '၂' '၃' '၄' '၅' '၆' '၇' '၈' '၉' */
  6.2980 -}
  6.2981 -
  6.2982 -@counter-style <dfn>new-base-60</dfn> {
  6.2983 -	type: numeric;
  6.2984 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\4A' '\4B' '\4C' '\4D' '\4E' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A' '\5F' '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  6.2985 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'J' 'K' 'L' 'M' 'N' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '_' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  6.2986 -}
  6.2987 -
  6.2988 -@counter-style <dfn>octal</dfn> {
  6.2989 -	type: numeric;
  6.2990 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37';
  6.2991 -	/* '0' '1' '2' '3' '4' '5' '6' '7' */
  6.2992 -}
  6.2993 -
  6.2994 -@counter-style <dfn>oriya</dfn> {
  6.2995 -	type: numeric;
  6.2996 -	symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F';
  6.2997 -	/* '୦' '୧' '୨' '୩' '୪' '୫' '୬' '୭' '୮' '୯' */
  6.2998 -}
  6.2999 -
  6.3000 -@counter-style <dfn>persian</dfn> {
  6.3001 -	type: numeric;
  6.3002 -	symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9';
  6.3003 -	/* '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹' */
  6.3004 -}
  6.3005 -
  6.3006 -@counter-style <dfn>super-decimal</dfn> {
  6.3007 -	type: numeric;
  6.3008 -	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
  6.3009 -	/* '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹' */
  6.3010 -}
  6.3011 -
  6.3012 -@counter-style <dfn>shan</dfn> {
  6.3013 -	type: numeric;
  6.3014 -	symbols: '\1090' '\1091' '\1092' '\1093' '\1094' '\1095' '\1096' '\1097' '\1098' '\1099';
  6.3015 -	/* '႐' '႑' '႒' '႓' '႔' '႕' '႖' '႗' '႘' '႙' */
  6.3016 -}
  6.3017 -
  6.3018 -@counter-style <dfn>tamil</dfn> {
  6.3019 -	type: numeric;
  6.3020 -	symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF';
  6.3021 -	/* '௦' '௧' '௨' '௩' '௪' '௫' '௬' '௭' '௮' '௯' */
  6.3022 -}
  6.3023 -
  6.3024 -@counter-style <dfn>telugu</dfn> {
  6.3025 -	type: numeric;
  6.3026 -	symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F';
  6.3027 -	/* '౦' '౧' '౨' '౩' '౪' '౫' '౬' '౭' '౮' '౯' */
  6.3028 -}
  6.3029 -
  6.3030 -@counter-style <dfn>tibetan</dfn> {
  6.3031 -	type: numeric;
  6.3032 -	symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29';
  6.3033 -	/* '༠' '༡' '༢' '༣' '༤' '༥' '༦' '༧' '༨' '༩' */
  6.3034 -}
  6.3035 -
  6.3036 -@counter-style <dfn>thai</dfn> {
  6.3037 -	type: numeric;
  6.3038 -	symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59';
  6.3039 -	/* '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' */
  6.3040 -}
  6.3041 -
  6.3042 -@counter-style <dfn>upper-hexadecimal</dfn> {
  6.3043 -	type: numeric;
  6.3044 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46';
  6.3045 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' */
  6.3046 -}</bdo></code></pre>
  6.3047 -
  6.3048 -<h3 id='predefined-alphabetic'>
  6.3049 -Predefined Alphabetic Styles</h3>
  6.3050 -
  6.3051 -	<pre class=css><code><bdo dir="ltr">
  6.3052 -@counter-style <dfn>afar</dfn> {
  6.3053 -	type: alphabetic;
  6.3054 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1260' '\1270' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12E8' '\12F0' '\12F8' '\1308' '\1338' '\1348';
  6.3055 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'በ' 'ተ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'የ' 'ደ' 'ዸ' 'ገ' 'ጸ' 'ፈ' */
  6.3056 -	suffix: '/';
  6.3057 -}
  6.3058 -
  6.3059 -@counter-style <dfn>agaw</dfn> {
  6.3060 -	type: alphabetic;
  6.3061 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  6.3062 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'ቐ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  6.3063 -	suffix: '/';
  6.3064 -}
  6.3065 -
  6.3066 -@counter-style <dfn>ari</dfn> {
  6.3067 -	type: alphabetic;
  6.3068 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1328' '\1340' '\1350';
  6.3069 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጨ' 'ፀ' 'ፐ' */
  6.3070 -	suffix: '/';
  6.3071 -}
  6.3072 -
  6.3073 -@counter-style <dfn>blin</dfn> {
  6.3074 -	type: alphabetic;
  6.3075 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1230' '\1238' '\1228' '\1240' '\1250' '\1260' '\1270' '\1290' '\1300' '\1308' '\1318' '\1320' '\1328' '\1348' '\1278' '\1298' '\1338' '\1330' '\1350';
  6.3076 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሰ' 'ሸ' 'ረ' 'ቀ' 'ቐ' 'በ' 'ተ' 'ነ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ፈ' 'ቸ' 'ኘ' 'ጸ' 'ጰ' 'ፐ' */
  6.3077 -	suffix: '/';
  6.3078 -}
  6.3079 -
  6.3080 -@counter-style <dfn>cambodian-consonant</dfn> {
  6.3081 -	type: alphabetic;
  6.3082 -	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  6.3083 -	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  6.3084 -}
  6.3085 -
  6.3086 -@counter-style <dfn>cjk-earthly-branch</dfn> {
  6.3087 -	type: alphabetic;
  6.3088 -	symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5';
  6.3089 -	/* '子' '丑' '寅' '卯' '辰' '巳' '午' '未' '申' '酉' '戌' '亥' */
  6.3090 -	suffix: '、';
  6.3091 -}
  6.3092 -
  6.3093 -@counter-style <dfn>cjk-heavenly-stem</dfn> {
  6.3094 -	type: alphabetic;
  6.3095 -	symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678';
  6.3096 -	/* '甲' '乙' '丙' '丁' '戊' '己' '庚' '辛' '壬' '癸' */
  6.3097 -	suffix: '、';
  6.3098 -}
  6.3099 -
  6.3100 -@counter-style <dfn>dizi</dfn> {
  6.3101 -	type: alphabetic;
  6.3102 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1338' '\1340' '\1348';
  6.3103 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጸ' 'ፀ' 'ፈ' */
  6.3104 -	suffix: '/';
  6.3105 -}
  6.3106 -
  6.3107 -@counter-style <dfn>fullwidth-lower-alpha</dfn> {
  6.3108 -	type: alphabetic;
  6.3109 -	symbols: '\FF41' '\FF42' '\FF43' '\FF44' '\FF45' '\FF46' '\FF47' '\FF48' '\FF49' '\FF4A' '\FF4B' '\FF4C' '\FF4D' '\FF4E' '\FF4F' '\FF50' '\FF51' '\FF52' '\FF53' '\FF54' '\FF55' '\FF56' '\FF57' '\FF58' '\FF59' '\FF5A';
  6.3110 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  6.3111 -	suffix: '.';
  6.3112 -}
  6.3113 -
  6.3114 -@counter-style <dfn>fullwidth-upper-alpha</dfn> {
  6.3115 -	type: alphabetic;
  6.3116 -	symbols: '\FF21' '\FF22' '\FF23' '\FF24' '\FF25' '\FF26' '\FF27' '\FF28' '\FF29' '\FF2A' '\FF2B' '\FF2C' '\FF2D' '\FF2E' '\FF2F' '\FF30' '\FF31' '\FF32' '\FF33' '\FF34' '\FF35' '\FF36' '\FF37' '\FF38' '\FF39' '\FF3A';
  6.3117 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  6.3118 -	suffix: '.';
  6.3119 -}
  6.3120 -
  6.3121 -@counter-style <dfn>gedeo</dfn> {
  6.3122 -	type: alphabetic;
  6.3123 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  6.3124 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  6.3125 -	suffix: '/';
  6.3126 -}
  6.3127 -
  6.3128 -@counter-style <dfn>gumuz</dfn> {
  6.3129 -	type: alphabetic;
  6.3130 -	symbols: '\1200' '\1210' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1308' '\1328' '\1330' '\1340' '\1350';
  6.3131 -	/* 'ሀ' 'ሐ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ገ' 'ጨ' 'ጰ' 'ፀ' 'ፐ' */
  6.3132 -	suffix: '/';
  6.3133 -}
  6.3134 -
  6.3135 -@counter-style <dfn>hadiyya</dfn> {
  6.3136 -	type: alphabetic;
  6.3137 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  6.3138 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  6.3139 -	suffix: '/';
  6.3140 -}
  6.3141 -
  6.3142 -@counter-style <dfn>harari</dfn> {
  6.3143 -	type: alphabetic;
  6.3144 -	symbols: '\1210' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1348';
  6.3145 -	/* 'ሐ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ፈ' */
  6.3146 -	suffix: '/';
  6.3147 -}
  6.3148 -
  6.3149 -@counter-style <dfn>hindi</dfn> {
  6.3150 -	type: alphabetic;
  6.3151 -	symbols: '\915' '\916' '\917' '\918' '\919' '\91A' '\91B' '\91C' '\91D' '\91E' '\91F' '\920' '\921' '\922' '\923' '\924' '\925' '\926' '\927' '\928' '\92A' '\92B' '\92C' '\92D' '\92E' '\92F' '\930' '\932' '\935' '\936' '\937' '\938' '\939';
  6.3152 -	/* 'क' 'ख' 'ग' 'घ' 'ङ' 'च' 'छ' 'ज' 'झ' 'ञ' 'ट' 'ठ' 'ड' 'ढ' 'ण' 'त' 'थ' 'द' 'ध' 'न' 'प' 'फ' 'ब' 'भ' 'म' 'य' 'र' 'ल' 'व' 'श' 'ष' 'स' 'ह' */
  6.3153 -}
  6.3154 -
  6.3155 -@counter-style <dfn>kaffa</dfn> {
  6.3156 -	type: alphabetic;
  6.3157 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  6.3158 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሠ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  6.3159 -	suffix: '/';
  6.3160 -}
  6.3161 -
  6.3162 -@counter-style <dfn>kebena</dfn> {
  6.3163 -	type: alphabetic;
  6.3164 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  6.3165 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  6.3166 -	suffix: '/';
  6.3167 -}
  6.3168 -
  6.3169 -@counter-style <dfn>kembata</dfn> {
  6.3170 -	type: alphabetic;
  6.3171 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  6.3172 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  6.3173 -	suffix: '/';
  6.3174 -}
  6.3175 -
  6.3176 -@counter-style <dfn>khmer-consonant</dfn> {
  6.3177 -	type: alphabetic;
  6.3178 -	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  6.3179 -	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  6.3180 -}
  6.3181 -
  6.3182 -@counter-style <dfn>konso</dfn> {
  6.3183 -	type: alphabetic;
  6.3184 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1348' '\1350';
  6.3185 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ፈ' 'ፐ' */
  6.3186 -	suffix: '/';
  6.3187 -}
  6.3188 -
  6.3189 -@counter-style <dfn>korean-consonant</dfn> {
  6.3190 -	type: alphabetic;
  6.3191 -	symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E';
  6.3192 -	/* 'ㄱ' 'ㄴ' 'ㄷ' 'ㄹ' 'ㅁ' 'ㅂ' 'ㅅ' 'ㅇ' 'ㅈ' 'ㅊ' 'ㅋ' 'ㅌ' 'ㅍ' 'ㅎ' */
  6.3193 -}
  6.3194 -
  6.3195 -@counter-style <dfn>korean-syllable</dfn> {
  6.3196 -	type: alphabetic;
  6.3197 -	symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558';
  6.3198 -	/* '가' '나' '다' '라' '마' '바' '사' '아' '자' '차' '카' '타' '파' '하' */
  6.3199 -}
  6.3200 -
  6.3201 -@counter-style <dfn>kunama</dfn> {
  6.3202 -	type: alphabetic;
  6.3203 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308';
  6.3204 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' */
  6.3205 -	suffix: '/';
  6.3206 -}
  6.3207 -
  6.3208 -@counter-style <dfn>lower-alpha</dfn> {
  6.3209 -	type: alphabetic;
  6.3210 -	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  6.3211 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  6.3212 -}
  6.3213 -
  6.3214 -@counter-style <dfn>lower-belorussian</dfn> {
  6.3215 -	type: alphabetic;
  6.3216 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\456' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\45E' '\444' '\445' '\446' '\447' '\448' '\44B' '\44C' '\44D' '\44E' '\44F';
  6.3217 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'і' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ў' 'ф' 'х' 'ц' 'ч' 'ш' 'ы' 'ь' 'э' 'ю' 'я' */
  6.3218 -	suffix: ')';
  6.3219 -}
  6.3220 -
  6.3221 -@counter-style <dfn>lower-bulgarian</dfn> {
  6.3222 -	type: alphabetic;
  6.3223 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44C' '\44E' '\44F';
  6.3224 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ь' 'ю' 'я' */
  6.3225 -	suffix: ')';
  6.3226 -}
  6.3227 -
  6.3228 -@counter-style <dfn>lower-greek</dfn> {
  6.3229 -	type: alphabetic;
  6.3230 -	symbols: '\3B1' '\3B2' '\3B3' '\3B4' '\3B5' '\3B6' '\3B7' '\3B8' '\3B9' '\3BA' '\3BB' '\3BC' '\3BD' '\3BE' '\3BF' '\3C0' '\3C1' '\3C3' '\3C4' '\3C5' '\3C6' '\3C7' '\3C8' '\3C9';
  6.3231 -	/* 'α' 'β' 'γ' 'δ' 'ε' 'ζ' 'η' 'θ' 'ι' 'κ' 'λ' 'μ' 'ν' 'ξ' 'ο' 'π' 'ρ' 'σ' 'τ' 'υ' 'φ' 'χ' 'ψ' 'ω' */
  6.3232 -	/* This style is only defined because CSS2.1 has it.  It doesn't appear to actually be used in Greek texts. */
  6.3233 -}
  6.3234 -
  6.3235 -@counter-style <dfn>lower-macedonian</dfn> {
  6.3236 -	type: alphabetic;
  6.3237 -	symbols: '\430' '\431' '\432' '\433' '\434' '\453' '\435' '\436' '\437' '\455' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45C' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  6.3238 -	/* 'а' 'б' 'в' 'г' 'д' 'ѓ' 'е' 'ж' 'з' 'ѕ' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ќ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  6.3239 -	suffix: ')';
  6.3240 -}
  6.3241 -
  6.3242 -@counter-style <dfn>lower-oromo-qubee</dfn> {
  6.3243 -	type: alphabetic;
  6.3244 -	symbols: '\61' '\61\61' '\62' '\63' '\64' '\65' '\65\65' '\66' '\67' '\68' '\69' '\69\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\6F\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\75\75' '\76' '\77' '\78' '\79' '\7A' '\63\68' '\64\68' '\6B\68' '\6E\79' '\70\68' '\73\68';
  6.3245 -	/* 'a' 'aa' 'b' 'c' 'd' 'e' 'ee' 'f' 'g' 'h' 'i' 'ii' 'j' 'k' 'l' 'm' 'n' 'o' 'oo' 'p' 'q' 'r' 's' 't' 'u' 'uu' 'v' 'w' 'x' 'y' 'z' 'ch' 'dh' 'kh' 'ny' 'ph' 'sh' */
  6.3246 -}
  6.3247 -
  6.3248 -@counter-style <dfn>lower-russian</dfn> {
  6.3249 -	type: alphabetic;
  6.3250 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44D' '\44E' '\44F';
  6.3251 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'э' 'ю' 'я' */
  6.3252 -	suffix: ')';
  6.3253 -}
  6.3254 -
  6.3255 -@counter-style <dfn>lower-russian-full</dfn> {
  6.3256 -	type: alphabetic;
  6.3257 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44B' '\44C' '\44D' '\44E' '\44F';
  6.3258 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я' */
  6.3259 -	suffix: ')';
  6.3260 -}
  6.3261 -
  6.3262 -@counter-style <dfn>lower-serbo-croatian</dfn> {
  6.3263 -	type: alphabetic;
  6.3264 -	symbols: '\430' '\431' '\432' '\433' '\434' '\452' '\435' '\436' '\437' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45B' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  6.3265 -	/* 'а' 'б' 'в' 'г' 'д' 'ђ' 'е' 'ж' 'з' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ћ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  6.3266 -	suffix: ')';
  6.3267 -}
  6.3268 -
  6.3269 -@counter-style <dfn>lower-ukrainian</dfn> {
  6.3270 -	type: alphabetic;
  6.3271 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\44E' '\44F';
  6.3272 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'ю' 'я' */
  6.3273 -	suffix: ')';
  6.3274 -}
  6.3275 -
  6.3276 -@counter-style <dfn>lower-ukrainian-full</dfn> {
  6.3277 -	type: alphabetic;
  6.3278 -	symbols: '\430' '\431' '\432' '\433' '\491' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\457' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44C' '\44E' '\44F';
  6.3279 -	/* 'а' 'б' 'в' 'г' 'ґ' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'ї' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ь' 'ю' 'я' */
  6.3280 -	suffix: ')';
  6.3281 -}
  6.3282 -
  6.3283 -@counter-style <dfn>meen</dfn> {
  6.3284 -	type: alphabetic;
  6.3285 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1350' '\1340';
  6.3286 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፐ' 'ፀ' */
  6.3287 -	suffix: '/';
  6.3288 -}
  6.3289 -
  6.3290 -@counter-style <dfn>oromo</dfn> {
  6.3291 -	type: alphabetic;
  6.3292 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  6.3293 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  6.3294 -	suffix: '/';
  6.3295 -}
  6.3296 -
  6.3297 -@counter-style <dfn>saho</dfn> {
  6.3298 -	type: alphabetic;
  6.3299 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1240' '\1260' '\1270' '\1290' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  6.3300 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ቀ' 'በ' 'ተ' 'ነ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  6.3301 -	suffix: '/';
  6.3302 -}
  6.3303 -
  6.3304 -@counter-style <dfn>sidama</dfn> {
  6.3305 -	type: alphabetic;
  6.3306 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  6.3307 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  6.3308 -	suffix: '/';
  6.3309 -}
  6.3310 -
  6.3311 -@counter-style <dfn>silti</dfn> {
  6.3312 -	type: alphabetic;
  6.3313 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  6.3314 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  6.3315 -	suffix: '/';
  6.3316 -}
  6.3317 -
  6.3318 -@counter-style <dfn>thai-alphabetic</dfn> {
  6.3319 -	type: alphabetic;
  6.3320 -	symbols: '\E01' '\E02' '\E04' '\E07' '\E08' '\E09' '\E0A' '\E0B' '\E0C' '\E0D' '\E0E' '\E0F' '\E10' '\E11' '\E12' '\E13' '\E14' '\E15' '\E16' '\E17' '\E18' '\E19' '\E1A' '\E1B' '\E1C' '\E1D' '\E1E' '\E1F' '\E20' '\E21' '\E22' '\E23' '\E25' '\E27' '\E28' '\E29' '\E2A' '\E2B' '\E2C' '\E2D' '\E2E';
  6.3321 -	/* 'ก' 'ข' 'ค' 'ง' 'จ' 'ฉ' 'ช' 'ซ' 'ฌ' 'ญ' 'ฎ' 'ฏ' 'ฐ' 'ฑ' 'ฒ' 'ณ' 'ด' 'ต' 'ถ' 'ท' 'ธ' 'น' 'บ' 'ป' 'ผ' 'ฝ' 'พ' 'ฟ' 'ภ' 'ม' 'ย' 'ร' 'ล' 'ว' 'ศ' 'ษ' 'ส' 'ห' 'ฬ' 'อ' 'ฮ' */
  6.3322 -}
  6.3323 -
  6.3324 -@counter-style <dfn>tigre</dfn> {
  6.3325 -	type: alphabetic;
  6.3326 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12D8' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  6.3327 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'ዘ' 'የ' 'ደ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  6.3328 -	suffix: '/';
  6.3329 -}
  6.3330 -
  6.3331 -@counter-style <dfn>upper-alpha</dfn> {
  6.3332 -	type: alphabetic;
  6.3333 -	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  6.3334 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  6.3335 -}
  6.3336 -
  6.3337 -@counter-style <dfn>upper-belorussian</dfn> {
  6.3338 -	type: alphabetic;
  6.3339 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\406' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\40E' '\424' '\425' '\426' '\427' '\428' '\42B' '\42C' '\42D' '\42E' '\42F';
  6.3340 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'І' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ў' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  6.3341 -}
  6.3342 -
  6.3343 -@counter-style <dfn>upper-bulgarian</dfn> {
  6.3344 -	type: alphabetic;
  6.3345 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42C' '\42E' '\42F';
  6.3346 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ь' 'Ю' 'Я' */
  6.3347 -}
  6.3348 -
  6.3349 -@counter-style <dfn>upper-macedonian</dfn> {
  6.3350 -	type: alphabetic;
  6.3351 -	symbols: '\410' '\411' '\412' '\413' '\414' '\403' '\415' '\416' '\417' '\405' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40C' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  6.3352 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ѓ' 'Е' 'Ж' 'З' 'Ѕ' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ќ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  6.3353 -}
  6.3354 -
  6.3355 -@counter-style <dfn>upper-oromo-qubee</dfn> {
  6.3356 -	type: alphabetic;
  6.3357 -	symbols: '\41' '\41\41' '\42' '\43' '\44' '\45' '\45\45' '\46' '\47' '\48' '\49' '\49\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\4F\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\55\55' '\56' '\57' '\58' '\59' '\5A' '\43\48' '\44\48' '\4B\48' '\4E\59' '\50\48' '\53\48';
  6.3358 -	/* 'A' 'AA' 'B' 'C' 'D' 'E' 'EE' 'F' 'G' 'H' 'I' 'II' 'J' 'K' 'L' 'M' 'N' 'O' 'OO' 'P' 'Q' 'R' 'S' 'T' 'U' 'UU' 'V' 'W' 'X' 'Y' 'Z' 'CH' 'DH' 'KH' 'NY' 'PH' 'SH' */
  6.3359 -}
  6.3360 -
  6.3361 -@counter-style <dfn>upper-russian</dfn> {
  6.3362 -	type: alphabetic;
  6.3363 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42D' '\42E' '\42F';
  6.3364 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Э' 'Ю' 'Я' */
  6.3365 -}
  6.3366 -
  6.3367 -@counter-style <dfn>upper-russian-full</dfn> {
  6.3368 -	type: alphabetic;
  6.3369 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42B' '\42C' '\42D' '\42E' '\42F';
  6.3370 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  6.3371 -}
  6.3372 -
  6.3373 -@counter-style <dfn>upper-serbo-croatian</dfn> {
  6.3374 -	type: alphabetic;
  6.3375 -	symbols: '\410' '\411' '\412' '\413' '\414' '\402' '\415' '\416' '\417' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40B' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  6.3376 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  6.3377 -}
  6.3378 -
  6.3379 -@counter-style <dfn>upper-ukrainian</dfn> {
  6.3380 -	type: alphabetic;
  6.3381 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\42E' '\42F';
  6.3382 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ю' 'Я' */
  6.3383 -}
  6.3384 -
  6.3385 -@counter-style <dfn>upper-ukrainian-full</dfn> {
  6.3386 -	type: alphabetic;
  6.3387 -	symbols: '\410' '\411' '\412' '\413' '\490' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\407' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42C' '\42E' '\42F';
  6.3388 -	/* 'А' 'Б' 'В' 'Г' 'Ґ' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'Ї' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ь' 'Ю' 'Я' */
  6.3389 -}
  6.3390 -
  6.3391 -@counter-style <dfn>wolaita</dfn> {
  6.3392 -	type: alphabetic;
  6.3393 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1230' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350';
  6.3394 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ሰ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፀ' 'ፈ' 'ፐ' */
  6.3395 -	suffix: '/';
  6.3396 -}
  6.3397 -
  6.3398 -@counter-style <dfn>yemsa</dfn> {
  6.3399 -	type: alphabetic;
  6.3400 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1348' '\1350';
  6.3401 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  6.3402 -	suffix: '/';
  6.3403 -}</bdo></code></pre>
  6.3404 -
  6.3405 -<h3 id='predefined-symbolic'>
  6.3406 -Predefined Symbolic Styles</h3>
  6.3407 -
  6.3408 -	<pre class=css><code><bdo dir="ltr">
  6.3409 -@counter-style <dfn>asterisk</dfn> {
  6.3410 -	type: symbolic;
  6.3411 -	symbols: '\2A';
  6.3412 -	/* '*' */
  6.3413 -	suffix: '';
  6.3414 -}
  6.3415 -
  6.3416 -@counter-style <dfn>lower-alpha-symbolic</dfn> {
  6.3417 -	type: symbolic;
  6.3418 -	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  6.3419 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  6.3420 -}
  6.3421 -
  6.3422 -@counter-style <dfn>upper-alpha-symbolic</dfn> {
  6.3423 -	type: symbolic;
  6.3424 -	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  6.3425 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  6.3426 -}</bdo></code></pre>
  6.3427 -
  6.3428 -<h3 id='predefined-non-repeating'>
  6.3429 -Predefined Non-Repeating Styles</h3>
  6.3430 -
  6.3431 -	<pre class=css><code><bdo dir="ltr">
  6.3432 -@counter-style <dfn>circled-decimal</dfn> {
  6.3433 -	type: non-repeating 0;
  6.3434 -	symbols: '\24EA' '\2460' '\2461' '\2462' '\2463' '\2464' '\2465' '\2466' '\2467' '\2468' '\2469' '\246A' '\246B' '\246C' '\246D' '\246E' '\246F' '\2470' '\2471' '\2472' '\2473' '\3251' '\3252' '\3253' '\3254' '\3255' '\3256' '\3257' '\3258' '\3259' '\325a' '\325b' '\325c' '\325d' '\325e' '\325f' '\32b1' '\32b2' '\32b3' '\32b4' '\32b5' '\32b6' '\32b7' '\32b8' '\32b9' '\32ba' '\32bb' '\32bc' '\32bd' '\32be' '\32bf';
  6.3435 -	/* '⓪' '①' '②' '③' '④' '⑤' '⑥' '⑦' '⑧' '⑨' '⑩' '⑪' '⑫' '⑬' '⑭' '⑮' '⑯' '⑰' '⑱' '⑲' '⑳' '㉑' '㉒' '㉓' '㉔' '㉕' '㉖' '㉗' '㉘' '㉙' '㉚' '㉛' '㉜' '㉝' '㉞' '㉟' '㊱' '㊲' '㊳' '㊴' '㊵' '㊶' '㊷' '㊸' '㊹' '㊺' '㊻' '㊼' '㊽' '㊾' '㊿' */
  6.3436 -	suffix: '';
  6.3437 -}
  6.3438 -
  6.3439 -@counter-style <dfn>circled-lower-latin</dfn> {
  6.3440 -	type: non-repeating;
  6.3441 -	symbols: '\24D0' '\24D1' '\24D2' '\24D3' '\24D4' '\24D5' '\24D6' '\24D7' '\24D8' '\24D9' '\24DA' '\24DB' '\24DC' '\24DD' '\24DE' '\24DF' '\24E0' '\24E1' '\24E2' '\24E3' '\24E4' '\24E5' '\24E6' '\24E7' '\24E8' '\24E9';
  6.3442 -	/* 'ⓐ' 'ⓑ' 'ⓒ' 'ⓓ' 'ⓔ' 'ⓕ' 'ⓖ' 'ⓗ' 'ⓘ' 'ⓙ' 'ⓚ' 'ⓛ' 'ⓜ' 'ⓝ' 'ⓞ' 'ⓟ' 'ⓠ' 'ⓡ' 'ⓢ' 'ⓣ' 'ⓤ' 'ⓥ' 'ⓦ' 'ⓧ' 'ⓨ' 'ⓩ' */
  6.3443 -	suffix: '';
  6.3444 -}
  6.3445 -
  6.3446 -@counter-style <dfn>circled-upper-latin</dfn> {
  6.3447 -	type: non-repeating;
  6.3448 -	symbols: '\24B6' '\24B7' '\24B8' '\24B9' '\24BA' '\24BB' '\24BC' '\24BD' '\24BE' '\24BF' '\24C0' '\24C1' '\24C2' '\24C3' '\24C4' '\24C5' '\24C6' '\24C7' '\24C8' '\24C9' '\24CA' '\24CB' '\24CC' '\24CD' '\24CE' '\24CF';
  6.3449 -	/* 'Ⓐ' 'Ⓑ' 'Ⓒ' 'Ⓓ' 'Ⓔ' 'Ⓕ' 'Ⓖ' 'Ⓗ' 'Ⓘ' 'Ⓙ' 'Ⓚ' 'Ⓛ' 'Ⓜ' 'Ⓝ' 'Ⓞ' 'Ⓟ' 'Ⓠ' 'Ⓡ' 'Ⓢ' 'Ⓣ' 'Ⓤ' 'Ⓥ' 'Ⓦ' 'Ⓧ' 'Ⓨ' 'Ⓩ' */
  6.3450 -	suffix: '';
  6.3451 -}
  6.3452 -
  6.3453 -@counter-style <dfn>circled-korean-consonant</dfn> {
  6.3454 -	type: non-repeating;
  6.3455 -	symbols: '\3260' '\3261' '\3262' '\3263' '\3264' '\3265' '\3266' '\3267' '\3268' '\3269' '\326A' '\326B' '\326C' '\326D';
  6.3456 -	/* '㉠' '㉡' '㉢' '㉣' '㉤' '㉥' '㉦' '㉧' '㉨' '㉩' '㉪' '㉫' '㉬' '㉭' */
  6.3457 -	suffix: '';
  6.3458 -}
  6.3459 -
  6.3460 -@counter-style <dfn>circled-korean-syllable</dfn> {
  6.3461 -	type: non-repeating;
  6.3462 -	symbols: '\326E' '\326F' '\3270' '\3271' '\3272' '\3273' '\3274' '\3275' '\3276' '\3277' '\3278' '\3279' '\327A' '\327B';
  6.3463 -	/* '㉮' '㉯' '㉰' '㉱' '㉲' '㉳' '㉴' '㉵' '㉶' '㉷' '㉸' '㉹' '㉺' '㉻' */
  6.3464 -	suffix: '';
  6.3465 -}
  6.3466 -
  6.3467 -@counter-style <dfn>decimal-leading-zero</dfn> {
  6.3468 -	type: non-repeating -9;
  6.3469 -	symbols: '\2D\30\39' '\2D\30\38' '\2D\30\37' '\2D\30\36' '\2D\30\35' '\2D\30\34' '\2D\30\33' '\2D\30\32' '\2D\30\31' '\30\30' '\30\31' '\30\32' '\30\33' '\30\34' '\30\35' '\30\36' '\30\37' '\30\38' '\30\39';
  6.3470 -	/* '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09' */
  6.3471 -}
  6.3472 -
  6.3473 -@counter-style <dfn>dotted-decimal</dfn> {
  6.3474 -	type: non-repeating;
  6.3475 -	symbols: '\2488' '\2489' '\248A' '\248B' '\248C' '\248D' '\248E' '\248F' '\2490' '\2491' '\2492' '\2493' '\2494' '\2495' '\2496' '\2497' '\2498' '\2499' '\249A' '\249B';
  6.3476 -	/* '⒈' '⒉' '⒊' '⒋' '⒌' '⒍' '⒎' '⒏' '⒐' '⒑' '⒒' '⒓' '⒔' '⒕' '⒖' '⒗' '⒘' '⒙' '⒚' '⒛' */
  6.3477 -	suffix: '';
  6.3478 -}
  6.3479 -
  6.3480 -@counter-style <dfn>double-circled-decimal</dfn> {
  6.3481 -	type: non-repeating;
  6.3482 -	symbols: '\24F5' '\24F6' '\24F7' '\24F8' '\24F9' '\24FA' '\24FB' '\24FC' '\24FD' '\24FE';
  6.3483 -	/* '⓵' '⓶' '⓷' '⓸' '⓹' '⓺' '⓻' '⓼' '⓽' '⓾' */
  6.3484 -	suffix: '';
  6.3485 -}
  6.3486 -
  6.3487 -@counter-style <dfn>filled-circled-decimal</dfn> {
  6.3488 -	type: non-repeating;
  6.3489 -	symbols: '\2776' '\2777' '\2778' '\2779' '\277a' '\277b' '\277c' '\277d' '\277e' '\277f' '\24EB' '\24EC' '\24ED' '\24EE' '\24EF' '\24F0' '\24F1' '\24F2' '\24F3' '\24F4';
  6.3490 -	/* '❶' '❷' '❸' '❹' '❺' '❻' '❼' '❽' '❾' '❿' '⓫' '⓬' '⓭' '⓮' '⓯' '⓰' '⓱' '⓲' '⓳' '⓴' */
  6.3491 -	suffix: '';
  6.3492 -}
  6.3493 -
  6.3494 -@counter-style <dfn>fullwidth-upper-roman</dfn> {
  6.3495 -	type: non-repeating;
  6.3496 -	symbols: '\2160' '\2161' '\2162' '\2163' '\2164' '\2165' '\2166' '\2167' '\2168' '\2169' '\216A' '\216B';
  6.3497 -	/* 'Ⅰ' 'Ⅱ' 'Ⅲ' 'Ⅳ' 'Ⅴ' 'Ⅵ' 'Ⅶ' 'Ⅷ' 'Ⅸ' 'Ⅹ' 'Ⅺ' 'Ⅻ' */
  6.3498 -	suffix: '';
  6.3499 -}
  6.3500 -
  6.3501 -@counter-style <dfn>fullwidth-lower-roman</dfn> {
  6.3502 -	type: non-repeating;
  6.3503 -	symbols: '\2170' '\2171' '\2172' '\2173' '\2174' '\2175' '\2176' '\2177' '\2178' '\2179' '\217A' '\217B';
  6.3504 -	/* 'ⅰ' 'ⅱ' 'ⅲ' 'ⅳ' 'ⅴ' 'ⅵ' 'ⅶ' 'ⅷ' 'ⅸ' 'ⅹ' 'ⅺ' 'ⅻ' */
  6.3505 -	suffix: '';
  6.3506 -}
  6.3507 -
  6.3508 -@counter-style <dfn>parenthesized-decimal</dfn> {
  6.3509 -	type: non-repeating;
  6.3510 -	symbols: '\2474' '\2475' '\2476' '\2477' '\2478' '\2479' '\247A' '\247B' '\247C' '\247D' '\247E' '\247F' '\2480' '\2481' '\2482' '\2483' '\2484' '\2485' '\2486' '\2487';
  6.3511 -	/* '⑴' '⑵' '⑶' '⑷' '⑸' '⑹' '⑺' '⑻' '⑼' '⑽' '⑾' '⑿' '⒀' '⒁' '⒂' '⒃' '⒄' '⒅' '⒆' '⒇' */
  6.3512 -	suffix: '';
  6.3513 -}
  6.3514 -
  6.3515 -@counter-style <dfn>parenthesized-lower-latin</dfn> {
  6.3516 -	type: non-repeating;
  6.3517 -	symbols: '\249C' '\249D' '\249E' '\249F' '\24A0' '\24A1' '\24A2' '\24A3' '\24A4' '\24A5' '\24A6' '\24A7' '\24A8' '\24A9' '\24AA' '\24AB' '\24AC' '\24AD' '\24AE' '\24AF' '\24B0' '\24B1' '\24B2' '\24B3' '\24B4' '\24B5';
  6.3518 -	/* '⒜' '⒝' '⒞' '⒟' '⒠' '⒡' '⒢' '⒣' '⒤' '⒥' '⒦' '⒧' '⒨' '⒩' '⒪' '⒫' '⒬' '⒭' '⒮' '⒯' '⒰' '⒱' '⒲' '⒳' '⒴' '⒵' */
  6.3519 -	suffix: '';
  6.3520 -}
  6.3521 -
  6.3522 -@counter-style <dfn>parenthesized-hangul-consonant</dfn> {
  6.3523 -	type: non-repeating;
  6.3524 -	symbols: '\3200' '\3201' '\3202' '\3203' '\3204' '\3205' '\3206' '\3207' '\3208' '\3209' '\320A' '\320B' '\320C' '\320D';
  6.3525 -	/* '㈀' '㈁' '㈂' '㈃' '㈄' '㈅' '㈆' '㈇' '㈈' '㈉' '㈊' '㈋' '㈌' '㈍' */
  6.3526 -	suffix: '';
  6.3527 -}
  6.3528 -
  6.3529 -@counter-style <dfn>parenthesized-hangul-syllable</dfn> {
  6.3530 -	type: non-repeating;
  6.3531 -	symbols: '\320E' '\320F' '\3210' '\3211' '\3212' '\3213' '\3214' '\3215' '\3216' '\3217' '\3218' '\3219' '\321A';
  6.3532 -	/* '㈎' '㈏' '㈐' '㈑' '㈒' '㈓' '㈔' '㈕' '㈖' '㈗' '㈘' '㈙' '㈚' */
  6.3533 -	suffix: '';
  6.3534 -}
  6.3535 -
  6.3536 -@counter-style <dfn>persian-abjad</dfn> {
  6.3537 -	type: non-repeating;
  6.3538 -	symbols: '\627' '\628' '\62C' '\62F' '\647\200D' '\648' '\632' '\62D' '\637' '\6CC' '\6A9' '\644' '\645' '\646' '\633' '\639' '\641' '\635' '\642' '\631' '\634' '\62A' '\62B' '\62E' '\630' '\636' '\638' '\63A';
  6.3539 -	/* 'ا' 'ب' 'ج' 'د' 'ه‍' 'و' 'ز' 'ح' 'ط' 'ی' 'ک' 'ل' 'م' 'ن' 'س' 'ع' 'ف' 'ص' 'ق' 'ر' 'ش' 'ت' 'ث' 'خ' 'ذ' 'ض' 'ظ' 'غ' */
  6.3540 -}
  6.3541 -
  6.3542 -@counter-style <dfn>persian-alphabetic</dfn> {
  6.3543 -	type: non-repeating;
  6.3544 -	symbols: '\627' '\628' '\67E' '\62A' '\62B' '\62C' '\686' '\62D' '\62E' '\62F' '\630' '\631' '\632' '\698' '\633' '\634' '\635' '\636' '\637' '\638' '\639' '\63A' '\641' '\642' '\6A9' '\6AF' '\644' '\645' '\646' '\648' '\647\200D' '\6CC';
  6.3545 -	/* 'ا' 'ب' 'پ' 'ت' 'ث' 'ج' 'چ' 'ح' 'خ' 'د' 'ذ' 'ر' 'ز' 'ژ' 'س' 'ش' 'ص' 'ض' 'ط' 'ظ' 'ع' 'غ' 'ف' 'ق' 'ک' 'گ' 'ل' 'م' 'ن' 'و' 'ه‍' 'ی' */
  6.3546 -}</bdo></code></pre>
  6.3547 -
  6.3548 -<h3 id='predefined-additive'>
  6.3549 -Predefined Additive Styles</h3>
  6.3550 -
  6.3551 -	<pre class=css><code><bdo dir="ltr">
  6.3552 -@counter-style <dfn>simple-upper-roman</dfn> {
  6.3553 -	type: additive;
  6.3554 -	range: 1 4999;
  6.3555 -	additive-symbols: 1000 '\4D', 500 '\44', 100 '\43', 50 '\4C', 10 '\58', 5 '\56', 1 '\49';
  6.3556 -	/* 1000 'M', 500 'D', 100 'C', 50 'L', 10 'X', 5 'V', 1 'I' */
  6.3557 -}
  6.3558 -
  6.3559 -@counter-style <dfn>simple-lower-roman</dfn> {
  6.3560 -	type: additive;
  6.3561 -	range: 1 4999;
  6.3562 -	additive-symbols: 1000 '\6D', 500 '\64', 100 '\63', 50 '\6C', 10 '\78', 5 '\76', 1 '\69';
  6.3563 -	/* 1000 'm', 500 'd', 100 'c', 50 'l', 10 'x', 5 'v', 1 'i' */
  6.3564 -}
  6.3565 -
  6.3566 -@counter-style <dfn>upper-roman</dfn> {
  6.3567 -	type: additive;
  6.3568 -	range: 1 4999;
  6.3569 -	additive-symbols: 1000 '\4D', 900 '\43\4D', 500 '\44', 400 '\43\44', 100 '\43', 90 '\58\43', 50 '\4C', 40 '\58\4C', 10 '\58', 9 '\49\58', 5 '\56', 4 '\49\56', 1 '\49';
  6.3570 -	/* 1000 'M', 900 'CM', 500 'D', 400 'CD', 100 'C', 90 'XC', 50 'L', 40 'XL', 10 'X', 9 'IX', 5 'V', 4 'IV', 1 'I' */
  6.3571 -}
  6.3572 -
  6.3573 -@counter-style <dfn>lower-roman</dfn> {
  6.3574 -	type: additive;
  6.3575 -	range: 1 4999;
  6.3576 -	additive-symbols: 1000 '\6D', 900 '\63\6D', 500 '\64', 400 '\63\64', 100 '\63', 90 '\78\63', 50 '\6C', 40 '\78\6C', 10 '\78', 9 '\69\78', 5 '\76', 4 '\69\76', 1 '\69';
  6.3577 -	/* 1000 'm', 900 'cm', 500 'd', 400 'cd', 100 'c', 90 'xc', 50 'l', 40 'xl', 10 'x', 9 'ix', 5 'v', 4 'iv', 1 'i' */
  6.3578 -}
  6.3579 -
  6.3580 -@counter-style <dfn>lower-armenian</dfn> {
  6.3581 -	type: additive;
  6.3582 -	range: 1 9999;
  6.3583 -	additive-symbols: 9000 '\584', 8000 '\583', 7000 '\582', 6000 '\581', 5000 '\580', 4000 '\57F', 3000 '\57E', 2000 '\57D', 1000 '\57C', 900 '\57B', 800 '\57A', 700 '\579', 600 '\578', 500 '\577', 400 '\576', 300 '\575', 200 '\574', 100 '\573', 90 '\572', 80 '\571', 70 '\570', 60 '\56F', 50 '\56E', 40 '\56D', 30 '\56C', 20 '\56B', 10 '\56A', 9 '\569', 8 '\568', 7 '\567', 6 '\566', 5 '\565', 4 '\564', 3 '\563', 2 '\562', 1 '\561';
  6.3584 -	/* 9000 'ք', 8000 'փ', 7000 'ւ', 6000 'ց', 5000 'ր', 4000 'տ', 3000 'վ', 2000 'ս', 1000 'ռ', 900 'ջ', 800 'պ', 700 'չ', 600 'ո', 500 'շ', 400 'ն', 300 'յ', 200 'մ', 100 'ճ', 90 'ղ', 80 'ձ', 70 'հ', 60 'կ', 50 'ծ', 40 'խ', 30 'լ', 20 'ի', 10 'ժ', 9 'թ', 8 'ը', 7 'է', 6 'զ', 5 'ե', 4 'դ', 3 'գ', 2 'բ', 1 'ա' */
  6.3585 -}
  6.3586 -
  6.3587 -@counter-style <dfn>upper-armenian</dfn> {
  6.3588 -	type: additive;
  6.3589 -	range: 1 9999;
  6.3590 -	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  6.3591 -	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  6.3592 -}
  6.3593 -
  6.3594 -@counter-style <dfn>armenian</dfn> {
  6.3595 -	type: additive;
  6.3596 -	range: 1 9999;
  6.3597 -	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  6.3598 -	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  6.3599 -}
  6.3600 -
  6.3601 -@counter-style <dfn>georgian</dfn> {
  6.3602 -	type: additive;
  6.3603 -	range: 1 19999;
  6.3604 -	additive-symbols: 10000 '\10F5', 9000 '\10F0', 8000 '\10EF', 7000 '\10F4', 6000 '\10EE', 5000 '\10ED', 4000 '\10EC', 3000 '\10EB', 2000 '\10EA', 1000 '\10E9', 900 '\10E8', 800 '\10E7', 700 '\10E6', 600 '\10E5', 500 '\10E4', 400 '\10F3', 300 '\10E2', 200 '\10E1', 100 '\10E0', 90 '\10DF', 80 '\10DE', 70 '\10DD', 60 '\10F2', 50 '\10DC', 40 '\10DB', 30 '\10DA', 20 '\10D9', 10 '\10D8', 9 '\10D7', 8 '\10F1', 7 '\10D6', 6 '\10D5', 5 '\10D4', 4 '\10D3', 3 '\10D2', 2 '\10D1', 1 '\10D0';
  6.3605 -	/* 10000 'ჵ', 9000 'ჰ', 8000 'ჯ', 7000 'ჴ', 6000 'ხ', 5000 'ჭ', 4000 'წ', 3000 'ძ', 2000 'ც', 1000 'ჩ', 900 'შ', 800 'ყ', 700 'ღ', 600 'ქ', 500 'ფ', 400 'ჳ', 300 'ტ', 200 'ს', 100 'რ', 90 'ჟ', 80 'პ', 70 'ო', 60 'ჲ', 50 'ნ', 40 'მ', 30 'ლ', 20 'კ', 10 'ი', 9 'თ', 8 'ჱ', 7 'ზ', 6 'ვ', 5 'ე', 4 'დ', 3 'გ', 2 'ბ', 1 'ა' */
  6.3606 -}
  6.3607 -
  6.3608 -@counter-style <dfn>ancient-tamil</dfn> {
  6.3609 -	type: additive;
  6.3610 -	range: 1 9999;
  6.3611 -	additive-symbols: 9000 '\BEF\BF2', 8000 '\BEE\BF2', 7000 '\BED\BF2', 6000 '\BEC\BF2', 5000 '\BEB\BF2', 4000 '\BEA\BF2', 3000 '\BE9\BF2', 2000 '\BE8\BF2', 1000 '\BF2', 900 '\BEF\BF1', 800 '\BEE\BF1', 700 '\BED\BF1', 600 '\BEC\BF1', 500 '\BEB\BF1', 400 '\BEA\BF1', 300 '\BE9\BF1', 200 '\BE8\BF1', 100 '\BF1', 90 '\BEF\BF0', 80 '\BEE\BF0', 70 '\BED\BF0', 60 '\BEC\BF0', 50 '\BEB\BF0', 40 '\BEA\BF0', 30 '\BE9\BF0', 20 '\BE8\BF0', 10 '\BF0', 9 '\BEF', 8 '\BEE', 7 '\BED', 6 '\BEC', 5 '\BEB', 4 '\BEA', 3 '\BE9', 2 '\BE8', 1 '\BE7';
  6.3612 -	/* 9000 '௯௲', 8000 '௮௲', 7000 '௭௲', 6000 '௬௲', 5000 '௫௲', 4000 '௪௲', 3000 '௩௲', 2000 '௨௲', 1000 '௲', 900 '௯௱', 800 '௮௱', 700 '௭௱', 600 '௬௱', 500 '௫௱', 400 '௪௱', 300 '௩௱', 200 '௨௱', 100 '௱', 90 '௯௰', 80 '௮௰', 70 '௭௰', 60 '௬௰', 50 '௫௰', 40 '௪௰', 30 '௩௰', 20 '௨௰', 10 '௰', 9 '௯', 8 '௮', 7 '௭', 6 '௬', 5 '௫', 4 '௪', 3 '௩', 2 '௨', 1 '௧' */
  6.3613 -}
  6.3614 -
  6.3615 -@counter-style <dfn>greek</dfn> {
  6.3616 -	type: additive;
  6.3617 -	range: 1 999;
  6.3618 -	additive-symbols: 900 '\3E1', 800 '\3C9', 700 '\3C8', 600 '\3C7', 500 '\3C6', 400 '\3C5', 300 '\3C4', 200 '\3C3', 100 '\3C1', 90 '\3DF', 80 '\3C0', 70 '\3BF', 60 '\3BE', 50 '\3BD', 40 '\3BC', 30 '\3BB', 20 '\3BA', 10 '\3B9', 9 '\3B8', 8 '\3B7', 7 '\3B6', 6 '\3C3\3C4', 5 '\3B5', 4 '\3B4', 3 '\3B3', 2 '\3B2', 1 '\3B1';
  6.3619 -	/* 900 'ϡ', 800 'ω', 700 'ψ', 600 'χ', 500 'φ', 400 'υ', 300 'τ', 200 'σ', 100 'ρ', 90 'ϟ', 80 'π', 70 'ο', 60 'ξ', 50 'ν', 40 'μ', 30 'λ', 20 'κ', 10 'ι', 9 'θ', 8 'η', 7 'ζ', 6 'στ', 5 'ε', 4 'δ', 3 'γ', 2 'β', 1 'α' */
  6.3620 -}</bdo></code></pre>
  6.3621 -
  6.3622 -	<p class=issue>Per <a href="http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists">http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists</a>, putting the circumflex above a digit in armenian numbering multiplies the digit by 1000.  The draft currently states a 10,000 multiplier.  Which is correct? (Having the multiplier be 1000 means that you can potentially write the thousands digit two ways, using either the set of thousands digits or the set of ones digits with a circumflex.  The examples given in the note appear to use the former.)
  6.3623 -
  6.3624 -	<p class=issue>According to a native Greek speaker, the lower-greek and upper-greek styles aren't actually used.  I've removed upper-greek for now, but kept lower-greek because CSS2.1 included the keyword.  Do these have actual use-cases?
  6.3625 --->
     7.1 --- a/css-counter-styles/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,2840 +0,0 @@
     7.4 -<!DOCTYPE html>
     7.5 -<html><head>
     7.6 -	<title>CSS Counter Styles Level 3</title>
     7.7 -	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
     7.8 -	<link rel="stylesheet" type="text/css" href="../default.css">
     7.9 -	<style>
    7.10 -	pre.stylesheet { white-space: pre-wrap; }
    7.11 -	</style>
    7.12 -	<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED">
    7.13 -</head><body>
    7.14 -
    7.15 -<div class='head'>
    7.16 -
    7.17 -<!--logo-->
    7.18 -
    7.19 -<h1>CSS Counter Styles Level 3</h1>
    7.20 -
    7.21 -<dl>
    7.22 -	<dt>Editor:
    7.23 -	<dd><a href="http://www.xanthir.com/contact">Tab Atkins Jr.</a>, Google Inc.
    7.24 -</dl>
    7.25 -
    7.26 -<!--copyright-->
    7.27 -
    7.28 -<hr title="Separator for header">
    7.29 -</div>
    7.30 -
    7.31 -<h2 class="no-num no-toc" id="abstract">
    7.32 -Abstract</h2>
    7.33 -
    7.34 -	<p>
    7.35 -		The <a href="http://www.w3.org/TR/css3-lists/">CSS Lists Module</a> defines the concept of counters,
    7.36 -		which can be used implicitly in list markers or explicitly with the ''counter()'' or ''counters()'' functions.
    7.37 -		A counter's integer value is turned into a string by providing a <i>counter style</i>.
    7.38 -		This module introduces the ''@counter-style'' rule,
    7.39 -		which allows authors to define their own custom <i>counter styles</i>.
    7.40 -		It also redefines all the counter styles present in CSS2 and CSS2.1,
    7.41 -		plus a small number of other useful counter styles,
    7.42 -		in terms of ''@counter-style'' rules in the UA style sheet.
    7.43 -		<a href="http://www.w3.org/TR/CSS/">CSS</a> is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc.
    7.44 -
    7.45 -<h2 class="no-num no-toc" id="status">
    7.46 -Status of this document</h2>
    7.47 -
    7.48 -<!--status-->
    7.49 -
    7.50 -
    7.51 -<h2 class="no-num no-toc" id="contents">
    7.52 -Table of contents</h2>
    7.53 -
    7.54 -<!--toc-->
    7.55 -
    7.56 -<hr>
    7.57 -
    7.58 -<!-- ====================================================================== -->
    7.59 -
    7.60 -<h2 id='counter-style'>
    7.61 -Defining Custom Counter Styles: the ''@counter-style'' rule</h2>
    7.62 -
    7.63 -	<p>
    7.64 -		CSS 2.1 defined a handful of useful counter styles based on the styles that HTML traditionally allowed on ordered and unordered lists.  
    7.65 -		This tiny set, though, is quite inadequate for modern web pages; 
    7.66 -		displaying an ordered list with markers based on the latin alphabet while the content is Arabic seems quite incongruous!
    7.67 -
    7.68 -	<p>
    7.69 -		Unfortunately, the set of potentially useful list styles is too large to specify ahead of time - 
    7.70 -		the world contains thousands of languages and hundreds of scripts, 
    7.71 -		not to mention the near-infinite stylistic variations found on the web that go beyond mere language-based variation. 
    7.72 -		The ''@counter-style'' rule allows CSS to address this in an open-ended manner, 
    7.73 -		by allowing the author to define their own counter styles.  
    7.74 -		These styles can then be used in the 'list-style-type' property 
    7.75 -		or in the <code title='counter-function'>counter()</code> and <code title='counters-function'>counters()</code> functions.
    7.76 -
    7.77 -	<p>
    7.78 -		A <dfn>counter style</dfn> defines how to construct the representation of a counter value.  
    7.79 -		Counter styles are composed of:
    7.80 -	
    7.81 -	<ul>
    7.82 -		<li>
    7.83 -			a <dfn title='counter-name'>name</dfn>, 
    7.84 -			to identify the style
    7.85 -		
    7.86 -		<li>
    7.87 -			an <dfn title='counter-algorithm'>algorithm</dfn> 
    7.88 -			that transforms counter values into a string representation
    7.89 -		
    7.90 -		<li>
    7.91 -			a <dfn title='counter-negative'>negative sign</dfn>, 
    7.92 -			which is prepended or appended to the representation of a negative counter value
    7.93 -		
    7.94 -		<li>
    7.95 -			a <dfn title='counter-prefix'>prefix</dfn>, 
    7.96 -			to prepend to the representation
    7.97 -		
    7.98 -		<li>
    7.99 -			a <dfn title='counter-suffix'>suffix</dfn>, 
   7.100 -			to append to the representation
   7.101 -		
   7.102 -		<li>
   7.103 -			a <dfn title='counter-range'>range</dfn>, 
   7.104 -			which limits the values that a counter style can handle
   7.105 -		
   7.106 -		<li>
   7.107 -			and a <dfn title='counter-fallback'>fallback style</dfn>, 
   7.108 -			to render the representation with when the counter value is outside the counter style's range 
   7.109 -			or the counter style otherwise can't render the counter value
   7.110 -	</ul>
   7.111 -	
   7.112 -	<p>
   7.113 -		The algorithm is usually specified implicitly by a combination of the ''type'', ''symbols'', and ''additive-symbols'' properties, 
   7.114 -		but some counter styles instead have their algorithm explicitly defined in the <a href='#complex-predefined-counters'>Complex Counter Styles</a> section.
   7.115 -
   7.116 -	<p>
   7.117 -		When asked to <dfn title='generate-a-counter'>generate a counter representation</dfn> 
   7.118 -		using a particular counter style for a particular counter value, 
   7.119 -		follow these steps:
   7.120 -
   7.121 -	<ol>
   7.122 -		<li>
   7.123 -			If the counter value is outside the <i title='counter-range'>range</i> of the counter style, 
   7.124 -			exit this algorithm and instead <i title='generate-a-counter'>generate a counter representation</i> 
   7.125 -			using the counter style's fallback style and the same counter value.
   7.126 -
   7.127 -		<li>
   7.128 -			Using the counter value and the <i title='counter-algorithm'>counter algorithm</i> for the counter style, 
   7.129 -			generate an initial representation for the counter value.
   7.130 -
   7.131 -		<li>
   7.132 -			Return the representation.
   7.133 -	</ol>
   7.134 -
   7.135 -	<p class='note'>
   7.136 -		Note that the prefix and suffix don't play a part in this algorithm.  
   7.137 -		This is intentional; 
   7.138 -		the prefix and suffix aren't part of the string returned by the counter() or counters() functions.  
   7.139 -		Instead, the prefix and suffix are added by the algorithm that constructs the value of the 'contents' property for the ''::marker'' pseudo-element.  
   7.140 -		This also implies that the prefix and suffix always come from the specified counter-style, 
   7.141 -		even if the actual representation is constructed by a fallback style.
   7.142 -
   7.143 -	<p>
   7.144 -		The general form of an ''@counter-style'' rule is:
   7.145 -
   7.146 -	<pre>
   7.147 -@counter-style <i>&lt;counter-style-name></i> {
   7.148 -	[ descriptor: value; ]+
   7.149 -}
   7.150 -	</pre>
   7.151 -
   7.152 -	<p>
   7.153 -		Each ''@counter-style'' rule specifies a value for every counter-style descriptor,
   7.154 -		either implicitly or explicitly.  
   7.155 -		Those not given explicit value in the rule take the initial value listed with each descriptor in this specification. 
   7.156 -		These descriptors apply solely within the context of the @counter-style rule in which they are defined,
   7.157 -		and do not apply to document language elements. 
   7.158 -		There is no notion of which elements the descriptors apply to or whether the values are inherited by child elements.  
   7.159 -		When a given descriptor occurs multiple times in a given @counter-style rule, 
   7.160 -		only the last specified value is used; 
   7.161 -		all prior values for that descriptor must be ignored. 
   7.162 -		Unknown descriptors must be ignored; 
   7.163 -		they must not make the ''@counter-style'' rule invalid.
   7.164 -
   7.165 -	<p>
   7.166 -		Defining a ''@counter-style'' must make it available to the entire document in which it is included.  
   7.167 -		If multiple ''@counter-style'' rules are defined with the same name, 
   7.168 -		only one wins,
   7.169 -		according to standard cascade rules.
   7.170 -		''@counter-style'' rules cascade "atomically" - 
   7.171 -		if one replaces another of the same name, 
   7.172 -		it replaces it <em>entirely</em>, 
   7.173 -		rather than just replacing the specific descriptors it specifies.
   7.174 -
   7.175 -	<p>
   7.176 -		This at-rule conforms with the forward-compatible parsing requirement of CSS; 
   7.177 -		parsers may ignore these rules without error. 
   7.178 -		Any descriptors that are not recognized or implemented by a given user agent must be ignored.  
   7.179 -		The <i>&lt;counter-style-name></i> must be be a valid identifier 
   7.180 -		and must not be ''decimal'' or ''none'',
   7.181 -		or else the rule is invalid.
   7.182 -		(Note, however, that some names, like ''inside'' or ''initial'',
   7.183 -		might conflict with the existing values of properties like 'list-style-type',
   7.184 -		and thus won't be usable there.)
   7.185 -
   7.186 -<h3 id='counter-style-type'>
   7.187 -Counter algorithms: the 'type' descriptor</h3>
   7.188 -
   7.189 -	<table class='descdef'>
   7.190 -		<tr>
   7.191 -			<th>Name:
   7.192 -			<td><dfn id="descdef-type">type</dfn>
   7.193 -		<tr>
   7.194 -			<th>Value:
   7.195 -			<td>repeating | numeric | alphabetic | symbolic | additive | <span class=nobr>[non-repeating &lt;integer>?]</span> | <span class=nobr>[ override &lt;counter-style-name> ]</span>
   7.196 -		<tr>
   7.197 -			<th>Initial:
   7.198 -			<td>symbolic
   7.199 -	</table>
   7.200 -
   7.201 -	<p>The 'type' descriptor specifies which algorithm will be used to construct
   7.202 -	the counter's representation based on the counter value.  For example, 
   7.203 -	<i>repeating</i> type counter styles just cycle through their symbols repeatedly, 
   7.204 -	while <i>numeric</i> type counter styles interpret their symbols as digits and 
   7.205 -	build their representation accordingly.  The types are defined as follows:
   7.206 -
   7.207 -
   7.208 -<h4>
   7.209 -repeating</h4>
   7.210 -
   7.211 -	<p>If the type is <dfn>repeating</dfn>, the 'symbols' descriptor must contain 
   7.212 -	at least one <i>counter symbol</i>. This type is defined over all counter 
   7.213 -	values.
   7.214 -
   7.215 -	<p>The <i>repeating</i> counter type cycles repeatedly through its provided
   7.216 -	symbols, looping back to the beginning when it reaches the end of the
   7.217 -	list, similar to the default <i>disc</i> counter style.  It can be used for 
   7.218 -	simple bullets (just provide a single <i>counter symbol</i>), or for cycling 
   7.219 -	through multiple bullets.  The first <i>counter symbol</i> is used as the 
   7.220 -	representation of the value 1, the second <i>counter symbol</i> (if it exists) 
   7.221 -	is used as the representation of the value 2, etc.
   7.222 -
   7.223 -	<p>In general, if there are <var>length</var> <i>counter symbols</i> and
   7.224 -	a representation is being constructed for the value <var>value</var>, 
   7.225 -	the representation is the <i>counter symbol</i> at index 
   7.226 -	( (<var>value</var>-1) mod <var>length</var>) of the list of <i>counter symbol</i>s
   7.227 -	(0-indexed).
   7.228 -
   7.229 -	<div class=example>
   7.230 -		<p>A "triangle bullet" counter style can be defined as:
   7.231 -
   7.232 -		<pre>
   7.233 -@counter-style <dfn>triangle</dfn> {
   7.234 -	type: repeating;
   7.235 -	symbols: ‣;
   7.236 -	suffix: '';
   7.237 -}
   7.238 -		</pre>
   7.239 -
   7.240 -		<p>It will then produce lists that look like:
   7.241 -
   7.242 -		<pre>
   7.243 -‣  One
   7.244 -‣  Two
   7.245 -‣  Three
   7.246 -		</pre>
   7.247 -	</div>
   7.248 -
   7.249 -<h4>
   7.250 -numeric</h4>
   7.251 -
   7.252 -	<p>If the type is <dfn>numeric</dfn>, the 'symbols' descriptor must contain at
   7.253 -	least two <i>counter symbol</i>s. This type is defined over all counter 
   7.254 -	values.
   7.255 -
   7.256 -	<p>The <i>numeric</i> counter type cycles interprets the list of 
   7.257 -	<i>counter symbol</i>s as digits to a number system, similar to the default
   7.258 -	<i>decimal</i> counter style.  The first <i>counter symbol</i> in the list is 
   7.259 -	interpreted as the digit 0, the second as the digit 1, and so on.  If there 
   7.260 -	are <var>length</var> <i>counter symbol</i>s, the representation is a base 
   7.261 -	<var>length</var> number using the <i>counter symbol</i>s as digits.
   7.262 -
   7.263 -	<p>To construct the representation, run the following algorithm. Let
   7.264 -	<var>length</var> be the length of the list of <i>counter symbols</i>, 
   7.265 -	<var>value</var> initially be the counter value, <var>S</var>
   7.266 -	initially be the empty string, <var>negative</var> be a boolean flag
   7.267 -	that is initially false, and <var>symbol(n)</var> be the nth
   7.268 -	<i>counter symbol</i> in the list of <i>counter symbol</i>s (0-indexed).
   7.269 -
   7.270 -	<ol>
   7.271 -		<li>If <var>value</var> is 0, append <var>symbol(0)</var> to 
   7.272 -		<var>S</var> and return <var>S</var>.
   7.273 -
   7.274 -		<li>If <var>value</var> is negative, run the next step of this algorithm with <var>value</var> being the absolute value of <var>value</var> instead.
   7.275 -
   7.276 -		<li>While <var>value</var> is not equal to 0:
   7.277 -
   7.278 -			<ol>
   7.279 -				<li>Prepend <var>symbol( <var>value</var> mod <var>length</var> )</var> 
   7.280 -				to <var>S</var>.
   7.281 -
   7.282 -				<li>Set <var>value</var> to <code>floor( <var>value</var> / <var>length</var> )</code>.
   7.283 -			</ol>
   7.284 -		
   7.285 -
   7.286 -		<li>If <var>value</var> was originally negative, wrap <var>S</var> in the counter style's <i title='counter-negative'>negative sign</i>, as specified in the section for the <a href='#counter-style-negative'>negative descriptor</a>.
   7.287 -
   7.288 -		<li>Return <var>S</var>.
   7.289 -	</ol>
   7.290 -
   7.291 -	<div class=example>
   7.292 -		<p>A "trinary" counter style can be defined as:
   7.293 -
   7.294 -		<pre>
   7.295 -@counter-style <dfn>trinary</dfn> {
   7.296 -	type: numeric;
   7.297 -	symbols: '0' '1' '2';
   7.298 -}
   7.299 -		</pre>
   7.300 -
   7.301 -		<p>It will then produce lists that look like:
   7.302 -
   7.303 -		<pre>
   7.304 -1.   One
   7.305 -2.   Two
   7.306 -10.  Three
   7.307 -11.  Four
   7.308 -12.  Five
   7.309 -20.  Six
   7.310 -		</pre>
   7.311 -	</div>
   7.312 -
   7.313 -
   7.314 -<h4>
   7.315 -alphabetic</h4>
   7.316 -
   7.317 -	<p>If the type is <dfn>alphabetic</dfn>, the 'symbols' descriptor must contain
   7.318 -	at least two <i>counter symbol</i>s.  This type is defined only over
   7.319 -	strictly positive counter values.
   7.320 -
   7.321 -	<p>The <i>alphabetic</i> counter type interprets the list of <i>counter symbols</i>
   7.322 -	as digits to an <em>alphabetic</em> numbering system, similar to the default
   7.323 -	''lower-alpha'' counter style. Alphabetic numbering systems are commonly used 
   7.324 -	for lists, and also appear in many spreadsheet programs to number columns. 
   7.325 -	The first <i>counter symbol</i> in the list is interpreted as the digit 1, 
   7.326 -	the second as the digit 2, and so on.  If there are <var>length</var> 
   7.327 -	<i>counter symbol</i>s, the representation is a base <var>length</var> alphabetic 
   7.328 -	number using the <i>counter symbol</i>s as digits.  Alphabetic numbering 
   7.329 -	systems do not contain a digit representing 0.
   7.330 -
   7.331 -	<p>To construct the representation, run the following algorithm.  Let
   7.332 -	<var>length</var> be the length of the list of <i>counter symbol</i>s,
   7.333 -	<var>value</var> initially be the counter value, <var>S</var> initially
   7.334 -	be the empty string, and <var>symbol(n)</var> be the nth <i>counter symbol</i>
   7.335 -	in the list of <i>counter symbol</i>s (0-indexed).
   7.336 -
   7.337 -	<p>While <var>value</var> is not equal to 0:
   7.338 -
   7.339 -	<ol>
   7.340 -		<li>Set <var>value</var> to <code><var>value</var> - 1</code>.
   7.341 -
   7.342 -		<li>Prepend <var>symbol( <var>value</var> mod <var>length</var> )</var>
   7.343 -		to <var>S</var>.
   7.344 -
   7.345 -		<li>Set <var>value</var> to <code>floor( <var>value</var> / <var>length</var> )</code>.
   7.346 -	</ol>
   7.347 -
   7.348 -	<p>Finally, return <var>S</var>.
   7.349 -
   7.350 -	<div class=example>
   7.351 -		<p>A counter style using go stones can be defined as:
   7.352 -
   7.353 -		<pre>
   7.354 -@counter-style <dfn>go</dfn> {
   7.355 -	type: alphabetic;
   7.356 -	symbols: url(white.svg) url(black.svg);
   7.357 -	suffix: '';
   7.358 -}
   7.359 -		</pre>
   7.360 -
   7.361 -		<p>It will then produce lists that look like:
   7.362 -
   7.363 -		<div class='alphabetic-example'>
   7.364 -<span><img src=white.svg alt=''></span> One<br>
   7.365 -<span><img src=black.svg alt=''></span> Two<br>
   7.366 -<span><img src=white.svg alt=''><img src=white.svg alt=''></span>  Three<br>
   7.367 -<span><img src=white.svg alt=''><img src=black.svg alt=''></span>  Four<br>
   7.368 -<span><img src=black.svg alt=''><img src=white.svg alt=''></span>  Five<br>
   7.369 -<span><img src=black.svg alt=''><img src=black.svg alt=''></span>  Six<br>
   7.370 -<span><img src=white.svg alt=''><img src=white.svg alt=''><img src=white.svg alt=''></span> Seven
   7.371 -		</div>
   7.372 -
   7.373 -		<p class='note'>This example requires support for SVG images to display
   7.374 -		correctly.
   7.375 -	</div>
   7.376 -
   7.377 -	<div class='example'>
   7.378 -		<p>Alphabetic styles may also be used to simulate a fixed-width numeric
   7.379 -		style:
   7.380 -
   7.381 -		<pre>
   7.382 -@counter-style <dfn>fixed-decimal</dfn> {
   7.383 -	type: alphabetic;
   7.384 -	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   7.385 -}
   7.386 -
   7.387 -ol { 
   7.388 -	list-style: fixed-decimal;
   7.389 -	counter-reset: list-item 1111; 
   7.390 -}
   7.391 -		</pre>
   7.392 -
   7.393 -		<p>This will produce lists that look like:
   7.394 -
   7.395 -		<pre>
   7.396 -0001.  One
   7.397 -0002.  Two
   7.398 -0003.  Three
   7.399 -0004.  Four
   7.400 -0005.  Five
   7.401 -0006.  Six
   7.402 -		</pre>
   7.403 -
   7.404 -		<p>Two-digit numbers start at value 11, three-digit numbers start at 
   7.405 -		value 111, etc..
   7.406 -
   7.407 -		<p class='issue'>Should I instead explicitly provide a fixed-width numeric
   7.408 -		counter type?  I'd like to see if this sort of numbering is used in the
   7.409 -		wild first.
   7.410 -	</div>
   7.411 -
   7.412 -
   7.413 -<h4>
   7.414 -symbolic</h4>
   7.415 -
   7.416 -	<p>If the type is <dfn>symbolic</dfn>, the 'symbols' descriptor must contain at
   7.417 -	least one <i>counter symbol</i>.  This type is defined only over strictly positive
   7.418 -	counter values.
   7.419 -
   7.420 -	<p>The <i>symbolic</i> counter type cycles repeatedly through its provided symbols,
   7.421 -	doubling, tripling, etc. the symbols on each successive pass through the list.
   7.422 -	For example, if the original symbols were "*" and "†", then on the second pass
   7.423 -	they would instead be "**" and "††", while on the third they would be "***"
   7.424 -	and "†††", etc.
   7.425 -	It can be used for footnote-style markers, and is also sometimes used for
   7.426 -	alphabetic-style lists for a slightly different presentation than what the
   7.427 -	<i>alphabetic</i> type presents.
   7.428 -
   7.429 -	<p>To construct the representation, run the following algorithm.  Let
   7.430 -	<var>length</var> be the length of the list of <i>counter symbol</i>s,
   7.431 -	<var>value</var> initially be the counter value, <var>S</var> initially
   7.432 -	be the empty string, and <var>symbol(n)</var> be the nth <i>counter symbol</i>
   7.433 -	in the list of <i>counter symbol</i>s (0-indexed).
   7.434 -
   7.435 -	<ol>
   7.436 -		<li>Let the <var>chosen symbol</var> be <code class='inline'>symbol(<var>value</var> mod <var>length</var>)</code>.
   7.437 -
   7.438 -		<li>Let the <var>representation length</var> be <code class='inline'>floor( (<var>value</var> - 1) / <var>length</var> )</code>.
   7.439 -
   7.440 -		<li>Append the <var>chosen symbol</var> to <var>S</var> a number of times equal to the <var>representation length</var>.
   7.441 -	</ol>
   7.442 -
   7.443 -	<p>Finally, return <var>S</var>.
   7.444 -
   7.445 -	<div class=example>
   7.446 -		<p>An "footnote" counter style can be defined as:
   7.447 -
   7.448 -		<pre>
   7.449 -@counter-style <dfn>footnote</dfn> {
   7.450 -	type: symbolic;
   7.451 -	symbols: * ⁑ † ‡;
   7.452 -	suffix: '';
   7.453 -}
   7.454 -		</pre>
   7.455 -
   7.456 -		<p>It will then produce lists that look like:
   7.457 -
   7.458 -		<pre>
   7.459 -*.   One
   7.460 -⁑.   Two
   7.461 -†.   Three
   7.462 -‡.   Four
   7.463 -**.  Five
   7.464 -⁑⁑.  Six
   7.465 -		</pre>
   7.466 -	</div>
   7.467 -
   7.468 -	<div class=example>
   7.469 -		<p>Some style guides mandate a list numbering that looks similar to ''upper-alpha'', but repeats differently after the first 26 values, instead going "AA", "BB", "CC", etc.  This can be achieved with the symbolic type:
   7.470 -
   7.471 -		<pre>
   7.472 -@counter-style <dfn>upper-alpha-legal</dfn> {
   7.473 -	type: symbolic;
   7.474 -	symbols: A B C D E F G H I J K L M 
   7.475 -	         N O P Q R S T U V W X Y Z;
   7.476 -}</pre>
   7.477 -
   7.478 -		<p>This style is identical to ''upper-alpha'' through the first 27 values, but they diverge after that, with ''upper-alpha'' going "AB", "AC", "AD", etc.  Starting at the 53rd value, ''upper-alpha'' goes "BA", "BB", "BC", etc., while this style jumps up to the triple digits with "AAA", "BBB", "CCC", etc.
   7.479 -	</div>
   7.480 -
   7.481 -	<p>The <i>symbolic</i> type will produce representations with sizes that are 
   7.482 -	linear in the magnitude of the counter value.  This can potentially be abused
   7.483 -	to generate excessively large representations and consume undue amounts of
   7.484 -	the user's memory or even hang their browser.  User agents must support
   7.485 -	representations at least 20 characters long, but they may choose to instead
   7.486 -	use the fallback style for representations that would be longer than 20
   7.487 -	characters.
   7.488 -
   7.489 -
   7.490 -<h4>
   7.491 -non-repeating</h4>
   7.492 -
   7.493 -	<p>If the type is <dfn>non-repeating</dfn>, the 'symbols' descriptor must contain
   7.494 -	at least one <i>counter symbol</i>.  This type is defined over counter
   7.495 -	values in a finite range, starting with the <i>first symbol value</i>
   7.496 -	and having a length equal to the length of the list of <i>counter symbol</i>s.
   7.497 -
   7.498 -	<p>The <i>non-repeating</i> counter type is for representing counter styles
   7.499 -	that only have a finite number of representations.  For example, Unicode
   7.500 -	defines several limited-length runs of special characters meant for 
   7.501 -	lists, such as circled digits.
   7.502 -
   7.503 -	<p>When this type is specified, it may optionally have an integer provided
   7.504 -	after it, which sets the <dfn>first symbol value</dfn>.  If it is omitted,
   7.505 -	the <i>first symbol value</i> is 1.
   7.506 -
   7.507 -	<p>The first <i>counter symbol</i> is the representation for the 
   7.508 -	<i>first symbol value</i>, and subsequent counter values are represented
   7.509 -	by subsequent <i>counter symbol</i>s.  Once the list of <i>counter symbol</i>s
   7.510 -	is exhausted, further values cannot be represented by this type, and must
   7.511 -	instead be represented by the fallback counter style.
   7.512 -
   7.513 -	<div class=example>
   7.514 -		<p>A "box-corner" counter style can be defined as:
   7.515 -
   7.516 -		<pre>
   7.517 -@counter-style <dfn>box-corner</dfn> {
   7.518 -	type: non-repeating;
   7.519 -	symbols: ◰ ◳ ◲ ◱;
   7.520 -	suffix: ':';
   7.521 -}
   7.522 -		</pre>
   7.523 -
   7.524 -		<p>It will then produce lists that look like:
   7.525 -
   7.526 -		<pre>
   7.527 -◰:  One
   7.528 -◳:  Two
   7.529 -◲:  Three
   7.530 -◱:  Four
   7.531 -5:  Five
   7.532 -6:  Six
   7.533 -		</pre>
   7.534 -	</div>
   7.535 -
   7.536 -
   7.537 -<h4>
   7.538 -additive</h4>
   7.539 -
   7.540 -	<p>If the type is <dfn>additive</dfn>, the 'additive-symbols' descriptor must
   7.541 -	contain at least one <i>additive tuple</i>.  This type is nominally
   7.542 -	defined over all counter values (see algorithm, below, for exact details)
   7.543 -
   7.544 -	<p>The <i>additive</i> counter type takes as many of the largest symbols that 
   7.545 -	it can, then as many of the next largest symbol, etc. until the sum of all 
   7.546 -	the symbols equals the counter value.  It can be used to implement roman 
   7.547 -	numerals, and additionally is used to represent the numbering system of 
   7.548 -	several languages which use different characters for the digits in differnt
   7.549 -	positions.
   7.550 -
   7.551 -	<p>To construct the representation, run this algorithm.  Let <var>value</var> 
   7.552 -	initially be the counter value, <var>S</var> initially be the empty string, 
   7.553 -	and <var>symbol list</var> initially be the list of <i>additive tuple</i>s.
   7.554 -
   7.555 -	<ol>
   7.556 -		<li>If <var>value</var> is initially 0, and there is an <i>additive tuple</i> with a weight of 0, append that tuple's <i>counter symbol</i> to S and return S.
   7.557 -
   7.558 -		<li>If <var>value</var> is negative, run the next step of this algorithm with <var>value</var> being the absolute value of <var>value</var> instead.
   7.559 -
   7.560 -		<li>While <var>value</var> is greater than 0 and there are elements left in the <var>symbol list</var>:
   7.561 -
   7.562 -			<ol>
   7.563 -				<li>Pop the first <i>additive tuple</i> from the <var>symbol list</var>.
   7.564 -				This is the <dfn title="current tuple|current tuple's">current tuple</dfn>.
   7.565 -
   7.566 -				<li>Append the <i>current tuple</i>'s <i>counter symbol</i> to <var>S</var> 
   7.567 -				<code>floor( <var>value</var> / <var><i>current tuple's</i> weight</var> )</code>
   7.568 -				times (this may be 0).
   7.569 -
   7.570 -				<li>Decrement <var>value</var> by the <var><i>current tuple's</i> weight multiplied
   7.571 -				by the number of times the <i>current tuple</i> was appended to <var>S</var>
   7.572 -				in the previous step.
   7.573 -			</ol>
   7.574 -		
   7.575 -
   7.576 -		<li>If <var>value</var> was originally negative, wrap <var>S</var> in the counter style's <i title='counter-negative'>negative sign</i>, as specified in the section for the <a href='#counter-style-negative'>negative descriptor</a>.
   7.577 -
   7.578 -		<li>If the loop ended because <var>value</var> is 0, return S.  Otherwise, the given counter value cannot be represented by this counter style, and must instead be represented by the fallback counter style.
   7.579 -	</ol>
   7.580 -
   7.581 -	<div class=example>
   7.582 -		<p>A "dice" counter style can be defined as:
   7.583 -
   7.584 -		<pre>
   7.585 -@counter-style <dfn>dice</dfn> {
   7.586 -	type: additive;
   7.587 -	additive-symbols: 6 ⚅, 5 ⚄, 4 ⚃, 3 ⚂, 2 ⚁, 1 ⚀;
   7.588 -	suffix: '';
   7.589 -}
   7.590 -		</pre>
   7.591 -
   7.592 -		<p>It will then produce lists that look like:
   7.593 -
   7.594 -		<pre>
   7.595 -⚀    One
   7.596 -⚁    Two
   7.597 -⚂    Three
   7.598 -...
   7.599 -⚅⚄   Eleven
   7.600 -⚅⚅   Twelve
   7.601 -⚅⚅⚀  Thirteen
   7.602 -		</pre>
   7.603 -	</div>
   7.604 -
   7.605 -	<p>The <i>additive</i> type will produce representations with sizes that are 
   7.606 -	linear in the magnitude of the counter value.  This can potentially be abused
   7.607 -	to generate excessively large representations and consume undue amounts of
   7.608 -	the user's memory or even hang their browser.  User agents must support
   7.609 -	representations at least 20 characters long, but they may choose to instead
   7.610 -	use the fallback style for representations that would be longer than 20
   7.611 -	characters.
   7.612 -
   7.613 -
   7.614 -<h4>
   7.615 -override</h4>
   7.616 -
   7.617 -	<p>The <dfn>override</dfn> type allows an author to use the <i>algorithm</i> of another counter style, but alter other aspects, such as the negative sign or the suffix.  If a counter style uses the <i>override</i> type, any unspecified descriptors must be taken from the specified counter style, rather than taking their initial values.
   7.618 -
   7.619 -	<p>If a @counter-style uses the <i>override</i> type, it must not contain a
   7.620 -	'symbols' or 'additive-symbols' descriptor; otherwise it is invalid and must
   7.621 -	be ignored.  If the specified counter style name isn't the name of any
   7.622 -	currently-defined counter style, it must be treated as if it was overriding
   7.623 -	the <i>decimal</i> counter style.
   7.624 -
   7.625 -
   7.626 -<h3 id='counter-style-negative'>
   7.627 -Formatting negative values: the 'negative' descriptor</h3>
   7.628 -
   7.629 -	<table class='descdef'>
   7.630 -		<tr>
   7.631 -			<th>Name:
   7.632 -			<td><dfn id="descdef-negative">negative</dfn>
   7.633 -		<tr>
   7.634 -			<th>Value:
   7.635 -			<td>&lt;string> &lt;string>?
   7.636 -		<tr>
   7.637 -			<th>Initial:
   7.638 -			<td>"\2D" ("-" hyphen-minus)
   7.639 -	</table>
   7.640 -
   7.641 -	<p>The 'negative' descriptor defines how to alter the representation when
   7.642 -	the counter value is negative.  Not all counter types can render negative
   7.643 -	numbers.
   7.644 -
   7.645 -	<p>The first string in the value is prepended to the representation when the
   7.646 -	counter value is negative.  The second string, if specified, is appended
   7.647 -	to the representation when the counter value is negative.
   7.648 -
   7.649 -	<div class='example'>
   7.650 -		<p>For example, specifying ''negative: "(" ")";'' will make negative
   7.651 -		values be wrapped in parentheses, which is sometimes used in financial
   7.652 -		contexts, like "(2) (1) 0 1 2 3...".
   7.653 -	</div>
   7.654 -
   7.655 -
   7.656 -<h3 id='counter-style-prefix'>
   7.657 -Symbols before the marker: the 'prefix' descriptor</h3>
   7.658 -
   7.659 -	<table class='descdef'>
   7.660 -		<tr>
   7.661 -			<th>Name:
   7.662 -			<td><dfn id="descdef-prefix">prefix</dfn>
   7.663 -		<tr>
   7.664 -			<th>Value:
   7.665 -			<td>&lt;string>
   7.666 -		<tr>
   7.667 -			<th>Initial:
   7.668 -			<td>"" (the empty string)
   7.669 -	</table>
   7.670 -
   7.671 -	<p>The 'prefix' descripter specifies a string that is prepended to the 
   7.672 -	marker representation.  Prefixes are only added by the algorithm for constructing
   7.673 -	the default contents of the ''::marker'' pseudo-element; the prefix is not 
   7.674 -	added automatically when the counter() or counters() functions are used.  
   7.675 -	Prefixes are added to the representation after negative signs.
   7.676 -
   7.677 -
   7.678 -<h3 id='counter-style-suffix'>
   7.679 -Symbols after the marker: the 'suffix' descriptor</h3>
   7.680 -
   7.681 -	<table class='descdef'>
   7.682 -		<tr>
   7.683 -			<th>Name:
   7.684 -			<td><dfn id="descdef-suffix">suffix</dfn>
   7.685 -		<tr>
   7.686 -			<th>Value:
   7.687 -			<td>&lt;string>
   7.688 -		<tr>
   7.689 -			<th>Initial:
   7.690 -			<td>"\2E" ("." full stop)
   7.691 -	</table>
   7.692 -
   7.693 -	<p>The 'suffix' descripter specifies a string that is appended to the 
   7.694 -	marker representation.  Suffixes are only added by the algorithm for constructing
   7.695 -	the default contents of the ''::marker'' pseudo-element; the suffix is not 
   7.696 -	added automatically when the counter() or counters() functions are used.  
   7.697 -	Suffixes are added to the representation after negative signs.
   7.698 -
   7.699 -
   7.700 -<h3 id='counter-style-range'>
   7.701 -Limiting the counter scope: the 'range' descriptor</h3>
   7.702 -
   7.703 -	<table class='descdef'>
   7.704 -		<tr>
   7.705 -			<th>Name:
   7.706 -			<td><dfn id="descdef-range">range</dfn>
   7.707 -		<tr>
   7.708 -			<th>Value:
   7.709 -			<td>[ [ &lt;integer> | infinite ]{2} ]# | auto
   7.710 -		<tr>
   7.711 -			<th>Initial:
   7.712 -			<td>auto
   7.713 -	</table>
   7.714 -
   7.715 -	<p>The 'range' descriptor defines the ranges over which the counter style is defined.
   7.716 -	If a counter style is used to represent a counter value outside of its ranges,
   7.717 -	the counter style instead drops down to its fallback counter style.
   7.718 -
   7.719 -	<p>If the value is not ''auto'', the first value of each range in the list represents the lower bound of the range (with ''infinite'' representing negative infinity), and the second value represents the upper bound of the range (with 'infinite' representing positive infinity).  This is an inclusive range - it includes both the lower and upper bound numbers.  The range of the counter style as a whole is the union of the individual ranges.  If the lower bound of any range is higher than the higher bound, the entire descriptor is invalid and must be ignored.
   7.720 -
   7.721 -	<p>If the value is ''auto'', the range depends on the counter type.  For ''repeating'', ''numeric'', and ''non-repeating'' types, it must be treated identically to specifying ''infinite infinite''.  For ''alphabetic'' and ''symbolic'', it must be treated identically to ''1 infinite''.  For ''additive'', it must be treated identically to ''0 infinite''.  For ''override'', it must be treated according to the type of the counter style it is overriding.
   7.722 -
   7.723 -	<p>Some counter style types have their own implicit ranges, specified above in the individual descriptions for each type.  The explicit range given by the ‘<code class="css">range</code>’ descriptor applies at the same time as the implicit range given by the ‘<code class="css">type</code>’ descriptor - if the counter value is outside either range, the fallback style must instead be used to generate the representation.
   7.724 -
   7.725 -	<p class=issue>There's also an implicit range coming from implementation 
   7.726 -	limits.  Should we require UAs to support all values in a signed 2-byte int,
   7.727 -	or a signed 4-byte int?
   7.728 -
   7.729 -
   7.730 -<h3 id='counter-style-fallback'>
   7.731 -Defining fallback: the 'fallback' descriptor</h3>
   7.732 -
   7.733 -	<table class='descdef'>
   7.734 -		<tr>
   7.735 -			<th>Name:
   7.736 -			<td><dfn id="descdef-fallback">fallback</dfn>
   7.737 -		<tr>
   7.738 -			<th>Value:
   7.739 -			<td>&lt;counter-style-name>
   7.740 -		<tr>
   7.741 -			<th>Initial:
   7.742 -			<td>decimal
   7.743 -	</table>
   7.744 -
   7.745 -	<p>The 'fallback' descriptor specifies a fallback counter style to be used
   7.746 -	when the current counter style can't create a representation for a given
   7.747 -	counter value.  For example, if a counter style defined with a range of 1-10
   7.748 -	is asked to represent a counter value of 11, the counter value's representation
   7.749 -	is instead constructed with the fallback counter style (or possibly the 
   7.750 -	fallback style's fallback style, if the fallback style can't represent that
   7.751 -	value, etc.).
   7.752 -
   7.753 -	<p>If the value of the 'fallback' descriptor isn't the name of any 
   7.754 -	currently-defined counter style, the used value of the 'fallback' descriptor
   7.755 -	is <i>decimal</i> instead.  Similarly, while following fallbacks to find
   7.756 -	a counter style that can render the given counter value, if a loop in the 
   7.757 -	specified fallbacks is detected, the <i>decimal</i> style must be used instead.
   7.758 -
   7.759 -	<p class='note'>Note that it is not necessarily an error to specify fallback
   7.760 -	loops.  For example, if an author desires a counter style with significantly
   7.761 -	different representations for even and odd counter values, they may find it 
   7.762 -	easiest to define one style that can only represent odd values and one that 
   7.763 -	can only represent even values, and specify each as the fallback for the 
   7.764 -	other one.  Though the fallback graph is circular, at no point do you encounter 
   7.765 -	a loop while following these fallbacks - every counter value is represented 
   7.766 -	by one or the other counter style.  
   7.767 -
   7.768 -	<p class='issue'>Is it useful to allow
   7.769 -	this case?  If it would be significantly easier for implementations to just
   7.770 -	detect and reject circular fallback graphs, that would probably be acceptable.</span>
   7.771 -
   7.772 -
   7.773 -<h3 id='counter-style-symbols'>
   7.774 -Marker characters: the 'symbols' and 'additive-symbols' descriptors</h3>
   7.775 -
   7.776 -	<table class='descdef'>
   7.777 -		<tr>
   7.778 -			<th>Name:
   7.779 -			<td><dfn id="descdef-symbols">symbols</dfn>
   7.780 -		<tr>
   7.781 -			<th>Value:
   7.782 -			<td>[ &lt;string> | &lt;image> | &lt;identifier> ]+
   7.783 -		<tr>
   7.784 -			<th>Initial:
   7.785 -			<td>N/A
   7.786 -	</table>
   7.787 -
   7.788 -	<table class='descdef'>
   7.789 -		<tr>
   7.790 -			<th>Name:
   7.791 -			<td><dfn id="descdef-additive-symbols">additive-symbols</dfn>
   7.792 -		<tr>
   7.793 -			<th>Value:
   7.794 -			<td>[ &lt;integer> && [ &lt;string> | &lt;image> | &lt;identifier> ] ]#
   7.795 -		<tr>
   7.796 -			<th>Initial:
   7.797 -			<td>N/A
   7.798 -	</table>
   7.799 -
   7.800 -	<p>The 'symbols' and 'additive-symbols' descriptors specify the characters
   7.801 -	used by the marker-construction algorithm specified by the 'type' descriptor.
   7.802 -	The 'symbols' descriptor must be specified if the counter type is <i>repeating</i>,
   7.803 -	<i>numeric</i>, <i>alphabetic</i>, <i>symbolic</i>, or <i>non-repeating</i>, and the 
   7.804 -	'additive-symbols' descriptor must be specified if the counter type is
   7.805 -	<i>additive</i>; otherwise, the @counter-style is invalid and must be ignored.
   7.806 -
   7.807 -	<p>Some counter styles specify that the 'symbols' descriptor must have at
   7.808 -	least two entries.  If the counter's style is such a type, and the 'symbols'
   7.809 -	descriptor has only a single entry, the counter style is invalid and must
   7.810 -	be ignored.
   7.811 -
   7.812 -	<p>Each entry in the 'symbols' descriptor's value defines a <dfn>counter symbol</dfn>,
   7.813 -	which is interpreted differently based on the counter style's type.  Each
   7.814 -	entry in the 'additive-symbols' descriptor's value defines an <dfn>additive tuple</dfn>,
   7.815 -	which consists of a <i>counter symbol</i> and a non-negative integer weight.  
   7.816 -	Each weight must be a non-negative integer, and the <i>additive tuple</i>s
   7.817 -	must be specified in order of descending weight; otherwise, the @counter-style
   7.818 -	is invalid and must be ignored.
   7.819 -
   7.820 -	<p>Counter symbols may be strings, images, or identifiers, and the three types can be mixed in a single descriptor.  Counter representations are constructed by concatenating counter symbols together.  Identifiers are rendered as strings containing the same characters.  Images are rendered as inline replaced elements.  The <a href="http://dev.w3.org/csswg/css3-images/#default-object-size">default object size</a> of an image counter symbol is a 1em by 1em square.
   7.821 -
   7.822 -
   7.823 -<!-- ====================================================================== -->
   7.824 -
   7.825 -<h2 id='symbols-function'>
   7.826 -Defining Anonymous Counter Styles: the ''symbols()'' function</h2>
   7.827 -
   7.828 -	<p>
   7.829 -		The previous chapter specified a way to define custom counter styles.  
   7.830 -		However, counter styles are sometimes used only once in a stylesheet, 
   7.831 -		and defining a full ''@counter-style'' rule can be overkill for this case 
   7.832 -		(not to mention the possibility of unintentional name collisions).  
   7.833 -		To address this case, 
   7.834 -		the ''symbols()'' function provides a simple way to define an anonymous counter style as an inline value.  
   7.835 -		It does not provide the full feature-set of the ''@counter-style'' rule, 
   7.836 -		but provides a sufficient subset to still be useful.  
   7.837 -		The syntax of the ''symbols()'' rule is:
   7.838 -
   7.839 -	<pre><dfn id='type-symbols-function'>&lt;symbols-function></dfn> = symbols( &lt;symbols-type>? [ &lt;string> | &lt;image> ]+ )</pre>
   7.840 -
   7.841 -	<p>
   7.842 -		Where &lt;symbols-type> is one of the following keywords: 
   7.843 -		''repeating'', ''numeric'', ''alphabetic'', ''symbolic'', or ''non-repeating''.
   7.844 -
   7.845 -	<p>
   7.846 -		The ''symbols()'' function defines an anonymous counter style 
   7.847 -		with no <i title="counter-name">name</i>, 
   7.848 -		a <i title="counter-prefix">prefix</i> 
   7.849 -		and <i title="counter-suffix">suffix</i> of ''""'' (the empty string), 
   7.850 -		a <i title="counter-range">range</i> from negative infinity to positive infinity, 
   7.851 -		n <i title="counter-fallback">fallback style</i> of ''decimal'', 
   7.852 -		and a <i title="counter-negative">negative sign</i> of "\2D" ("-" hyphen-minus).  
   7.853 -		The counter style's <i title="counter-algorithm">algorithm</i> is constructed 
   7.854 -		by consulting the previous chapter using the provided type 
   7.855 -		- or ''symbolic'' if the type was omitted - 
   7.856 -		and the provided &lt;string>s and &lt;image>s as the value of the 'symbols' property.  
   7.857 -		If the type is ''non-repeating'', the <i>first symbol value</i> is ''1''.
   7.858 -
   7.859 -	<div class='example'>
   7.860 -		<p>
   7.861 -			This code:
   7.862 -		
   7.863 -		<pre>ol { list-style: symbols("*" "\2020" "\2021" "\A7"); }</pre>
   7.864 -
   7.865 -		<p>
   7.866 -			will produce lists that look like:
   7.867 -		
   7.868 -		<pre>
   7.869 -*   One
   7.870 -†   Two
   7.871 -‡   Three
   7.872 -§   Four
   7.873 -**  Five
   7.874 -††  Six
   7.875 -‡‡  Seven</pre>
   7.876 -
   7.877 -		<p>
   7.878 -			On the other hand, specifying the type of counter, like so:
   7.879 -		
   7.880 -		<pre>ol { list-style: symbols(repeating "*" "\2020" "\2021" "\A7"); }</pre>
   7.881 -
   7.882 -		<p>
   7.883 -			will produce lists that look like:
   7.884 -		
   7.885 -		<pre>
   7.886 -*   One
   7.887 -†   Two
   7.888 -‡   Three
   7.889 -§   Four
   7.890 -*   Five
   7.891 -†   Six
   7.892 -‡   Seven</pre>
   7.893 -	</div>
   7.894 -
   7.895 -	<p class='note'>
   7.896 -		Note that the ''symbols()'' function only allows strings and images, 
   7.897 -		while the 'symbols' descriptor of a ''@counter-style'' rule also allows identifiers.
   7.898 -
   7.899 -
   7.900 -<!--
   7.901 -   SSSSSSSSSSSSSSS      tttt                              lllllll                                      
   7.902 - SS:::::::::::::::S  ttt:::t                              l:::::l                                      
   7.903 -S:::::SSSSSS::::::S  t:::::t                              l:::::l                                      
   7.904 -S:::::S     SSSSSSS  t:::::t                              l:::::l                                      
   7.905 -S:::::S        ttttttt:::::tttttttyyyyyyy           yyyyyyyl::::l     eeeeeeeeeeee        ssssssssss   
   7.906 -S:::::S        t:::::::::::::::::t y:::::y         y:::::y l::::l   ee::::::::::::ee    ss::::::::::s  
   7.907 - S::::SSSS     t:::::::::::::::::t  y:::::y       y:::::y  l::::l  e::::::eeeee:::::eess:::::::::::::s 
   7.908 -  SS::::::SSSSStttttt:::::::tttttt   y:::::y     y:::::y   l::::l e::::::e     e:::::es::::::ssss:::::s
   7.909 -    SSS::::::::SS    t:::::t          y:::::y   y:::::y    l::::l e:::::::eeeee::::::e s:::::s  ssssss 
   7.910 -       SSSSSS::::S   t:::::t           y:::::y y:::::y     l::::l e:::::::::::::::::e    s::::::s      
   7.911 -            S:::::S  t:::::t            y:::::y:::::y      l::::l e::::::eeeeeeeeeee        s::::::s   
   7.912 -            S:::::S  t:::::t    tttttt   y:::::::::y       l::::l e:::::::e           ssssss   s:::::s 
   7.913 -SSSSSSS     S:::::S  t::::::tttt:::::t    y:::::::y       l::::::le::::::::e          s:::::ssss::::::s
   7.914 -S::::::SSSSSS:::::S  tt::::::::::::::t     y:::::y        l::::::l e::::::::eeeeeeee  s::::::::::::::s 
   7.915 -S:::::::::::::::SS     tt:::::::::::tt    y:::::y         l::::::l  ee:::::::::::::e   s:::::::::::ss  
   7.916 - SSSSSSSSSSSSSSS         ttttttttttt     y:::::y          llllllll    eeeeeeeeeeeeee    sssssssssss    
   7.917 -                                        y:::::y                                                        
   7.918 -                                       y:::::y                                                         
   7.919 -                                      y:::::y                                                          
   7.920 -                                     y:::::y                                                           
   7.921 -                                    yyyyyyy                                                            
   7.922 --->
   7.923 -
   7.924 -
   7.925 -<h2 id='predefined-counters'>
   7.926 -Simple Predefined Counter Styles</h2>
   7.927 -
   7.928 -	<p>
   7.929 -		The following stylesheet uses the ''@counter-style'' rule
   7.930 -		to redefine all of the counter styles defined in CSS 2 and CSS 2.1.
   7.931 -		This stylesheet is normative - 
   7.932 -		UAs must include it in their UA stylesheet
   7.933 -		(or at least act as if these rules were defined at that level).
   7.934 -
   7.935 -
   7.936 -<h3 id='simple-numeric'>
   7.937 -Numeric: ''decimal'', ''decimal-leading-zero'', ''cjk-decimal'', ''lower-roman'', ''upper-roman'', ''armenian'', ''georgian'', ''hebrew''</h3>
   7.938 -
   7.939 -	<pre class='stylesheet'><bdo>
   7.940 -@counter-style <dfn>decimal</dfn> {
   7.941 -	type: numeric;
   7.942 -	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   7.943 -}
   7.944 -
   7.945 -@counter-style <dfn>decimal-leading-zero</dfn> {
   7.946 -	type: non-repeating -9;
   7.947 -	symbols: '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09';
   7.948 -}
   7.949 -
   7.950 -@counter-style <dfn>cjk-decimal</dfn> {
   7.951 -	type: numeric;
   7.952 -	symbols: \3007 \4E00 \4E8C \4E09 \56DB \4E94 \516D \4E03 \516B \4E5D;
   7.953 -	/* 〇 一 二 三 四 五 六 七 八 九 */
   7.954 -}
   7.955 -
   7.956 -@counter-style <dfn>lower-roman</dfn> {
   7.957 -	type: additive;
   7.958 -	range: 1 4999;
   7.959 -	additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i;
   7.960 -}
   7.961 -
   7.962 -@counter-style <dfn>upper-roman</dfn> {
   7.963 -	type: additive;
   7.964 -	range: 1 4999;
   7.965 -	additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I;
   7.966 -}
   7.967 -
   7.968 -@counter-style <dfn>armenian</dfn> {
   7.969 -	type: additive;
   7.970 -	range: 1 9999;
   7.971 -	additive-symbols: 9000 \554, 8000 \553, 7000 \552, 6000 \551, 5000 \550, 4000 \54F, 3000 \54E, 2000 \54D, 1000 \54C, 900 \54B, 800 \54A, 700 \549, 600 \548, 500 \547, 400 \546, 300 \545, 200 \544, 100 \543, 90 \542, 80 \541, 70 \540, 60 \53F, 50 \53E, 40 \53D, 30 \53C, 20 \53B, 10 \53A, 9 \539, 8 \538, 7 \537, 6 \536, 5 \535, 4 \534, 3 \533, 2 \532, 1 \531;
   7.972 -	/* 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա */
   7.973 -}
   7.974 -
   7.975 -@counter-style <dfn>georgian</dfn> {
   7.976 -	type: additive;
   7.977 -	range: 1 19999;
   7.978 -	additive-symbols: 10000 \10F5, 9000 \10F0, 8000 \10EF, 7000 \10F4, 6000 \10EE, 5000 \10ED, 4000 \10EC, 3000 \10EB, 2000 \10EA, 1000 \10E9, 900 \10E8, 800 \10E7, 700 \10E6, 600 \10E5, 500 \10E4, 400 \10F3, 300 \10E2, 200 \10E1, 100 \10E0, 90 \10DF, 80 \10DE, 70 \10DD, 60 \10F2, 50 \10DC, 40 \10DB, 30 \10DA, 20 \10D9, 10 \10D8, 9 \10D7, 8 \10F1, 7 \10D6, 6 \10D5, 5 \10D4, 4 \10D3, 3 \10D2, 2 \10D1, 1 \10D0;
   7.979 -	/* 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა */
   7.980 -}
   7.981 -
   7.982 -@counter-style <dfn>hebrew</dfn> {
   7.983 -	type: additive;
   7.984 -	range: 1 infinite;
   7.985 -	additive-symbols: 400 \5EA, 300 \5E9, 200 \5E8, 100 \5E7, 90 \5E6, 80 \5E4, 70 \5E2, 60 \5E1, 50 \5E0, 40 \5DE, 30 \5DC, 20 \5DB, 19 \5D9\5D8, 18 \5D9\5D7, 17 \5D9\5D6, 16 \5D8\5D6, 15 \5D8\5D5, 10 \5D9, 9 \5D8, 8 \5D7, 7 \5D6, 6 \5D5, 5 \5D4, 4 \5D3, 3 \5D2, 2 \5D1, 1 \5D0;
   7.986 -	/* 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א */
   7.987 -	/* This system manually specifies the values for 19-15 to force the correct display of 15 and 16, which are commonly rewritten to avoid a close resemblance to the Tetragrammaton. */
   7.988 -}</bdo></pre>
   7.989 -
   7.990 -	<p>
   7.991 -		The ''decimal'' counter-style must not be overridable with a @counter-style rule,
   7.992 -		so that it is always available as an ultimate fallback style.
   7.993 -
   7.994 -
   7.995 -<h3 id='simple-alphabetic'>
   7.996 -Alphabetic: ''lower-alpha'', ''lower-latin'', ''upper-alpha'', ''upper-latin'', ''lower-greek'', ''hiragana'', ''hiragana-iroha'', ''katakana'', ''katakana-iroha''</h3>
   7.997 -
   7.998 -	<pre class='stylesheet'><bdo>
   7.999 -@counter-style <dfn>lower-alpha</dfn> {
  7.1000 -	type: alphabetic;
  7.1001 -	symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
  7.1002 -}
  7.1003 -
  7.1004 -@counter-style <dfn>lower-latin</dfn> {
  7.1005 -	type: override lower-alpha;
  7.1006 -}
  7.1007 -
  7.1008 -@counter-style <dfn>upper-alpha</dfn> {
  7.1009 -	type: alphabetic;
  7.1010 -	symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
  7.1011 -}
  7.1012 -
  7.1013 -@counter-style <dfn>upper-latin</dfn> {
  7.1014 -	type: override upper-alpha;
  7.1015 -}
  7.1016 -
  7.1017 -@counter-style <dfn>lower-greek</dfn> {
  7.1018 -	type: alphabetic;
  7.1019 -	symbols: \3B1 \3B2 \3B3 \3B4 \3B5 \3B6 \3B7 \3B8 \3B9 \3BA \3BB \3BC \3BD \3BE \3BF \3C0 \3C1 \3C3 \3C4 \3C5 \3C6 \3C7 \3C8 \3C9;
  7.1020 -	/* α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω */
  7.1021 -}
  7.1022 -
  7.1023 -@counter-style <dfn>hiragana</dfn> {
  7.1024 -	type: alphabetic;
  7.1025 -	symbols: \3042 \3044 \3046 \3048 \304A \304B \304D \304F \3051 \3053 \3055 \3057 \3059 \305B \305D \305F \3061 \3064 \3066 \3068 \306A \306B \306C \306D \306E \306F \3072 \3075 \3078 \307B \307E \307F \3080 \3081 \3082 \3084 \3086 \3088 \3089 \308A \308B \308C \308D \308F \3092 \3093;
  7.1026 -	/* あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん */
  7.1027 -	suffix: 、;
  7.1028 -}
  7.1029 -
  7.1030 -@counter-style <dfn>hiragana-iroha</dfn> {
  7.1031 -	type: alphabetic;
  7.1032 -	symbols: \3044 \308D \306F \306B \307B \3078 \3068 \3061 \308A \306C \308B \3092 \308F \304B \3088 \305F \308C \305D \3064 \306D \306A \3089 \3080 \3046 \3090 \306E \304A \304F \3084 \307E \3051 \3075 \3053 \3048 \3066 \3042 \3055 \304D \3086 \3081 \307F \3057 \3091 \3072 \3082 \305B \3059 \3093;
  7.1033 -	/* い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す ん */
  7.1034 -	suffix: 、;
  7.1035 -}
  7.1036 -
  7.1037 -@counter-style <dfn>katakana</dfn> {
  7.1038 -	type: alphabetic;
  7.1039 -	symbols: \30A2 \30A4 \30A6 \30A8 \30AA \30AB \30AD \30AF \30B1 \30B3 \30B5 \30B7 \30B9 \30BB \30BD \30BF \30C1 \30C4 \30C6 \30C8 \30CA \30CB \30CC \30CD \30CE \30CF \30D2 \30D5 \30D8 \30DB \30DE \30DF \30E0 \30E1 \30E2 \30E4 \30E6 \30E8 \30E9 \30EA \30EB \30EC \30ED \30EF \30F2 \30F3;
  7.1040 -	/* ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン */
  7.1041 -	suffix: 、;
  7.1042 -}
  7.1043 -
  7.1044 -@counter-style <dfn>katakana-iroha</dfn> {
  7.1045 -	type: alphabetic;
  7.1046 -	symbols: \30A4 \30ED \30CF \30CB \30DB \30D8 \30C8 \30C1 \30EA \30CC \30EB \30F2 \30EF \30AB \30E8 \30BF \30EC \30BD \30C4 \30CD \30CA \30E9 \30E0 \30A6 \30F0 \30CE \30AA \30AF \30E4 \30DE \30B1 \30D5 \30B3 \30A8 \30C6 \30A2 \30B5 \30AD \30E6 \30E1 \30DF \30B7 \30F1 \30D2 \30E2 \30BB \30B9 \30F3;
  7.1047 -	/* イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス ン */
  7.1048 -	suffix: '、';
  7.1049 -}</bdo></pre>
  7.1050 -
  7.1051 -
  7.1052 -<h3 id='simple-symbolic'>
  7.1053 -Symbolic: ''disc'', ''circle'', ''square''</h3>
  7.1054 -
  7.1055 -	<p>
  7.1056 -		In addition to the above styles, 
  7.1057 -		UAs must define three counter styles named ''disc'', ''circle'', and ''square''.  
  7.1058 -		They must do so either by including the following stylesheet in their UA stylesheet, 
  7.1059 -		or by rendering the bullets with a browser-generated image matching the descriptions below the stylesheet.
  7.1060 -
  7.1061 -	<p>
  7.1062 -		If a browser chooses to render these counter styles by generating images, 
  7.1063 -		the images must be sized to attractively fill a 1em by 1em rectangle.  
  7.1064 -		As well, the styles must still be overrideable by a later ''@counter-style'' rule 
  7.1065 -		defining a counter style of the same name, 
  7.1066 -		as if they were defined by a ''@counter-style'' rule in the UA stylesheet.
  7.1067 -
  7.1068 -	<pre class='stylesheet'>
  7.1069 -@counter-style <dfn>disc</dfn> {
  7.1070 -	type: repeating;
  7.1071 -	symbols: \2022;
  7.1072 -	/* • */
  7.1073 -	suffix: ;
  7.1074 -}
  7.1075 -
  7.1076 -@counter-style <dfn>circle</dfn> {
  7.1077 -	type: repeating;
  7.1078 -	symbols: \25E6;
  7.1079 -	/* ◦ */
  7.1080 -	suffix: ;
  7.1081 -}
  7.1082 -
  7.1083 -@counter-style <dfn>square</dfn> {
  7.1084 -	type: repeating;
  7.1085 -	symbols: \25FE;
  7.1086 -	/* ◾ */
  7.1087 -	suffix: '';
  7.1088 -}</pre>
  7.1089 -
  7.1090 -	<dl>
  7.1091 -		<dt>disc
  7.1092 -		<dd>A filled circle, similar to • U+2022 BULLET.
  7.1093 -
  7.1094 -		<dt>circle
  7.1095 -		<dd>A hollow circle, similar to ◦ U+25E6 WHITE BULLET.
  7.1096 -
  7.1097 -		<dt>square
  7.1098 -		<dd>A filled square, similar to ◾ U+25FE BLACK MEDIUM SMALL SQUARE.
  7.1099 -	</dl>
  7.1100 -
  7.1101 -
  7.1102 -<!-- ======================================================================= -->
  7.1103 -
  7.1104 -<h2 id='complex-predefined-counters'>
  7.1105 -Complex Predefined Counter Styles</h2>
  7.1106 -
  7.1107 -	<p>
  7.1108 -		While authors may define their own counter styles using the ''@counter-style'' rule 
  7.1109 -		or rely on the set of <a href='#ua-stylesheet'>predefined counter styles</a>, 
  7.1110 -		a few counter styles are described by rules that are too complex to be captured by the predefined algorithms.
  7.1111 -		These counter styles are described in this section.
  7.1112 -
  7.1113 -	<p>
  7.1114 -		Some of the counter styles specified in this section 
  7.1115 -		have custom <i title='counter-algorithm'>algorithms for generating counter values</i>, 
  7.1116 -		but are otherwise identical to a counter style defined via the ''@counter-style'' rule. 
  7.1117 -		For example, an author can reference one of these styles in an 'override' type, 
  7.1118 -		reusing the algorithm but swapping out some of the other descriptors.
  7.1119 -
  7.1120 -
  7.1121 -<h3 id='complex-cjk'>
  7.1122 -Longhand East Asian Counter Styles: ''japanese-informal'', ''japanese-formal'', ''korean-hangul-formal'', ''korean-hanja-informal'', ''korean-hanja-formal'', ''simp-chinese-informal'', ''simp-chinese-formal'', ''trad-chinese-informal'', ''trad-chinese-formal''</h3>
  7.1123 -
  7.1124 -	<p>
  7.1125 -		Chinese, Japanese, and Korean have longhand counter styles, 
  7.1126 -		which have a structure similar to "one hundred thirteen thousand and twenty-three" in English.  
  7.1127 -		Each has both formal and informal variants. 
  7.1128 -		The formal styles are typically used in financial and legal documents, 
  7.1129 -		as their characters are more difficult to alter into each other.
  7.1130 -
  7.1131 -	<p>
  7.1132 -		Some of the counter styles can,
  7.1133 -		if limited to a reasonable range,
  7.1134 -		be expressed as ''@counter-style'' rules.
  7.1135 -		As such, this section is split into two pieces:
  7.1136 -		a required section defining the styles over this limited range,
  7.1137 -		and an optional section defining them over a much larger range
  7.1138 -		that requires custom algorithms for all of the styles.
  7.1139 -
  7.1140 -	<dl>
  7.1141 -		<dt>japanese-informal
  7.1142 -		<dd>description and example of this style
  7.1143 -
  7.1144 -		<dt>japanese-formal
  7.1145 -		<dd>...
  7.1146 -
  7.1147 -		<dt>korean-hangul-formal
  7.1148 -		<dd>...
  7.1149 -
  7.1150 -		<dt>korean-hanja-informal
  7.1151 -		<dd>...
  7.1152 -
  7.1153 -		<dt>korean-hanja-formal
  7.1154 -		<dd>...
  7.1155 -
  7.1156 -		<dt>simp-chinese-informal
  7.1157 -		<dd>The simplified Chinese informal style.
  7.1158 -
  7.1159 -		<dt>simp-chinese-formal
  7.1160 -		<dd>The simplified Chinese formal style
  7.1161 -
  7.1162 -		<dt>trad-chinese-informal
  7.1163 -		<dd>The traditional Chinese informal style
  7.1164 -
  7.1165 -		<dt>trad-chinese-formal
  7.1166 -		<dd>The traditional Chinese formal style
  7.1167 -
  7.1168 -		<dt>cjk-ideographic
  7.1169 -		<dd>This counter style is identical to ''trad-chinese-formal''. 
  7.1170 -			(It exists for legacy reasons.)
  7.1171 -	</dl>
  7.1172 -
  7.1173 -<h4 id='limited-cjk'>
  7.1174 -Limited-range Implementation (required)</h4>
  7.1175 -
  7.1176 -
  7.1177 -<h5 id='limited-japanese' class="no-num no-toc">
  7.1178 -Japanese</h5>
  7.1179 -
  7.1180 -	<pre class='stylesheet'>
  7.1181 -@counter-style <dfn>japanese-informal</dfn> {
  7.1182 -	type: additive;
  7.1183 -	range: 0 9999;
  7.1184 -	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \3007;
  7.1185 -	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇 */
  7.1186 -	suffix: \3001;
  7.1187 -	/* 、 */
  7.1188 -	fallback: cjk-decimal;
  7.1189 -}
  7.1190 -
  7.1191 -@counter-style <dfn>japanese-formal</dfn> {
  7.1192 -	type: additive;
  7.1193 -	range: 0 9999;
  7.1194 -	additive-symbols: 9000 \4E5D\9621, 8000 \516B\9621, 7000 \4E03\9621, 6000 \516D\9621, 5000 \4F0D\9621, 4000 \56DB\9621, 3000 \53C2\9621, 2000 \5F10\9621, 1000 \58F1\9621, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4F0D\767E, 400 \56DB\767E, 300 \53C2\767E, 200 \5F10\767E, 100 \58F1\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4F0D\62FE, 40 \56DB\62FE, 30 \53C2\62FE, 20 \5F10\62FE, 10 \58F1\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4F0D, 4 \56DB, 3 \53C2, 2 \5F10, 1 \58F1, 0 \96F6;
  7.1195 -	/* 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零 */
  7.1196 -	suffix: \3001;
  7.1197 -	/* 、 */
  7.1198 -	fallback: cjk-decimal;
  7.1199 -}</pre>
  7.1200 -
  7.1201 -
  7.1202 -<h5 id=limited-korean class="no-num no-toc">
  7.1203 -Korean</h5>
  7.1204 -
  7.1205 -	<pre class='stylesheet'>
  7.1206 -@counter-style <dfn>korean-hangul-formal</dfn> {
  7.1207 -	type: additive;
  7.1208 -	range: 0 9999;
  7.1209 -	additive-symbols: 9000 \AD6C\CC9C, 8000 \D314\CC9C, 7000 \CE60\CC9C, 6000 \C721\CC9C, 5000 \C624\CC9C, 4000 \C0AC\CC9C, 3000 \C0BC\CC9C, 2000 \C774\CC9C, 1000 \C77C\CC9C, 900 \AD6C\BC31, 800 \D314\BC31, 700 \CE60\BC31, 600 \C721\BC31, 500 \C624\BC31, 400 \C0AC\BC31, 300 \C0BC\BC31, 200 \C774\BC31, 100 \C77C\BC31, 90 \AD6C\C2ED, 80 \D314\C2ED, 70 \CE60\C2ED, 60 \C721\C2ED, 50 \C624\C2ED, 40 \C0AC\C2ED, 30 \C0BC\C2ED, 20 \C774\C2ED, 10 \C77C\C2ED, 9 \AD6C, 8 \D314, 7 \CE60, 6 \C721, 5 \C624, 4 \C0AC, 3 \C0BC, 2 \C774, 1 \C77C, 0 \C601;
  7.1210 -	/* 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영 */
  7.1211 -	suffix: \3001;
  7.1212 -	/* 、 */
  7.1213 -}
  7.1214 -
  7.1215 -@counter-style <dfn>korean-hanja-informal</dfn> {
  7.1216 -	type: additive;
  7.1217 -	range: 0 9999;
  7.1218 -	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \96F6;
  7.1219 -	/* 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零 */
  7.1220 -	suffix: \3001;
  7.1221 -	/* 、 */
  7.1222 -}
  7.1223 -
  7.1224 -@counter-style <dfn>korean-hanja-formal</dfn> {
  7.1225 -	type: additive;
  7.1226 -	range: 0 9999;
  7.1227 -	additive-symbols: 9000 \4E5D\4EDF, 8000 \516B\4EDF, 7000 \4E03\4EDF, 6000 \516D\4EDF, 5000 \4E94\4EDF, 4000 \56DB\4EDF, 3000 \53C3\4EDF, 2000 \8CB3\4EDF, 1000 \58F9\4EDF, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \53C3\767E, 200 \8CB3\767E, 100 \58F9\767E, 90 \4E5D\62FE, 80 \516B\62FE, 70 \4E03\62FE, 60 \516D\62FE, 50 \4E94\62FE, 40 \56DB\62FE, 30 \53C3\62FE, 20 \8CB3\62FE, 10 \58F9\62FE, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \53C3, 2 \8CB3, 1 \58F9, 0 \96F6;
  7.1228 -	/* 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零 */
  7.1229 -	suffix: \3001;
  7.1230 -	/* 、 */
  7.1231 -}</pre>
  7.1232 -
  7.1233 -
  7.1234 -<h5 id='limited-chinese' class="no-num no-toc">
  7.1235 -Chinese</h5>
  7.1236 -
  7.1237 -	<p>The Chinese longhand styles are defined over the range -9999 to 9999.  
  7.1238 -	For numbers outside this range, the ''cjk-decimal'' style is used.  All of the
  7.1239 -	styles are defined by almost identical algorithms (specified as a single
  7.1240 -	algorithm here, with the differences called out when relevant), but use 
  7.1241 -	different sets of characters.  The list following the algorithm gives the
  7.1242 -	name of each counter style using this algorithm, and the individual character
  7.1243 -	sets used by each style.
  7.1244 -
  7.1245 -	<ol>
  7.1246 -		<li>If the counter value is 0, the representation is the character for 0
  7.1247 -		specified for the given counter style.  Skip the rest of this algorithm.
  7.1248 -
  7.1249 -		<li>Initially represent the counter value as a decimal number.  For each 
  7.1250 -		digit that is not 0, append the appropriate digit marker to the digit.  
  7.1251 -		The ones digit has no marker.
  7.1252 -
  7.1253 -		<li>For the informal styles, if the counter value is between ten and 
  7.1254 -		nineteen, remove the tens digit (leave the digit marker).
  7.1255 -
  7.1256 -		<li>Drop any trailing zeros and collapse any remaining zeros into a single
  7.1257 -		zero digit.
  7.1258 -
  7.1259 -		<li>Replace the digits 0-9 with the appropriate character for the given
  7.1260 -		counter style.  Return the resultant string as the representation of the
  7.1261 -		counter value.
  7.1262 -	</ol>
  7.1263 -
  7.1264 -	<p>For all of these counter styles, the <i title='counter-suffix'>suffix descriptor</i>
  7.1265 -	is "、" U+3001, the <i title='counter-fallback'>fallback descriptor</i> is
  7.1266 -	''cjk-decimal'', the <i title='counter-lower-bound'>lower bound descriptor</i> 
  7.1267 -	is -9999, the <i title='counter-upper-bound'>upper bound descriptor</i> 
  7.1268 -	is 9999, and the <i title='counter-negative'>negative sign</i> is given in the table
  7.1269 -	of symbols for each style.
  7.1270 -
  7.1271 -	<p>The following tables define the characters used in these styles:
  7.1272 -
  7.1273 -	<table class='data'>
  7.1274 -		<thead>
  7.1275 -			<tr>
  7.1276 -				<th rowspan=2 scope=col>Values
  7.1277 -				<th colspan=4 scope=col>Codepoints
  7.1278 -			<tr>
  7.1279 -				<th><dfn>simp-chinese-informal</dfn>
  7.1280 -				<th><dfn>simp-chinese-formal</dfn>
  7.1281 -				<th><dfn>trad-chinese-informal</dfn>
  7.1282 -				<th><dfn>trad-chinese-formal</dfn>
  7.1283 -		</thead>
  7.1284 -		<tbody>
  7.1285 -			<tr>
  7.1286 -				<th scope=row>Digit 0
  7.1287 -				<td>零 U+96F6
  7.1288 -				<td>零 U+96F6
  7.1289 -				<td>零  U+96F6
  7.1290 -				<td>零  U+96F6
  7.1291 -			<tr>
  7.1292 -				<th scope=row>Digit 1
  7.1293 -				<td>一 U+4E00
  7.1294 -				<td>壹 U+58F9
  7.1295 -				<td>一 U+4E00
  7.1296 -				<td>壹  U+58F9
  7.1297 -			<tr>
  7.1298 -				<th scope=row>Digit 2
  7.1299 -				<td>二 U+4E8C
  7.1300 -				<td>贰 U+8D30
  7.1301 -				<td>二 U+4E8C
  7.1302 -				<td>貳  U+8CB3
  7.1303 -			<tr>
  7.1304 -				<th scope=row>Digit 3
  7.1305 -				<td>三 U+4E09
  7.1306 -				<td>叁 U+53C1
  7.1307 -				<td>三 U+4E09
  7.1308 -				<td>參  U+53C3
  7.1309 -			<tr>
  7.1310 -				<th scope=row>Digit 4
  7.1311 -				<td>四 U+56DB
  7.1312 -				<td>肆 U+8086
  7.1313 -				<td>四 U+56DB
  7.1314 -				<td>肆  U+8086
  7.1315 -			<tr>
  7.1316 -				<th scope=row>Digit 5
  7.1317 -				<td>五 U+4E94
  7.1318 -				<td>伍 U+4F0D
  7.1319 -				<td>五 U+4E94
  7.1320 -				<td>伍  U+4F0D
  7.1321 -			<tr>
  7.1322 -				<th scope=row>Digit 6
  7.1323 -				<td>六 U+516D
  7.1324 -				<td>陆 U+9646
  7.1325 -				<td>六 U+516D
  7.1326 -				<td>陸  U+9678
  7.1327 -			<tr>
  7.1328 -				<th scope=row>Digit 7
  7.1329 -				<td>七 U+4E03
  7.1330 -				<td>柒 U+67D2
  7.1331 -				<td>七 U+4E03
  7.1332 -				<td>柒  U+67D2
  7.1333 -			<tr>
  7.1334 -				<th scope=row>Digit 8
  7.1335 -				<td>八 U+516B
  7.1336 -				<td>捌 U+634C
  7.1337 -				<td>八 U+516B
  7.1338 -				<td>捌  U+634C
  7.1339 -			<tr>
  7.1340 -				<th scope=row>Digit 9
  7.1341 -				<td>九 U+4E5D
  7.1342 -				<td>玖 U+7396
  7.1343 -				<td>九 U+4E5D
  7.1344 -				<td>玖  U+7396
  7.1345 -			<tr>
  7.1346 -				<th scope=row>Tens Digit Marker
  7.1347 -				<td>十 U+5341
  7.1348 -				<td>拾 U+62FE
  7.1349 -				<td>十 U+5341
  7.1350 -				<td>拾  U+62FE
  7.1351 -			<tr>
  7.1352 -				<th scope=row>Hundreds Digit Marker
  7.1353 -				<td>百 U+767E
  7.1354 -				<td>佰 U+4F70
  7.1355 -				<td>百 U+767E 
  7.1356 -				<td>佰  U+4F70
  7.1357 -			<tr>
  7.1358 -				<th scope=row>Thousands Digit Marker
  7.1359 -				<td>千 U+5343
  7.1360 -				<td>仟 U+4EDF
  7.1361 -				<td>千 U+5343
  7.1362 -				<td>仟  U+4EDF
  7.1363 -			<tr>
  7.1364 -				<th scope=row>Negative Sign
  7.1365 -				<td>负 U+8D1F
  7.1366 -				<td>負 U+8D1F
  7.1367 -				<td>負 U+8CA0
  7.1368 -				<td>負 U+8CA0
  7.1369 -		</tbody>
  7.1370 -	</table>
  7.1371 -
  7.1372 -	<p class=note>Note: Chinese, Japanese, and Korean longhand numbering is 
  7.1373 -	actually defined up to 10<sup>72</sup>. In practice, lists are rarely numbered 
  7.1374 -	above ten thousand, so these styles have been limited to their first "group".
  7.1375 -
  7.1376 -	<div class='note'>
  7.1377 -		<p>For reference, here are the first 120 values for the ''simp-chinese-informal'' style:
  7.1378 -
  7.1379 -		<pre>
  7.1380 -  1     一    41   四十一    81   八十一
  7.1381 -  2     二    42   四十二    82   八十二
  7.1382 -  3     三    43   四十三    83   八十三
  7.1383 -  4     四    44   四十四    84   八十四
  7.1384 -  5     五    45   四十五    85   八十五
  7.1385 -  6     六    46   四十六    86   八十六
  7.1386 -  7     七    47   四十七    87   八十七
  7.1387 -  8     八    48   四十八    88   八十八
  7.1388 -  9     九    49   四十九    89   八十九
  7.1389 - 10     十    50    五十    90    九十
  7.1390 - 11    十一    51   五十一    91   九十一
  7.1391 - 12    十二    52   五十二    92   九十二
  7.1392 - 13    十三    53   五十三    93   九十三
  7.1393 - 14    十四    54   五十四    94   九十四
  7.1394 - 15    十五    55   五十五    95   九十五
  7.1395 - 16    十六    56   五十六    96   九十六
  7.1396 - 17    十七    57   五十七    97   九十七
  7.1397 - 18    十八    58   五十八    98   九十八
  7.1398 - 19    十九    59   五十九    99   九十九
  7.1399 - 20    二十    60    六十   100    一百
  7.1400 - 21   二十一    61   六十一   101  一百零一
  7.1401 - 22   二十二    62   六十二   102  一百零二
  7.1402 - 23   二十三    63   六十三   103  一百零三
  7.1403 - 24   二十四    64   六十四   104  一百零四
  7.1404 - 25   二十五    65   六十五   105  一百零五
  7.1405 - 26   二十六    66   六十六   106  一百零六
  7.1406 - 27   二十七    67   六十七   107  一百零七
  7.1407 - 28   二十八    68   六十八   108  一百零八
  7.1408 - 29   二十九    69   六十九   109  一百零九
  7.1409 - 30    三十    70    七十   110  一百一十
  7.1410 - 31   三十一    71   七十一   111 一百一十一
  7.1411 - 32   三十二    72   七十二   112 一百一十二
  7.1412 - 33   三十三    73   七十三   113 一百一十三
  7.1413 - 34   三十四    74   七十四   114 一百一十四
  7.1414 - 35   三十五    75   七十五   115 一百一十五
  7.1415 - 36   三十六    76   七十六   116 一百一十六
  7.1416 - 37   三十七    77   七十七   117 一百一十七
  7.1417 - 38   三十八    78   七十八   118 一百一十八
  7.1418 - 39   三十九    79   七十九   119 一百一十九
  7.1419 - 40    四十    80    八十   120  一百二十</pre>
  7.1420 -	</div>
  7.1421 -
  7.1422 -	<div class='issue'>
  7.1423 -		<p>It's possible, with some fallback hackery, to represent these styles with a @counter-style rule.  For example, the following 11 styles would serve to represent ''simp-chinese-informal'' between 0 and 999:
  7.1424 -
  7.1425 -		<pre class='stylesheet'>
  7.1426 -@counter-style simp-chinese-informal {
  7.1427 -	type: non-repeating 101;
  7.1428 -	fallback: simp-chinese-informal-200;
  7.1429 -	symbols: 一百零一 一百零二 一百零三 一百零四 一百零五 一百零六 一百零七 一百零八 一百零九;
  7.1430 -}
  7.1431 -@counter-style simp-chinese-informal-200 {
  7.1432 -	type: non-repeating 201;
  7.1433 -	fallback: simp-chinese-informal-300;
  7.1434 -	symbols: 二百零一 二百零二 二百零三 二百零四 二百零五 二百零六 二百零七 二百零八 二百零九;
  7.1435 -}
  7.1436 -/* etc for 300 through 900*/
  7.1437 -@counter-style simp-chinese-informal-10 {
  7.1438 -	type: non-repeating 10;
  7.1439 -	fallback: simp-chinese-informal-rest;
  7.1440 -	symbols: 十 十一 十二 十三 十四 十五 十六 十七 十八 十九;
  7.1441 -}
  7.1442 -@counter-style simp-chinese-informal-rest {
  7.1443 -	type: additive;
  7.1444 -	range: 0 999;
  7.1445 -	fallback: cjk-decimal;
  7.1446 -	additive-symbols: 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百,
  7.1447 -	300 三百, 200 二百, 100 一百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30
  7.1448 -	三十, 20 二十, 10 一十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零;
  7.1449 -}</pre>
  7.1450 -
  7.1451 -		<p>If Lists allowed multiple ranges, the -100 through -900 styles could be collapsed into a single additive style, for a total of only 3 @counter-style rules, and up to 9999 could be done with (I believe) 2 additional rules.  If Lists was altered to let non-numeric styles represent negative values, the negative half of the range could be represented without any extra rules.
  7.1452 -
  7.1453 -		<p>All of the Chinese longhand styles are nearly identical, and ethiopian-numeric can be represented in a similar fashion.  Is this too hacky for me to represent them officially using this strategy, or is it okay?
  7.1454 -	</div>
  7.1455 -		
  7.1456 -
  7.1457 -<!-- ====================================================================== -->
  7.1458 -
  7.1459 -<h4 id='extended-cjk'>
  7.1460 -Extended Implementation (optional)</h4>
  7.1461 -
  7.1462 -	<p>Some counter styles described in earlier chapters have been limited to an artifically small (though still useful) range to reduce the overall complexity of the spec and the task of implementing those styles.  However, some implementations might consider the extra complexity worthwhile  for the additional range it offers to authors.  To accomodate this, this section describes how to extend the limited counter-styles to a larger range.
  7.1463 -
  7.1464 -	<p>This entire section is normative, but <strong>optional</strong>.  User-agents may ignore it and still be conformant.  If a user-agent implements some of the extended forms described in this section, they must be implemented as described here.
  7.1465 -
  7.1466 -	<p>The Chinese longhand styles are defined out to 10k with a <a href='#cjk-counter-styles'>specialized algorithm</a>, while the Japanese and Korean longhand styles are defined similarly as <i>additive</i> styles.  However, these styles are defined out to 10<sup>16</sup> in common usage.  The following section describes an alternative algorithm for these styles.
  7.1467 -
  7.1468 -	<p>The Chinese and Japanese styles are defined for all numbers between 
  7.1469 -	-10<sup>16</sup> and 10<sup>16</sup>, exclusive; the Korean styles are 
  7.1470 -	defined for all non-negative numbers less than 10<sup>16</sup>.  For numbers
  7.1471 -	outside this range, the ''cjk-decimal'' style is used.  All of the
  7.1472 -	styles are defined by almost identical algorithms (specified as a single
  7.1473 -	algorithm here, with the differences called out when relevant), but use 
  7.1474 -	different sets of characters.  The list following the algorithm gives the
  7.1475 -	name of each counter style using this algorithm, and the individual character
  7.1476 -	sets used by each style.
  7.1477 -
  7.1478 -	<ol>
  7.1479 -		<li>If the counter value is 0, the representation is the character for 0
  7.1480 -		specified for the given counter style.  Skip the rest of this algorithm.
  7.1481 -
  7.1482 -		<li>Initially represent the counter value as a decimal number.  Starting
  7.1483 -		from the right (ones place), split the decimal number into groups of
  7.1484 -		four digits.
  7.1485 -
  7.1486 -		<li>For each group with a non-zero value, append the appropriate group
  7.1487 -		marker to the group.  The ones group has no marker.
  7.1488 -
  7.1489 -		<li>Within each group, for each digit that is not 0, append the appropriate
  7.1490 -		digit marker to the digit.  The ones digit of each group has no marker.
  7.1491 -
  7.1492 -		<li>Drop ones:
  7.1493 -			<ul>
  7.1494 -				<li>For the Chinese informal styles, for any group with a value
  7.1495 -				between ten and nineteen, remove the tens digit (leave the digit
  7.1496 -				marker).
  7.1497 -
  7.1498 -				<li>For the Japanese informal and Korean informal styles, if any
  7.1499 -				of the digit markers are preceded by the digit 1, and that digit
  7.1500 -				is not the first digit of the group, remove the digit (leave the
  7.1501 -				digit marker).
  7.1502 -
  7.1503 -				<li>For Korean informal styles, if the value of the ten-thousands
  7.1504 -				group is 1, drop the digit (leave the digit marker).
  7.1505 -			</ul>
  7.1506 -		
  7.1507 -
  7.1508 -		<li>Drop zeros:
  7.1509 -			<ul>
  7.1510 -				<li>For the Japanese and Korean styles, drop all zero digits.
  7.1511 -
  7.1512 -				<li>For the Chinese styles, drop any trailing zeros for all
  7.1513 -				non-zero groups and collapse (across groups) each remaining
  7.1514 -				consecutive group of zeros into a single zero digit.
  7.1515 -			</ul>
  7.1516 -		
  7.1517 -
  7.1518 -		<li>For the Korean styles, insert a space (" " U+0020) between each group.
  7.1519 -
  7.1520 -		<li>Replace the digits 0-9 with the appropriate character for the given
  7.1521 -		counter style.  Return the resultant string as the representation of the
  7.1522 -		counter value.
  7.1523 -	</ol>
  7.1524 -
  7.1525 -	<p>For all of these counter styles, the <i title='counter-suffix'>suffix descriptor</i>
  7.1526 -	is "、" U+3001, the <i title='counter-fallback'>fallback descriptor</i> is
  7.1527 -	''cjk-decimal'', and the <i title='counter-negative'>negative sign</i> is given in the tables
  7.1528 -	below, or else is the initial value of the descriptor.  For Chinese and Japanese, the 
  7.1529 -	<i title='counter-lower-range'>lower range bound descriptor</i> is -9999 9999 9999 9999
  7.1530 -	(-10<sup>16</sup>+1), while for Korean it's 0.  For all of them, the
  7.1531 -	<i title='counter-upper-range'>upper range bound descriptor</i> is 9999 9999 9999 9999
  7.1532 -	(10<sup>16</sup>-1).
  7.1533 -
  7.1534 -	<p>The following tables define the characters used in these styles:
  7.1535 -
  7.1536 -	<table class='data'>
  7.1537 -		<thead>
  7.1538 -			<tr>
  7.1539 -				<th rowspan=2 scope=col>Values
  7.1540 -				<th colspan=4 scope=col>Codepoints
  7.1541 -			<tr>
  7.1542 -				<th><dfn>simp-chinese-informal</dfn>
  7.1543 -				<th><dfn>simp-chinese-formal</dfn>
  7.1544 -				<th><dfn>trad-chinese-informal</dfn>
  7.1545 -				<th><dfn>trad-chinese-formal</dfn>
  7.1546 -		</thead>
  7.1547 -		<tbody>
  7.1548 -			<tr>
  7.1549 -				<th scope=row>Digit 0
  7.1550 -				<td>零 U+96F6
  7.1551 -				<td>零 U+96F6
  7.1552 -				<td>零 U+96F6
  7.1553 -				<td>零 U+96F6
  7.1554 -			<tr>
  7.1555 -				<th scope=row>Digit 1
  7.1556 -				<td>一 U+4E00
  7.1557 -				<td>壹 U+58F9
  7.1558 -				<td>一 U+4E00
  7.1559 -				<td>壹 U+58F9
  7.1560 -			<tr>
  7.1561 -				<th scope=row>Digit 2
  7.1562 -				<td>二 U+4E8C
  7.1563 -				<td>贰 U+8D30
  7.1564 -				<td>二 U+4E8C
  7.1565 -				<td>貳 U+8CB3
  7.1566 -			<tr>
  7.1567 -				<th scope=row>Digit 3
  7.1568 -				<td>三 U+4E09
  7.1569 -				<td>叁 U+53C1
  7.1570 -				<td>三 U+4E09
  7.1571 -				<td>參 U+53C3
  7.1572 -			<tr>
  7.1573 -				<th scope=row>Digit 4
  7.1574 -				<td>四 U+56DB
  7.1575 -				<td>肆 U+8086
  7.1576 -				<td>四 U+56DB
  7.1577 -				<td>肆 U+8086
  7.1578 -			<tr>
  7.1579 -				<th scope=row>Digit 5
  7.1580 -				<td>五 U+4E94
  7.1581 -				<td>伍 U+4F0D
  7.1582 -				<td>五 U+4E94
  7.1583 -				<td>伍 U+4F0D
  7.1584 -			<tr>
  7.1585 -				<th scope=row>Digit 6
  7.1586 -				<td>六 U+516D
  7.1587 -				<td>陆 U+9646
  7.1588 -				<td>六 U+516D
  7.1589 -				<td>陸 U+9678
  7.1590 -			<tr>
  7.1591 -				<th scope=row>Digit 7
  7.1592 -				<td>七 U+4E03
  7.1593 -				<td>柒 U+67D2
  7.1594 -				<td>七 U+4E03
  7.1595 -				<td>柒 U+67D2
  7.1596 -			<tr>
  7.1597 -				<th scope=row>Digit 8
  7.1598 -				<td>八 U+516B
  7.1599 -				<td>捌 U+634C
  7.1600 -				<td>八 U+516B
  7.1601 -				<td>捌 U+634C
  7.1602 -			<tr>
  7.1603 -				<th scope=row>Digit 9
  7.1604 -				<td>九 U+4E5D
  7.1605 -				<td>玖 U+7396
  7.1606 -				<td>九 U+4E5D
  7.1607 -				<td>玖 U+7396
  7.1608 -			<tr>
  7.1609 -				<th scope=row>Second Digit Marker
  7.1610 -				<td>十 U+5341
  7.1611 -				<td>拾 U+62FE
  7.1612 -				<td>十 U+5341
  7.1613 -				<td>拾 U+62FE
  7.1614 -			<tr>
  7.1615 -				<th scope=row>Third Digit Marker
  7.1616 -				<td>百 U+767E
  7.1617 -				<td>佰 U+4F70
  7.1618 -				<td>百 U+767E 
  7.1619 -				<td>佰 U+4F70
  7.1620 -			<tr>
  7.1621 -				<th scope=row>Fourth Digit Marker
  7.1622 -				<td>千 U+5343
  7.1623 -				<td>仟 U+4EDF
  7.1624 -				<td>千 U+5343
  7.1625 -				<td>仟 U+4EDF
  7.1626 -			<tr>
  7.1627 -				<th scope=row>Second Group Marker
  7.1628 -				<td>万 U+4E07
  7.1629 -				<td>万 U+4E07
  7.1630 -				<td>萬 U+842C
  7.1631 -				<td>萬 U+842C
  7.1632 -			<tr>
  7.1633 -				<th scope=row>Third Group Marker
  7.1634 -				<td>亿 U+4EBF
  7.1635 -				<td>亿 U+4EBF
  7.1636 -				<td>億 U+5104
  7.1637 -				<td>億 U+5104
  7.1638 -			<tr>
  7.1639 -				<th scope=row>Fourth Group Marker
  7.1640 -				<td>万亿 U+4E07 U+4EBF
  7.1641 -				<td>万亿 U+4E07 U+4EBF
  7.1642 -				<td>兆 U+5146
  7.1643 -				<td>兆 U+5146
  7.1644 -			<tr>
  7.1645 -				<th scope=row>Negative Sign
  7.1646 -				<td>负 U+8D1F
  7.1647 -				<td>負 U+8D1F
  7.1648 -				<td>負 U+8CA0
  7.1649 -				<td>負 U+8CA0
  7.1650 -		</tbody>
  7.1651 -	</table>
  7.1652 -
  7.1653 -	<table class='data'>
  7.1654 -		<thead>
  7.1655 -			<tr>
  7.1656 -				<th rowspan=2 scope=col>Values
  7.1657 -				<th colspan=2 scope=col>Codepoints
  7.1658 -			<tr>
  7.1659 -				<th><dfn>japanese-informal</dfn>
  7.1660 -				<th><dfn>japanese-formal</dfn>
  7.1661 -		</thead>
  7.1662 -		<tbody>
  7.1663 -			<tr>
  7.1664 -				<th scope=row>Digit 0
  7.1665 -				<td>〇 U+3007
  7.1666 -				<td>零 U+96F6
  7.1667 -			<tr>
  7.1668 -				<th scope=row>Digit 1
  7.1669 -				<td>一 U+4E00
  7.1670 -				<td>壱 U+58F1
  7.1671 -			<tr>
  7.1672 -				<th scope=row>Digit 2
  7.1673 -				<td>二 U+4E8C
  7.1674 -				<td>弐 U+5F10
  7.1675 -			<tr>
  7.1676 -				<th scope=row>Digit 3
  7.1677 -				<td>三 U+4E09
  7.1678 -				<td>参 U+53C2
  7.1679 -			<tr>
  7.1680 -				<th scope=row>Digit 4
  7.1681 -				<td>四 U+56DB
  7.1682 -				<td>四 U+56DB
  7.1683 -			<tr>
  7.1684 -				<th scope=row>Digit 5
  7.1685 -				<td>五 U+4E94
  7.1686 -				<td>伍 U+4f0D
  7.1687 -			<tr>
  7.1688 -				<th scope=row>Digit 6
  7.1689 -				<td>六 U+516D
  7.1690 -				<td>六 U+516D
  7.1691 -			<tr>
  7.1692 -				<th scope=row>Digit 7
  7.1693 -				<td>七 U+4E03
  7.1694 -				<td>七 U+4E03
  7.1695 -			<tr>
  7.1696 -				<th scope=row>Digit 8
  7.1697 -				<td>八 U+516B
  7.1698 -				<td>八 U+516B
  7.1699 -			<tr>
  7.1700 -				<th scope=row>Digit 9
  7.1701 -				<td>九 U+4E5D
  7.1702 -				<td>九 U+4E5D
  7.1703 -			<tr>
  7.1704 -				<th scope=row>Second Digit Marker
  7.1705 -				<td>十 U+5341
  7.1706 -				<td>拾 U+62FE
  7.1707 -			<tr>
  7.1708 -				<th scope=row>Third Digit Marker
  7.1709 -				<td>百 U+767E
  7.1710 -				<td>百 U+767E
  7.1711 -			<tr>
  7.1712 -				<th scope=row>Fourth Digit Marker
  7.1713 -				<td>千 U+5343
  7.1714 -				<td>阡 U+9621
  7.1715 -			<tr>
  7.1716 -				<th scope=row>Second Group Marker
  7.1717 -				<td>万 U+4E07
  7.1718 -				<td>萬 U+842C
  7.1719 -			<tr>
  7.1720 -				<th scope=row>Third Group Marker
  7.1721 -				<td>億 U+5104
  7.1722 -				<td>億 U+5104
  7.1723 -			<tr>
  7.1724 -				<th scope=row>Fourth Group Marker
  7.1725 -				<td>兆 U+5146
  7.1726 -				<td>兆 U+5146
  7.1727 -			<tr>
  7.1728 -				<th scope=row>Negative Sign
  7.1729 -				<td colspan=2>マイナス U+30DE U+30A4 U+30CA U+30B9
  7.1730 -		</tbody>
  7.1731 -	</table>
  7.1732 -
  7.1733 -	<table class='data'>
  7.1734 -		<thead>
  7.1735 -			<tr>
  7.1736 -				<th rowspan=2 scope=col>Values
  7.1737 -				<th colspan=3 scope=col>Codepoints
  7.1738 -			<tr>
  7.1739 -				<th><dfn>korean-hangul-formal</dfn>
  7.1740 -				<th><dfn>korean-hanja-informal</dfn>
  7.1741 -				<th><dfn>korean-hanja-formal</dfn>
  7.1742 -		</thead>
  7.1743 -		<tbody>
  7.1744 -			<tr>
  7.1745 -				<th scope=row>Digit 0
  7.1746 -				<td>영 U+C601
  7.1747 -				<td>零 U+96F6
  7.1748 -				<td>零 U+96F6
  7.1749 -			<tr>
  7.1750 -				<th scope=row>Digit 1
  7.1751 -				<td>일 U+C77C
  7.1752 -				<td>一 U+4E00
  7.1753 -				<td>壹 U+58F9
  7.1754 -			<tr>
  7.1755 -				<th scope=row>Digit 2
  7.1756 -				<td>이 U+C774
  7.1757 -				<td>二 U+4E8C
  7.1758 -				<td>貳 U+8CB3
  7.1759 -			<tr>
  7.1760 -				<th scope=row>Digit 3
  7.1761 -				<td>삼 U+C0BC
  7.1762 -				<td>三 U+4E09
  7.1763 -				<td>參 U+53C3
  7.1764 -			<tr>
  7.1765 -				<th scope=row>Digit 4
  7.1766 -				<td>사 U+C0AC
  7.1767 -				<td>四 U+56DB
  7.1768 -				<td>四 U+56DB
  7.1769 -			<tr>
  7.1770 -				<th scope=row>Digit 5
  7.1771 -				<td>오 U+C624
  7.1772 -				<td>五 U+4E94
  7.1773 -				<td>五 U+4E94
  7.1774 -			<tr>
  7.1775 -				<th scope=row>Digit 6
  7.1776 -				<td>육 U+C721
  7.1777 -				<td>六 U+516D
  7.1778 -				<td>六 U+516D
  7.1779 -			<tr>
  7.1780 -				<th scope=row>Digit 7
  7.1781 -				<td>칠 U+CE60
  7.1782 -				<td>七 U+4E03
  7.1783 -				<td>七 U+4E03
  7.1784 -			<tr>
  7.1785 -				<th scope=row>Digit 8
  7.1786 -				<td>팔 U+D314
  7.1787 -				<td>八 U+516B
  7.1788 -				<td>八 U+516B
  7.1789 -			<tr>
  7.1790 -				<th scope=row>Digit 9
  7.1791 -				<td>구 U+AD6C
  7.1792 -				<td>九 U+4E5D
  7.1793 -				<td>九 U+4E5D
  7.1794 -			<tr>
  7.1795 -				<th scope=row>Second Digit Marker
  7.1796 -				<td>십 U+C2ED
  7.1797 -				<td>十 U+5341
  7.1798 -				<td>拾 U+62FE
  7.1799 -			<tr>
  7.1800 -				<th scope=row>Third Digit Marker
  7.1801 -				<td>백 U+BC31
  7.1802 -				<td>百 U+767E
  7.1803 -				<td>百 U+767E
  7.1804 -			<tr>
  7.1805 -				<th scope=row>Fourth Digit Marker
  7.1806 -				<td>천 U+CC9C
  7.1807 -				<td>千 U+5343
  7.1808 -				<td>仟 U+4EDF
  7.1809 -			<tr>
  7.1810 -				<th scope=row>Second Group Marker
  7.1811 -				<td>만 U+B9CC
  7.1812 -				<td>萬 U+842C
  7.1813 -				<td>萬 U+842C
  7.1814 -			<tr>
  7.1815 -				<th scope=row>Third Group Marker
  7.1816 -				<td>억 U+C5B5
  7.1817 -				<td>億 U+5104
  7.1818 -				<td>億 U+5104
  7.1819 -			<tr>
  7.1820 -				<th scope=row>Fourth Group Marker
  7.1821 -				<td>조 U+C870
  7.1822 -				<td>兆 U+5146
  7.1823 -				<td>兆 U+5146
  7.1824 -		</tbody>
  7.1825 -	</table>
  7.1826 -
  7.1827 -
  7.1828 -<!-- ======================================================================= -->
  7.1829 -
  7.1830 -
  7.1831 -<h3 id='ethiopic-numeric'>
  7.1832 -Ethiopic Numeric Counter Style: ''ethiopic-numeric''</h3>
  7.1833 -
  7.1834 -	<p class='issue'>
  7.1835 -		This counter style is not part of CSS 2.0 or 2.1,
  7.1836 -		but can't be represented well by @counter-style.
  7.1837 -		Should we keep it?
  7.1838 -
  7.1839 -	<p>The Ethiopian numbering system is defined for all positive non-zero numbers.
  7.1840 -	The following algorithm converts decimal digits to ethiopic numbers.
  7.1841 -
  7.1842 -	<ol>
  7.1843 -		<li>Split the number into groups of two digits, starting with the least
  7.1844 -		significant decimal digit.
  7.1845 -
  7.1846 -		<li>Index each group sequentially, starting from the least significant
  7.1847 -		as group number zero.
  7.1848 -
  7.1849 -		<li>If the group has an odd index (as given in the previous step) and
  7.1850 -		has the value 1, or if the group is the most significant one and has
  7.1851 -		the value 1, or if the group has the value zero, then remove the digit
  7.1852 -		(but leave the group, so it still has a separator appended below).
  7.1853 -
  7.1854 -		<li>For each remaining digit, substitute the relevant ethiopic character
  7.1855 -		from the list below.
  7.1856 -			<table class=data>
  7.1857 -				<thead>
  7.1858 -					<tr>
  7.1859 -						<th colspan="3">Tens
  7.1860 -						<th colspan="3">Units
  7.1861 -					<tr>
  7.1862 -						<th>Values
  7.1863 -						<th colspan="2">Codepoints
  7.1864 -						<th>Values
  7.1865 -						<th colspan="2">Codepoints
  7.1866 -				<tbody>
  7.1867 -					<tr>
  7.1868 -						<td>10
  7.1869 -						<td>፲
  7.1870 -						<td>U+1372
  7.1871 -						<td>1
  7.1872 -						<td>፩
  7.1873 -						<td>U+1369
  7.1874 -					<tr>
  7.1875 -						<td>20
  7.1876 -						<td>፳
  7.1877 -						<td>U+1373
  7.1878 -						<td>2
  7.1879 -						<td>፪
  7.1880 -						<td>U+136A
  7.1881 -					<tr>
  7.1882 -						<td>30
  7.1883 -						<td>፴
  7.1884 -						<td>U+1374
  7.1885 -						<td>3
  7.1886 -						<td>፫
  7.1887 -						<td>U+136B
  7.1888 -					<tr>
  7.1889 -						<td>40
  7.1890 -						<td>፵
  7.1891 -						<td>U+1375
  7.1892 -						<td>4
  7.1893 -						<td>፬
  7.1894 -						<td>U+136C
  7.1895 -					<tr>
  7.1896 -						<td>50
  7.1897 -						<td>፶
  7.1898 -						<td>U+1376
  7.1899 -						<td>5
  7.1900 -						<td>፭
  7.1901 -						<td>U+136D
  7.1902 -					<tr>
  7.1903 -						<td>60
  7.1904 -						<td>፷
  7.1905 -						<td>U+1377
  7.1906 -						<td>6
  7.1907 -						<td>፮
  7.1908 -						<td>U+136E
  7.1909 -					<tr>
  7.1910 -						<td>70
  7.1911 -						<td>፸
  7.1912 -						<td>U+1378
  7.1913 -						<td>7
  7.1914 -						<td>፯
  7.1915 -						<td>U+136F
  7.1916 -					<tr>
  7.1917 -						<td>80
  7.1918 -						<td>፹
  7.1919 -						<td>U+1379
  7.1920 -						<td>8
  7.1921 -						<td>፰
  7.1922 -						<td>U+1370
  7.1923 -					<tr>
  7.1924 -						<td>90
  7.1925 -						<td>፺
  7.1926 -						<td>U+137A
  7.1927 -						<td>9
  7.1928 -						<td>፱
  7.1929 -						<td>U+1371
  7.1930 -			</table>
  7.1931 -		
  7.1932 -
  7.1933 -		<li>For each group with an odd index (as given in the second step) that 
  7.1934 -		did not have its digits removed in the third step, append ፻ U+137B.
  7.1935 -
  7.1936 -		<li>For each group with an even index (as given in the second step),
  7.1937 -		except the group with number 0, append ፼ U+137C.
  7.1938 -
  7.1939 -		<li>Concatenate the groups into one string.
  7.1940 -	</ol>
  7.1941 -
  7.1942 -	<p>For this system, the <i title='counter-name'>name</i> is "ethiopic-numeric",
  7.1943 -	the <i title='counter-lower-bound'>lower range bound descriptor</i> is 1, the 
  7.1944 -	<i title='counter-upper-bound'>upper range bound descriptor</i> is infinity, and 
  7.1945 -	the rest of the descriptors have their initial value.
  7.1946 -
  7.1947 -	<p class='issue'>Is there a better suffix to use than the initial (".")?  The
  7.1948 -	alphabetic ethiopic systems use a different suffix.
  7.1949 -
  7.1950 -	<div class="example">
  7.1951 -		<p>The decimal number 100, in ethiopic, is ፻ U+137B <!-- odd -->
  7.1952 -
  7.1953 -		<p> The decimal number 78010092, in ethiopic, is
  7.1954 -		፸፰፻፩፼፺፪ 
  7.1955 -		U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even --> U+137A U+136A. <!-- 90 2 -->
  7.1956 -
  7.1957 -		<p> The decimal number 780000001092, in ethiopic, is
  7.1958 -		፸፰፻፩፼፼፺፪
  7.1959 -		U+1378 U+1370 U+137B <!-- 70 8 odd --> U+1369 U+137C <!-- 1 even --> U+137C <!-- even --> U+137A U+136A. <!-- 90 2 -->
  7.1960 -	</div>
  7.1961 -
  7.1962 -
  7.1963 -
  7.1964 -<h2 id="apis">APIs</h2>
  7.1965 -
  7.1966 -<h3 id='extentions-to-cssrule-interface'>
  7.1967 -Extensions to the <code>CSSRule</code> interface</h3>
  7.1968 -
  7.1969 -	<p>
  7.1970 -		The <code>CSSRule</code> interface is extended as follows:
  7.1971 -
  7.1972 -	<pre class='idl'><!--
  7.1973 -	-->partial interface CSSRule {&#xa;<!--
  7.1974 -	-->    const unsigned short COUNTER_STYLE_RULE = 11;&#xa;<!--
  7.1975 -	-->}</pre>
  7.1976 -
  7.1977 -
  7.1978 -<h3 id="the-csscounterstylerule-interface">
  7.1979 -The <code>CSSCounterStyleRule</code> interface</h3>
  7.1980 -
  7.1981 -	<p>
  7.1982 -		The <dfn>CSSCounterStyleRule</dfn> interface represents a ''@counter-style'' rule.
  7.1983 -
  7.1984 -	<pre class='idl'><!--
  7.1985 -	-->interface CSSCounterStyleRule : CSSRule {&#xa;<!--
  7.1986 -	-->  readonly attribute DOMString name;&#xa;<!--
  7.1987 -	-->  readonly attribute DOMString type;&#xa;<!--
  7.1988 -	-->  readonly attribute DOMString symbols;&#xa;<!--
  7.1989 -	-->  readonly attribute DOMString additiveSymbols;&#xa;<!--
  7.1990 -	-->  readonly attribute DOMString negative;&#xa;<!--
  7.1991 -	-->  readonly attribute DOMString prefix;&#xa;<!--
  7.1992 -	-->  readonly attribute DOMString suffix;&#xa;<!--
  7.1993 -	-->  readonly attribute DOMString range;&#xa;<!--
  7.1994 -	-->  readonly attribute DOMString fallback;&#xa;<!--
  7.1995 -	-->}</pre>
  7.1996 -
  7.1997 -	<dl class='idl-attributes'>
  7.1998 -		<dt><var>name</var> of type <code>DOMString</code>, readonly
  7.1999 -		<dd>
  7.2000 -			The <var>name</var> attribute must return a <code>DOMString</code> object that contains the serialization of the <var>&lt;counter-style-name></var> defined for the associated ''@counter-style'' block.
  7.2001 -
  7.2002 -		<dt>everything else
  7.2003 -		<dd>
  7.2004 -			The remaining attributes must return a <code>DOMString</code> object that contains the serialization of the associated descriptor defined for the associated ''@counter-style'' block.
  7.2005 -	</dl>
  7.2006 -
  7.2007 -
  7.2008 -
  7.2009 -
  7.2010 -
  7.2011 -
  7.2012 -
  7.2013 -
  7.2014 -
  7.2015 -
  7.2016 -
  7.2017 -
  7.2018 -
  7.2019 -<!--
  7.2020 -<h2 id='ua-stylesheet'>
  7.2021 -Predefined Counter Styles</h2>
  7.2022 -
  7.2023 -	<p>The CSS Lists and Counters specification [[!CSS3LIST]] defines a mechanism for authors to define almost any counter style they would want.  However, forcing authors to redefine common styles every time they are used would be unnecessarily onerous.  To aid in this regard, this specification predefines a large set of counter styles.  User agents must include the following stylesheet as a user-agent stylesheet, so authors can depend on these styles being present.
  7.2024 -
  7.2025 -	<p>As with any ''@counter-style'' rule, the counter style definitions given here can be overridden by the author if they desire to attach a different style to a counter style name defined in this stylesheet.
  7.2026 -
  7.2027 -	<p class='issue'>Should this chapter and the next be made an informative appendix rather than a required UA stylesheet?
  7.2028 -
  7.2029 -<h3 id='predefined-repeating'>
  7.2030 -Predefined Repeating Styles</h3>
  7.2031 -
  7.2032 -	<pre class=css><code><bdo dir="ltr">
  7.2033 -@counter-style <dfn>box</dfn> {
  7.2034 -	type: repeating;
  7.2035 -	symbols: '\25FD';
  7.2036 -	/* '◽' */
  7.2037 -	suffix: '';
  7.2038 -}
  7.2039 -
  7.2040 -@counter-style <dfn>check</dfn> {
  7.2041 -	type: repeating;
  7.2042 -	symbols: '\2713';
  7.2043 -	/* '✓' */
  7.2044 -	suffix: '';
  7.2045 -}
  7.2046 -
  7.2047 -@counter-style <dfn>circle</dfn> {
  7.2048 -	type: repeating;
  7.2049 -	symbols: '\25E6';
  7.2050 -	/* '◦' */
  7.2051 -	suffix: '';
  7.2052 -}
  7.2053 -
  7.2054 -@counter-style <dfn>diamond</dfn> {
  7.2055 -	type: repeating;
  7.2056 -	symbols: '\25C6';
  7.2057 -	/* '◆' */
  7.2058 -	suffix: '';
  7.2059 -}
  7.2060 -
  7.2061 -@counter-style <dfn>disc</dfn> {
  7.2062 -	type: repeating;
  7.2063 -	symbols: '\2022';
  7.2064 -	/* '•' */
  7.2065 -	suffix: '';
  7.2066 -}
  7.2067 -
  7.2068 -@counter-style <dfn>dash</dfn> {
  7.2069 -	type: repeating;
  7.2070 -	symbols: '\2043';
  7.2071 -	/* '⁃' */
  7.2072 -	suffix: '';
  7.2073 -}
  7.2074 -
  7.2075 -@counter-style <dfn>square</dfn> {
  7.2076 -	type: repeating;
  7.2077 -	symbols: '\25FE';
  7.2078 -	/* '◾' */
  7.2079 -	suffix: '';
  7.2080 -}</bdo></code></pre>
  7.2081 -
  7.2082 -<h3 id='predefined-numeric'>
  7.2083 -Predefined Numeric Styles</h3>
  7.2084 -
  7.2085 -	<pre class=css><code><bdo dir="ltr">
  7.2086 -@counter-style <dfn>arabic-indic</dfn> {
  7.2087 -	type: numeric;
  7.2088 -	symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669';
  7.2089 -	/* '٠' '١' '٢' '٣' '٤' '٥' '٦' '٧' '٨' '٩' */
  7.2090 -}
  7.2091 -
  7.2092 -@counter-style <dfn>bengali</dfn> {
  7.2093 -	type: numeric;
  7.2094 -	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  7.2095 -	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  7.2096 -}
  7.2097 -
  7.2098 -@counter-style <dfn>binary</dfn> {
  7.2099 -	type: numeric;
  7.2100 -	symbols: '\30' '\31';
  7.2101 -	/* '0' '1' */
  7.2102 -}
  7.2103 -
  7.2104 -@counter-style <dfn>cambodian</dfn> {
  7.2105 -	type: numeric;
  7.2106 -	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  7.2107 -	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  7.2108 -}
  7.2109 -
  7.2110 -@counter-style <dfn>decimal</dfn> {
  7.2111 -	type: numeric;
  7.2112 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39';
  7.2113 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  7.2114 -}
  7.2115 -
  7.2116 -@counter-style <dfn>devanagari</dfn> {
  7.2117 -	type: numeric;
  7.2118 -	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  7.2119 -	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  7.2120 -}
  7.2121 -
  7.2122 -@counter-style <dfn>eastern-nagari</dfn> {
  7.2123 -	type: numeric;
  7.2124 -	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
  7.2125 -	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
  7.2126 -}
  7.2127 -
  7.2128 -@counter-style <dfn>fullwidth-decimal</dfn> {
  7.2129 -	type: numeric;
  7.2130 -	symbols: '\FF10' '\FF11' '\FF12' '\FF13' '\FF14' '\FF15' '\FF16' '\FF17' '\FF18' '\FF19';
  7.2131 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
  7.2132 -}
  7.2133 -
  7.2134 -@counter-style <dfn>gujarati</dfn> {
  7.2135 -	type: numeric;
  7.2136 -	symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF';
  7.2137 -	/* '૦' '૧' '૨' '૩' '૪' '૫' '૬' '૭' '૮' '૯' */
  7.2138 -}
  7.2139 -
  7.2140 -@counter-style <dfn>gurmukhi</dfn> {
  7.2141 -	type: numeric;
  7.2142 -	symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F';
  7.2143 -	/* '੦' '੧' '੨' '੩' '੪' '੫' '੬' '੭' '੮' '੯' */
  7.2144 -}
  7.2145 -
  7.2146 -@counter-style <dfn>kannada</dfn> {
  7.2147 -	type: numeric;
  7.2148 -	symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF';
  7.2149 -	/* '೦' '೧' '೨' '೩' '೪' '೫' '೬' '೭' '೮' '೯' */
  7.2150 -}
  7.2151 -
  7.2152 -@counter-style <dfn>khmer</dfn> {
  7.2153 -	type: numeric;
  7.2154 -	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
  7.2155 -	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
  7.2156 -}
  7.2157 -
  7.2158 -@counter-style <dfn>lower-hexadecimal</dfn> {
  7.2159 -	type: numeric;
  7.2160 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\61' '\62' '\63' '\64' '\65' '\66';
  7.2161 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f' */
  7.2162 -}
  7.2163 -
  7.2164 -@counter-style <dfn>lao</dfn> {
  7.2165 -	type: numeric;
  7.2166 -	symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9';
  7.2167 -	/* '໐' '໑' '໒' '໓' '໔' '໕' '໖' '໗' '໘' '໙' */
  7.2168 -}
  7.2169 -
  7.2170 -@counter-style <dfn>lepcha</dfn> {
  7.2171 -	type: numeric;
  7.2172 -	symbols: '\1C40' '\1C41' '\1C42' '\1C43' '\1C44' '\1C45' '\1C46' '\1C47' '\1C48' '\1C49';
  7.2173 -	/* '᱀' '᱁' '᱂' '᱃' '᱄' '᱅' '᱆' '᱇' '᱈' '᱉' */
  7.2174 -}
  7.2175 -
  7.2176 -@counter-style <dfn>malayalam</dfn> {
  7.2177 -	type: numeric;
  7.2178 -	symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F';
  7.2179 -	/* '൦' '൧' '൨' '൩' '൪' '൫' '൬' '൭' '൮' '൯' */
  7.2180 -}
  7.2181 -
  7.2182 -@counter-style <dfn>marathi</dfn> {
  7.2183 -	type: numeric;
  7.2184 -	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
  7.2185 -	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
  7.2186 -}
  7.2187 -
  7.2188 -@counter-style <dfn>mongolian</dfn> {
  7.2189 -	type: numeric;
  7.2190 -	symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819';
  7.2191 -	/* '᠐' '᠑' '᠒' '᠓' '᠔' '᠕' '᠖' '᠗' '᠘' '᠙' */
  7.2192 -}
  7.2193 -
  7.2194 -@counter-style <dfn>myanmar</dfn> {
  7.2195 -	type: numeric;
  7.2196 -	symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049';
  7.2197 -	/* '၀' '၁' '၂' '၃' '၄' '၅' '၆' '၇' '၈' '၉' */
  7.2198 -}
  7.2199 -
  7.2200 -@counter-style <dfn>new-base-60</dfn> {
  7.2201 -	type: numeric;
  7.2202 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\4A' '\4B' '\4C' '\4D' '\4E' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A' '\5F' '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  7.2203 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'J' 'K' 'L' 'M' 'N' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '_' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  7.2204 -}
  7.2205 -
  7.2206 -@counter-style <dfn>octal</dfn> {
  7.2207 -	type: numeric;
  7.2208 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37';
  7.2209 -	/* '0' '1' '2' '3' '4' '5' '6' '7' */
  7.2210 -}
  7.2211 -
  7.2212 -@counter-style <dfn>oriya</dfn> {
  7.2213 -	type: numeric;
  7.2214 -	symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F';
  7.2215 -	/* '୦' '୧' '୨' '୩' '୪' '୫' '୬' '୭' '୮' '୯' */
  7.2216 -}
  7.2217 -
  7.2218 -@counter-style <dfn>persian</dfn> {
  7.2219 -	type: numeric;
  7.2220 -	symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9';
  7.2221 -	/* '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹' */
  7.2222 -}
  7.2223 -
  7.2224 -@counter-style <dfn>super-decimal</dfn> {
  7.2225 -	type: numeric;
  7.2226 -	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
  7.2227 -	/* '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹' */
  7.2228 -}
  7.2229 -
  7.2230 -@counter-style <dfn>shan</dfn> {
  7.2231 -	type: numeric;
  7.2232 -	symbols: '\1090' '\1091' '\1092' '\1093' '\1094' '\1095' '\1096' '\1097' '\1098' '\1099';
  7.2233 -	/* '႐' '႑' '႒' '႓' '႔' '႕' '႖' '႗' '႘' '႙' */
  7.2234 -}
  7.2235 -
  7.2236 -@counter-style <dfn>tamil</dfn> {
  7.2237 -	type: numeric;
  7.2238 -	symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF';
  7.2239 -	/* '௦' '௧' '௨' '௩' '௪' '௫' '௬' '௭' '௮' '௯' */
  7.2240 -}
  7.2241 -
  7.2242 -@counter-style <dfn>telugu</dfn> {
  7.2243 -	type: numeric;
  7.2244 -	symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F';
  7.2245 -	/* '౦' '౧' '౨' '౩' '౪' '౫' '౬' '౭' '౮' '౯' */
  7.2246 -}
  7.2247 -
  7.2248 -@counter-style <dfn>tibetan</dfn> {
  7.2249 -	type: numeric;
  7.2250 -	symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29';
  7.2251 -	/* '༠' '༡' '༢' '༣' '༤' '༥' '༦' '༧' '༨' '༩' */
  7.2252 -}
  7.2253 -
  7.2254 -@counter-style <dfn>thai</dfn> {
  7.2255 -	type: numeric;
  7.2256 -	symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59';
  7.2257 -	/* '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' */
  7.2258 -}
  7.2259 -
  7.2260 -@counter-style <dfn>upper-hexadecimal</dfn> {
  7.2261 -	type: numeric;
  7.2262 -	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46';
  7.2263 -	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' */
  7.2264 -}</bdo></code></pre>
  7.2265 -
  7.2266 -<h3 id='predefined-alphabetic'>
  7.2267 -Predefined Alphabetic Styles</h3>
  7.2268 -
  7.2269 -	<pre class=css><code><bdo dir="ltr">
  7.2270 -@counter-style <dfn>afar</dfn> {
  7.2271 -	type: alphabetic;
  7.2272 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1260' '\1270' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12E8' '\12F0' '\12F8' '\1308' '\1338' '\1348';
  7.2273 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'በ' 'ተ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'የ' 'ደ' 'ዸ' 'ገ' 'ጸ' 'ፈ' */
  7.2274 -	suffix: '/';
  7.2275 -}
  7.2276 -
  7.2277 -@counter-style <dfn>agaw</dfn> {
  7.2278 -	type: alphabetic;
  7.2279 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  7.2280 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'ቐ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  7.2281 -	suffix: '/';
  7.2282 -}
  7.2283 -
  7.2284 -@counter-style <dfn>ari</dfn> {
  7.2285 -	type: alphabetic;
  7.2286 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1328' '\1340' '\1350';
  7.2287 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጨ' 'ፀ' 'ፐ' */
  7.2288 -	suffix: '/';
  7.2289 -}
  7.2290 -
  7.2291 -@counter-style <dfn>blin</dfn> {
  7.2292 -	type: alphabetic;
  7.2293 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1230' '\1238' '\1228' '\1240' '\1250' '\1260' '\1270' '\1290' '\1300' '\1308' '\1318' '\1320' '\1328' '\1348' '\1278' '\1298' '\1338' '\1330' '\1350';
  7.2294 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሰ' 'ሸ' 'ረ' 'ቀ' 'ቐ' 'በ' 'ተ' 'ነ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ፈ' 'ቸ' 'ኘ' 'ጸ' 'ጰ' 'ፐ' */
  7.2295 -	suffix: '/';
  7.2296 -}
  7.2297 -
  7.2298 -@counter-style <dfn>cambodian-consonant</dfn> {
  7.2299 -	type: alphabetic;
  7.2300 -	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  7.2301 -	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  7.2302 -}
  7.2303 -
  7.2304 -@counter-style <dfn>cjk-earthly-branch</dfn> {
  7.2305 -	type: alphabetic;
  7.2306 -	symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5';
  7.2307 -	/* '子' '丑' '寅' '卯' '辰' '巳' '午' '未' '申' '酉' '戌' '亥' */
  7.2308 -	suffix: '、';
  7.2309 -}
  7.2310 -
  7.2311 -@counter-style <dfn>cjk-heavenly-stem</dfn> {
  7.2312 -	type: alphabetic;
  7.2313 -	symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678';
  7.2314 -	/* '甲' '乙' '丙' '丁' '戊' '己' '庚' '辛' '壬' '癸' */
  7.2315 -	suffix: '、';
  7.2316 -}
  7.2317 -
  7.2318 -@counter-style <dfn>dizi</dfn> {
  7.2319 -	type: alphabetic;
  7.2320 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1338' '\1340' '\1348';
  7.2321 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጸ' 'ፀ' 'ፈ' */
  7.2322 -	suffix: '/';
  7.2323 -}
  7.2324 -
  7.2325 -@counter-style <dfn>fullwidth-lower-alpha</dfn> {
  7.2326 -	type: alphabetic;
  7.2327 -	symbols: '\FF41' '\FF42' '\FF43' '\FF44' '\FF45' '\FF46' '\FF47' '\FF48' '\FF49' '\FF4A' '\FF4B' '\FF4C' '\FF4D' '\FF4E' '\FF4F' '\FF50' '\FF51' '\FF52' '\FF53' '\FF54' '\FF55' '\FF56' '\FF57' '\FF58' '\FF59' '\FF5A';
  7.2328 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  7.2329 -	suffix: '.';
  7.2330 -}
  7.2331 -
  7.2332 -@counter-style <dfn>fullwidth-upper-alpha</dfn> {
  7.2333 -	type: alphabetic;
  7.2334 -	symbols: '\FF21' '\FF22' '\FF23' '\FF24' '\FF25' '\FF26' '\FF27' '\FF28' '\FF29' '\FF2A' '\FF2B' '\FF2C' '\FF2D' '\FF2E' '\FF2F' '\FF30' '\FF31' '\FF32' '\FF33' '\FF34' '\FF35' '\FF36' '\FF37' '\FF38' '\FF39' '\FF3A';
  7.2335 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  7.2336 -	suffix: '.';
  7.2337 -}
  7.2338 -
  7.2339 -@counter-style <dfn>gedeo</dfn> {
  7.2340 -	type: alphabetic;
  7.2341 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  7.2342 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  7.2343 -	suffix: '/';
  7.2344 -}
  7.2345 -
  7.2346 -@counter-style <dfn>gumuz</dfn> {
  7.2347 -	type: alphabetic;
  7.2348 -	symbols: '\1200' '\1210' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1308' '\1328' '\1330' '\1340' '\1350';
  7.2349 -	/* 'ሀ' 'ሐ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ገ' 'ጨ' 'ጰ' 'ፀ' 'ፐ' */
  7.2350 -	suffix: '/';
  7.2351 -}
  7.2352 -
  7.2353 -@counter-style <dfn>hadiyya</dfn> {
  7.2354 -	type: alphabetic;
  7.2355 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  7.2356 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  7.2357 -	suffix: '/';
  7.2358 -}
  7.2359 -
  7.2360 -@counter-style <dfn>harari</dfn> {
  7.2361 -	type: alphabetic;
  7.2362 -	symbols: '\1210' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1348';
  7.2363 -	/* 'ሐ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ፈ' */
  7.2364 -	suffix: '/';
  7.2365 -}
  7.2366 -
  7.2367 -@counter-style <dfn>hindi</dfn> {
  7.2368 -	type: alphabetic;
  7.2369 -	symbols: '\915' '\916' '\917' '\918' '\919' '\91A' '\91B' '\91C' '\91D' '\91E' '\91F' '\920' '\921' '\922' '\923' '\924' '\925' '\926' '\927' '\928' '\92A' '\92B' '\92C' '\92D' '\92E' '\92F' '\930' '\932' '\935' '\936' '\937' '\938' '\939';
  7.2370 -	/* 'क' 'ख' 'ग' 'घ' 'ङ' 'च' 'छ' 'ज' 'झ' 'ञ' 'ट' 'ठ' 'ड' 'ढ' 'ण' 'त' 'थ' 'द' 'ध' 'न' 'प' 'फ' 'ब' 'भ' 'म' 'य' 'र' 'ल' 'व' 'श' 'ष' 'स' 'ह' */
  7.2371 -}
  7.2372 -
  7.2373 -@counter-style <dfn>kaffa</dfn> {
  7.2374 -	type: alphabetic;
  7.2375 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  7.2376 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሠ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  7.2377 -	suffix: '/';
  7.2378 -}
  7.2379 -
  7.2380 -@counter-style <dfn>kebena</dfn> {
  7.2381 -	type: alphabetic;
  7.2382 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
  7.2383 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  7.2384 -	suffix: '/';
  7.2385 -}
  7.2386 -
  7.2387 -@counter-style <dfn>kembata</dfn> {
  7.2388 -	type: alphabetic;
  7.2389 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  7.2390 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  7.2391 -	suffix: '/';
  7.2392 -}
  7.2393 -
  7.2394 -@counter-style <dfn>khmer-consonant</dfn> {
  7.2395 -	type: alphabetic;
  7.2396 -	glyphs: '\1780' '\1781' '\1782' '\1783' '\1784' '\1785' '\1786' '\1787' '\1788' '\1789' '\178A' '\178B' '\178C' '\178D' '\178E' '\178F' '\1790' '\1791' '\1792' '\1793' '\1794' '\1795' '\1796' '\1797' '\1798' '\1799' '\179A' '\179B' '\179C' '\179F' '\17A0' '\17A1' '\17A2';
  7.2397 -	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
  7.2398 -}
  7.2399 -
  7.2400 -@counter-style <dfn>konso</dfn> {
  7.2401 -	type: alphabetic;
  7.2402 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1348' '\1350';
  7.2403 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ፈ' 'ፐ' */
  7.2404 -	suffix: '/';
  7.2405 -}
  7.2406 -
  7.2407 -@counter-style <dfn>korean-consonant</dfn> {
  7.2408 -	type: alphabetic;
  7.2409 -	symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E';
  7.2410 -	/* 'ㄱ' 'ㄴ' 'ㄷ' 'ㄹ' 'ㅁ' 'ㅂ' 'ㅅ' 'ㅇ' 'ㅈ' 'ㅊ' 'ㅋ' 'ㅌ' 'ㅍ' 'ㅎ' */
  7.2411 -}
  7.2412 -
  7.2413 -@counter-style <dfn>korean-syllable</dfn> {
  7.2414 -	type: alphabetic;
  7.2415 -	symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558';
  7.2416 -	/* '가' '나' '다' '라' '마' '바' '사' '아' '자' '차' '카' '타' '파' '하' */
  7.2417 -}
  7.2418 -
  7.2419 -@counter-style <dfn>kunama</dfn> {
  7.2420 -	type: alphabetic;
  7.2421 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308';
  7.2422 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' */
  7.2423 -	suffix: '/';
  7.2424 -}
  7.2425 -
  7.2426 -@counter-style <dfn>lower-alpha</dfn> {
  7.2427 -	type: alphabetic;
  7.2428 -	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  7.2429 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  7.2430 -}
  7.2431 -
  7.2432 -@counter-style <dfn>lower-belorussian</dfn> {
  7.2433 -	type: alphabetic;
  7.2434 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\456' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\45E' '\444' '\445' '\446' '\447' '\448' '\44B' '\44C' '\44D' '\44E' '\44F';
  7.2435 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'і' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ў' 'ф' 'х' 'ц' 'ч' 'ш' 'ы' 'ь' 'э' 'ю' 'я' */
  7.2436 -	suffix: ')';
  7.2437 -}
  7.2438 -
  7.2439 -@counter-style <dfn>lower-bulgarian</dfn> {
  7.2440 -	type: alphabetic;
  7.2441 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44C' '\44E' '\44F';
  7.2442 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ь' 'ю' 'я' */
  7.2443 -	suffix: ')';
  7.2444 -}
  7.2445 -
  7.2446 -@counter-style <dfn>lower-greek</dfn> {
  7.2447 -	type: alphabetic;
  7.2448 -	symbols: '\3B1' '\3B2' '\3B3' '\3B4' '\3B5' '\3B6' '\3B7' '\3B8' '\3B9' '\3BA' '\3BB' '\3BC' '\3BD' '\3BE' '\3BF' '\3C0' '\3C1' '\3C3' '\3C4' '\3C5' '\3C6' '\3C7' '\3C8' '\3C9';
  7.2449 -	/* 'α' 'β' 'γ' 'δ' 'ε' 'ζ' 'η' 'θ' 'ι' 'κ' 'λ' 'μ' 'ν' 'ξ' 'ο' 'π' 'ρ' 'σ' 'τ' 'υ' 'φ' 'χ' 'ψ' 'ω' */
  7.2450 -	/* This style is only defined because CSS2.1 has it.  It doesn't appear to actually be used in Greek texts. */
  7.2451 -}
  7.2452 -
  7.2453 -@counter-style <dfn>lower-macedonian</dfn> {
  7.2454 -	type: alphabetic;
  7.2455 -	symbols: '\430' '\431' '\432' '\433' '\434' '\453' '\435' '\436' '\437' '\455' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45C' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  7.2456 -	/* 'а' 'б' 'в' 'г' 'д' 'ѓ' 'е' 'ж' 'з' 'ѕ' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ќ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  7.2457 -	suffix: ')';
  7.2458 -}
  7.2459 -
  7.2460 -@counter-style <dfn>lower-oromo-qubee</dfn> {
  7.2461 -	type: alphabetic;
  7.2462 -	symbols: '\61' '\61\61' '\62' '\63' '\64' '\65' '\65\65' '\66' '\67' '\68' '\69' '\69\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\6F\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\75\75' '\76' '\77' '\78' '\79' '\7A' '\63\68' '\64\68' '\6B\68' '\6E\79' '\70\68' '\73\68';
  7.2463 -	/* 'a' 'aa' 'b' 'c' 'd' 'e' 'ee' 'f' 'g' 'h' 'i' 'ii' 'j' 'k' 'l' 'm' 'n' 'o' 'oo' 'p' 'q' 'r' 's' 't' 'u' 'uu' 'v' 'w' 'x' 'y' 'z' 'ch' 'dh' 'kh' 'ny' 'ph' 'sh' */
  7.2464 -}
  7.2465 -
  7.2466 -@counter-style <dfn>lower-russian</dfn> {
  7.2467 -	type: alphabetic;
  7.2468 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\436' '\437' '\438' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44D' '\44E' '\44F';
  7.2469 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'э' 'ю' 'я' */
  7.2470 -	suffix: ')';
  7.2471 -}
  7.2472 -
  7.2473 -@counter-style <dfn>lower-russian-full</dfn> {
  7.2474 -	type: alphabetic;
  7.2475 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\451' '\436' '\437' '\438' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44A' '\44B' '\44C' '\44D' '\44E' '\44F';
  7.2476 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я' */
  7.2477 -	suffix: ')';
  7.2478 -}
  7.2479 -
  7.2480 -@counter-style <dfn>lower-serbo-croatian</dfn> {
  7.2481 -	type: alphabetic;
  7.2482 -	symbols: '\430' '\431' '\432' '\433' '\434' '\452' '\435' '\436' '\437' '\438' '\458' '\43A' '\43B' '\459' '\43C' '\43D' '\45A' '\43E' '\43F' '\440' '\441' '\442' '\45B' '\443' '\444' '\445' '\446' '\447' '\45F' '\448';
  7.2483 -	/* 'а' 'б' 'в' 'г' 'д' 'ђ' 'е' 'ж' 'з' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ћ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
  7.2484 -	suffix: ')';
  7.2485 -}
  7.2486 -
  7.2487 -@counter-style <dfn>lower-ukrainian</dfn> {
  7.2488 -	type: alphabetic;
  7.2489 -	symbols: '\430' '\431' '\432' '\433' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\44E' '\44F';
  7.2490 -	/* 'а' 'б' 'в' 'г' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'ю' 'я' */
  7.2491 -	suffix: ')';
  7.2492 -}
  7.2493 -
  7.2494 -@counter-style <dfn>lower-ukrainian-full</dfn> {
  7.2495 -	type: alphabetic;
  7.2496 -	symbols: '\430' '\431' '\432' '\433' '\491' '\434' '\435' '\454' '\436' '\437' '\438' '\456' '\457' '\439' '\43A' '\43B' '\43C' '\43D' '\43E' '\43F' '\440' '\441' '\442' '\443' '\444' '\445' '\446' '\447' '\448' '\449' '\44C' '\44E' '\44F';
  7.2497 -	/* 'а' 'б' 'в' 'г' 'ґ' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'ї' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ь' 'ю' 'я' */
  7.2498 -	suffix: ')';
  7.2499 -}
  7.2500 -
  7.2501 -@counter-style <dfn>meen</dfn> {
  7.2502 -	type: alphabetic;
  7.2503 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1350' '\1340';
  7.2504 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፐ' 'ፀ' */
  7.2505 -	suffix: '/';
  7.2506 -}
  7.2507 -
  7.2508 -@counter-style <dfn>oromo</dfn> {
  7.2509 -	type: alphabetic;
  7.2510 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  7.2511 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  7.2512 -	suffix: '/';
  7.2513 -}
  7.2514 -
  7.2515 -@counter-style <dfn>saho</dfn> {
  7.2516 -	type: alphabetic;
  7.2517 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1240' '\1260' '\1270' '\1290' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  7.2518 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ቀ' 'በ' 'ተ' 'ነ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  7.2519 -	suffix: '/';
  7.2520 -}
  7.2521 -
  7.2522 -@counter-style <dfn>sidama</dfn> {
  7.2523 -	type: alphabetic;
  7.2524 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12C8' '\12E8' '\12F0' '\12F8' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
  7.2525 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
  7.2526 -	suffix: '/';
  7.2527 -}
  7.2528 -
  7.2529 -@counter-style <dfn>silti</dfn> {
  7.2530 -	type: alphabetic;
  7.2531 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
  7.2532 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
  7.2533 -	suffix: '/';
  7.2534 -}
  7.2535 -
  7.2536 -@counter-style <dfn>thai-alphabetic</dfn> {
  7.2537 -	type: alphabetic;
  7.2538 -	symbols: '\E01' '\E02' '\E04' '\E07' '\E08' '\E09' '\E0A' '\E0B' '\E0C' '\E0D' '\E0E' '\E0F' '\E10' '\E11' '\E12' '\E13' '\E14' '\E15' '\E16' '\E17' '\E18' '\E19' '\E1A' '\E1B' '\E1C' '\E1D' '\E1E' '\E1F' '\E20' '\E21' '\E22' '\E23' '\E25' '\E27' '\E28' '\E29' '\E2A' '\E2B' '\E2C' '\E2D' '\E2E';
  7.2539 -	/* 'ก' 'ข' 'ค' 'ง' 'จ' 'ฉ' 'ช' 'ซ' 'ฌ' 'ญ' 'ฎ' 'ฏ' 'ฐ' 'ฑ' 'ฒ' 'ณ' 'ด' 'ต' 'ถ' 'ท' 'ธ' 'น' 'บ' 'ป' 'ผ' 'ฝ' 'พ' 'ฟ' 'ภ' 'ม' 'ย' 'ร' 'ล' 'ว' 'ศ' 'ษ' 'ส' 'ห' 'ฬ' 'อ' 'ฮ' */
  7.2540 -}
  7.2541 -
  7.2542 -@counter-style <dfn>tigre</dfn> {
  7.2543 -	type: alphabetic;
  7.2544 -	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12D8' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
  7.2545 -	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'ዘ' 'የ' 'ደ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
  7.2546 -	suffix: '/';
  7.2547 -}
  7.2548 -
  7.2549 -@counter-style <dfn>upper-alpha</dfn> {
  7.2550 -	type: alphabetic;
  7.2551 -	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  7.2552 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  7.2553 -}
  7.2554 -
  7.2555 -@counter-style <dfn>upper-belorussian</dfn> {
  7.2556 -	type: alphabetic;
  7.2557 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\406' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\40E' '\424' '\425' '\426' '\427' '\428' '\42B' '\42C' '\42D' '\42E' '\42F';
  7.2558 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'І' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ў' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  7.2559 -}
  7.2560 -
  7.2561 -@counter-style <dfn>upper-bulgarian</dfn> {
  7.2562 -	type: alphabetic;
  7.2563 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42C' '\42E' '\42F';
  7.2564 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ь' 'Ю' 'Я' */
  7.2565 -}
  7.2566 -
  7.2567 -@counter-style <dfn>upper-macedonian</dfn> {
  7.2568 -	type: alphabetic;
  7.2569 -	symbols: '\410' '\411' '\412' '\413' '\414' '\403' '\415' '\416' '\417' '\405' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40C' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  7.2570 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ѓ' 'Е' 'Ж' 'З' 'Ѕ' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ќ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  7.2571 -}
  7.2572 -
  7.2573 -@counter-style <dfn>upper-oromo-qubee</dfn> {
  7.2574 -	type: alphabetic;
  7.2575 -	symbols: '\41' '\41\41' '\42' '\43' '\44' '\45' '\45\45' '\46' '\47' '\48' '\49' '\49\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\4F\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\55\55' '\56' '\57' '\58' '\59' '\5A' '\43\48' '\44\48' '\4B\48' '\4E\59' '\50\48' '\53\48';
  7.2576 -	/* 'A' 'AA' 'B' 'C' 'D' 'E' 'EE' 'F' 'G' 'H' 'I' 'II' 'J' 'K' 'L' 'M' 'N' 'O' 'OO' 'P' 'Q' 'R' 'S' 'T' 'U' 'UU' 'V' 'W' 'X' 'Y' 'Z' 'CH' 'DH' 'KH' 'NY' 'PH' 'SH' */
  7.2577 -}
  7.2578 -
  7.2579 -@counter-style <dfn>upper-russian</dfn> {
  7.2580 -	type: alphabetic;
  7.2581 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\416' '\417' '\418' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42D' '\42E' '\42F';
  7.2582 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Э' 'Ю' 'Я' */
  7.2583 -}
  7.2584 -
  7.2585 -@counter-style <dfn>upper-russian-full</dfn> {
  7.2586 -	type: alphabetic;
  7.2587 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\401' '\416' '\417' '\418' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42A' '\42B' '\42C' '\42D' '\42E' '\42F';
  7.2588 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
  7.2589 -}
  7.2590 -
  7.2591 -@counter-style <dfn>upper-serbo-croatian</dfn> {
  7.2592 -	type: alphabetic;
  7.2593 -	symbols: '\410' '\411' '\412' '\413' '\414' '\402' '\415' '\416' '\417' '\418' '\408' '\41A' '\41B' '\409' '\41C' '\41D' '\40A' '\41E' '\41F' '\420' '\421' '\422' '\40B' '\423' '\424' '\425' '\426' '\427' '\40F' '\428';
  7.2594 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
  7.2595 -}
  7.2596 -
  7.2597 -@counter-style <dfn>upper-ukrainian</dfn> {
  7.2598 -	type: alphabetic;
  7.2599 -	symbols: '\410' '\411' '\412' '\413' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\42E' '\42F';
  7.2600 -	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ю' 'Я' */
  7.2601 -}
  7.2602 -
  7.2603 -@counter-style <dfn>upper-ukrainian-full</dfn> {
  7.2604 -	type: alphabetic;
  7.2605 -	symbols: '\410' '\411' '\412' '\413' '\490' '\414' '\415' '\404' '\416' '\417' '\418' '\406' '\407' '\419' '\41A' '\41B' '\41C' '\41D' '\41E' '\41F' '\420' '\421' '\422' '\423' '\424' '\425' '\426' '\427' '\428' '\429' '\42C' '\42E' '\42F';
  7.2606 -	/* 'А' 'Б' 'В' 'Г' 'Ґ' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'Ї' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ь' 'Ю' 'Я' */
  7.2607 -}
  7.2608 -
  7.2609 -@counter-style <dfn>wolaita</dfn> {
  7.2610 -	type: alphabetic;
  7.2611 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1230' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350';
  7.2612 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ሰ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፀ' 'ፈ' 'ፐ' */
  7.2613 -	suffix: '/';
  7.2614 -}
  7.2615 -
  7.2616 -@counter-style <dfn>yemsa</dfn> {
  7.2617 -	type: alphabetic;
  7.2618 -	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1348' '\1350';
  7.2619 -	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
  7.2620 -	suffix: '/';
  7.2621 -}</bdo></code></pre>
  7.2622 -
  7.2623 -<h3 id='predefined-symbolic'>
  7.2624 -Predefined Symbolic Styles</h3>
  7.2625 -
  7.2626 -	<pre class=css><code><bdo dir="ltr">
  7.2627 -@counter-style <dfn>asterisk</dfn> {
  7.2628 -	type: symbolic;
  7.2629 -	symbols: '\2A';
  7.2630 -	/* '*' */
  7.2631 -	suffix: '';
  7.2632 -}
  7.2633 -
  7.2634 -@counter-style <dfn>lower-alpha-symbolic</dfn> {
  7.2635 -	type: symbolic;
  7.2636 -	symbols: '\61' '\62' '\63' '\64' '\65' '\66' '\67' '\68' '\69' '\6A' '\6B' '\6C' '\6D' '\6E' '\6F' '\70' '\71' '\72' '\73' '\74' '\75' '\76' '\77' '\78' '\79' '\7A';
  7.2637 -	/* 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' */
  7.2638 -}
  7.2639 -
  7.2640 -@counter-style <dfn>upper-alpha-symbolic</dfn> {
  7.2641 -	type: symbolic;
  7.2642 -	symbols: '\41' '\42' '\43' '\44' '\45' '\46' '\47' '\48' '\49' '\4A' '\4B' '\4C' '\4D' '\4E' '\4F' '\50' '\51' '\52' '\53' '\54' '\55' '\56' '\57' '\58' '\59' '\5A';
  7.2643 -	/* 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' */
  7.2644 -}</bdo></code></pre>
  7.2645 -
  7.2646 -<h3 id='predefined-non-repeating'>
  7.2647 -Predefined Non-Repeating Styles</h3>
  7.2648 -
  7.2649 -	<pre class=css><code><bdo dir="ltr">
  7.2650 -@counter-style <dfn>circled-decimal</dfn> {
  7.2651 -	type: non-repeating 0;
  7.2652 -	symbols: '\24EA' '\2460' '\2461' '\2462' '\2463' '\2464' '\2465' '\2466' '\2467' '\2468' '\2469' '\246A' '\246B' '\246C' '\246D' '\246E' '\246F' '\2470' '\2471' '\2472' '\2473' '\3251' '\3252' '\3253' '\3254' '\3255' '\3256' '\3257' '\3258' '\3259' '\325a' '\325b' '\325c' '\325d' '\325e' '\325f' '\32b1' '\32b2' '\32b3' '\32b4' '\32b5' '\32b6' '\32b7' '\32b8' '\32b9' '\32ba' '\32bb' '\32bc' '\32bd' '\32be' '\32bf';
  7.2653 -	/* '⓪' '①' '②' '③' '④' '⑤' '⑥' '⑦' '⑧' '⑨' '⑩' '⑪' '⑫' '⑬' '⑭' '⑮' '⑯' '⑰' '⑱' '⑲' '⑳' '㉑' '㉒' '㉓' '㉔' '㉕' '㉖' '㉗' '㉘' '㉙' '㉚' '㉛' '㉜' '㉝' '㉞' '㉟' '㊱' '㊲' '㊳' '㊴' '㊵' '㊶' '㊷' '㊸' '㊹' '㊺' '㊻' '㊼' '㊽' '㊾' '㊿' */
  7.2654 -	suffix: '';
  7.2655 -}
  7.2656 -
  7.2657 -@counter-style <dfn>circled-lower-latin</dfn> {
  7.2658 -	type: non-repeating;
  7.2659 -	symbols: '\24D0' '\24D1' '\24D2' '\24D3' '\24D4' '\24D5' '\24D6' '\24D7' '\24D8' '\24D9' '\24DA' '\24DB' '\24DC' '\24DD' '\24DE' '\24DF' '\24E0' '\24E1' '\24E2' '\24E3' '\24E4' '\24E5' '\24E6' '\24E7' '\24E8' '\24E9';
  7.2660 -	/* 'ⓐ' 'ⓑ' 'ⓒ' 'ⓓ' 'ⓔ' 'ⓕ' 'ⓖ' 'ⓗ' 'ⓘ' 'ⓙ' 'ⓚ' 'ⓛ' 'ⓜ' 'ⓝ' 'ⓞ' 'ⓟ' 'ⓠ' 'ⓡ' 'ⓢ' 'ⓣ' 'ⓤ' 'ⓥ' 'ⓦ' 'ⓧ' 'ⓨ' 'ⓩ' */
  7.2661 -	suffix: '';
  7.2662 -}
  7.2663 -
  7.2664 -@counter-style <dfn>circled-upper-latin</dfn> {
  7.2665 -	type: non-repeating;
  7.2666 -	symbols: '\24B6' '\24B7' '\24B8' '\24B9' '\24BA' '\24BB' '\24BC' '\24BD' '\24BE' '\24BF' '\24C0' '\24C1' '\24C2' '\24C3' '\24C4' '\24C5' '\24C6' '\24C7' '\24C8' '\24C9' '\24CA' '\24CB' '\24CC' '\24CD' '\24CE' '\24CF';
  7.2667 -	/* 'Ⓐ' 'Ⓑ' 'Ⓒ' 'Ⓓ' 'Ⓔ' 'Ⓕ' 'Ⓖ' 'Ⓗ' 'Ⓘ' 'Ⓙ' 'Ⓚ' 'Ⓛ' 'Ⓜ' 'Ⓝ' 'Ⓞ' 'Ⓟ' 'Ⓠ' 'Ⓡ' 'Ⓢ' 'Ⓣ' 'Ⓤ' 'Ⓥ' 'Ⓦ' 'Ⓧ' 'Ⓨ' 'Ⓩ' */
  7.2668 -	suffix: '';
  7.2669 -}
  7.2670 -
  7.2671 -@counter-style <dfn>circled-korean-consonant</dfn> {
  7.2672 -	type: non-repeating;
  7.2673 -	symbols: '\3260' '\3261' '\3262' '\3263' '\3264' '\3265' '\3266' '\3267' '\3268' '\3269' '\326A' '\326B' '\326C' '\326D';
  7.2674 -	/* '㉠' '㉡' '㉢' '㉣' '㉤' '㉥' '㉦' '㉧' '㉨' '㉩' '㉪' '㉫' '㉬' '㉭' */
  7.2675 -	suffix: '';
  7.2676 -}
  7.2677 -
  7.2678 -@counter-style <dfn>circled-korean-syllable</dfn> {
  7.2679 -	type: non-repeating;
  7.2680 -	symbols: '\326E' '\326F' '\3270' '\3271' '\3272' '\3273' '\3274' '\3275' '\3276' '\3277' '\3278' '\3279' '\327A' '\327B';
  7.2681 -	/* '㉮' '㉯' '㉰' '㉱' '㉲' '㉳' '㉴' '㉵' '㉶' '㉷' '㉸' '㉹' '㉺' '㉻' */
  7.2682 -	suffix: '';
  7.2683 -}
  7.2684 -
  7.2685 -@counter-style <dfn>decimal-leading-zero</dfn> {
  7.2686 -	type: non-repeating -9;
  7.2687 -	symbols: '\2D\30\39' '\2D\30\38' '\2D\30\37' '\2D\30\36' '\2D\30\35' '\2D\30\34' '\2D\30\33' '\2D\30\32' '\2D\30\31' '\30\30' '\30\31' '\30\32' '\30\33' '\30\34' '\30\35' '\30\36' '\30\37' '\30\38' '\30\39';
  7.2688 -	/* '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09' */
  7.2689 -}
  7.2690 -
  7.2691 -@counter-style <dfn>dotted-decimal</dfn> {
  7.2692 -	type: non-repeating;
  7.2693 -	symbols: '\2488' '\2489' '\248A' '\248B' '\248C' '\248D' '\248E' '\248F' '\2490' '\2491' '\2492' '\2493' '\2494' '\2495' '\2496' '\2497' '\2498' '\2499' '\249A' '\249B';
  7.2694 -	/* '⒈' '⒉' '⒊' '⒋' '⒌' '⒍' '⒎' '⒏' '⒐' '⒑' '⒒' '⒓' '⒔' '⒕' '⒖' '⒗' '⒘' '⒙' '⒚' '⒛' */
  7.2695 -	suffix: '';
  7.2696 -}
  7.2697 -
  7.2698 -@counter-style <dfn>double-circled-decimal</dfn> {
  7.2699 -	type: non-repeating;
  7.2700 -	symbols: '\24F5' '\24F6' '\24F7' '\24F8' '\24F9' '\24FA' '\24FB' '\24FC' '\24FD' '\24FE';
  7.2701 -	/* '⓵' '⓶' '⓷' '⓸' '⓹' '⓺' '⓻' '⓼' '⓽' '⓾' */
  7.2702 -	suffix: '';
  7.2703 -}
  7.2704 -
  7.2705 -@counter-style <dfn>filled-circled-decimal</dfn> {
  7.2706 -	type: non-repeating;
  7.2707 -	symbols: '\2776' '\2777' '\2778' '\2779' '\277a' '\277b' '\277c' '\277d' '\277e' '\277f' '\24EB' '\24EC' '\24ED' '\24EE' '\24EF' '\24F0' '\24F1' '\24F2' '\24F3' '\24F4';
  7.2708 -	/* '❶' '❷' '❸' '❹' '❺' '❻' '❼' '❽' '❾' '❿' '⓫' '⓬' '⓭' '⓮' '⓯' '⓰' '⓱' '⓲' '⓳' '⓴' */
  7.2709 -	suffix: '';
  7.2710 -}
  7.2711 -
  7.2712 -@counter-style <dfn>fullwidth-upper-roman</dfn> {
  7.2713 -	type: non-repeating;
  7.2714 -	symbols: '\2160' '\2161' '\2162' '\2163' '\2164' '\2165' '\2166' '\2167' '\2168' '\2169' '\216A' '\216B';
  7.2715 -	/* 'Ⅰ' 'Ⅱ' 'Ⅲ' 'Ⅳ' 'Ⅴ' 'Ⅵ' 'Ⅶ' 'Ⅷ' 'Ⅸ' 'Ⅹ' 'Ⅺ' 'Ⅻ' */
  7.2716 -	suffix: '';
  7.2717 -}
  7.2718 -
  7.2719 -@counter-style <dfn>fullwidth-lower-roman</dfn> {
  7.2720 -	type: non-repeating;
  7.2721 -	symbols: '\2170' '\2171' '\2172' '\2173' '\2174' '\2175' '\2176' '\2177' '\2178' '\2179' '\217A' '\217B';
  7.2722 -	/* 'ⅰ' 'ⅱ' 'ⅲ' 'ⅳ' 'ⅴ' 'ⅵ' 'ⅶ' 'ⅷ' 'ⅸ' 'ⅹ' 'ⅺ' 'ⅻ' */
  7.2723 -	suffix: '';
  7.2724 -}
  7.2725 -
  7.2726 -@counter-style <dfn>parenthesized-decimal</dfn> {
  7.2727 -	type: non-repeating;
  7.2728 -	symbols: '\2474' '\2475' '\2476' '\2477' '\2478' '\2479' '\247A' '\247B' '\247C' '\247D' '\247E' '\247F' '\2480' '\2481' '\2482' '\2483' '\2484' '\2485' '\2486' '\2487';
  7.2729 -	/* '⑴' '⑵' '⑶' '⑷' '⑸' '⑹' '⑺' '⑻' '⑼' '⑽' '⑾' '⑿' '⒀' '⒁' '⒂' '⒃' '⒄' '⒅' '⒆' '⒇' */
  7.2730 -	suffix: '';
  7.2731 -}
  7.2732 -
  7.2733 -@counter-style <dfn>parenthesized-lower-latin</dfn> {
  7.2734 -	type: non-repeating;
  7.2735 -	symbols: '\249C' '\249D' '\249E' '\249F' '\24A0' '\24A1' '\24A2' '\24A3' '\24A4' '\24A5' '\24A6' '\24A7' '\24A8' '\24A9' '\24AA' '\24AB' '\24AC' '\24AD' '\24AE' '\24AF' '\24B0' '\24B1' '\24B2' '\24B3' '\24B4' '\24B5';
  7.2736 -	/* '⒜' '⒝' '⒞' '⒟' '⒠' '⒡' '⒢' '⒣' '⒤' '⒥' '⒦' '⒧' '⒨' '⒩' '⒪' '⒫' '⒬' '⒭' '⒮' '⒯' '⒰' '⒱' '⒲' '⒳' '⒴' '⒵' */
  7.2737 -	suffix: '';
  7.2738 -}
  7.2739 -
  7.2740 -@counter-style <dfn>parenthesized-hangul-consonant</dfn> {
  7.2741 -	type: non-repeating;
  7.2742 -	symbols: '\3200' '\3201' '\3202' '\3203' '\3204' '\3205' '\3206' '\3207' '\3208' '\3209' '\320A' '\320B' '\320C' '\320D';
  7.2743 -	/* '㈀' '㈁' '㈂' '㈃' '㈄' '㈅' '㈆' '㈇' '㈈' '㈉' '㈊' '㈋' '㈌' '㈍' */
  7.2744 -	suffix: '';
  7.2745 -}
  7.2746 -
  7.2747 -@counter-style <dfn>parenthesized-hangul-syllable</dfn> {
  7.2748 -	type: non-repeating;
  7.2749 -	symbols: '\320E' '\320F' '\3210' '\3211' '\3212' '\3213' '\3214' '\3215' '\3216' '\3217' '\3218' '\3219' '\321A';
  7.2750 -	/* '㈎' '㈏' '㈐' '㈑' '㈒' '㈓' '㈔' '㈕' '㈖' '㈗' '㈘' '㈙' '㈚' */
  7.2751 -	suffix: '';
  7.2752 -}
  7.2753 -
  7.2754 -@counter-style <dfn>persian-abjad</dfn> {
  7.2755 -	type: non-repeating;
  7.2756 -	symbols: '\627' '\628' '\62C' '\62F' '\647\200D' '\648' '\632' '\62D' '\637' '\6CC' '\6A9' '\644' '\645' '\646' '\633' '\639' '\641' '\635' '\642' '\631' '\634' '\62A' '\62B' '\62E' '\630' '\636' '\638' '\63A';
  7.2757 -	/* 'ا' 'ب' 'ج' 'د' 'ه‍' 'و' 'ز' 'ح' 'ط' 'ی' 'ک' 'ل' 'م' 'ن' 'س' 'ع' 'ف' 'ص' 'ق' 'ر' 'ش' 'ت' 'ث' 'خ' 'ذ' 'ض' 'ظ' 'غ' */
  7.2758 -}
  7.2759 -
  7.2760 -@counter-style <dfn>persian-alphabetic</dfn> {
  7.2761 -	type: non-repeating;
  7.2762 -	symbols: '\627' '\628' '\67E' '\62A' '\62B' '\62C' '\686' '\62D' '\62E' '\62F' '\630' '\631' '\632' '\698' '\633' '\634' '\635' '\636' '\637' '\638' '\639' '\63A' '\641' '\642' '\6A9' '\6AF' '\644' '\645' '\646' '\648' '\647\200D' '\6CC';
  7.2763 -	/* 'ا' 'ب' 'پ' 'ت' 'ث' 'ج' 'چ' 'ح' 'خ' 'د' 'ذ' 'ر' 'ز' 'ژ' 'س' 'ش' 'ص' 'ض' 'ط' 'ظ' 'ع' 'غ' 'ف' 'ق' 'ک' 'گ' 'ل' 'م' 'ن' 'و' 'ه‍' 'ی' */
  7.2764 -}</bdo></code></pre>
  7.2765 -
  7.2766 -<h3 id='predefined-additive'>
  7.2767 -Predefined Additive Styles</h3>
  7.2768 -
  7.2769 -	<pre class=css><code><bdo dir="ltr">
  7.2770 -@counter-style <dfn>simple-upper-roman</dfn> {
  7.2771 -	type: additive;
  7.2772 -	range: 1 4999;
  7.2773 -	additive-symbols: 1000 '\4D', 500 '\44', 100 '\43', 50 '\4C', 10 '\58', 5 '\56', 1 '\49';
  7.2774 -	/* 1000 'M', 500 'D', 100 'C', 50 'L', 10 'X', 5 'V', 1 'I' */
  7.2775 -}
  7.2776 -
  7.2777 -@counter-style <dfn>simple-lower-roman</dfn> {
  7.2778 -	type: additive;
  7.2779 -	range: 1 4999;
  7.2780 -	additive-symbols: 1000 '\6D', 500 '\64', 100 '\63', 50 '\6C', 10 '\78', 5 '\76', 1 '\69';
  7.2781 -	/* 1000 'm', 500 'd', 100 'c', 50 'l', 10 'x', 5 'v', 1 'i' */
  7.2782 -}
  7.2783 -
  7.2784 -@counter-style <dfn>upper-roman</dfn> {
  7.2785 -	type: additive;
  7.2786 -	range: 1 4999;
  7.2787 -	additive-symbols: 1000 '\4D', 900 '\43\4D', 500 '\44', 400 '\43\44', 100 '\43', 90 '\58\43', 50 '\4C', 40 '\58\4C', 10 '\58', 9 '\49\58', 5 '\56', 4 '\49\56', 1 '\49';
  7.2788 -	/* 1000 'M', 900 'CM', 500 'D', 400 'CD', 100 'C', 90 'XC', 50 'L', 40 'XL', 10 'X', 9 'IX', 5 'V', 4 'IV', 1 'I' */
  7.2789 -}
  7.2790 -
  7.2791 -@counter-style <dfn>lower-roman</dfn> {
  7.2792 -	type: additive;
  7.2793 -	range: 1 4999;
  7.2794 -	additive-symbols: 1000 '\6D', 900 '\63\6D', 500 '\64', 400 '\63\64', 100 '\63', 90 '\78\63', 50 '\6C', 40 '\78\6C', 10 '\78', 9 '\69\78', 5 '\76', 4 '\69\76', 1 '\69';
  7.2795 -	/* 1000 'm', 900 'cm', 500 'd', 400 'cd', 100 'c', 90 'xc', 50 'l', 40 'xl', 10 'x', 9 'ix', 5 'v', 4 'iv', 1 'i' */
  7.2796 -}
  7.2797 -
  7.2798 -@counter-style <dfn>lower-armenian</dfn> {
  7.2799 -	type: additive;
  7.2800 -	range: 1 9999;
  7.2801 -	additive-symbols: 9000 '\584', 8000 '\583', 7000 '\582', 6000 '\581', 5000 '\580', 4000 '\57F', 3000 '\57E', 2000 '\57D', 1000 '\57C', 900 '\57B', 800 '\57A', 700 '\579', 600 '\578', 500 '\577', 400 '\576', 300 '\575', 200 '\574', 100 '\573', 90 '\572', 80 '\571', 70 '\570', 60 '\56F', 50 '\56E', 40 '\56D', 30 '\56C', 20 '\56B', 10 '\56A', 9 '\569', 8 '\568', 7 '\567', 6 '\566', 5 '\565', 4 '\564', 3 '\563', 2 '\562', 1 '\561';
  7.2802 -	/* 9000 'ք', 8000 'փ', 7000 'ւ', 6000 'ց', 5000 'ր', 4000 'տ', 3000 'վ', 2000 'ս', 1000 'ռ', 900 'ջ', 800 'պ', 700 'չ', 600 'ո', 500 'շ', 400 'ն', 300 'յ', 200 'մ', 100 'ճ', 90 'ղ', 80 'ձ', 70 'հ', 60 'կ', 50 'ծ', 40 'խ', 30 'լ', 20 'ի', 10 'ժ', 9 'թ', 8 'ը', 7 'է', 6 'զ', 5 'ե', 4 'դ', 3 'գ', 2 'բ', 1 'ա' */
  7.2803 -}
  7.2804 -
  7.2805 -@counter-style <dfn>upper-armenian</dfn> {
  7.2806 -	type: additive;
  7.2807 -	range: 1 9999;
  7.2808 -	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  7.2809 -	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  7.2810 -}
  7.2811 -
  7.2812 -@counter-style <dfn>armenian</dfn> {
  7.2813 -	type: additive;
  7.2814 -	range: 1 9999;
  7.2815 -	additive-symbols: 9000 '\554', 8000 '\553', 7000 '\552', 6000 '\551', 5000 '\550', 4000 '\54F', 3000 '\54E', 2000 '\54D', 1000 '\54C', 900 '\54B', 800 '\54A', 700 '\549', 600 '\548', 500 '\547', 400 '\546', 300 '\545', 200 '\544', 100 '\543', 90 '\542', 80 '\541', 70 '\540', 60 '\53F', 50 '\53E', 40 '\53D', 30 '\53C', 20 '\53B', 10 '\53A', 9 '\539', 8 '\538', 7 '\537', 6 '\536', 5 '\535', 4 '\534', 3 '\533', 2 '\532', 1 '\531';
  7.2816 -	/* 9000 'Ք', 8000 'Փ', 7000 'Ւ', 6000 'Ց', 5000 'Ր', 4000 'Տ', 3000 'Վ', 2000 'Ս', 1000 'Ռ', 900 'Ջ', 800 'Պ', 700 'Չ', 600 'Ո', 500 'Շ', 400 'Ն', 300 'Յ', 200 'Մ', 100 'Ճ', 90 'Ղ', 80 'Ձ', 70 'Հ', 60 'Կ', 50 'Ծ', 40 'Խ', 30 'Լ', 20 'Ի', 10 'Ժ', 9 'Թ', 8 'Ը', 7 'Է', 6 'Զ', 5 'Ե', 4 'Դ', 3 'Գ', 2 'Բ', 1 'Ա' */
  7.2817 -}
  7.2818 -
  7.2819 -@counter-style <dfn>georgian</dfn> {
  7.2820 -	type: additive;
  7.2821 -	range: 1 19999;
  7.2822 -	additive-symbols: 10000 '\10F5', 9000 '\10F0', 8000 '\10EF', 7000 '\10F4', 6000 '\10EE', 5000 '\10ED', 4000 '\10EC', 3000 '\10EB', 2000 '\10EA', 1000 '\10E9', 900 '\10E8', 800 '\10E7', 700 '\10E6', 600 '\10E5', 500 '\10E4', 400 '\10F3', 300 '\10E2', 200 '\10E1', 100 '\10E0', 90 '\10DF', 80 '\10DE', 70 '\10DD', 60 '\10F2', 50 '\10DC', 40 '\10DB', 30 '\10DA', 20 '\10D9', 10 '\10D8', 9 '\10D7', 8 '\10F1', 7 '\10D6', 6 '\10D5', 5 '\10D4', 4 '\10D3', 3 '\10D2', 2 '\10D1', 1 '\10D0';
  7.2823 -	/* 10000 'ჵ', 9000 'ჰ', 8000 'ჯ', 7000 'ჴ', 6000 'ხ', 5000 'ჭ', 4000 'წ', 3000 'ძ', 2000 'ც', 1000 'ჩ', 900 'შ', 800 'ყ', 700 'ღ', 600 'ქ', 500 'ფ', 400 'ჳ', 300 'ტ', 200 'ს', 100 'რ', 90 'ჟ', 80 'პ', 70 'ო', 60 'ჲ', 50 'ნ', 40 'მ', 30 'ლ', 20 'კ', 10 'ი', 9 'თ', 8 'ჱ', 7 'ზ', 6 'ვ', 5 'ე', 4 'დ', 3 'გ', 2 'ბ', 1 'ა' */
  7.2824 -}
  7.2825 -
  7.2826 -@counter-style <dfn>ancient-tamil</dfn> {
  7.2827 -	type: additive;
  7.2828 -	range: 1 9999;
  7.2829 -	additive-symbols: 9000 '\BEF\BF2', 8000 '\BEE\BF2', 7000 '\BED\BF2', 6000 '\BEC\BF2', 5000 '\BEB\BF2', 4000 '\BEA\BF2', 3000 '\BE9\BF2', 2000 '\BE8\BF2', 1000 '\BF2', 900 '\BEF\BF1', 800 '\BEE\BF1', 700 '\BED\BF1', 600 '\BEC\BF1', 500 '\BEB\BF1', 400 '\BEA\BF1', 300 '\BE9\BF1', 200 '\BE8\BF1', 100 '\BF1', 90 '\BEF\BF0', 80 '\BEE\BF0', 70 '\BED\BF0', 60 '\BEC\BF0', 50 '\BEB\BF0', 40 '\BEA\BF0', 30 '\BE9\BF0', 20 '\BE8\BF0', 10 '\BF0', 9 '\BEF', 8 '\BEE', 7 '\BED', 6 '\BEC', 5 '\BEB', 4 '\BEA', 3 '\BE9', 2 '\BE8', 1 '\BE7';
  7.2830 -	/* 9000 '௯௲', 8000 '௮௲', 7000 '௭௲', 6000 '௬௲', 5000 '௫௲', 4000 '௪௲', 3000 '௩௲', 2000 '௨௲', 1000 '௲', 900 '௯௱', 800 '௮௱', 700 '௭௱', 600 '௬௱', 500 '௫௱', 400 '௪௱', 300 '௩௱', 200 '௨௱', 100 '௱', 90 '௯௰', 80 '௮௰', 70 '௭௰', 60 '௬௰', 50 '௫௰', 40 '௪௰', 30 '௩௰', 20 '௨௰', 10 '௰', 9 '௯', 8 '௮', 7 '௭', 6 '௬', 5 '௫', 4 '௪', 3 '௩', 2 '௨', 1 '௧' */
  7.2831 -}
  7.2832 -
  7.2833 -@counter-style <dfn>greek</dfn> {
  7.2834 -	type: additive;
  7.2835 -	range: 1 999;
  7.2836 -	additive-symbols: 900 '\3E1', 800 '\3C9', 700 '\3C8', 600 '\3C7', 500 '\3C6', 400 '\3C5', 300 '\3C4', 200 '\3C3', 100 '\3C1', 90 '\3DF', 80 '\3C0', 70 '\3BF', 60 '\3BE', 50 '\3BD', 40 '\3BC', 30 '\3BB', 20 '\3BA', 10 '\3B9', 9 '\3B8', 8 '\3B7', 7 '\3B6', 6 '\3C3\3C4', 5 '\3B5', 4 '\3B4', 3 '\3B3', 2 '\3B2', 1 '\3B1';
  7.2837 -	/* 900 'ϡ', 800 'ω', 700 'ψ', 600 'χ', 500 'φ', 400 'υ', 300 'τ', 200 'σ', 100 'ρ', 90 'ϟ', 80 'π', 70 'ο', 60 'ξ', 50 'ν', 40 'μ', 30 'λ', 20 'κ', 10 'ι', 9 'θ', 8 'η', 7 'ζ', 6 'στ', 5 'ε', 4 'δ', 3 'γ', 2 'β', 1 'α' */
  7.2838 -}</bdo></code></pre>
  7.2839 -
  7.2840 -	<p class=issue>Per <a href="http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists">http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists</a>, putting the circumflex above a digit in armenian numbering multiplies the digit by 1000.  The draft currently states a 10,000 multiplier.  Which is correct? (Having the multiplier be 1000 means that you can potentially write the thousands digit two ways, using either the set of thousands digits or the set of ones digits with a circumflex.  The examples given in the note appear to use the former.)
  7.2841 -
  7.2842 -	<p class=issue>According to a native Greek speaker, the lower-greek and upper-greek styles aren't actually used.  I've removed upper-greek for now, but kept lower-greek because CSS2.1 included the keyword.  Do these have actual use-cases?
  7.2843 --->
  7.2844 \ No newline at end of file
     8.1 --- a/css3-flexbox/Overview.html	Tue Sep 25 22:47:59 2012 +0200
     8.2 +++ b/css3-flexbox/Overview.html	Tue Sep 25 22:50:24 2012 +0200
     8.3 @@ -8,10 +8,10 @@
     8.4    <link href="http://purl.org/dc/terms/" rel=schema.DC>
     8.5    <meta content="CSS Flexible Box Layout Module" name=DC.title>
     8.6    <meta content=text name=DC.type>
     8.7 -  <meta content=2012-09-20 name=DC.issued>
     8.8 +  <meta content=2012-09-21 name=DC.issued>
     8.9    <meta content="http://dev.w3.org/csswg/css3-flexbox/" name=DC.creator>
    8.10    <meta content=W3C name=DC.publisher>
    8.11 -  <meta content="http://www.w3.org/TR/2012/CR-css3-flexbox-20120920/"
    8.12 +  <meta content="http://www.w3.org/TR/2012/CR-css3-flexbox-20120921/"
    8.13     name=DC.identifier>
    8.14    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    8.15     rel=DC.rights>
    8.16 @@ -216,14 +216,14 @@
    8.17  
    8.18     <h1 id=head-box-flexible>CSS Flexible Box Layout Module</h1>
    8.19  
    8.20 -   <h2 class="no-num no-toc" id=w3c-working>W3C Candidate Recommendation, 20
    8.21 +   <h2 class="no-num no-toc" id=w3c-working>W3C Candidate Recommendation, 21
    8.22      September 2012</h2>
    8.23  
    8.24     <dl>
    8.25      <dt>This version:
    8.26  
    8.27      <dd><a
    8.28 -     href="http://www.w3.org/TR/2012/CR-css3-flexbox-20120920/">http://www.w3.org/TR/2012/CR-css3-flexbox-20120920/</a>
    8.29 +     href="http://www.w3.org/TR/2012/CR-css3-flexbox-20120921/">http://www.w3.org/TR/2012/CR-css3-flexbox-20120921/</a>
    8.30       <!--<dd><a href="http://dev.w3.org/csswg/css3-flexbox/">http://dev.w3.org/csswg/css3-flexbox/</a> -->
    8.31  
    8.32      <dt>Latest version:
    8.33 @@ -1887,8 +1887,9 @@
    8.34      flex container (due to the ‘<a href="#flex-flow-wrap"><code
    8.35      class=css>wrap</code></a>’ keyword appearing in its value), the flex
    8.36      container will create an additional line to contain the last item.
    8.37 -    <figure> <img src="images/multiline-no-flex.svg"> <figcaption> An example
    8.38 -    rendering of the multi-line flex container. </figcaption> </figure>
    8.39 +    <figure> <img src="images/multi-line-no-flex.svg"> <figcaption> An
    8.40 +    example rendering of the multi-line flex container. </figcaption>
    8.41 +    </figure>
    8.42    </div>
    8.43  
    8.44    <p> Once content is broken into lines, each line is laid out independently;
    8.45 @@ -1920,7 +1921,7 @@
    8.46      flexibility, so each of the three items on that line will receives 20px
    8.47      of extra width, ending up 100px wide. The remaining item is on a line of
    8.48      its own and will stretch to the entire width of the line, or 300px.
    8.49 -    <figure> <img src="images/multiline-flex.svg"> <figcaption> A rendering
    8.50 +    <figure> <img src="images/multi-line-flex.svg"> <figcaption> A rendering
    8.51      of the same as above, but with the items all given ‘<code
    8.52      class=css>flex: auto</code>’. </figcaption> </figure>
    8.53    </div>
     9.1 --- a/css3-flexbox/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
     9.2 +++ b/css3-flexbox/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
     9.3 @@ -1392,7 +1392,7 @@
     9.4  			the flex container will create an additional line to contain the last item.
     9.5  
     9.6  		<figure>
     9.7 -			<img src="images/multiline-no-flex.svg">
     9.8 +			<img src="images/multi-line-no-flex.svg">
     9.9  
    9.10  			<figcaption>
    9.11  				An example rendering of the multi-line flex container.
    9.12 @@ -1427,7 +1427,7 @@
    9.13  			and will stretch to the entire width of the line, or 300px.
    9.14  
    9.15  		<figure>
    9.16 -			<img src="images/multiline-flex.svg">
    9.17 +			<img src="images/multi-line-flex.svg">
    9.18  
    9.19  			<figcaption>
    9.20  				A rendering of the same as above,
    10.1 --- a/css3-lists/Overview.html	Tue Sep 25 22:47:59 2012 +0200
    10.2 +++ b/css3-lists/Overview.html	Tue Sep 25 22:50:24 2012 +0200
    10.3 @@ -1,12 +1,22 @@
    10.4  <!DOCTYPE html>
    10.5  
    10.6  <html>
    10.7 - <head>
    10.8 + <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
    10.9    <title>CSS Lists and Counters Module Level 3</title>
   10.10 +
   10.11 +  <link href="http://purl.org/dc/terms/" rel=schema.DC>
   10.12 +  <meta content="CSS Lists and Counters Module Level 3" name=DC.title>
   10.13 +  <meta content=text name=DC.type>
   10.14 +  <meta content=2012-09-24 name=DC.issued>
   10.15 +  <meta content="http://dev.w3.org/csswg/css3-lists/" name=DC.creator>
   10.16 +  <meta content=W3C name=DC.publisher>
   10.17 +  <meta content="http://www.w3.org/TR/2012/ED-css3-lists-20120924/"
   10.18 +   name=DC.identifier>
   10.19 +  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   10.20 +   rel=DC.rights>
   10.21    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
   10.22    <link href="http://dev.w3.org/csswg/default.css" rel=stylesheet
   10.23 -  type="text/css">
   10.24 -
   10.25 +   type="text/css">
   10.26    <style>
   10.27  	code.inline { white-space: nowrap; }
   10.28  	.alphabetic-example { font-family: monospace; font-size: 90%; margin: 1em 0 1em 2em; }
   10.29 @@ -16,7 +26,7 @@
   10.30  	.nobr { white-space: nowrap;}
   10.31  	</style>
   10.32    <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet
   10.33 -  type="text/css">
   10.34 +   type="text/css">
   10.35  
   10.36   <body>
   10.37    <div class=head> <!--begin-logo-->
   10.38 @@ -25,32 +35,47 @@
   10.39  
   10.40     <h1>CSS Lists and Counters Module Level 3</h1>
   10.41  
   10.42 -   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 28 August 2012</h2>
   10.43 +   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 24 September
   10.44 +    2012</h2>
   10.45  
   10.46     <dl>
   10.47      <dt>This version:
   10.48  
   10.49 -    <dd><!--<a href="http://www.w3.org/TR/2012/WD-css3-lists-20120828">http://www.w3.org/TR/2012/WD-css3-lists-20120828</a>-->
   10.50 +    <dd><!--<a href="http://www.w3.org/TR/2012/WD-css3-lists-20120924">http://www.w3.org/TR/2012/WD-css3-lists-20120924</a>-->
   10.51       <a
   10.52       href="http://dev.w3.org/csswg/css3-lists/">http://dev.w3.org/csswg/css3-lists/</a>
   10.53 -     
   10.54  
   10.55      <dt>Latest version:
   10.56  
   10.57      <dd><a
   10.58       href="http://www.w3.org/TR/css3-lists/">http://www.w3.org/TR/css3-lists/</a>
   10.59 -     
   10.60 +
   10.61 +    <dt>Editor's Draft:
   10.62 +
   10.63 +    <dd><a
   10.64 +     href="http://dev.w3.org/csswg/css3-lists/">http://dev.w3.org/csswg/css3-lists/</a>
   10.65  
   10.66      <dt>Previous version:
   10.67  
   10.68      <dd><a
   10.69 -     href="http://www.w3.org/TR/2002/WD-css3-lists-20021107/">http://www.w3.org/TR/2002/WD-css3-lists-20021107/</a>
   10.70 -     
   10.71 +     href="http://www.w3.org/TR/2011/WD-css3-lists-20110524/">http://www.w3.org/TR/2011/WD-css3-lists-20110524/</a>
   10.72 +
   10.73 +    <dt>Issue Tracking:
   10.74 +
   10.75 +    <dd><a
   10.76 +     href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Lists%20and%20Counters&resolution=---">Bugzilla</a>
   10.77 +
   10.78 +    <dt>Feedback:
   10.79 +
   10.80 +    <dd><a
   10.81 +     href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a>
   10.82 +     with subject line “<kbd>[[css3-lists]] <var>… message topic
   10.83 +     …</var></kbd>”
   10.84  
   10.85      <dt>Editor:
   10.86  
   10.87 -    <dd><a href="http://www.xanthir.com/contact">Tab Atkins Jr.</a>, Google
   10.88 -     Inc.
   10.89 +    <dd class=vcard> <a class=url href="http://xanthir.com/contact/"> <span
   10.90 +     class=fn>Tab Atkins Jr.</span>, </a> <span class=org>Google, Inc.</span>
   10.91  
   10.92      <dt>Previous Editors: <!-- in the order tantek requested -->
   10.93  
   10.94 @@ -199,10 +224,7 @@
   10.95      Counters: the <code title=counter-function>counter()</code> and <code
   10.96      title=counters-function>counters()</code> functions</a>
   10.97  
   10.98 -   <li><a href="#predefined-counter-styles"><span class=secno>10. </span>
   10.99 -    Predefined Counter Styles</a>
  10.100 -
  10.101 -   <li><a href="#ua-stylesheet"><span class=secno>11. </span> Sample style
  10.102 +   <li><a href="#ua-stylesheet"><span class=secno>10. </span> Sample style
  10.103      sheet for HTML</a>
  10.104  
  10.105     <li class=no-num><a href="#profiles"> Profiles</a>
  10.106 @@ -282,7 +304,6 @@
  10.107    <p class=issue> A future release of this module will probably include ways
  10.108     to render tree lists.
  10.109     <!-- ====================================================================== -->
  10.110 -   
  10.111  
  10.112    <h2 id=declaring-a-list-item><span class=secno>2. </span> Declaring a List
  10.113     Item</h2>
  10.114 @@ -364,7 +385,6 @@
  10.115     into subproperties. When that happens, "being a list item" will just be a
  10.116     property value that can apply to block, inline, and other elements.
  10.117     <!-- ====================================================================== -->
  10.118 -   
  10.119  
  10.120    <h2 id=marker-content><span class=secno>3. </span> Default Marker Contents:
  10.121     The ‘<a href="#list-style-image"><code
  10.122 @@ -467,7 +487,6 @@
  10.123       <th>Value:
  10.124  
  10.125       <td>&lt;string> | &lt;counter-style-name> | &lt;symbols-function> | none
  10.126 -      
  10.127  
  10.128      <tr>
  10.129       <th>Initial:
  10.130 @@ -523,16 +542,17 @@
  10.131     <dd> If there is a counter style defined matching the <a
  10.132      href="#list-style-type-counter-style-name"><code>&lt;counter-style-name></code></a>,
  10.133      the list item's marker's <a href="#default-contents"><i>default
  10.134 -    contents</i></a> are that counter style. Otherwise, the list item's
  10.135 -    marker's <a href="#default-contents"><i>default contents</i></a> are
  10.136 -    ‘<a href="#list-style-type-none"><code class=css>none</code></a>’.
  10.137 +    contents</i></a> are that counter style. [[CSS-COUNTER-STYLES]]
  10.138 +    Otherwise, the list item's marker's <a
  10.139 +    href="#default-contents"><i>default contents</i></a> are ‘<a
  10.140 +    href="#list-style-type-none"><code class=css>none</code></a>’.
  10.141  
  10.142     <dt><dfn id=list-style-type-symbols-function>&lt;symbols-function></dfn>
  10.143  
  10.144     <dd> The list item's marker's <a href="#default-contents"><i>default
  10.145      contents</i></a> are the counter style represented by the <a
  10.146      href="#list-style-type-symbols-function"><code>&lt;symbols-function></code></a>.
  10.147 -    
  10.148 +    [[CSS-COUNTER-STYLES]]
  10.149  
  10.150     <dt><dfn id=list-style-type-none>none</dfn>
  10.151  
  10.152 @@ -543,7 +563,6 @@
  10.153  
  10.154    <div class=example>
  10.155     <p>The following examples illustrate how to set markers to various values:
  10.156 -    
  10.157  
  10.158     <pre><!--
  10.159  		-->ul { list-style-type: "★"; }
  10.160 @@ -570,8 +589,7 @@
  10.161  <!--
  10.162  		-->/* Sets all ordered lists to use the upper-roman counter-style 
  10.163  <!--
  10.164 -		-->   (<a
  10.165 -    href="#upper-roman">defined in this specification</a>) */
  10.166 +		-->   (defined in the Counter Styles specification [[CSS-COUNTER-STYLES]]) */
  10.167  <!--
  10.168  		-->
  10.169  <!--
  10.170 @@ -643,7 +661,6 @@
  10.171    <p> This property helps control the position of the ‘<code
  10.172     class=css>::marker</code>’ pseudo-element in the <a
  10.173     href="#list-item"><i>list item</i></a>. The values are defined as follows:
  10.174 -   
  10.175  
  10.176    <dl>
  10.177     <dt><dfn id=list-style-position-inside>inside</dfn>
  10.178 @@ -2040,13 +2057,7 @@
  10.179  ...</pre>
  10.180    </div>
  10.181  
  10.182 -  <h2 id=predefined-counter-styles><span class=secno>10. </span> Predefined
  10.183 -   Counter Styles</h2>
  10.184 -
  10.185 -  <p class=issue> Define them here, or just link over to the Counter Styles
  10.186 -   draft?
  10.187 -
  10.188 -  <h2 id=ua-stylesheet><span class=secno>11. </span> Sample style sheet for
  10.189 +  <h2 id=ua-stylesheet><span class=secno>10. </span> Sample style sheet for
  10.190     HTML</h2>
  10.191  
  10.192    <p>This section is informative, not normative. HTML itself defines the
  10.193 @@ -2148,11 +2159,9 @@
  10.194     class=property>upper-alpha</code>’, ‘<a
  10.195     href="#list-style-type-none"><code class=property>none</code></a>’). It
  10.196     does not include the ‘<code class=css>::marker</code>’ pseudo element.
  10.197 -   
  10.198  
  10.199    <p>The Full profile contains everything.
  10.200     <!-- ====================================================================== -->
  10.201 -   
  10.202  
  10.203    <h2 class=no-num id=acknowledgments> Acknowledgments</h2>
  10.204  
  10.205 @@ -2168,7 +2177,6 @@
  10.206  		       http://www.ethiopic.org/Collation/OrderedLists.html
  10.207  		       http://bugzilla.mozilla.org/show_bug.cgi?id=102252 -->
  10.208     <!-- ====================================================================== -->
  10.209 -   
  10.210  
  10.211    <h2 class=no-num id=changes> Changes From CSS2.1</h2>
  10.212  
  10.213 @@ -2207,7 +2215,7 @@
  10.214      Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 7 June
  10.215      2011. W3C Recommendation. URL: <a
  10.216      href="http://www.w3.org/TR/2011/REC-CSS2-20110607">http://www.w3.org/TR/2011/REC-CSS2-20110607</a>
  10.217 -    </dd>
  10.218 +   </dd>
  10.219     <!---->
  10.220    </dl>
  10.221    <!--end-normative-->
  10.222 @@ -2227,7 +2235,7 @@
  10.223      Sheets (CSS1) Level 1 Specification.</cite></a> 11 April 2008. W3C
  10.224      Recommendation. URL: <a
  10.225      href="http://www.w3.org/TR/2008/REC-CSS1-20080411">http://www.w3.org/TR/2008/REC-CSS1-20080411</a>
  10.226 -    </dd>
  10.227 +   </dd>
  10.228     <!---->
  10.229    </dl>
  10.230    <!--end-informative-->
    11.1 --- a/css3-lists/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
    11.2 +++ b/css3-lists/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
    11.3 @@ -28,11 +28,24 @@
    11.4  	<dt>Latest version:
    11.5  	<dd><a href="http://www.w3.org/TR/css3-lists/">http://www.w3.org/TR/css3-lists/</a>
    11.6  
    11.7 +	<dt>Editor's Draft:
    11.8 +	<dd><a href="http://dev.w3.org/csswg/css3-lists/">http://dev.w3.org/csswg/css3-lists/</a>
    11.9 +
   11.10  	<dt>Previous version:
   11.11 -	<dd><a href="http://www.w3.org/TR/2002/WD-css3-lists-20021107/">http://www.w3.org/TR/2002/WD-css3-lists-20021107/</a>
   11.12 +	<dd><a href="http://www.w3.org/TR/2011/WD-css3-lists-20110524/">http://www.w3.org/TR/2011/WD-css3-lists-20110524/</a>
   11.13 +
   11.14 +	<dt>Issue Tracking:</dt>
   11.15 +	<dd><a href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Lists%20and%20Counters&resolution=---">Bugzilla</a>
   11.16 +
   11.17 +	<dt>Feedback:</dt>
   11.18 +	<dd><a href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a> with subject line &ldquo;<kbd>[[css3-lists]] <var>&hellip; message topic &hellip;</var></kbd>&rdquo;
   11.19  
   11.20  	<dt>Editor:
   11.21 -	<dd><a href="http://www.xanthir.com/contact">Tab Atkins Jr.</a>, Google Inc.
   11.22 +	<dd class='vcard'>
   11.23 +		<a href="http://xanthir.com/contact/" class='url'>
   11.24 +			<span class='fn'>Tab Atkins Jr.</span>,
   11.25 +		</a>
   11.26 +		<span class=org>Google, Inc.</span>
   11.27  
   11.28  	<dt>Previous Editors: <!-- in the order tantek requested -->
   11.29  	<dd>Ian Hickson, <a href="mailto:ian@hixie.ch">ian@hixie.ch</a>
   11.30 @@ -289,13 +302,13 @@
   11.31  		<dt><dfn id='list-style-type-counter-style-name'>&lt;counter-style-name></dfn>
   11.32  		<dd>
   11.33  			If there is a counter style defined matching the <code>&lt;counter-style-name></code>,
   11.34 -			the list item's marker's <i>default contents</i> are that counter style.
   11.35 +			the list item's marker's <i>default contents</i> are that counter style. [[CSS-COUNTER-STYLES]]
   11.36  			Otherwise, the list item's marker's <i>default contents</i> are ''none''.
   11.37  
   11.38  		<dt><dfn id='list-style-type-symbols-function'>&lt;symbols-function></dfn>
   11.39  		<dd>
   11.40  			The list item's marker's <i>default contents</i> are the counter style
   11.41 -			represented by the <code>&lt;symbols-function></code>.
   11.42 +			represented by the <code>&lt;symbols-function></code>. [[CSS-COUNTER-STYLES]]
   11.43  
   11.44  		<dt><dfn id='list-style-type-none'>none</dfn>
   11.45  		<dd>
   11.46 @@ -318,7 +331,7 @@
   11.47  		-->&#xa;<!--
   11.48  		-->ol { list-style-type: upper-roman; }&#xa;<!--
   11.49  		-->/* Sets all ordered lists to use the upper-roman counter-style &#xa;<!--
   11.50 -		-->   (<a href="#upper-roman">defined in this specification</a>) */&#xa;<!--
   11.51 +		-->   (defined in the Counter Styles specification [[CSS-COUNTER-STYLES]]) */&#xa;<!--
   11.52  		-->&#xa;<!--
   11.53  		-->ul { list-style-type: symbols(repeating '○' '●'); }&#xa;<!--
   11.54  		-->/* Sets all unordered list items to alternate between empty and &#xa;<!--
   11.55 @@ -1469,13 +1482,6 @@
   11.56  	</div>
   11.57  
   11.58  
   11.59 -<h2 id='predefined-counter-styles'>
   11.60 -Predefined Counter Styles</h2>
   11.61 -
   11.62 -	<p class='issue'>
   11.63 -		Define them here, or just link over to the Counter Styles draft?
   11.64 -
   11.65 -
   11.66  
   11.67  <h2 id='ua-stylesheet'>
   11.68  Sample style sheet for HTML</h2>
    12.1 --- a/css3-lists/black.svg	Tue Sep 25 22:47:59 2012 +0200
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,9 +0,0 @@
    12.4 -<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="16" height="16">
    12.5 - <defs>
    12.6 -  <radialGradient id="black" cx="30%" cy="30%">
    12.7 -   <stop offset="0%" stop-color="#888" />
    12.8 -   <stop offset="100%" stop-color="black" />
    12.9 -  </radialGradient>
   12.10 - </defs>
   12.11 - <circle cx="50%" cy="50%" r="50%" fill="url(#black)" />
   12.12 -</svg>
   12.13 \ No newline at end of file
    13.1 --- a/css3-lists/white.svg	Tue Sep 25 22:47:59 2012 +0200
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,9 +0,0 @@
    13.4 -<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="16" height="16">
    13.5 - <defs>
    13.6 -  <radialGradient id="white" cx="30%" cy="30%">
    13.7 -   <stop offset="0%" stop-color="white" />
    13.8 -   <stop offset="100%" stop-color="#ccc" />
    13.9 -  </radialGradient>
   13.10 - </defs>
   13.11 - <circle cx="50%" cy="50%" r="48" fill="url(#white)" stroke="black" stroke-width="4"/>
   13.12 -</svg>
   13.13 \ No newline at end of file
    14.1 --- a/css3-text-decor/Overview.html	Tue Sep 25 22:47:59 2012 +0200
    14.2 +++ b/css3-text-decor/Overview.html	Tue Sep 25 22:50:24 2012 +0200
    14.3 @@ -9,11 +9,11 @@
    14.4    <meta content="CSS Text Decoration Module Level 3 (CSS3 Text Decoration)"
    14.5     name=DC.title>
    14.6    <meta content=text name=DC.type>
    14.7 -  <meta content=2012-09-19 name=DC.issued>
    14.8 +  <meta content=2012-09-23 name=DC.issued>
    14.9    <meta content="Elika J. Etemad" name=DC.creator>
   14.10    <meta content="Koji Ishii" name=DC.creator>
   14.11    <meta content=W3C name=DC.publisher>
   14.12 -  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120919/"
   14.13 +  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120923/"
   14.14     name=DC.identifier>
   14.15    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   14.16     rel=DC.rights>
   14.17 @@ -30,7 +30,7 @@
   14.18  
   14.19     <h1>CSS Text Decoration Module Level 3</h1>
   14.20  
   14.21 -   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 19
   14.22 +   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 23
   14.23      September 2012</h2>
   14.24  
   14.25     <dl>
   14.26 @@ -40,7 +40,7 @@
   14.27    -->
   14.28  
   14.29      <dd><a
   14.30 -     href="http://www.w3.org/TR/2012/WD-css3-text-20120919/">http://www.w3.org/TR/2012/WD-css3-text-20120919/</a>
   14.31 +     href="http://www.w3.org/TR/2012/WD-css3-text-20120923/">http://www.w3.org/TR/2012/WD-css3-text-20120923/</a>
   14.32  
   14.33      <dt>Latest version:
   14.34  
   14.35 @@ -145,9 +145,9 @@
   14.36     mailing list <a
   14.37     href="mailto:www-style@w3.org">www-style@w3.org</a></strong> (see <a
   14.38     href="http://www.w3.org/Mail/Request">instructions</a>) <strong>with
   14.39 -   <kbd>[css3-text]</kbd> in the subject line.</strong> You are strongly
   14.40 -   encouraged to complain if you see something stupid in this draft. The
   14.41 -   editors will do their best to respond to all feedback.
   14.42 +   <kbd>[css3-text-decor]</kbd> in the subject line.</strong> You are
   14.43 +   strongly encouraged to complain if you see something stupid in this draft.
   14.44 +   The editors will do their best to respond to all feedback.
   14.45  
   14.46    <p>The following features are at risk and may be cut from the spec during
   14.47     its CR period if there are no (correct) implementations:
    15.1 --- a/css3-text-decor/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
    15.2 +++ b/css3-text-decor/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
    15.3 @@ -96,7 +96,7 @@
    15.4      (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>)
    15.5      public mailing list <a href="mailto:www-style@w3.org">www-style@w3.org</a></strong>
    15.6      (see <a href="http://www.w3.org/Mail/Request">instructions</a>) <strong>with
    15.7 -    <kbd>[css3-text]</kbd> in the subject line.</strong>
    15.8 +    <kbd>[css3-text-decor]</kbd> in the subject line.</strong>
    15.9      You are strongly encouraged to complain if you see something stupid
   15.10      in this draft. The editors will do their best to respond to all feedback.</p>
   15.11  
    16.1 --- a/css3-text/Overview.html	Tue Sep 25 22:47:59 2012 +0200
    16.2 +++ b/css3-text/Overview.html	Tue Sep 25 22:50:24 2012 +0200
    16.3 @@ -8,11 +8,11 @@
    16.4    <link href="http://purl.org/dc/terms/" rel=schema.DC>
    16.5    <meta content="CSS Text Module Level 3 (CSS3 Text)" name=DC.title>
    16.6    <meta content=text name=DC.type>
    16.7 -  <meta content=2012-09-19 name=DC.issued>
    16.8 +  <meta content=2012-09-23 name=DC.issued>
    16.9    <meta content="Elika J. Etemad" name=DC.creator>
   16.10    <meta content="Koji Ishii" name=DC.creator>
   16.11    <meta content=W3C name=DC.publisher>
   16.12 -  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120919/"
   16.13 +  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120923/"
   16.14     name=DC.identifier>
   16.15    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   16.16     rel=DC.rights>
   16.17 @@ -46,7 +46,7 @@
   16.18  
   16.19     <h1>CSS Text Module Level 3</h1>
   16.20  
   16.21 -   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 19
   16.22 +   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 23
   16.23      September 2012</h2>
   16.24  
   16.25     <dl>
   16.26 @@ -56,7 +56,7 @@
   16.27    -->
   16.28  
   16.29      <dd><a
   16.30 -     href="http://www.w3.org/TR/2012/WD-css3-text-20120919/">http://www.w3.org/TR/2012/WD-css3-text-20120919/</a>
   16.31 +     href="http://www.w3.org/TR/2012/WD-css3-text-20120923/">http://www.w3.org/TR/2012/WD-css3-text-20120923/</a>
   16.32  
   16.33      <dt>Latest version:
   16.34  
   16.35 @@ -3146,8 +3146,9 @@
   16.36     name=text-emphasis-style></a> <a name=text-emphasis-color></a> <a
   16.37     name=text-emphasis></a> <a name=text-emphasis-position></a> <a
   16.38     name=text-shadow></a> Text decoration has moved to <a
   16.39 -   href="../css3-text-decor/">CSS Text Decoration Module Level 3</a>.
   16.40 -   [[CSS3TXTDECOR]]
   16.41 +   href="../css3-text-decor/">CSS Text Decoration Module Level 3</a>. <a
   16.42 +   href="#CSS3-TEXT-DECOR"
   16.43 +   rel=biblioentry>[CSS3-TEXT-DECOR]<!--{{CSS3-TEXT-DECOR}}--></a>
   16.44  
   16.45    <h2 id=conformance><span class=secno>11. </span> Conformance</h2>
   16.46  
   16.47 @@ -3440,6 +3441,12 @@
   16.48     <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
   16.49      <!---->
   16.50  
   16.51 +   <dt id=CSS3-TEXT-DECOR>[CSS3-TEXT-DECOR]
   16.52 +
   16.53 +   <dd>Elika J. Etemad; Koji Ishii. <cite>CSS Text Decoration Module
   16.54 +    Level 3.</cite> (forthcoming). W3C Working Draft. (Work in progress)</dd>
   16.55 +   <!---->
   16.56 +
   16.57     <dt id=CSS3COLOR>[CSS3COLOR]
   16.58  
   16.59     <dd>Tantek Çelik; Chris Lilley; L. David Baron. <a
    17.1 --- a/css3-text/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
    17.2 +++ b/css3-text/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
    17.3 @@ -2346,7 +2346,7 @@
    17.4      <a name="text-shadow"></a>
    17.5      Text decoration has moved to
    17.6      <a href="../css3-text-decor/">CSS Text Decoration Module Level 3</a>.
    17.7 -    [[CSS3TXTDECOR]]
    17.8 +    [[CSS3-TEXT-DECOR]]
    17.9  
   17.10  <h2 id="conformance">
   17.11  Conformance</h2>
    18.1 --- a/css4-images/Overview.html	Tue Sep 25 22:47:59 2012 +0200
    18.2 +++ b/css4-images/Overview.html	Tue Sep 25 22:50:24 2012 +0200
    18.3 @@ -10,10 +10,10 @@
    18.4    <meta content="CSS Image Values and Replaced Content Module Level 4"
    18.5     name=DC.title>
    18.6    <meta content=text name=DC.type>
    18.7 -  <meta content=2012-09-11 name=DC.issued>
    18.8 +  <meta content=2012-09-21 name=DC.issued>
    18.9    <meta content="http://dev.w3.org/csswg/css4-images/" name=DC.creator>
   18.10    <meta content=W3C name=DC.publisher>
   18.11 -  <meta content="http://www.w3.org/TR/2012/ED-css4-images-20120911/"
   18.12 +  <meta content="http://www.w3.org/TR/2012/ED-css4-images-20120921/"
   18.13     name=DC.identifier>
   18.14    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   18.15     rel=DC.rights>
   18.16 @@ -28,7 +28,7 @@
   18.17  
   18.18     <h1>CSS Image Values and Replaced Content Module Level 4</h1>
   18.19  
   18.20 -   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 11 September
   18.21 +   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 21 September
   18.22      2012</h2>
   18.23  
   18.24     <dl>
   18.25 @@ -36,7 +36,7 @@
   18.26  
   18.27      <dd><a
   18.28       href="http://dev.w3.org/csswg/css4-images/">http://dev.w3.org/csswg/css4-images/</a>
   18.29 -     <!-- <dd><a href="http://www.w3.org/TR/2012/ED-css4-images-20120911/">http://www.w3.org/TR/2012/WD-css4-images-20120911/</a>-->
   18.30 +     <!-- <dd><a href="http://www.w3.org/TR/2012/ED-css4-images-20120921/">http://www.w3.org/TR/2012/WD-css4-images-20120921/</a>-->
   18.31  
   18.32      <dt>Latest Version:
   18.33  
   18.34 @@ -2252,6 +2252,12 @@
   18.35    <pre class=prod><dfn
   18.36     id=angular-color-stop-type>&lt;angular-color-stop></dfn> = <var>&lt;color></var> [ <var>&lt;percentage></var> | <var>&lt;angle></var> ]{0,2}</pre>
   18.37  
   18.38 +  <p class=issue> Should we allow the color/percentage to be swapped? CSS is
   18.39 +   usually permissive about the order of things as long as it doesn't
   18.40 +   introduce ambiguity. The counter-argument is that people <em>might</em> be
   18.41 +   confused by an expression like "50% black", which sounds like a gray
   18.42 +   color.
   18.43 +
   18.44    <p> Color-stops are points placed along the <a
   18.45     href="#gradient-line"><i>gradient line</i></a> defined by the gradient
   18.46     function in which the color-stop is used. Color-stops must be specified in
    19.1 --- a/css4-images/Overview.src.html	Tue Sep 25 22:47:59 2012 +0200
    19.2 +++ b/css4-images/Overview.src.html	Tue Sep 25 22:50:24 2012 +0200
    19.3 @@ -1830,6 +1830,12 @@
    19.4  	<pre class=prod><dfn id='color-stop-type'>&lt;color-stop></dfn> = <var>&lt;color></var> [ <var>&lt;percentage></var> | <var>&lt;length></var> ]{0,2}</pre>
    19.5  	<pre class=prod><dfn id='angular-color-stop-type'>&lt;angular-color-stop></dfn> = <var>&lt;color></var> [ <var>&lt;percentage></var> | <var>&lt;angle></var> ]{0,2}</pre>
    19.6  
    19.7 +	<p class='issue'>
    19.8 +		Should we allow the color/percentage to be swapped?
    19.9 +		CSS is usually permissive about the order of things as long as it doesn't introduce ambiguity.
   19.10 +		The counter-argument is that people <em>might</em> be confused by an expression like "50% black",
   19.11 +		which sounds like a gray color.
   19.12 +
   19.13  	<p>
   19.14  		Color-stops are points placed along the <i>gradient line</i>
   19.15  		defined by the gradient function in which the color-stop is used.

mercurial