Additional Predefined Counter Styles for CSS

Editor:
Tab Atkins Jr., Google Inc.

Abstract

CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc. This draft contains additional predefined counter styles using the syntax defined in CSS Lists level 3. A particular emphasis is given to handling numeric and alphabetic numbering systems from many world languages.

Should this document be Rec-track or a Note?

Status of this document

Table of contents


Predefined Counter Styles

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.

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.

Should this chapter and the next be made an informative appendix rather than a required UA stylesheet?

Predefined Repeating Styles


@counter-style box {
	type: repeating;
	symbols: '\25FD';
	/* '◽' */
	suffix: '';
}

@counter-style check {
	type: repeating;
	symbols: '\2713';
	/* '✓' */
	suffix: '';
}

@counter-style circle {
	type: repeating;
	symbols: '\25E6';
	/* '◦' */
	suffix: '';
}

@counter-style diamond {
	type: repeating;
	symbols: '\25C6';
	/* '◆' */
	suffix: '';
}

@counter-style disc {
	type: repeating;
	symbols: '\2022';
	/* '•' */
	suffix: '';
}

@counter-style dash {
	type: repeating;
	symbols: '\2043';
	/* '⁃' */
	suffix: '';
}

@counter-style square {
	type: repeating;
	symbols: '\25FE';
	/* '◾' */
	suffix: '';
}

Predefined Numeric Styles


@counter-style arabic-indic {
	type: numeric;
	symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669';
	/* '٠' '١' '٢' '٣' '٤' '٥' '٦' '٧' '٨' '٩' */
}

@counter-style bengali {
	type: numeric;
	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
}

@counter-style binary {
	type: numeric;
	symbols: '\30' '\31';
	/* '0' '1' */
}

@counter-style cambodian {
	type: numeric;
	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
}

@counter-style cjk-decimal {
	type: numeric;
	symbols: '\3007' '\4E00' '\4E8C' '\4E09' '\56DB' '\4E94' '\516D' '\4E03' '\516B' '\4E5D';
	/* '〇' '一' '二' '三' '四' '五' '六' '七' '八' '九' */
}

@counter-style decimal {
	type: numeric;
	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39';
	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
}

@counter-style devanagari {
	type: numeric;
	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
}

@counter-style eastern-nagari {
	type: numeric;
	symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF';
	/* '০' '১' '২' '৩' '৪' '৫' '৬' '৭' '৮' '৯' */
}

@counter-style fullwidth-decimal {
	type: numeric;
	symbols: '\FF10' '\FF11' '\FF12' '\FF13' '\FF14' '\FF15' '\FF16' '\FF17' '\FF18' '\FF19';
	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' */
}

@counter-style gujarati {
	type: numeric;
	symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF';
	/* '૦' '૧' '૨' '૩' '૪' '૫' '૬' '૭' '૮' '૯' */
}

@counter-style gurmukhi {
	type: numeric;
	symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F';
	/* '੦' '੧' '੨' '੩' '੪' '੫' '੬' '੭' '੮' '੯' */
}

@counter-style kannada {
	type: numeric;
	symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF';
	/* '೦' '೧' '೨' '೩' '೪' '೫' '೬' '೭' '೮' '೯' */
}

@counter-style khmer {
	type: numeric;
	symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9';
	/* '០' '១' '២' '៣' '៤' '៥' '៦' '៧' '៨' '៩' */
}

@counter-style lower-hexadecimal {
	type: numeric;
	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\61' '\62' '\63' '\64' '\65' '\66';
	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f' */
}

@counter-style lao {
	type: numeric;
	symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9';
	/* '໐' '໑' '໒' '໓' '໔' '໕' '໖' '໗' '໘' '໙' */
}

@counter-style lepcha {
	type: numeric;
	symbols: '\1C40' '\1C41' '\1C42' '\1C43' '\1C44' '\1C45' '\1C46' '\1C47' '\1C48' '\1C49';
	/* '᱀' '᱁' '᱂' '᱃' '᱄' '᱅' '᱆' '᱇' '᱈' '᱉' */
}

@counter-style malayalam {
	type: numeric;
	symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F';
	/* '൦' '൧' '൨' '൩' '൪' '൫' '൬' '൭' '൮' '൯' */
}

@counter-style marathi {
	type: numeric;
	symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F';
	/* '०' '१' '२' '३' '४' '५' '६' '७' '८' '९' */
}

@counter-style mongolian {
	type: numeric;
	symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819';
	/* '᠐' '᠑' '᠒' '᠓' '᠔' '᠕' '᠖' '᠗' '᠘' '᠙' */
}

@counter-style myanmar {
	type: numeric;
	symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049';
	/* '၀' '၁' '၂' '၃' '၄' '၅' '၆' '၇' '၈' '၉' */
}

@counter-style new-base-60 {
	type: numeric;
	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';
	/* '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' */
}

@counter-style octal {
	type: numeric;
	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37';
	/* '0' '1' '2' '3' '4' '5' '6' '7' */
}

@counter-style oriya {
	type: numeric;
	symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F';
	/* '୦' '୧' '୨' '୩' '୪' '୫' '୬' '୭' '୮' '୯' */
}

@counter-style persian {
	type: numeric;
	symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9';
	/* '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹' */
}

@counter-style super-decimal {
	type: numeric;
	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
	/* '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹' */
}

@counter-style shan {
	type: numeric;
	symbols: '\1090' '\1091' '\1092' '\1093' '\1094' '\1095' '\1096' '\1097' '\1098' '\1099';
	/* '႐' '႑' '႒' '႓' '႔' '႕' '႖' '႗' '႘' '႙' */
}

@counter-style tamil {
	type: numeric;
	symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF';
	/* '௦' '௧' '௨' '௩' '௪' '௫' '௬' '௭' '௮' '௯' */
}

@counter-style telugu {
	type: numeric;
	symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F';
	/* '౦' '౧' '౨' '౩' '౪' '౫' '౬' '౭' '౮' '౯' */
}

