Re: [css3-lists] Specifying new list-types

On Fri, Sep 17, 2010 at 8:42 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> Since dbaron also expressed criticism, let me show exactly how the
> Hebrew list-type would look in the UA style sheet (provided as escapes
> to avoid confusing bidi issues in the display):
>
> @counter-style hebrew {
>  type: additive;
>  range: 1 999999;
>  suffix: ".";
>  additive-glyphs: "\05ea\05ea\05e7" 900000, "\05ea\05ea" 800000,
> "\05ea\05e9" 700000, "05ea\05e8" 600000, "\05ea\05e7" 500000, "\05ea"
> 400000, "\05e9" 300000, "\05e8" 200000, "\05e7" 100000, "\05e6" 90000,
> "\05e4" 80000, "\05e2" 70000, "\05e1" 60000, "\05e0" 50000, "\05de"
> 40000, "\05dc" 30000, "\05db" 20000, "\05d9\05d8" 19000, "\05d9\05d7"
> 18000, "\05d9\05d6" 17000, "\05d8\05d6" 16000, "\05d8\05d5" 15000,
> "\05d9" 10000, "\05d8" 9000, "\05d7" 8000, "\05d6" 7000, "\05d5" 6000,
> "\05d4" 5000, "\05d3" 4000, "\05d2" 3000, "\05d1" 2000, "\05d0" 1000,
> "\05f3" 1001 separator, "\05ea\05ea\05e7" 900, "\05ea\05ea" 800,
> "\05ea\05e9" 700, "05ea\05e8" 600, "\05ea\05e7" 500, "\05ea" 400,
> "\05e9" 300, "\05e8" 200, "\05e7" 100, "\05e6" 90, "\05e4" 80, "\05e2"
> 70, "\05e1" 60, "\05e0" 50, "\05de" 40, "\05dc" 30, "\05db" 20,
> "\05d9\05d8" 19, "\05d9\05d7" 18, "\05d9\05d6" 17, "\05d8\05d6" 16,
> "\05d8\05d5" 15, "\05d9" 10, "\05d8" 9, "\05d7" 8, "\05d6" 7, "\05d5"
> 6, "\05d4" 5, "\05d3" 4, "\05d2" 3, "\05d1" 2, "\05d0" 1;
> }

I think you can make it

@counter-style hebrew {
    type: additive;
    range: 1 999999;
    suffix: ".";
    additive-glyphs: "\05ea" 400000, "\05e9" 300000, "\05e8" 200000,
"\05e7" 100000, "\05e6" 90000, "\05e4" 80000, "\05e2" 70000, "\05e1"
60000, "\05e0" 50000, "\05de" 40000, "\05dc" 30000, "\05db" 20000,
"\05d9\05d8" 19000, "\05d9\05d7" 18000, "\05d9\05d6" 17000,
"\05d8\05d6" 16000, "\05d8\05d5" 15000, "\05d9" 10000, "\05d8" 9000,
"\05d7" 8000, "\05d6" 7000, "\05d5" 6000, "\05d4" 5000, "\05d3" 4000,
"\05d2" 3000, "\05d1" 2000, "\05d0" 1000, "\05f3" 1001 separator,
"\05ea" 400, "\05e9" 300, "\05e8" 200, "\05e7" 100, "\05e6" 90,
"\05e4" 80, "\05e2" 70, "\05e1" 60, "\05e0" 50, "\05de" 40, "\05dc"
30, "\05db" 20, "\05d9\05d8" 19, "\05d9\05d7" 18, "\05d9\05d6" 17,
"\05d8\05d6" 16, "\05d8\05d5" 15, "\05d9" 10, "\05d8" 9, "\05d7" 8,
"\05d6" 7, "\05d5" 6, "\05d4" 5, "\05d3" 4, "\05d2" 3, "\05d1" 2,
"\05d0" 1;
}

which is a bit shorter, and also more logically reflects how the
system works -- there aren't separate glyphs for 500-900.

> 'separator' in a group means 3 things:
> 1. The group's weight is compared against the original counter value,
> not the current value left in the algorithm.
> 2. The group's weight is not subtracted from the current value.
> 3. The group's glyph is added to the counter at most once.

The separator concept seems rather special.  If it's only needed for
like two systems, it's probably better to special-case them rather
than define a new general construct that will only ever be used for
two systems.

Received on Sunday, 19 September 2010 20:14:08 UTC