[css3-counter-styles] Handling ethiopic-numerals and extended CJK numbers

Hi,

Section 6.1.2 describes an algorithm to handle an extended set of Chinese,
Japanese and Korean numbers. The way it is presented is similar to the way
the other systems are handled, therefore it makes sense for an implementor
to have a counter style with |system: cjk| and the characters set
appropriately.

Likewise, the ethiopic-numerals style could similarly be handled via a
|system: ethiopic| counter style with the appropriate characters set.

These and any extended symbol sets would be vendor prefixed as Counter
Styles 3 currently stands, but could possibly form part of a Counter Styles
4 specification to handle these properly.

Looking at the way numbers are spoken (e.g. "one hundred and sixteen" for
116 in British English), the way these are constructed is similar to the
way ethiopic-numerals are formed [1]. The only difference is that Western
numbers are split in groups of 3, whereas Ethiopic numbers are split into
groups of 2. Also, Korean splits numbers into groups of 4.

Therefore, instead of having a specific ethiopic system, they could be
expressed using something like |system: natural; group-length: 2;|.

This will also help with the CJK extended sets as well, as looking at
section 6.1.2, the tables use production rules for handling group-length 4
numbers.

I am interested in spoken forms for numbers as part of my work on a
Text-to-Speech program and am wondering if I can express spoken cardinal
and ordinal forms as CSS counter styles.

-----

RFC: Grouped Numbers : the 'grouped' system

This system is used to handle number systems that group numbers into digit
blocks (such as the Chinese, Japanese, Korean and Ethiopic number systems).

| system: grouped

Specifies that the counter style handles numbers in groups of n-digit
numbers, where n is specified by the /order/ property.

| order: <number>

Specifies the number of digits each number group of a /grouped/ counter
style contains.

| digit-symbols: <integer> <symbol>+

Specifies the symbols to use for the digits of a /grouped/ counter style.
The integer specifies the rank to which these symbols apply (supporting
productions like 50 => "fifty").

| symbols: <symbol>+

Specifies the symbols to use for any digit position. If there are 10 or
more, those are special cases for the numbers 10 and above. [This is to
support productions such as 11 => "eleven"]. Only symbols 0 - 9 are used in
any rank.

| rank-symbols: <symbol>+

Specifies the symbols to use to signify a given rank (e.g. the units, tens,
hundreds and thousands digits).

| group-symbols: <symbol>+

Specifies the symbols used to signify the current group of digits. That is,
the current block of /order/ digits counting from right to left starting at
0.

-----

References

1.  http://www.geez.org/Numerals/
2.
http://www.koreanfluent.com/cross_cultural/korean_numbers/korean_numbers.htm

Thanks,
- Reece

Received on Thursday, 21 February 2013 12:09:26 UTC