@counter-style tibetan {
	type: numeric;
	symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29';
	/* '༠' '༡' '༢' '༣' '༤' '༥' '༦' '༧' '༨' '༩' */
}

@counter-style thai {
	type: numeric;
	symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59';
	/* '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' */
}

@counter-style upper-hexadecimal {
	type: numeric;
	symbols: '\30' '\31' '\32' '\33' '\34' '\35' '\36' '\37' '\38' '\39' '\41' '\42' '\43' '\44' '\45' '\46';
	/* '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' */
}

Predefined Alphabetic Styles


@counter-style afar {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1260' '\1270' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12E8' '\12F0' '\12F8' '\1308' '\1338' '\1348';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'በ' 'ተ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'የ' 'ደ' 'ዸ' 'ገ' 'ጸ' 'ፈ' */
	suffix: '/';
}

@counter-style agaw {
	type: alphabetic;
	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';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'ቐ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style ari {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1328' '\1340' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጨ' 'ፀ' 'ፐ' */
	suffix: '/';
}

@counter-style blin {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1210' '\1218' '\1230' '\1238' '\1228' '\1240' '\1250' '\1260' '\1270' '\1290' '\1300' '\1308' '\1318' '\1320' '\1328' '\1348' '\1278' '\1298' '\1338' '\1330' '\1350';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሰ' 'ሸ' 'ረ' 'ቀ' 'ቐ' 'በ' 'ተ' 'ነ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ፈ' 'ቸ' 'ኘ' 'ጸ' 'ጰ' 'ፐ' */
	suffix: '/';
}

@counter-style cambodian-consonant {
	type: alphabetic;
	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';
	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
}

@counter-style cjk-earthly-branch {
	type: alphabetic;
	symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5';
	/* '子' '丑' '寅' '卯' '辰' '巳' '午' '未' '申' '酉' '戌' '亥' */
	suffix: '、';
}

@counter-style cjk-heavenly-stem {
	type: alphabetic;
	symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678';
	/* '甲' '乙' '丙' '丁' '戊' '己' '庚' '辛' '壬' '癸' */
	suffix: '、';
}

@counter-style dizi {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1338' '\1340' '\1348';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጸ' 'ፀ' 'ፈ' */
	suffix: '/';
}

@counter-style fullwidth-lower-alpha {
	type: alphabetic;
	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';
	/* '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' */
	suffix: '.';
}

@counter-style fullwidth-upper-alpha {
	type: alphabetic;
	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';
	/* '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' */
	suffix: '.';
}

@counter-style gedeo {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style gumuz {
	type: alphabetic;
	symbols: '\1200' '\1210' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1308' '\1328' '\1330' '\1340' '\1350';
	/* 'ሀ' 'ሐ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ገ' 'ጨ' 'ጰ' 'ፀ' 'ፐ' */
	suffix: '/';
}

@counter-style hadiyya {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style harari {
	type: alphabetic;
	symbols: '\1210' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1348';
	/* 'ሐ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ፈ' */
	suffix: '/';
}

@counter-style hindi {
	type: alphabetic;
	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';
	/* 'क' 'ख' 'ग' 'घ' 'ङ' 'च' 'छ' 'ज' 'झ' 'ञ' 'ट' 'ठ' 'ड' 'ढ' 'ण' 'त' 'थ' 'द' 'ध' 'न' 'प' 'फ' 'ब' 'भ' 'म' 'य' 'र' 'ल' 'व' 'श' 'ष' 'स' 'ह' */
}

@counter-style hiragana-iroha {
	type: alphabetic;
	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';
	/* 'い' 'ろ' 'は' 'に' 'ほ' 'へ' 'と' 'ち' 'り' 'ぬ' 'る' 'を' 'わ' 'か' 'よ' 'た' 'れ' 'そ' 'つ' 'ね' 'な' 'ら' 'む' 'う' 'ゐ' 'の' 'お' 'く' 'や' 'ま' 'け' 'ふ' 'こ' 'え' 'て' 'あ' 'さ' 'き' 'ゆ' 'め' 'み' 'し' 'ゑ' 'ひ' 'も' 'せ' 'す' 'ん' */
	suffix: '、';
}

@counter-style hiragana {
	type: alphabetic;
	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';
	/* 'あ' 'い' 'う' 'え' 'お' 'か' 'き' 'く' 'け' 'こ' 'さ' 'し' 'す' 'せ' 'そ' 'た' 'ち' 'つ' 'て' 'と' 'な' 'に' 'ぬ' 'ね' 'の' 'は' 'ひ' 'ふ' 'へ' 'ほ' 'ま' 'み' 'む' 'め' 'も' 'や' 'ゆ' 'よ' 'ら' 'り' 'る' 'れ' 'ろ' 'わ' 'を' 'ん' */
	suffix: '、';
}

@counter-style kaffa {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ሠ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style katakana-iroha {
	type: alphabetic;
	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';
	/* 'イ' 'ロ' 'ハ' 'ニ' 'ホ' 'ヘ' 'ト' 'チ' 'リ' 'ヌ' 'ル' 'ヲ' 'ワ' 'カ' 'ヨ' 'タ' 'レ' 'ソ' 'ツ' 'ネ' 'ナ' 'ラ' 'ム' 'ウ' 'ヰ' 'ノ' 'オ' 'ク' 'ヤ' 'マ' 'ケ' 'フ' 'コ' 'エ' 'テ' 'ア' 'サ' 'キ' 'ユ' 'メ' 'ミ' 'シ' 'ヱ' 'ヒ' 'モ' 'セ' 'ス' 'ン' */
	suffix: '、';
}

@counter-style katakana {
	type: alphabetic;
	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';
	/* 'ア' 'イ' 'ウ' 'エ' 'オ' 'カ' 'キ' 'ク' 'ケ' 'コ' 'サ' 'シ' 'ス' 'セ' 'ソ' 'タ' 'チ' 'ツ' 'テ' 'ト' 'ナ' 'ニ' 'ヌ' 'ネ' 'ノ' 'ハ' 'ヒ' 'フ' 'ヘ' 'ホ' 'マ' 'ミ' 'ム' 'メ' 'モ' 'ヤ' 'ユ' 'ヨ' 'ラ' 'リ' 'ル' 'レ' 'ロ' 'ワ' 'ヲ' 'ン' */
	suffix: '、';
}

@counter-style kebena {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style kembata {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
	suffix: '/';
}

@counter-style khmer-consonant {
	type: alphabetic;
	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';
	/* 'ក' 'ខ' 'គ' 'ឃ' 'ង' 'ច' 'ឆ' 'ជ' 'ឈ' 'ញ' 'ដ' 'ឋ' 'ឌ' 'ឍ' 'ណ' 'ត' 'ថ' 'ទ' 'ធ' 'ន' 'ប' 'ផ' 'ព' 'ភ' 'ម' 'យ' 'រ' 'ល' 'វ' 'ស' 'ហ' 'ឡ' 'អ' */
}

@counter-style konso {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style korean-consonant {
	type: alphabetic;
	symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E';
	/* 'ㄱ' 'ㄴ' 'ㄷ' 'ㄹ' 'ㅁ' 'ㅂ' 'ㅅ' 'ㅇ' 'ㅈ' 'ㅊ' 'ㅋ' 'ㅌ' 'ㅍ' 'ㅎ' */
}

@counter-style korean-syllable {
	type: alphabetic;
	symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558';
	/* '가' '나' '다' '라' '마' '바' '사' '아' '자' '차' '카' '타' '파' '하' */
}

@counter-style kunama {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' */
	suffix: '/';
}

@counter-style lower-alpha {
	type: alphabetic;
	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';
	/* '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' */
}

@counter-style lower-belorussian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'і' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ў' 'ф' 'х' 'ц' 'ч' 'ш' 'ы' 'ь' 'э' 'ю' 'я' */
	suffix: ')';
}

@counter-style lower-bulgarian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ь' 'ю' 'я' */
	suffix: ')';
}

@counter-style lower-greek {
	type: alphabetic;
	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';
	/* 'α' 'β' 'γ' 'δ' 'ε' 'ζ' 'η' 'θ' 'ι' 'κ' 'λ' 'μ' 'ν' 'ξ' 'ο' 'π' 'ρ' 'σ' 'τ' 'υ' 'φ' 'χ' 'ψ' 'ω' */
	/* This style is only defined because CSS2.1 has it.  It doesn't appear to actually be used in Greek texts. */
}

@counter-style lower-macedonian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'ѓ' 'е' 'ж' 'з' 'ѕ' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ќ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
	suffix: ')';
}

@counter-style lower-oromo-qubee {
	type: alphabetic;
	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';
	/* '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' */
}

@counter-style lower-russian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'э' 'ю' 'я' */
	suffix: ')';
}

@counter-style lower-russian-full {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'е' 'ё' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я' */
	suffix: ')';
}

@counter-style lower-serbo-croatian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'ђ' 'е' 'ж' 'з' 'и' 'ј' 'к' 'л' 'љ' 'м' 'н' 'њ' 'о' 'п' 'р' 'с' 'т' 'ћ' 'у' 'ф' 'х' 'ц' 'ч' 'џ' 'ш' */
	suffix: ')';
}

@counter-style lower-ukrainian {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'ю' 'я' */
	suffix: ')';
}

@counter-style lower-ukrainian-full {
	type: alphabetic;
	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';
	/* 'а' 'б' 'в' 'г' 'ґ' 'д' 'е' 'є' 'ж' 'з' 'и' 'і' 'ї' 'й' 'к' 'л' 'м' 'н' 'о' 'п' 'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ь' 'ю' 'я' */
	suffix: ')';
}

@counter-style meen {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1350' '\1340';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ኀ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፐ' 'ፀ' */
	suffix: '/';
}

@counter-style oromo {
	type: alphabetic;
	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';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
	suffix: '/';
}

@counter-style saho {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1240' '\1260' '\1270' '\1290' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ቀ' 'በ' 'ተ' 'ነ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
	suffix: '/';
}

@counter-style sidama {
	type: alphabetic;
	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';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'አ' 'ከ' 'ወ' 'የ' 'ደ' 'ዸ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' */
	suffix: '/';
}

@counter-style silti {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1320' '\1328' '\1330' '\1348';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' */
	suffix: '/';
}

@counter-style thai-alphabetic {
	type: alphabetic;
	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';
	/* 'ก' 'ข' 'ค' 'ง' 'จ' 'ฉ' 'ช' 'ซ' 'ฌ' 'ญ' 'ฎ' 'ฏ' 'ฐ' 'ฑ' 'ฒ' 'ณ' 'ด' 'ต' 'ถ' 'ท' 'ธ' 'น' 'บ' 'ป' 'ผ' 'ฝ' 'พ' 'ฟ' 'ภ' 'ม' 'ย' 'ร' 'ล' 'ว' 'ศ' 'ษ' 'ส' 'ห' 'ฬ' 'อ' 'ฮ' */
}

@counter-style tigre {
	type: alphabetic;
	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';
	/* 'ሀ' 'ለ' 'ሐ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'አ' 'ከ' 'ወ' 'ዐ' 'ዘ' 'የ' 'ደ' 'ጀ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style upper-alpha {
	type: alphabetic;
	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';
	/* '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' */
}

@counter-style upper-belorussian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'І' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ў' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
}

