- 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>
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