RE: [css3-lists] CJK numbering algorithms

Looks almost good to me. A few comments follow.

>   6. Simplify:
>        * For informal styles, for any group with a value between ten
>          and nineteen, remove the digit before the tens marker.

For Chinese informal style only, as Japanese and Korean are covered by the next item. Doing this doesn't harm though.

>        * For the Japanese and Korean informal styles, if any of
>          the digit markers are preceded by the digit 1, and that digit
>          is not the first digit of the group, remove the digit, leaving
>          only the marker.

Just to clarify the possible ambiguity, "For the Japanese informal and Korean informal" works better for me. There was an error to apply this to Japanese formal style as well in Murakami-san's e-mail[1] and then it was corrected in the attachment file of this e-mail[2].

>   7. Collapse (across groups) any consecutive runs of 0 digits into
>        * nothing, for Japanese
>        * a single _zero digit_, for Chinese
>      [Add appropriate prose for Korean]

This should be:

  7. Collapse (across groups)
       * any 0 digits into nothing for Japanese
       * any consecutive runs of 0 digits into a single _zero digit_ for Chinese

[1] http://lists.w3.org/Archives/Public/www-style/2009Feb/0252.html

[2] http://lists.w3.org/Archives/Public/www-style/2011Jan/0037.html



Regards,
Koji

-----Original Message-----
From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf Of fantasai
Sent: Thursday, April 21, 2011 11:13 AM
To: www-style@w3.org
Subject: Re: [css3-lists] CJK numbering algorithms

On 04/20/2011 03:00 PM, fantasai wrote:
> I think the writeup on the CJK numbering systems is really confusing.
> So here's my attempt to refactor. The thing to keep in mind is that
> it's just like our system, except they group by four orders of
> magnitude instead of three.

Ok, here's the revised version based on Tab's answers, Murakami-san's
email <http://lists.w3.org/Archives/Public/www-style/2009Feb/0252.html>
and Sylvain's email
<http://lists.w3.org/Archives/Public/www-style/2010Feb/0153.html>.
Probably somebody need to double-check it, as I'm sure it's wrong
in some cases. But I think this format allows for a universal algorithm
with a few "if" clauses added in to handle the variations.

   1. If the number is zero, use the digit for zero. End algorithm.

                                           [cjk-styles]
        +---------------------------------+-+-+-+-+-+-+-+
        | Digit 0                         |?|?|?|?|?|?|?|
        +---------------------------------+-+-+-+-+-+-+-+

   2. Starting from the right (ones place), split the decimal number
      into groups of four digits.

   3. Append the appropriate group marker to each group whose value
      is not zero. The ones group has no marker.
                                           [cjk-styles]
        +---------------------------------+-+-+-+-+-+-+-+
        | Second Group (Ten-Thousands)    |?|?|?|?|?|?|?|
        | Third  Group (Hundred-Millions) |?|?|?|?|?|?|?|
        | Fourth Group (Trillions)        |?|?|?|?|?|?|?|
        +---------------------------------+-+-+-+-+-+-+-+

   4. Within each group, for each digit that is not 0, append
      the appropriate digit marker. The ones group has no marker.
                                           [cjk-styles]
        +---------------------------------+-+-+-+-+-+-+-+
        | Second Digit (Tens)             |?|?|?|?|?|?|?|
        | Third  Digit (Hundreds)         |?|?|?|?|?|?|?|
        | Fourth Digit (Thousands)        |?|?|?|?|?|?|?|
        +---------------------------------+-+-+-+-+-+-+-+

   5. Replace all digits 1-9 according to the table below.
                                           [cjk-styles]
        +---------------------------------+-+-+-+-+-+-+-+
        | Digit 1                         |?|?|?|?|?|?|?|
        | Digit 2                         |?|?|?|?|?|?|?|
        | Digit 3                         |?|?|?|?|?|?|?|
        | Digit 4                         |?|?|?|?|?|?|?|
        | Digit 5                         |?|?|?|?|?|?|?|
        | Digit 6                         |?|?|?|?|?|?|?|
        | Digit 7                         |?|?|?|?|?|?|?|
        | Digit 8                         |?|?|?|?|?|?|?|
        | Digit 9                         |?|?|?|?|?|?|?|
        +---------------------------------+-+-+-+-+-+-+-+

   6. Simplify:
        * For informal styles, for any group with a value between ten
          and nineteen, remove the digit before the tens marker.
        * For the Japanese and Korean informal styles, if any of
          the digit markers are preceded by the digit 1, and that digit
          is not the first digit of the group, remove the digit, leaving
          only the marker.
        * For Korean informal styles, if the value of the ten-thousands
          group

   7. Collapse (across groups) any consecutive runs of 0 digits into
        * nothing, for Japanese
        * a single _zero digit_, for Chinese
      [Add appropriate prose for Korean]

   9. Insert spaces (U+0020) between groups for the Korean styles.

~fantasai

Received on Thursday, 21 April 2011 02:59:42 UTC