@counter-style upper-bulgarian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ь' 'Ю' 'Я' */
}

@counter-style upper-macedonian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ѓ' 'Е' 'Ж' 'З' 'Ѕ' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ќ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
}

@counter-style upper-oromo-qubee {
	type: alphabetic;
	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';
	/* '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' */
}

@counter-style upper-russian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Э' 'Ю' 'Я' */
}

@counter-style upper-russian-full {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ё' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я' */
}

@counter-style upper-serbo-croatian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш' */
}

@counter-style upper-ukrainian {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Ю' 'Я' */
}

@counter-style upper-ukrainian-full {
	type: alphabetic;
	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';
	/* 'А' 'Б' 'В' 'Г' 'Ґ' 'Д' 'Е' 'Є' 'Ж' 'З' 'И' 'І' 'Ї' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П' 'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ь' 'Ю' 'Я' */
}

@counter-style wolaita {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1290' '\1298' '\1230' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ሰ' 'ገ' 'ጠ' 'ጨ' 'ጰ' 'ጸ' 'ፀ' 'ፈ' 'ፐ' */
	suffix: '/';
}

@counter-style yemsa {
	type: alphabetic;
	symbols: '\1200' '\1208' '\1218' '\1228' '\1230' '\1238' '\1240' '\1260' '\1268' '\1270' '\1278' '\1290' '\1298' '\1300' '\1308' '\1318' '\1320' '\1328' '\1330' '\1348' '\1350';
	/* 'ሀ' 'ለ' 'መ' 'ረ' 'ሰ' 'ሸ' 'ቀ' 'በ' 'ቨ' 'ተ' 'ቸ' 'ነ' 'ኘ' 'ጀ' 'ገ' 'ጘ' 'ጠ' 'ጨ' 'ጰ' 'ፈ' 'ፐ' */
	suffix: '/';
}

