- From: Ernest Cline <ernestcline@mindspring.com>
- Date: Fri, 12 Mar 2004 20:01:04 -0500
- To: "W3C CSS List" <www-style@w3.org>
While it is not unreasonable that people would like to use a list style that is appropriate to the conventions of their language or intended field of use, there are already far too many list styles and more continue to be proposed. However, there are several noticeable patterns that many of the proposed additions use. What I am about to propose is a method for eliminating many, but not all of the suggested additions while keeping the desired functionality. It involves adding four new keywords each of which would be followed by a strings of characters that would then be used to construct the list markers. The following is true for all four values: 1) They have the form <ident> <string> <string>? 2) The optional second string is appended to the marker generated by the list style. 3) If the UA is unable to represent all of the characters in either string then the list style is to be represented as "decimal". numeric <string> <string>? The first string consists of k characters that would be treated as digits 0 to k-1 for a base k numbering system. If the number is negative, the character U+002D would be prefixed to the string of digits of the absolute value.. There are 22 +2 numeric 'list-style-types' in the CSS 3 Lists WD. (24 keywords, but only 22 distinct list styles.) The CSS 2.1 'list-style-type' of "decimal" would be equivalent to: numeric "0123456789" "." but should be retained for compatibility with CSS 2.1. The CSS 2.1 'list-style-type' of "decimal-leading-zero" cannot be represented using this system. The 20 proposed new numeric 'list-style-type's from the WD can all be represented by this system. repeating <string> <string>? The first string consists of k characters that would be treated as the values 1 to k. the value k+1 would be shown by doubling the first character, k+2 by doubling the second character, etc.. Values of 0 and less would be represented as if the 'list-style-type' were "decimal". There are 27 + 16 alphabetic 'list-style-types' in the CSS 3 Lists WD. (43 keywords, but only 27 distinct list styles.) The CSS 2.1 'list-style-type's of "lower-alpha", "lower-greek", "lower-latin", "upper-alpha" and "upper-latin" could be represented by this system.and should be retained for compatibility with CSS 2.1 (Note: CSS 2.1 indicates that it is unclear whether these five are repeating or non-repeating, but the CSS 3 WD indicates that they are repeating.) There are four repeating styles defined in CSS 2 but not part of CSS 2.1 These four should be considered for retention in CSS 3 as predefined versions of this style. The remaining 20 alphabetic styles in the draft can be represented using this system without any need to include them is CSS 3. non-repeating <string> <string>? The first string consists of k characters that would be treated as the values 1 to k. Values of 0 and less and of k+1 or more would be represented as if the 'list-style-type' were "decimal". There are 8 non-repeating 'list-style-types' in the CSS 3 Lists WD, none of which appear in CSS 2.1 these styles can be represented using this system. cjkv-ideographic <string> <string>? This is a generalized version of the "cjk-ideographic" 'list-style-style'. The 'v' got added both because CJKV is a more inclusive term than CJK and so that UA's that wish to implement the draft types can still do even if they end up not being in the final draft. The first string would be required to contain 16 characters, if it did not, then the list style would be treated as if it were "decimal". The sixteen characters would be in this order: Digit 0 Digit 1 Digit 2 Digit 3 Digit 4 Digit 5 Digit 6 Digit 7 Digit 8 Digit 9 Second Digit Marker Third Digit Marker Fourth Digit Marker Second Group Marker Third Group Marker Fourth Group Marker The range of values that could be represented is from 1 to 9,999,999,999,999,999. Values outside that range would be treated as if the list style were decimal There are 6+1 algorithmic list styles in the CSS 3 Lists WD that can be replaced by this value. (7 keywords, but only 6 distinct list styles.) These styles are "cjk-ideographic", "japanese-formal", "japanese-informal", "simp-chinese-formal", "simp-chinese-informal", "trad-chinese-formal", and "trad-chinese-informal". The keyword "cjk-ideographic" was given in CSS 2, but is not a part of CSS 2.1 and was not rigorously defined in CSS 2. Still, that keyword should probably be retained in CSS 3. (Note: I considered trying to generalize this even further so as to fit additional algorithmic types within it, but I decided not to. The only one I could make fit easily was "tamil" and since Unicode is adding a Tamil Digit 0 (In the pipeline for Unicode 4.1) that type might need to be revised to allow to that and in such a manner as to make it incompatible with this method.) SUMMARY The net result is 49 fewer list styles and 76 fewer keywords, plus an additional 5 styles and keywords that could be dropped if the styles that are part of CSS 2 but not CSS 2.1 are dropped. In addition there would be no need for additional keywords for styles that meet the definition of one of these four values. (Note: altho the recent Persian proposal stimulated this, neither of the two newly proposed list style types, "persian-abjad" nor "persian-alphabet" would fall under the types given here because they use multiple characters for some positions. The U+0647 U+200D sequence could be replaced with the Arabic Presentation form U+FEEB, but unless the near impossible occurred and Unicode was convinced to add another Arabic ligature, the sequence U+0627 U+0634 U+0641, this method wouldn't be able to work with these styles. On the other hand, if it could be shown that this three letter combination is actually used as part of the Farsi list sequences, I wouldn't say that it would be impossible, just extremely unlikely that Unicode would add another ligature, there certainly is room for more ligatures in Arabic Presentation Forms- A, but they were added for compatibility with pre-Unicode legacy code sets.
Received on Friday, 12 March 2004 20:01:12 UTC