# Re: CSS3 Lists Modules and Syriac

From: Ian Hickson <ian@hixie.ch>
Date: Fri, 4 Oct 2002 23:39:47 +0000 (GMT)
To: Emil Soleyman-Zomalan <emil@nishra.com>
Cc: "www-style@w3.org" <www-style@w3.org>
Message-ID: <Pine.LNX.4.21.0210042334270.3418-100000@dhalsim.dreamhost.com>
```
On Fri, 4 Oct 2002, Emil Soleyman-Zomalan wrote:
>
> On Fri, 04 Oct 2002, Ian Hickson wrote:
>
> > If someone can give me a detailed, comprehensive numbering system
> > algorithm for it, I would be happy to add it to the lists module. What
> > range does it cover? How are numbers generated? What exceptions are
> > there? Is order important?
>
> I don't believe that there is a comprehensive numbering system algorithm
> for it. If need be I can try to write one for it in perl.

English would be better. Your tables were a good start, but it isn't
detailed enough to explain how to generate the numbers.

Here is an example algorithm, without it's associated tables:

| The cjk-ideographic algorithm is used by several numbering systems,
| using different sets of digits. These systems are defined for
| numbers greater than or equal to 0 and less than 10^16. Numbers less
| than zero or equal to or greater than 10^16 should use the decimal
| system. The core algorithm is as follows:
|
|    1. Split the decimal number into groups of four digits, starting
|       with the least significant digit.
|
|    2. Ignoring groups that have the value zero, append the second
|       group marker to the second group, the third group marker to the
|       third group, and the fourth group marker to the fourth group.
|       These markers are defined in the tables for the specific
|       numbering systems. The first group has no marker.
|
|    3. For each group, ignoring digits that have the value zero, append
|       the second digit marker to the second digit, the third digit
|       marker to the third digit, and the fourth digit marker to the
|       fourth digit. These markers are defined in the tables for the
|       specific numbering systems. The first digit has no marker.
|
|    4. For any group with a value less than 20, remove the second digit
|       (the 1 in the tens column). Leave any associated markers.
|
|    5. Concatenate the groups back into a single string, least
|       significant group last.
|
|    6. Collapse any consecutive runs of 0 digits to a single 0.
|
|    7. Replace each digit with the relevant character selected from the
|       numbering system's table.
|
| The suffix for the cjk-ideographic numbering systems is a dot .
| U+002E.

(Note, if people spot any errors with this algorithm, I'd be happy to