Predefined Symbolic Styles


@counter-style asterisk {
	type: symbolic;
	symbols: '\2A';
	/* '*' */
	suffix: '';
}

@counter-style lower-alpha-symbolic {
	type: symbolic;
	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';
	/* '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' */
}

@counter-style upper-alpha-symbolic {
	type: symbolic;
	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';
	/* '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' */
}

Predefined Non-Repeating Styles


@counter-style circled-decimal {
	type: non-repeating 0;
	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';
	/* '⓪' '①' '②' '③' '④' '⑤' '⑥' '⑦' '⑧' '⑨' '⑩' '⑪' '⑫' '⑬' '⑭' '⑮' '⑯' '⑰' '⑱' '⑲' '⑳' '㉑' '㉒' '㉓' '㉔' '㉕' '㉖' '㉗' '㉘' '㉙' '㉚' '㉛' '㉜' '㉝' '㉞' '㉟' '㊱' '㊲' '㊳' '㊴' '㊵' '㊶' '㊷' '㊸' '㊹' '㊺' '㊻' '㊼' '㊽' '㊾' '㊿' */
	suffix: '';
}

@counter-style circled-lower-latin {
	type: non-repeating;
	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';
	/* 'ⓐ' 'ⓑ' 'ⓒ' 'ⓓ' 'ⓔ' 'ⓕ' 'ⓖ' 'ⓗ' 'ⓘ' 'ⓙ' 'ⓚ' 'ⓛ' 'ⓜ' 'ⓝ' 'ⓞ' 'ⓟ' 'ⓠ' 'ⓡ' 'ⓢ' 'ⓣ' 'ⓤ' 'ⓥ' 'ⓦ' 'ⓧ' 'ⓨ' 'ⓩ' */
	suffix: '';
}

@counter-style circled-upper-latin {
	type: non-repeating;
	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';
	/* 'Ⓐ' 'Ⓑ' 'Ⓒ' 'Ⓓ' 'Ⓔ' 'Ⓕ' 'Ⓖ' 'Ⓗ' 'Ⓘ' 'Ⓙ' 'Ⓚ' 'Ⓛ' 'Ⓜ' 'Ⓝ' 'Ⓞ' 'Ⓟ' 'Ⓠ' 'Ⓡ' 'Ⓢ' 'Ⓣ' 'Ⓤ' 'Ⓥ' 'Ⓦ' 'Ⓧ' 'Ⓨ' 'Ⓩ' */
	suffix: '';
}

@counter-style circled-korean-consonant {
	type: non-repeating;
	symbols: '\3260' '\3261' '\3262' '\3263' '\3264' '\3265' '\3266' '\3267' '\3268' '\3269' '\326A' '\326B' '\326C' '\326D';
	/* '㉠' '㉡' '㉢' '㉣' '㉤' '㉥' '㉦' '㉧' '㉨' '㉩' '㉪' '㉫' '㉬' '㉭' */
	suffix: '';
}

@counter-style circled-korean-syllable {
	type: non-repeating;
	symbols: '\326E' '\326F' '\3270' '\3271' '\3272' '\3273' '\3274' '\3275' '\3276' '\3277' '\3278' '\3279' '\327A' '\327B';
	/* '㉮' '㉯' '㉰' '㉱' '㉲' '㉳' '㉴' '㉵' '㉶' '㉷' '㉸' '㉹' '㉺' '㉻' */
	suffix: '';
}

@counter-style decimal-leading-zero {
	type: non-repeating -9;
	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';
	/* '-09' '-08' '-07' '-06' '-05' '-04' '-03' '-02' '-01' '00' '01' '02' '03' '04' '05' '06' '07' '08' '09' */
}

@counter-style dotted-decimal {
	type: non-repeating;
	symbols: '\2488' '\2489' '\248A' '\248B' '\248C' '\248D' '\248E' '\248F' '\2490' '\2491' '\2492' '\2493' '\2494' '\2495' '\2496' '\2497' '\2498' '\2499' '\249A' '\249B';
	/* '⒈' '⒉' '⒊' '⒋' '⒌' '⒍' '⒎' '⒏' '⒐' '⒑' '⒒' '⒓' '⒔' '⒕' '⒖' '⒗' '⒘' '⒙' '⒚' '⒛' */
	suffix: '';
}

@counter-style double-circled-decimal {
	type: non-repeating;
	symbols: '\24F5' '\24F6' '\24F7' '\24F8' '\24F9' '\24FA' '\24FB' '\24FC' '\24FD' '\24FE';
	/* '⓵' '⓶' '⓷' '⓸' '⓹' '⓺' '⓻' '⓼' '⓽' '⓾' */
	suffix: '';
}

