Re: CSS3 Lists Modules and Syriac

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
hear about them.)

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
"meow"                                          /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'

Received on Friday, 4 October 2002 19:39:49 UTC