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