最近在浏览思源黑体的官方 GitHub 主页时有一事不解:
在 Language-specific OTFs 里点击 Simplified Chinese 下载的文件叫 SourceHanSansSC.zip ,解压后大小 109MB ,在中文语言的 Windows 里点击 SourceHanSansSC-Normal.otf 文件显示字体名称是“思源黑体 Normal ”。
然后我在 Region-specific Subset OTFs 里点击 China 下载的文件叫 SourceHanSansCN.zip ,解压后大小 55.8MB ,在中文语言的 Windows 里点击 SourceHanSansCN-Normal.otf 文件显示字体名称是“思源黑体 CN Normal ”。
问题来了,英文的网站下载英文的字体文件,字体属性名称却是中文,我好奇地安装了字体并写了个 Demo ,果然出现 font-family: "SourceHanSansCN"; 不生效而只有 font-family: "思源黑体 CN"; 生效的情况。而思源黑体和 SourceHanSansSC 同理。( PS :关于 SourceHanSansCN 和 SourceHanSansSC 的区别可以看这个 知乎回答,我一开始也不懂)
大家可以看谷歌的 Noto 字体的做法,只有一个名字 Noto Sans CJK SC , 一句 font-family: "Noto Sans CJK SC"; 即可,没有任何歧义。
而且各位可能觉得这只是 Adobe 的喜欢这样命名没问题,但是你们可以看一下你们的 Windows 系统-查看安装的字体,你会发现你的系统没有安装一个叫 Microsoft YaHei 的字体,只安装了微软雅黑,但是 font-family: "Microsoft YaHei"; 或 font-family: "微软雅黑"; 均可以生效。
说得有点乱,其实就是我好奇思源黑体在 css 的 font-famliy 命名上为什么不是中英文通用(但是我看到有人安装的字体直接就叫 SourceHanSansCN 或 SourceHanSansSC ),而微软雅黑却没有这个问题(可能也是系统的锅?)。小白问题求轻喷。
1
lslqtz 2017-02-20 18:27:43 +08:00 via iPhone
没有空格?
|
2
Bardon 2017-02-20 20:04:22 +08:00
windows 下不知道
linux 下我知道 `fc-list :lang=zh` 能打印出字体的 title |
5
lslqtz 2017-02-21 09:41:39 +08:00 via iPhone
SourceHanSansCN-Normal ?
|
6
ewex 2017-02-21 10:58:02 +08:00
1. 回答“标题”:你写错了,肯定不能用。正确写法 Source Han Sans SC 和 Source Han Sans CN 。另外 Normal 需要额外定义,默认情况下不同操作系统、不同系统语言、不同浏览器、不同浏览器版本、不同浏览器语言也是不一样的(我装逼地写了这么多不同,实际不一致的情况很少)。
2. 回答“问题来了”:按照第二、三、六段落内容推测你的系统为简体中文,属性是中文难道体验不是更好?至于为什么不是全中文这应该是 Adobe 的命名问题。区别的问题,没必要看逼忽,官网和命名上就很容易理解。 3. 第六段落:你需要特别说明系统语言,英文版下面就是 Microsoft YaHei ,虽然可以推断你用的是简体中文版。另外 CSS 里的字体最好不要用非英文,原因你可以去逼忽看。 4. 最后一段:中英文通不通用无所谓,原因同上。微软雅黑没这问题不是系统的锅,是字体商的命名问题。 |