android Font,Typeface,FontFamily之间的差别

背景

Font和Typeface经常被错误的互换使用。然而它们之间却是有一些不同的。

Font

大约在十五世纪,当打印机手工打字时,他们必须从一个巨大的盒子里拿出真正的金属字母、数字和符号。如下图:
图1
图1

这个收集字符的容器可以被叫做Font
现在,font指的是包含各种字体的数字文件,而不是一盒金属字体。

Typeface

图2
图2

Typeface描述了字体中包含的字符的整体外观。如图2是一种New Gothic字体(Font)。

你可能有一个容器装的是News Gothic字体,有一个容器装的是News Gothic Bold字体,一个容器装News Gothic Light字体,每个容器里都是一种News Gothic字体。
它们只是拥有不同的厚度(weight),但其定义的特征仍然是相同的。

下图或许可以很好的解释Typeface:
图3
图3

typeface通常可以和font family互换。再举个例子:

一个家庭有三胞胎:John Smith, Jack Smith, and Tom Smith。他们拥有相同的样貌,但是体重(weight)不同:一个瘦点儿,另一个胖点儿。他们一起组成了Smith family

在印刷术上,John,Jack,Tom代表着不同的字体,但是他们一起组成了Smith Typeface

Font Family

在Android中,font family是一组相关字体的集体,例如Arial字体,那么font family将包含Arial regularArial BoldArial ItaticArial Bold ItaticArial Black等字体。

总之:typeface是一种设计,font是一个文件,font family是一个相关字体的文件集合。

参考:
Typeface vs Font: What’s the Difference?
What’s the Difference Between a Font, a Typeface, and a Font Family?