Re: CSS3 font-weight, OFF OS2.usWeightClass, and weights which are not a multiple of 100.

> I am curious as to what everyone thinks a font creator should do if they have a family with three or more weights that are heavier than "bold" (which maps to 700).

When designers have called those weights extrabold, black, ultra,
super, etc. with no naming rule, I think it’s not unfair to expect a
system to be able to handle inputs above 1000 without breaking.


–Bram


On Wed, Feb 9, 2011 at 8:41 PM, Thomas Phinney <thomas.phinney@gmail.com> wrote:
> I'll just note that if one wants a system to deal with real-world fonts, it should deal with inputs for usWeightClass that are any integer from 0-1000.
>
> I am curious as to what everyone thinks a font creator should do if they have a family with three or more weights that are heavier than "bold" (which maps to 700).
>
> In our collection of about two thousand web fonts, as I recall there are four such cases.
>
> This is aside from the many other cases where values aren't in hundreds, etc.
>
> I remain puzzled that CSS 3 will remain deliberately incompatible with real fonts in this area.
>
> T
>
> On Feb 9, 2011, at 6:20, Chris Lilley <chris@w3.org> wrote:
>
>> Hello www-font,
>>
>> Open Font Format (OFF [1]) states that OS2.usWeightClass is a 2-byte unsigned short and describes it as
>>
>> "Indicates the visual weight (degree of blackness or thickness of strokes) of the characters in the
>> font."
>>
>> There is an accompanying table which relates particular values 9100, 200 etc) to textual descriptions (e.g. 'Thin') and C definitions from windows.h (e.g. FW_THIN).
>>
>> Values which are not multiples of 100 are not specifically allowed and not specifically disallowed; they just don't have a defined mapping to those two string sources.
>>
>> I have seen fonts with weights like 250 etc so I conclude that in OFF, OS2.usWeightClass is a continuous range of cardinal numbers.
>>
>> CSS3 Fonts states that the font-weight property [2], used to request styling, is an ordered sequence of tokens:
>>
>> "100 to 900
>>    These values form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor."
>>
>> and
>>
>> "Font formats that use a scale other than a nine step scale should map their scale onto the CSS scale"
>>
>> and that the font-weight descriptor [3], used to tell CSS about the weight of a particular font, is also a discrete series of tokens:
>>
>> "Value:    normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900"
>>
>> so I conclude that values like 250 are explicitly disallowed.
>>
>> The point of this email is to ask:
>>
>> a) are the above assumptions correct?
>> b) if a value which is not a multiple of 100 is used in the CSS style system, (e.g by script, or by direct specification in a style sheet, or by animation) then it gets mapped to the nearest multiple of 100?
>> c) thus, animation of the font-weight property should be discrete, not continuous, despite the fact that fonts with wights that are not a multiple of 100 may be available, as the CSS style shystem does not expose their native weights?
>>
>> Tracker, this relates to SVG-ACTION-2936
>>
>>
>> [1] ISO 14496-11:2009(E)
>> PDF downloadable at no charge by agreeing to
>> http://standards.iso.org/ittf/licence.html
>>
>> [2] http://dev.w3.org/csswg/css3-fonts/#font-weight-prop
>>
>> [3] http://dev.w3.org/csswg/css3-fonts/#font-prop-desc
>>
>>
>> --
>> Chris Lilley   Technical Director, Interaction Domain
>> W3C Graphics Activity Lead, Fonts Activity Lead
>> Co-Chair, W3C Hypertext CG
>> Member, CSS, WebFonts, SVG Working Groups
>>
>>
>
>

Received on Wednesday, 9 February 2011 16:25:41 UTC