- From: John Daggett <jdaggett@mozilla.com>
- Date: Mon, 1 Jun 2009 00:25:53 -0700 (PDT)
- To: www-style@w3.org
Hi Michael,
> Recently we have been updating Prince so that @font-face rules are
> handled as described in the latest draft of the CSS3 Fonts module and
> we have also added support for the unicode-range descriptor.
Great, fantastic!
> - Should the spec include keywords for common Unicode blocks?
>
> The TrueType OS/2 table includes a UnicodeRange field that describes
> the coverage of several common Unicode blocks, eg. basic_latin,
> latin1_supplement, greek_and_coptic, and so on. Something like this
> could be a useful addition to the spec that would make it easier for
> authors than writing explicit codepoint ranges.
This is a good improvement I think but maybe it would be better to just
add a string value to the possible values of <urange>.
unicode-range: "Basic Latin", U+1??;
The list of ranges in the OS/2 table seems to be based on named ranges
in the Unicode standard, I'll see if I can find a definitive source for
this.
> - Is it worth allowing single character strings to identify codepoints?
>
> For example, 'a' or '\61' could be used as a synonym for U+61. This
> might be easier for people familiar with CSS syntax. It doesn't help
> with the other ranges though, unless 'a'-'z' is also allowed.
Makes sense but I think the implementation details could easily get a
bit hairy, you would end up with ambiguous situations involving things
like combining diacritics and shaped vowels. To authors they would
appear as a single character but underneath they would in fact be
multi-character strings:
unicode-range: 'å'; /* could be a-ring or 'a' followed by ring diacritic */
You could probably come up with rules to reduce possible ambiguity but I
think the complexity here would outweigh the potential convenience.
With the named ranges you describe above I think you would cover most of
the use cases for shorthand notation like this.
> - Is there a need for a "language" descriptor in @font-face rules?
>
> This might be an internal property only needed by vendors and not
> authors, but it seems useful to have a descriptor to distinguish
> particular font faces by language. This could include providing a
> single font to handle traditional and simplified Chinese:
>
> @font-face {
> font-family: MyChineseFont;
> src: url("simpl.ttf");
> language: zh, zh-CN
> }
>
> @font-face {
> font-family: MyChineseFont;
> src: url("trad.ttf");
> language: zh-HK, zh-TW
> }
I understand the problem you're considering here, it occurs in many
languages that share a common script, but I'm unclear if there's a
possible solution here. One way to use the above notation might be to
select different faces within a family for a given Unicode range based
on which language matches the language of the page. The default value
would be 'all' and if the current page language didn't match a language
in the list, another face would be selected?
If this is more for documentation purposes, wouldn't a comment suffice?
> The only other way to do this at present is using the :lang()
> selector, but that can be difficult to integrate cleanly with other
> CSS rules and uses of the font and font-family properties.
This is interesting, could you elaborate more on this?
Cheers,
John Daggett
Mozilla Japan
Received on Monday, 1 June 2009 07:26:31 UTC