字体重要概念

字体重要概念

January 6, 2024

讲讲字体几个重要概念,也不讲那么细,毕竟咱也不是专业的,能让你在下载和使用字体时知道怎么挑就行。

纯粹的效果对比可使用:字体字重测试

字型、字体、字族

很多人会将字体叫为 Font,但 Font 的专业名称应该叫字型。一种字体(Typeface)有不同字型(Font),一个字体的不同字型之间的差别就是会有不同的字重和尺码等。矢量字型出现后,同一套风格字型已不用制作不同像素字型,只需制作一套即可随意缩放,“字型”与“字体”之间的界限开始模楜。

有些地方(如网页设计)也会将字体叫做 Font Family(字族)。

当然我们一般也不用分那么清楚,感兴趣可以看看维基百科上的字体字体家族字型

通用字族

字体选择中可以使用“通用字族”(generic font family)指定某一大类的字体,至于选择成哪个则是取决于用户和系统的设定。

通用字族有Sans-serif(无衬线体,对应中文黑体)、Serif(衬线体,对应中文宋体/明体)、Monospace(等宽字体)、 Cursive(手写体,对应中文楷体等)、Fantasy(另类体)、Fangsong(仿宋体,不在 CSS 规范中)等。

其中最常用的是 Monospace(等宽字体)、Sans-serif(无衬线体)、Serif(衬线体)。

字族设定 示例结果(取决于系统设定)
Sans-serif
无衬线体
黑体(中文)

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

Serif
衬线体
宋体/明体(中文)

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

Monospace
等宽字体

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

Cursive
手写体

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

Fantasy
另类体

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

Fangsong
仿宋体

ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
The quick brown fox jumps over the lazy dog.
我能吞下玻璃而不伤身体。αβγ عربي язык

字重——字的粗细

如题,字重其实就是字的粗细。

像常用的思源黑体就有:Thin、Light、DemiLight、Regular、Medium、Bold、Black 共7种字重。其中用的最多/最重要的字重就是 Regular ,有些会叫 Normal 或者其他的,下载字体时没有字重需求的选这一个就可以了。

字重标准

Wikipedia 上提到一种常见字重标准:

  • 100 - 淡体 Thin ( Hairline )

  • 200 - 特细 Extra-light ( ultra-light )

  • 300 - 细体 Light

  • 350 - 次细 Demi-Light

  • 400 - 标准 Regular ( normal / book / plain )

  • 500 - 适中 Medium

  • 600 - 次粗 Demi-bold / semi-bold

  • 700 - 粗体 Bold

  • 800 - 特粗 Extra-bold / ( Ultra-bold )

  • 900 - 浓体 Black ( Heavy )

  • 950 - 特浓 Extra-black ( Ultra-black )

CSS 标准中的9级字重不包括最后一个。

(CSS 标准中)另一种常见字重标准:

  • lighter:比继承值更细的粗细

  • normal:字重 400

  • bold:字重 700

  • bolder:比继承值更粗的粗细

可变字体

上面我们知道了一个字体会有不同字重的字型,我们下载一个字体时,想体验更完善就要下载不同字重的好几个字体文件,这也太麻烦了。

不过幸好不是我一个人觉得麻烦,苹果、微软、谷歌和 Adobe 等几个大厂之后又推出了可变字体(Variable Fonts)规范。可变字体是字体格式 OpenType 的一种特殊规范,一个可变字体文件可以储存一个设计的多个变体,相当于是一个字体文件包含了无数个字型。

字体样式——斜体

斜体是在正常字体样式基础上,通过倾斜字体实现的一种字体样式;可指意大利体或伪斜体。

我们在看到引用、注释等内容时,经常会看到斜体字。这对中文没什么特别的,但是对西文,这却是需要注意的一个点。

西文中有两种形状倾斜的字体:Oblique type和 Italic type,倾斜后字形也发生的变化的是“意大利体”(Italic Type),而单纯将原字体向右倾斜而没有形变的称为伪斜体(Oblique type)。

举个例子,下面是我手机上 Firefox 使用的字体,可以看到左边无衬线斜体看起来和正体没有区别,是伪斜体;而右边衬线斜体的小写英文字母样式明显和正体有区别,所以是意大利体。

image

有意大利体的字体,其一般会单独提供结尾以“Italic”命名的字体文件,如果你想要更完整的视觉体验可以尝试。

下载字体应注意

异体字

异体字就是不同国家/地区都包含但是相互之间写法稍有不同的文字。比如:

样例中前半句来自双猫CC,后半句来自 ArchLinuxCN TG 群友。

默认

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

中文(大陆) lang=zh-cn

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

中文(台湾) lang=zh-tw

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

中文(香港) lang=zh-hk

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

日文 lang=ja

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

韩文 lang=ko

遍角次亮采之门,门上插刀、直字拐弯、天上平板、船顶漏雨。

如何在不同地区显示正确的字型,有些支持多地区语言的字体都会遇到这种问题。

我们继续拿思源黑体举例,Source Han Sans(思源黑体)/ Noto Sans CJK 是一个包含了中文(C)、日文(J)、韩文(K)的“CJK”字体,当然中文还可细分为简体中文(SC)、繁体(即台湾正体)中文(TC)、香港繁体中文(HK)。

其支持的文字中不可避免的会有一些异体字,其默认字形是与日文的字形保持一致的(可能因为首席设计师是日本人)。为了方便使用,它除了不带任何标志的字体外,还有带有 SC、TC、HK、J、K 后缀的字体,每款的默认字形会与该语言所使用的保持一致。

思源黑体/宋体还有按地区划分的字体子集,那个不是完整的 CJK 字体,不在这里讨论范围内。

字体文件格式

现在操作系统中常用的字体类型标准主要有两类,即 TrueType 和 OpenType。

Adobe 使用 PostScript 语言开发了包括 Type1 在内的 PostScript字体。为了对抗其颇高的商业授权,苹果联合微软推出了 TrueType 字体。而后,微软又联合 Adobe 在TrueType 的基础上推出了OpenType 字体,在 OpenType 类型字体中,可以选择PostScript或TrueType作为记述方式。

TrueType 字体文件的扩展名是 .ttf;而对于 OpenType 字体文件,OpenType TT字体扩展名为 .ttf,OpenType PS字体扩展名为 .otf

同时,OpenType 还推出了特殊的“字体集”格式。文件扩展名分别为 .ttc(TrueType Collection)、.otc(OpenType Collection),这种“字体集”一个文件内包含了多种字体类型。实际应用中一般用于将不同字体或同一字体的不同语言封装成一个文件,如 Windows 中文版内置的 simsun.ttc 就包含了(中易)宋体 SimSun 和新宋体 NSimSun 两种字体的 Regular 字型。