@counter-style filled-circled-decimal {
	type: non-repeating;
	symbols: '\2776' '\2777' '\2778' '\2779' '\277a' '\277b' '\277c' '\277d' '\277e' '\277f' '\24EB' '\24EC' '\24ED' '\24EE' '\24EF' '\24F0' '\24F1' '\24F2' '\24F3' '\24F4';
	/* '❶' '❷' '❸' '❹' '❺' '❻' '❼' '❽' '❾' '❿' '⓫' '⓬' '⓭' '⓮' '⓯' '⓰' '⓱' '⓲' '⓳' '⓴' */
	suffix: '';
}

@counter-style fullwidth-upper-roman {
	type: non-repeating;
	symbols: '\2160' '\2161' '\2162' '\2163' '\2164' '\2165' '\2166' '\2167' '\2168' '\2169' '\216A' '\216B';
	/* 'Ⅰ' 'Ⅱ' 'Ⅲ' 'Ⅳ' 'Ⅴ' 'Ⅵ' 'Ⅶ' 'Ⅷ' 'Ⅸ' 'Ⅹ' 'Ⅺ' 'Ⅻ' */
	suffix: '';
}

@counter-style fullwidth-lower-roman {
	type: non-repeating;
	symbols: '\2170' '\2171' '\2172' '\2173' '\2174' '\2175' '\2176' '\2177' '\2178' '\2179' '\217A' '\217B';
	/* 'ⅰ' 'ⅱ' 'ⅲ' 'ⅳ' 'ⅴ' 'ⅵ' 'ⅶ' 'ⅷ' 'ⅸ' 'ⅹ' 'ⅺ' 'ⅻ' */
	suffix: '';
}

@counter-style parenthesized-decimal {
	type: non-repeating;
	symbols: '\2474' '\2475' '\2476' '\2477' '\2478' '\2479' '\247A' '\247B' '\247C' '\247D' '\247E' '\247F' '\2480' '\2481' '\2482' '\2483' '\2484' '\2485' '\2486' '\2487';
	/* '⑴' '⑵' '⑶' '⑷' '⑸' '⑹' '⑺' '⑻' '⑼' '⑽' '⑾' '⑿' '⒀' '⒁' '⒂' '⒃' '⒄' '⒅' '⒆' '⒇' */
	suffix: '';
}

@counter-style parenthesized-lower-latin {
	type: non-repeating;
	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';
	/* '⒜' '⒝' '⒞' '⒟' '⒠' '⒡' '⒢' '⒣' '⒤' '⒥' '⒦' '⒧' '⒨' '⒩' '⒪' '⒫' '⒬' '⒭' '⒮' '⒯' '⒰' '⒱' '⒲' '⒳' '⒴' '⒵' */
	suffix: '';
}

@counter-style parenthesized-hangul-consonant {
	type: non-repeating;
	symbols: '\3200' '\3201' '\3202' '\3203' '\3204' '\3205' '\3206' '\3207' '\3208' '\3209' '\320A' '\320B' '\320C' '\320D';
	/* '㈀' '㈁' '㈂' '㈃' '㈄' '㈅' '㈆' '㈇' '㈈' '㈉' '㈊' '㈋' '㈌' '㈍' */
	suffix: '';
}

@counter-style parenthesized-hangul-syllable {
	type: non-repeating;
	symbols: '\320E' '\320F' '\3210' '\3211' '\3212' '\3213' '\3214' '\3215' '\3216' '\3217' '\3218' '\3219' '\321A';
	/* '㈎' '㈏' '㈐' '㈑' '㈒' '㈓' '㈔' '㈕' '㈖' '㈗' '㈘' '㈙' '㈚' */
	suffix: '';
}

@counter-style persian-abjad {
	type: non-repeating;
	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';
	/* 'ا' 'ب' 'ج' 'د' 'ه‍' 'و' 'ز' 'ح' 'ط' 'ی' 'ک' 'ل' 'م' 'ن' 'س' 'ع' 'ف' 'ص' 'ق' 'ر' 'ش' 'ت' 'ث' 'خ' 'ذ' 'ض' 'ظ' 'غ' */
}

@counter-style persian-alphabetic {
	type: non-repeating;
	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';
	/* 'ا' 'ب' 'پ' 'ت' 'ث' 'ج' 'چ' 'ح' 'خ' 'د' 'ذ' 'ر' 'ز' 'ژ' 'س' 'ش' 'ص' 'ض' 'ط' 'ظ' 'ع' 'غ' 'ف' 'ق' 'ک' 'گ' 'ل' 'م' 'ن' 'و' 'ه‍' 'ی' */
}

Predefined Additive Styles


@counter-style hebrew {
	type: additive;
	range: 1 infinite;
	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';
	/* 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 'א' */
	/* 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. */
}

@counter-style simple-upper-roman {
	type: additive;
	range: 1 4999;
	additive-symbols: 1000 '\4D', 500 '\44', 100 '\43', 50 '\4C', 10 '\58', 5 '\56', 1 '\49';
	/* 1000 'M', 500 'D', 100 'C', 50 'L', 10 'X', 5 'V', 1 'I' */
}

@counter-style simple-lower-roman {
	type: additive;
	range: 1 4999;
	additive-symbols: 1000 '\6D', 500 '\64', 100 '\63', 50 '\6C', 10 '\78', 5 '\76', 1 '\69';
	/* 1000 'm', 500 'd', 100 'c', 50 'l', 10 'x', 5 'v', 1 'i' */
}

@counter-style upper-roman {
	type: additive;
	range: 1 4999;
	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';
	/* 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' */
}

@counter-style lower-roman {
	type: additive;
	range: 1 4999;
	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';
	/* 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' */
}

@counter-style lower-armenian {
	type: additive;
	range: 1 9999;
	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';
	/* 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 'ա' */
}

@counter-style upper-armenian {
	type: additive;
	range: 1 9999;
	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';
	/* 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 'Ա' */
}

@counter-style armenian {
	type: additive;
	range: 1 9999;
	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';
	/* 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 'Ա' */
}

@counter-style georgian {
	type: additive;
	range: 1 19999;
	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';
	/* 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 'ა' */
}

@counter-style ancient-tamil {
	type: additive;
	range: 1 9999;
	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';
	/* 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 '௧' */
}

