Re: [css-fonts] Why not allow redefining generic font families by @font-face?

Hi John Daggett,
Thanks for the explanation, I'll think about it.
P.S. the SimSun bug of firefox has been filed by me: 
https://bugzilla.mozilla.org/show_bug.cgi?id=1096800

Regards,

Duan Yao

于 2014年11月14日 13:07, John Daggett 写道:
> Hi Duan Yao,
>
> There are a few basic problems with allowing @font-face rules to
> redefine generic font families. The first is that generic font
> families, as you point out, often vary by language/script. That
> makes trying to override them via @font-face rules problematic. The
> second thing to point out is that an @font-face rule defines a
> single *face* within a family, not a family. So using @font-face as
> a way of aliasing one *family* to another also doesn't work very
> well.
>
> I think some of the things you've pointed out are simply browser
> settings that should be updated/improved. Part of the problem with
> generics is that for many scripts it can be difficult to find fonts
> available on all versions of Windows, so sometimes the settings are
> set to pick up the lowest common denominator fonts across Windows
> versions.
>
> I'll file a bug on SimSum being used for sans-serif, for Firefox I
> think we can do better. It's interesting to note here also that the
> local Firefox communities in Taiwan and Hong Kong requested that the
> default generic fonts be set to Latin fonts so that Latin text
> appeared in those fonts while Chinese would appear in the default
> font for Chinese via fallback. This is not ideal at all but as
> platforms provide better CJK font support (e.g. with font families
> such as Source Sans Han) I think this sort of hacked solution won't
> be needed.
>
> Regards,
>
> John Daggett
> Mozilla Japan
>
>
> ----- Original Message -----
> From: "duanyao" <duanyao@ustc.edu>
> To: "www-style list" <www-style@w3.org>
> Sent: Friday, November 14, 2014 1:25:53 PM
> Subject: [css-fonts] Why not allow redefining generic font families by @font-face?
>
> Hi all,
>
> @font-face rule allow us to define any font families, except "generic
> font families", e.g. sans-serif and serif. However, there are use cases
> that redefining generic font families are very helpful:
>
> * Some UAs/OSs are missing certain generic font families. For example
> android only has serif fonts for western languages, but not for east
> asia languages. We want to provide a downloadable CJK serif font
> (SimSun.otf) to compensate this issue:
> @font-face {
> font-family: "serif";
> src: local("SimSun"),
> url("http://mysite.net/SimSun.otf");
> unicode-range: U+FF-FFFFFF;
> }
>
> * Some UAs have mis-configured generic font families. For example,
> firefox on windows assigns "SimSun" font to both serif and sans-serif
> families for zh-CN locale by default. But "SimSun" is actually a serif
> font, so we want to reset sans-serif to "HeiTi", a real sans font for
> Chinese:
> @font-face {
> font-family: "sans-serif";
> src: local("HeiTi");
> unicode-range: U+FF-FFFFFF;
> }
>
> * Some UAs don't use different underlying fonts for different languages
> if generic font families are used. For example, some UAs for zh-CN
> locale use CJK fonts for both western and CJK texts, which makes western
> texts look not good. We want to re-confiure this:
> @font-face {
> font-family: "sans-serif";
> /* CJK fonts */
> src: local("Droid Sans"), /* android, linux*/
> local("HeiTi"); /* win */
> }
> @font-face {
> font-family: "sans-serif";
> src: local("Roboto"), /* android */
> local("Arial"); /* win */
> unicode-range: U+0-FF;
> }
>
> However, with current spec (http://dev.w3.org/csswg/css-fonts/) we can't
> redefine generic font families, so we have to specify customized font
> families:
> @font-face {
> font-family: "my-sans-serif";
> src: local("HeiTi");
> unicode-range: U+FF-FFFFFF;
> }
>
> Customized font families work, but can be inconvenient, because we have
> to change existing generic font families in all existing css files. For
> user-generated contents, it is hard to ensure our customized font
> families are used instead of generic font families. If redefining
> generic font families would be possible, we could put these `@font-face`
> rules into normalize.css/reset.css, and the whole site is beautified
> suddenly!
>
> So I wonder are there particular reasons to not allow redefining generic
> font families?
>
> Regards,
> Duan Yao.
>
>
>
>

Received on Friday, 14 November 2014 05:35:06 UTC