cssmagic/CSS-Secrets

[注解] [506] 华丽的 & 符号

Opened this issue · 0 comments

花絮与注解

第 125 页 · 最后一段

……在某些情况下(比如在 CMS 环境下),我们根本无法轻易地修改 HTML 结构。

CMS 即 “内容管理系统”,比如像 WordPress 这样的文章发布系统。CMS 意味着网站内容可能是 UGC(用户生成的内容),我们作为网站的设计者和维护者,当然是不可能去修改这些内容的。

第 128 页 · 第二段

很遗憾,我们唯一的出路有些 hack 的味道:不去指定字体的家族名(family name),而是直接指定字体中我们想要的单个风格/字重所对应的 “PostScript 名称”。

一般来说,一款字体往往是由多个物理文件组成的,每个文件负责容纳不同字重或不同风格的字形,这样比较便于字体的开发、维护和分发。

举例来说,一套微软雅黑字体包含 msyh.ttfmsyhbd.ttf 两个文件,分别是常规字形和加粗字形。而对于西文字体来说,斜体字形往往是单独设计的,所以一款字体可能至少会包含四个文件——比如一套完整的 Consolas 字体包含常规字重、常规字重斜体、加粗字重、加粗字重斜体等四套字形。

好,现在我们可以解释一下 “家族名” 和 “PostScript 名称” 这两个概念了。

对于 Consolas 这款字体来说,它所包含的(不同风格和字重所对应的)四个文件的 “家族名” 是一样的,同时还会通过不同的 “PostScript 名称” 来标记自己的风格和字重是什么。一般我们称呼一款字体时,用的往往就是它的 “家族名”。

这些概念的关系可以用如下表格来描述:

文件名 字重与风格 家族名 PostScript 名称
consola.ttf 常规 Consolas Consolas
consolai.ttf 斜体 Consolas Consolas-Italic
consolab.ttf 加粗 Consolas Consolas-Bold
consolaz.ttf 加粗斜体 Consolas Consolas-BoldItalic

更多与字体名有关的知识,可参考这里:
https://fontforge.github.io/fontinfo.html