@counter-style japanese-informal {
	type: additive;
	range: 0 9999;
	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';
	/* 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 '〇' */
	suffix: '\3001';
	/* '、' */
	fallback: cjk-decimal;
}

@counter-style japanese-formal {
	type: additive;
	range: 0 9999;
	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';
	/* 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 '零' */
	suffix: '\3001';
	/* '、' */
	fallback: cjk-decimal;
}

@counter-style korean-hangul-formal {
	type: additive;
	range: 0 9999;
	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';
	/* 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 '영' */
	suffix: '\3001';
	/* '、' */
}

@counter-style korean-hanja-informal {
	type: additive;
	range: 0 9999;
	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';
	/* 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 '零' */
	suffix: '\3001';
	/* '、' */
}

@counter-style korean-hanja-formal {
	type: additive;
	range: 0 9999;
	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';
	/* 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 '零' */
	suffix: '\3001';
	/* '、' */
}

@counter-style greek {
	type: additive;
	range: 1 999;
	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';
	/* 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 'α' */
}

Per http://www.ethiopic.org/w3c/css/WD-css3-lists-20020220-comments.html#armenianlists, 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.)

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?

Complex Counter Styles

While authors may define their own counter styles using the ''@counter-style'' rule defined in the Lists spec [[!CSS3LIST]] or rely on the set of predefined counter styles, a few counter styles are described by rules that are too complex to be captured by the predefined algorithms. These counter styles are described in this section.

The counter styles specified in this section have custom algorithms for generating counter values, but are otherwise identical to a counter style defined via the ''@counter-style'' rule, described below. For example, an author can reference one of these styles in an 'override' type, reusing the algorithm but swapping out some of the other descriptors.

Is it necessary to define ''ethiopic-numeric'' and the longhand Chinese styles out to these ranges? I have no idea if it would be common to use them in the sorts of situations where you need counter-styles in the thousands or higher. If they'll typically be used for only low-count use-cases, we can simplify them by just making them "non-repeating" styles manually defined out to 100 or so values. Alternately, the longhand Chinese styles can be defined out to 999 with some fallback hackery, or 9999 with some fallback hackery + changes to Lists.

symbols

CSS 2.1 defined three single-symbol counter styles (''circle'', ''disc'', and ''square''), but didn't define precisely how to render them, instead opting to describe generally how they should look and leaving it up to the UA to decide how to render the markers.

The Predefined Counter Styles section gives normative definitions for these styles, but UAs may instead default to rendering these styles using a browser-generated image matching the description below. This only describes the rendering of the default counter styles associated with these names - if an author or user creates their own counter style with one of these names (overriding the UA-default version), they must be honored as normal.

If the UA chooses to use an image for the default rendering of these counter styles, the image must be scalable and designed to attractively fill a box 1em wide and 1em tall.

circle
A hollow circle, similar to ◦ U+25E6 WHITE BULLET.
disc
A filled circle, similar to • U+2022 BULLET.
square
A filled square, similar to ◾ U+25FE BLACK MEDIUM SMALL SQUARE.

The 'ethiopic-numeric' counter style

The Ethiopian numbering system is defined for all positive non-zero numbers. The following algorithm converts decimal digits to ethiopic numbers.

  1. Split the number into groups of two digits, starting with the least significant decimal digit.
  2. Index each group sequentially, starting from the least significant as group number zero.
  3. If the group has an odd index (as given in the previous step) and has the value 1, or if the group is the most significant one and has the value 1, or if the group has the value zero, then remove the digit (but leave the group, so it still has a separator appended below).
  4. For each remaining digit, substitute the relevant ethiopic character from the list below.
    Tens Units
    Values Codepoints Values Codepoints
    10 U+1372 1 U+1369
    20 U+1373 2 U+136A
    30 U+1374 3 U+136B
    40 U+1375 4 U+136C
    50 U+1376 5 U+136D
    60 U+1377 6 U+136E
    70 U+1378 7 U+136F
    80 U+1379 8 U+1370
    90 U+137A 9 U+1371
  5. For each group with an odd index (as given in the second step) that did not have its digits removed in the third step, append ፻ U+137B.
  6. For each group with an even index (as given in the second step), except the group with number 0, append ፼ U+137C.
  7. Concatenate the groups into one string.

For this system, the name is "ethiopic-numeric", the lower range bound descriptor is 1, the upper range bound descriptor is infinity, and the rest of the descriptors have their initial value.

Is there a better suffix to use than the initial (".")? The alphabetic ethiopic systems use a different suffix.

The decimal number 100, in ethiopic, is ፻ U+137B

The decimal number 78010092, in ethiopic, is ፸፰፻፩፼፺፪ U+1378 U+1370 U+137B U+1369 U+137C U+137A U+136A.

The decimal number 780000001092, in ethiopic, is ፸፰፻፩፼፼፺፪ U+1378 U+1370 U+137B U+1369 U+137C U+137C U+137A U+136A.

The Chinese longhand counter styles

Chinese, Japanese, and Korean have longhand counter styles, which have a structure similar to "one hundred thirteen thousand and twenty-three" in English. Each has both formal and informal variants. The formal styles are typically used in financial and legal documents, as their characters are more difficult to alter.

The Japanese and Korean longhand counter styles are expressed using the additive counter algorithm, in the Predefined Counter Styles section. The Chinese longhand styles have slightly more complex requirements that prevent them from being defined as additive style, so instead the following counter styles are defined in this section:

simp-chinese-informal
The simplified Chinese informal style.
simp-chinese-formal
The simplified Chinese formal style
trad-chinese-informal
The traditional Chinese informal style
trad-chinese-formal
The traditional Chinese formal style
cjk-ideographic
For legacy reasons, this counter-style must be treated as an alias for ''trad-chinese-informal''.

Add an example to each of the above types.

