1/* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5/* Defined in CSS Counter Styles Level 3 */ 6 7/* 6 Simple Predefined Counter Styles */ 8 9/* 6.1 Numeric */ 10 11@counter-style decimal-leading-zero { 12 system: extends decimal; 13 pad: 2 '0'; 14} 15 16@counter-style arabic-indic { 17 system: numeric; 18 symbols: '\660' '\661' '\662' '\663' '\664' '\665' '\666' '\667' '\668' '\669'; 19} 20 21@counter-style armenian { 22 system: additive; 23 range: 1 9999; 24 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'; 25} 26 27@counter-style upper-armenian { 28 system: additive; 29 range: 1 9999; 30 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'; 31} 32 33@counter-style lower-armenian { 34 system: additive; 35 range: 1 9999; 36 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'; 37} 38 39@counter-style bengali { 40 system: numeric; 41 symbols: '\9E6' '\9E7' '\9E8' '\9E9' '\9EA' '\9EB' '\9EC' '\9ED' '\9EE' '\9EF'; 42} 43 44@counter-style cambodian { 45 system: extends khmer; 46} 47 48@counter-style khmer { 49 system: numeric; 50 symbols: '\17E0' '\17E1' '\17E2' '\17E3' '\17E4' '\17E5' '\17E6' '\17E7' '\17E8' '\17E9'; 51} 52 53@counter-style cjk-decimal { 54 system: numeric; 55 range: 0 infinite; 56 symbols: '\3007' '\4E00' '\4E8C' '\4E09' '\56DB' '\4E94' '\516D' '\4E03' '\516B' '\4E5D'; 57 suffix: '\3001'; 58} 59 60@counter-style devanagari { 61 system: numeric; 62 symbols: '\966' '\967' '\968' '\969' '\96A' '\96B' '\96C' '\96D' '\96E' '\96F'; 63} 64 65@counter-style georgian { 66 system: additive; 67 range: 1 19999; 68 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'; 69} 70 71@counter-style gujarati { 72 system: numeric; 73 symbols: '\AE6' '\AE7' '\AE8' '\AE9' '\AEA' '\AEB' '\AEC' '\AED' '\AEE' '\AEF'; 74} 75 76@counter-style gurmukhi { 77 system: numeric; 78 symbols: '\A66' '\A67' '\A68' '\A69' '\A6A' '\A6B' '\A6C' '\A6D' '\A6E' '\A6F'; 79} 80 81/* hebrew is not included because our builtin algorithm can generate a wider 82 * range of number in this style than what the spec defines. */ 83 84@counter-style kannada { 85 system: numeric; 86 symbols: '\CE6' '\CE7' '\CE8' '\CE9' '\CEA' '\CEB' '\CEC' '\CED' '\CEE' '\CEF'; 87} 88 89@counter-style lao { 90 system: numeric; 91 symbols: '\ED0' '\ED1' '\ED2' '\ED3' '\ED4' '\ED5' '\ED6' '\ED7' '\ED8' '\ED9'; 92} 93 94@counter-style malayalam { 95 system: numeric; 96 symbols: '\D66' '\D67' '\D68' '\D69' '\D6A' '\D6B' '\D6C' '\D6D' '\D6E' '\D6F'; 97} 98 99@counter-style mongolian { 100 system: numeric; 101 symbols: '\1810' '\1811' '\1812' '\1813' '\1814' '\1815' '\1816' '\1817' '\1818' '\1819'; 102} 103 104@counter-style myanmar { 105 system: numeric; 106 symbols: '\1040' '\1041' '\1042' '\1043' '\1044' '\1045' '\1046' '\1047' '\1048' '\1049'; 107} 108 109@counter-style oriya { 110 system: numeric; 111 symbols: '\B66' '\B67' '\B68' '\B69' '\B6A' '\B6B' '\B6C' '\B6D' '\B6E' '\B6F'; 112} 113 114@counter-style persian { 115 system: numeric; 116 symbols: '\6F0' '\6F1' '\6F2' '\6F3' '\6F4' '\6F5' '\6F6' '\6F7' '\6F8' '\6F9'; 117} 118 119@counter-style lower-roman { 120 system: additive; 121 range: 1 3999; 122 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'; 123} 124 125@counter-style upper-roman { 126 system: additive; 127 range: 1 3999; 128 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'; 129} 130 131@counter-style tamil { 132 system: numeric; 133 symbols: '\BE6' '\BE7' '\BE8' '\BE9' '\BEA' '\BEB' '\BEC' '\BED' '\BEE' '\BEF'; 134} 135 136@counter-style telugu { 137 system: numeric; 138 symbols: '\C66' '\C67' '\C68' '\C69' '\C6A' '\C6B' '\C6C' '\C6D' '\C6E' '\C6F'; 139} 140 141@counter-style thai { 142 system: numeric; 143 symbols: '\E50' '\E51' '\E52' '\E53' '\E54' '\E55' '\E56' '\E57' '\E58' '\E59'; 144} 145 146@counter-style tibetan { 147 system: numeric; 148 symbols: '\F20' '\F21' '\F22' '\F23' '\F24' '\F25' '\F26' '\F27' '\F28' '\F29'; 149} 150 151/* 6.2 Alphabetic */ 152 153@counter-style lower-alpha { 154 system: alphabetic; 155 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'; 156} 157 158@counter-style lower-latin { 159 system: extends lower-alpha; 160} 161 162@counter-style upper-alpha { 163 system: alphabetic; 164 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'; 165} 166 167@counter-style upper-latin { 168 system: extends upper-alpha; 169} 170 171@counter-style cjk-heavenly-stem { 172 system: alphabetic; 173 symbols: '\7532' '\4E59' '\4E19' '\4E01' '\620A' '\5DF1' '\5E9A' '\8F9B' '\58EC' '\7678'; 174 fallback: cjk-decimal; 175 suffix: '\3001'; 176} 177 178@counter-style cjk-earthly-branch { 179 system: alphabetic; 180 symbols: '\5B50' '\4E11' '\5BC5' '\536F' '\8FB0' '\5DF3' '\5348' '\672A' '\7533' '\9149' '\620C' '\4EA5'; 181 fallback: cjk-decimal; 182 suffix: '\3001'; 183} 184 185@counter-style lower-greek { 186 system: alphabetic; 187 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'; 188} 189 190@counter-style hiragana { 191 system: alphabetic; 192 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' '\3090' '\3091' '\3092' '\3093'; 193 suffix: '\3001'; 194} 195 196@counter-style hiragana-iroha { 197 system: alphabetic; 198 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'; 199 suffix: '\3001'; 200} 201 202@counter-style katakana { 203 system: alphabetic; 204 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' '\30F0' '\30F1' '\30F2' '\30F3'; 205 suffix: '\3001'; 206} 207 208@counter-style katakana-iroha { 209 system: alphabetic; 210 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'; 211 suffix: '\3001'; 212} 213 214/* 6.3 Symbolic */ 215 216/* symbolic counter styles are not included because they will be drew directly 217 * by the program instead of use alternative symbols defined in the spec */ 218 219/* 7 Complex Predefined Counter Styles */ 220 221/* only alias is included as other complex counter styles will be generated by 222 * specific algorithms to support the extended range. */ 223 224@counter-style cjk-ideographic { 225 system: extends trad-chinese-informal; 226} 227 228/* Mozilla-specific counter styles */ 229 230/* Numeric */ 231 232@counter-style -moz-arabic-indic { 233 system: extends arabic-indic; 234} 235 236@counter-style -moz-persian { 237 system: extends persian; 238} 239 240@counter-style -moz-urdu { 241 system: extends persian; 242} 243 244@counter-style -moz-devanagari { 245 system: extends devanagari; 246} 247 248@counter-style -moz-bengali { 249 system: extends bengali; 250} 251 252@counter-style -moz-gurmukhi { 253 system: extends gurmukhi; 254} 255 256@counter-style -moz-gujarati { 257 system: extends gujarati; 258} 259 260@counter-style -moz-oriya { 261 system: extends oriya; 262} 263 264@counter-style -moz-tamil { 265 system: extends tamil; 266} 267 268@counter-style -moz-telugu { 269 system: extends telugu; 270} 271 272@counter-style -moz-kannada { 273 system: extends kannada; 274} 275 276@counter-style -moz-malayalam { 277 system: extends malayalam; 278} 279 280@counter-style -moz-thai { 281 system: extends thai; 282} 283 284@counter-style -moz-lao { 285 system: extends lao; 286} 287 288@counter-style -moz-myanmar { 289 system: extends myanmar; 290} 291 292@counter-style -moz-khmer { 293 system: extends khmer; 294} 295 296/* Alphabetic */ 297 298@counter-style -moz-cjk-heavenly-stem { 299 system: extends cjk-heavenly-stem; 300} 301@counter-style -moz-cjk-earthly-branch { 302 system: extends cjk-earthly-branch; 303} 304 305@counter-style -moz-hangul { 306 system: alphabetic; 307 symbols: '\AC00' '\B098' '\B2E4' '\B77C' '\B9C8' '\BC14' '\C0AC' '\C544' '\C790' '\CC28' '\CE74' '\D0C0' '\D30C' '\D558'; 308 suffix: ','; 309} 310@counter-style -moz-hangul-consonant { 311 system: alphabetic; 312 symbols: '\3131' '\3134' '\3137' '\3139' '\3141' '\3142' '\3145' '\3147' '\3148' '\314A' '\314B' '\314C' '\314D' '\314E'; 313 suffix: ','; 314} 315 316/* Ge'ez set of Ethiopic ordered list. There are other locale-dependent sets. 317 * For the time being, let's implement two Ge'ez sets only 318 * per Momoi san's suggestion in bug 102252. 319 * For details, refer to http://www.ethiopic.org/Collation/OrderedLists.html. */ 320@counter-style -moz-ethiopic-halehame { 321 system: alphabetic; 322 symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1240' '\1260' '\1270' '\1280' '\1290' '\12A0' '\12A8' '\12C8' '\12D0' '\12D8' '\12E8' '\12F0' '\1308' '\1320' '\1330' '\1338' '\1340' '\1348' '\1350'; 323} 324@counter-style -moz-ethiopic-halehame-am { 325 system: alphabetic; 326 symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\12A0' '\12A8' '\12B8' '\12C8' '\12D0' '\12D8' '\12E0' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350'; 327} 328@counter-style -moz-ethiopic-halehame-ti-er { 329 system: alphabetic; 330 symbols: '\1200' '\1208' '\1210' '\1218' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1270' '\1278' '\1290' '\1298' '\12A0' '\12A8' '\12B8' '\12C8' '\12D0' '\12D8' '\12E0' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1348' '\1350'; 331} 332@counter-style -moz-ethiopic-halehame-ti-et { 333 system: alphabetic; 334 symbols: '\1200' '\1208' '\1210' '\1218' '\1220' '\1228' '\1230' '\1238' '\1240' '\1250' '\1260' '\1270' '\1278' '\1280' '\1290' '\1298' '\12A0' '\12A8' '\12B8' '\12C8' '\12D0' '\12D8' '\12E0' '\12E8' '\12F0' '\1300' '\1308' '\1320' '\1328' '\1330' '\1338' '\1340' '\1348' '\1350'; 335} 336 337/* Alias */ 338 339@counter-style -moz-trad-chinese-informal { 340 system: extends trad-chinese-informal; 341} 342 343@counter-style -moz-trad-chinese-formal { 344 system: extends trad-chinese-formal; 345} 346 347@counter-style -moz-simp-chinese-informal { 348 system: extends simp-chinese-informal; 349} 350 351@counter-style -moz-simp-chinese-formal { 352 system: extends simp-chinese-formal; 353} 354 355@counter-style -moz-japanese-informal { 356 system: extends japanese-informal; 357} 358 359@counter-style -moz-japanese-formal { 360 system: extends japanese-formal; 361} 362 363@counter-style -moz-ethiopic-numeric { 364 system: extends ethiopic-numeric; 365} 366