字体、字库、字形、字符:先分清几个词
适合谁看:刚接触字体,常被「字体」「字库」「字形」「字符」这些词绕晕的人。
几个基本概念
| 词 | 意思 | 例子 |
|---|---|---|
| 字符 | 一个抽象的「字」,和长什么样无关,由编码标准给一个编号 | 「永」的编号是 U+6C38[1] |
| 字形 | 一个字符的具体样子 | 宋体的「永」和楷体的「永」是两个字形 |
| 字体 | 一套风格统一的字形设计 | 思源黑体、霞鹜文楷 |
| 字族(家族) | 同一设计的多个粗细、宽窄版本 | 思源黑体 ExtraLight 到 Heavy |
| 字重 | 笔画粗细的档位 | Regular、Bold |
| 字库 / 字体文件 | 存放字形和相关数据的文件 | .ttf、.otf、.woff2 |
日常说的「字体」,有时指设计(这款字好看),有时指文件(把字体发我一下),要看上下文。
字符和字形不是一一对应
- 一个字符可以有多个字形:例如「骨」在中国大陆和日本的标准写法不同,Unicode 里是同一个编号,靠不同字体显示不同字形[2],见《同一个字,为什么各地写法不同》;
- 一个字形也可以对应多个字符:例如连字「fi」。
所以「这款字体有多少个字」最好问清楚:是支持多少个字符,还是包含多少个字形。
字体文件里有什么
一个现代字体文件(OpenType 格式)大致包括[3]:
- 字形轮廓:每个字的形状;
- 字符映射表(cmap):哪个字符编号对应哪个字形;
- 度量信息:每个字多宽、行高多少;
- 排版功能:竖排替换、标点半宽、连字等;
- 名称信息:字体名、版权、许可说明、版本号;
- 嵌入权限:能不能嵌入文档,见《字体文件里的「嵌入权限」》。
常见文件格式的区别,见《字体文件格式怎么选:TTF、OTF、TTC、WOFF2 和可变字体》。
「黑体」和「Bold」不是一回事
- 黑体是一类字体的风格(笔画粗细均匀、没有装饰),有细的黑体,也有粗的黑体;
- Bold是字重(加粗)。宋体也有 Bold。
参考资料(3)
- 中文排版需求 4.1:字符与编码,W3C
- Unicode 是什么,Unicode 联盟
- OpenType 规范:字体文件结构,Microsoft