The Chinese longhand styles are defined over the range -9999 to 9999. For numbers outside this range, the ''cjk-decimal'' style is used. All of the styles are defined by almost identical algorithms (specified as a single algorithm here, with the differences called out when relevant), but use different sets of characters. The list following the algorithm gives the name of each counter style using this algorithm, and the individual character sets used by each style.

  1. If the counter value is 0, the representation is the character for 0 specified for the given counter style. Skip the rest of this algorithm.
  2. Initially represent the counter value as a decimal number. For each digit that is not 0, append the appropriate digit marker to the digit. The ones digit has no marker.
  3. For the informal styles, if the counter value is between ten and nineteen, remove the tens digit (leave the digit marker).
  4. Drop any trailing zeros and collapse any remaining zeros into a single zero digit.
  5. Replace the digits 0-9 with the appropriate character for the given counter style. Return the resultant string as the representation of the counter value.

For all of these counter styles, the suffix descriptor is "、" U+3001, the fallback descriptor is ''cjk-decimal'', the lower bound descriptor is -9999, the upper bound descriptor is 9999, and the negative sign is given in the table of symbols for each style.

The following tables define the characters used in these styles:

Values Codepoints
simp-chinese-informal simp-chinese-formal trad-chinese-informal trad-chinese-formal
Digit 0 零 U+96F6 零 U+96F6 零 U+96F6 零 U+96F6
Digit 1 一 U+4E00 壹 U+58F9 一 U+4E00 壹 U+58F9
Digit 2 二 U+4E8C 贰 U+8D30 二 U+4E8C 貳 U+8CB3
Digit 3 三 U+4E09 叁 U+53C1 三 U+4E09 參 U+53C3
Digit 4 四 U+56DB 肆 U+8086 四 U+56DB 肆 U+8086
Digit 5 五 U+4E94 伍 U+4F0D 五 U+4E94 伍 U+4F0D
Digit 6 六 U+516D 陆 U+9646 六 U+516D 陸 U+9678
Digit 7 七 U+4E03 柒 U+67D2 七 U+4E03 柒 U+67D2
Digit 8 八 U+516B 捌 U+634C 八 U+516B 捌 U+634C
Digit 9 九 U+4E5D 玖 U+7396 九 U+4E5D 玖 U+7396
Tens Digit Marker 十 U+5341 拾 U+62FE 十 U+5341 拾 U+62FE
Hundreds Digit Marker 百 U+767E 佰 U+4F70 百 U+767E 佰 U+4F70
Thousands Digit Marker 千 U+5343 仟 U+4EDF 千 U+5343 仟 U+4EDF
Negative Sign 负 U+8D1F 負 U+8D1F 負 U+8CA0 負 U+8CA0

Note: Chinese, Japanese, and Korean longhand numbering is actually defined up to 1072. In practice, lists are rarely numbered above ten thousand, so these styles have been limited to their first "group".

For reference, here are the first 120 values for the ''simp-chinese-informal'' style:

  1     一    41   四十一    81   八十一
  2     二    42   四十二    82   八十二
  3     三    43   四十三    83   八十三
  4     四    44   四十四    84   八十四
  5     五    45   四十五    85   八十五
  6     六    46   四十六    86   八十六
  7     七    47   四十七    87   八十七
  8     八    48   四十八    88   八十八
  9     九    49   四十九    89   八十九
 10     十    50    五十    90    九十
 11    十一    51   五十一    91   九十一
 12    十二    52   五十二    92   九十二
 13    十三    53   五十三    93   九十三
 14    十四    54   五十四    94   九十四
 15    十五    55   五十五    95   九十五
 16    十六    56   五十六    96   九十六
 17    十七    57   五十七    97   九十七
 18    十八    58   五十八    98   九十八
 19    十九    59   五十九    99   九十九
 20    二十    60    六十   100    一百
 21   二十一    61   六十一   101  一百零一
 22   二十二    62   六十二   102  一百零二
 23   二十三    63   六十三   103  一百零三
 24   二十四    64   六十四   104  一百零四
 25   二十五    65   六十五   105  一百零五
 26   二十六    66   六十六   106  一百零六
 27   二十七    67   六十七   107  一百零七
 28   二十八    68   六十八   108  一百零八
 29   二十九    69   六十九   109  一百零九
 30    三十    70    七十   110  一百一十
 31   三十一    71   七十一   111 一百一十一
 32   三十二    72   七十二   112 一百一十二
 33   三十三    73   七十三   113 一百一十三
 34   三十四    74   七十四   114 一百一十四
 35   三十五    75   七十五   115 一百一十五
 36   三十六    76   七十六   116 一百一十六
 37   三十七    77   七十七   117 一百一十七
 38   三十八    78   七十八   118 一百一十八
 39   三十九    79   七十九   119 一百一十九
 40    四十    80    八十   120  一百二十

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:

@counter-style simp-chinese-informal {
	type: non-repeating 101;
	fallback: simp-chinese-informal-200;
	symbols: 一百零一 一百零二 一百零三 一百零四 一百零五 一百零六 一百零七 一百零八 一百零九;
}
@counter-style simp-chinese-informal-200 {
	type: non-repeating 201;
	fallback: simp-chinese-informal-300;
	symbols: 二百零一 二百零二 二百零三 二百零四 二百零五 二百零六 二百零七 二百零八 二百零九;
}
/* etc for 300 through 900*/
@counter-style simp-chinese-informal-10 {
	type: non-repeating 10;
	fallback: simp-chinese-informal-rest;
	symbols: 十 十一 十二 十三 十四 十五 十六 十七 十八 十九;
}
@counter-style simp-chinese-informal-rest {
	type: additive;
	range: 0 999;
	fallback: cjk-decimal;
	additive-symbols: 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 零;
}

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.

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?

Optional Extended Counter Styles

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.

This entire section is normative, but optional. 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.

Extended CJK Longhand

The Chinese longhand styles are defined out to 10k with a specialized algorithm, while the Japanese and Korean longhand styles are defined similarly as additive styles. However, these styles are defined out to 1016 in common usage. The following section describes an alternative algorithm for these styles.

