Firefox允许用户用不同的字体来浏览不同语言的网页,比如我们可以用宋体看中文网页,而用Arial等字体看英文网页。可是,在中文环境里,Firefox的字体设定对有些网页却不起作用 -- 比如这个blog的首页, 如果你在中文Solaris中启动Firefox,不论你在字体设定(编辑-首选项-内容-字体-高级)里对[西方]采用何种设置,在Firefox里都看不到变化。而奇怪的是--更改[简体中文]的字体,却可以看到变化。这是Firefox的bug么?
很多人都知道在HTML的开头要用charset声明encoding,但还有一个属性"lang"常常被忽略了。这个"lang"跟charset是不同的,"lang"是用来指定网页的"文本语言",而同一种语言可以有不同的编码。不过对于中文来说,似乎少了这东西也没多大影响,可能是由于多数中文网页仍然在使用gb2312编码,而Firefox可以通过gb2312来判断出网页的语言是中文。可是,对于utf-8编码的网页,由于utf-8对应多种语言,如果没有"lang"属性,Firefox将无法知道网页使用的是什么语言。这种情况下,Firefox会采用与当前的系统语言--对于中文Solaris就是中文--对应的字体。所以,你改[西方]的设定是无论如何不会起作用的。(另外,也可以把[查看]-[字符编码]改为"ISO-8859-1"来强制使用英文字体 -- 如果你实在不喜欢选定的中文字体里的英文)
关于更多细节,请参考:
Internationalization Best Practices: Specifying Language in XHTML & HTML Content