The Chinese and Japanese styles are defined for all numbers between -1016 and 1016, exclusive; the Korean styles are defined for all non-negative numbers less than 1016. For numbers outside this range, the ''cjk-decimal'' style is used. All of the styles are defined by almost identical algorithms (specified as a single algorithm here, with the differences called out when relevant), but use different sets of characters. The list following the algorithm gives the name of each counter style using this algorithm, and the individual character sets used by each style.

  1. If the counter value is 0, the representation is the character for 0 specified for the given counter style. Skip the rest of this algorithm.
  2. Initially represent the counter value as a decimal number. Starting from the right (ones place), split the decimal number into groups of four digits.
  3. For each group with a non-zero value, append the appropriate group marker to the group. The ones group has no marker.
  4. Within each group, for each digit that is not 0, append the appropriate digit marker to the digit. The ones digit of each group has no marker.
  5. Drop ones:
  6. Drop zeros:
  7. For the Korean styles, insert a space (" " U+0020) between each group.
  8. Replace the digits 0-9 with the appropriate character for the given counter style. Return the resultant string as the representation of the counter value.

For all of these counter styles, the suffix descriptor is "、" U+3001, the fallback descriptor is ''cjk-decimal'', and the negative sign is given in the tables below, or else is the initial value of the descriptor. For Chinese and Japanese, the lower range bound descriptor is -9999 9999 9999 9999 (-1016+1), while for Korean it's 0. For all of them, the upper range bound descriptor is 9999 9999 9999 9999 (1016-1).

The following tables define the characters used in these styles:

Values Codepoints
simp-chinese-informal simp-chinese-formal trad-chinese-informal trad-chinese-formal
Digit 0 零 U+96F6 零 U+96F6 零 U+96F6 零 U+96F6
Digit 1 一 U+4E00 壹 U+58F9 一 U+4E00 壹 U+58F9
Digit 2 二 U+4E8C 贰 U+8D30 二 U+4E8C 貳 U+8CB3
Digit 3 三 U+4E09 叁 U+53C1 三 U+4E09 參 U+53C3
Digit 4 四 U+56DB 肆 U+8086 四 U+56DB 肆 U+8086
Digit 5 五 U+4E94 伍 U+4F0D 五 U+4E94 伍 U+4F0D
Digit 6 六 U+516D 陆 U+9646 六 U+516D 陸 U+9678
Digit 7 七 U+4E03 柒 U+67D2 七 U+4E03 柒 U+67D2
Digit 8 八 U+516B 捌 U+634C 八 U+516B 捌 U+634C
Digit 9 九 U+4E5D 玖 U+7396 九 U+4E5D 玖 U+7396
Second Digit Marker 十 U+5341 拾 U+62FE 十 U+5341 拾 U+62FE
Third Digit Marker 百 U+767E 佰 U+4F70 百 U+767E 佰 U+4F70
Fourth Digit Marker 千 U+5343 仟 U+4EDF 千 U+5343 仟 U+4EDF
Second Group Marker 万 U+4E07 万 U+4E07 萬 U+842C 萬 U+842C
Third Group Marker 亿 U+4EBF 亿 U+4EBF 億 U+5104 億 U+5104
Fourth Group Marker 万亿 U+4E07 U+4EBF 万亿 U+4E07 U+4EBF 兆 U+5146 兆 U+5146
Negative Sign 负 U+8D1F 負 U+8D1F 負 U+8CA0 負 U+8CA0
Values Codepoints
japanese-informal japanese-formal
Digit 0 〇 U+3007 零 U+96F6
Digit 1 一 U+4E00 壱 U+58F1
Digit 2 二 U+4E8C 弐 U+5F10
Digit 3 三 U+4E09 参 U+53C2
Digit 4 四 U+56DB 四 U+56DB
Digit 5 五 U+4E94 伍 U+4f0D
Digit 6 六 U+516D 六 U+516D
Digit 7 七 U+4E03 七 U+4E03
Digit 8 八 U+516B 八 U+516B
Digit 9 九 U+4E5D 九 U+4E5D
Second Digit Marker 十 U+5341 拾 U+62FE
Third Digit Marker 百 U+767E 百 U+767E
Fourth Digit Marker 千 U+5343 阡 U+9621
Second Group Marker 万 U+4E07 萬 U+842C
Third Group Marker 億 U+5104 億 U+5104
Fourth Group Marker 兆 U+5146 兆 U+5146
Negative Sign マイナス U+30DE U+30A4 U+30CA U+30B9
Values Codepoints
korean-hangul-formal korean-hanja-informal korean-hanja-formal
Digit 0 영 U+C601 零 U+96F6 零 U+96F6
Digit 1 일 U+C77C 一 U+4E00 壹 U+58F9
Digit 2 이 U+C774 二 U+4E8C 貳 U+8CB3
Digit 3 삼 U+C0BC 三 U+4E09 參 U+53C3
Digit 4 사 U+C0AC 四 U+56DB 四 U+56DB
Digit 5 오 U+C624 五 U+4E94 五 U+4E94
Digit 6 육 U+C721 六 U+516D 六 U+516D
Digit 7 칠 U+CE60 七 U+4E03 七 U+4E03
Digit 8 팔 U+D314 八 U+516B 八 U+516B
Digit 9 구 U+AD6C 九 U+4E5D 九 U+4E5D
Second Digit Marker 십 U+C2ED 十 U+5341 拾 U+62FE
Third Digit Marker 백 U+BC31 百 U+767E 百 U+767E
Fourth Digit Marker 천 U+CC9C 千 U+5343 仟 U+4EDF
Second Group Marker 만 U+B9CC 萬 U+842C 萬 U+842C
Third Group Marker 억 U+C5B5 億 U+5104 億 U+5104
Fourth Group Marker 조 U+C870 兆 U+5146 兆 U+5146

Extended Non-Repeating Numbered Styles

Several non-repeating styles are numeric in nature, but are represented by single Unicode characters. As such, they are limited to the range of characters that Unicode saw fit to define for them. However, new symbols can be generated by the UA over a somewhat extended range.

All of the following styles are defined over the range 1-99. The symbols for each counter value must be the unicode symbol already defined for that value in the existing @counter-style rule, or a generated image in the same style with the counter value changed as appropriate: