# 认识中文字体

字体、字库、字形、字符等基本概念，宋黑楷仿四大类的来历，一款中文字体要做多少字，字体技术简史，各地字形差异和常见开源中文字体。

# 字体、字库、字形、字符：先分清几个词

> 适合谁看：刚接触字体，常被「字体」「字库」「字形」「字符」这些词绕晕的人。

## 几个基本概念

| 词 | 意思 | 例子 |
|---|---|---|
| 字符 | 一个抽象的「字」，和长什么样无关，由编码标准给一个编号 | 「永」的编号是 U+6C38 |
| 字形 | 一个字符的具体样子 | 宋体的「永」和楷体的「永」是两个字形 |
| 字体 | 一套风格统一的字形设计 | 思源黑体、霞鹜文楷 |
| 字族（家族） | 同一设计的多个粗细、宽窄版本 | 思源黑体 ExtraLight 到 Heavy |
| 字重 | 笔画粗细的档位 | Regular、Bold |
| 字库 / 字体文件 | 存放字形和相关数据的文件 | `.ttf`、`.otf`、`.woff2` |

日常说的「字体」，有时指设计（这款字好看），有时指文件（把字体发我一下），要看上下文。

## 字符和字形不是一一对应

- 一个字符可以有多个字形：例如「骨」在中国大陆和日本的标准写法不同，Unicode 里是同一个编号，靠不同字体显示不同字形，见[《同一个字，为什么各地写法不同》](https://docs.cocobook.com/link/1275)；
- 一个字形也可以对应多个字符：例如连字「ﬁ」。

所以「这款字体有多少个字」最好问清楚：是支持多少个**字符**，还是包含多少个**字形**。

## 字体文件里有什么

一个现代字体文件（OpenType 格式）大致包括：

- **字形轮廓**：每个字的形状；
- **字符映射表**（cmap）：哪个字符编号对应哪个字形；
- **度量信息**：每个字多宽、行高多少；
- **排版功能**：竖排替换、标点半宽、连字等；
- **名称信息**：字体名、版权、许可说明、版本号；
- **嵌入权限**：能不能嵌入文档，见[《字体文件里的「嵌入权限」》](https://docs.cocobook.com/link/1247)。

常见文件格式的区别，见[《字体文件格式怎么选：TTF、OTF、TTC、WOFF2 和可变字体》](https://docs.cocobook.com/link/120)。

## 「黑体」和「Bold」不是一回事

- **黑体**是一类字体的风格（笔画粗细均匀、没有装饰），有细的黑体，也有粗的黑体；
- **Bold**是字重（加粗）。宋体也有 Bold。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f01-terms" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 宋体、黑体、楷体、仿宋：四大类从哪来

> 适合谁看：想了解常用中文字体类别的来历和特点，好在设计中选对字的人。

W3C《中文排版需求》把宋体、楷体、黑体、仿宋列为中文排版最重要的四种字体。它们的用途见[《中文排版的基本原则》](https://docs.cocobook.com/link/1259)，本页讲来历。

## 宋体：明代刻书工人的发明

- **来历**：宋体并不产生于宋代。据天一阁博物馆和复旦大学陈正宏教授的介绍，宋体字是明代中期刻书时模仿宋代浙江刻本形成的新字体，弘治年间出现于苏州地区，嘉靖年间初步成型，到清代乾隆时期大体定型。
- **特点**：横细竖粗，横画末端有三角形的「喙」。陈正宏推测，横细竖粗和雕版木纹方向有关：横画顺着木纹，不容易刻断。
- **别名**：日本、韩国称「明朝体」，台湾常称「明体」，正说明它形成于明代。
- **用途**：书籍正文最常用的字体。

## 楷体：手写楷书的印刷化

- **来历**：在宋体出现以前，刻本都用手写楷体。近代铅字时代，楷体活字中创制最早、配套最完备、影响最大的是「汉文正楷」：1929 年开始制造，1933 年完工，字样由书法家高云塍书写；1935 年被定为印刷教科书的字体，直到 20 世纪 90 年代仍用于小学课本。
- **特点**：带书法笔意，亲切、易认。
- **用途**：教科书、引文、对话；台湾公文多用楷体。

## 仿宋：民国的「专利字体」

- **来历**：1916 年前后，丁辅之、丁三在兄弟以宋版书的字体为本，模仿欧阳询楷书笔意，制成「仿宋欧体字」，并以「聚珍仿宋版」之名申报专利，1920 年获政府批准。中华书局用它印制了大型丛书《四部备要》。
- **特点**：介于宋体和楷体之间，笔画粗细较均匀，横画微微上扬，清秀。
- **用途**：文艺作品、古籍；今天中国大陆党政机关公文的正文用仿宋，见[《公文排版：字体和字号》](https://docs.cocobook.com/link/1269)。

## 黑体：受西文无衬线字体启发

- **来历**：中国印刷黑体最早可确认的实例，见于商务印书馆 1910 年 12 月《东方杂志》广告中的黑体数字。它的形成受到日本「ゴシック体」的启发——日本字厂把西文无衬线字体笔画均匀的特点用到汉字上，再传入中国；但商务印书馆的黑体并非照搬，而是结合宋体和书法笔形改良而成。
- **特点**：笔画粗细均匀，没有装饰。
- **用途**：标题、标识、强调；在屏幕上也越来越多地用作正文。

## 怎么用这些知识

- 长篇阅读：宋体、楷体、细一些的黑体都可以；
- 标题：粗黑体、粗宋体；
- 正式文件：遵守相应规范；
- 搭配：一般一种正文字体加一种标题字体就够了，见[《中文字体怎么搭配：标题、正文和中西文混排》](https://docs.cocobook.com/link/630)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f02-styles" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 圆体、手写体、书法体和美术字

> 适合谁看：在四大类之外，想了解其他常见中文字体类别、知道什么场合用什么的人。

## 圆体

- 笔画粗细均匀，端点和转角是圆的，可以看作黑体的变体；
- 在日本称「丸ゴシック」（圆角哥特体），在日本的标识、公共指示中很常见；中文圆体的发展也受日本影响；
- 给人柔和、亲切的感觉，常用于儿童、母婴、食品、生活服务类品牌和界面。

## 手写体

- 模仿日常手写的字形，如「霞鹜文楷」偏楷书手写、各种「手札体」「童体」；
- 适合短文本、强调个人风格的场合；
- 长篇正文要看可读性和字数是否足够——很多手写体收字不多，遇到生僻字就会缺字。

## 书法体

- 行书、草书、隶书、篆书、魏碑等；
- 适合标题、海报、包装；
- 草书、篆书普通读者不一定认得，不适合传达信息的场合；
- 书法字体中的单字更容易被认定为美术作品，用在商标、包装上要特别注意许可，见[《三个绕不开的判例》](https://docs.cocobook.com/link/1241)。

## 美术字和标题字

- 为标题、广告专门设计的字体，造型变化大，如各种「综艺体」「粗黑变体」「像素字」；
- 往往只有一个字重、收字有限；
- 用法建议见[《像素字、手写体和书法体的使用边界》](https://docs.cocobook.com/link/638)。

## 等宽字体

- 写代码、终端里用的字体，每个西文字符宽度相同；
- 中文等宽字体通常让一个汉字正好等于两个西文字符的宽度，代码对齐时不会错位，例如「更纱黑体」的等宽版本。

## 选字时先问三个问题

1. **读多长？** 长文选可读性好的宋体、黑体、楷体；短标题可以用个性字体；
2. **字够不够？** 看字体覆盖的字符集，人名地名多的场合尤其要注意，见[《一款中文字体要做多少字》](https://docs.cocobook.com/link/1273)；
3. **许可允不允许？** 见[《字体许可证怎么读：一张检查清单》](https://docs.cocobook.com/link/1243)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f03-others" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 一款中文字体要做多少字

> 适合谁看：想知道中文字体为什么比西文字体大得多、难做得多，以及「收字」「字符集」是什么意思的人。

## 西文字体和中文字体差多少

一款基本的西文字体，大小写字母、数字、标点加起来几百个字形就能用。中文字体要先确定「做哪些字」——这就是**字符集**，通常以国家标准或字表为依据。

## 常见的中文字符集

| 字符集 | 汉字数 | 说明 |
|---|---|---|
| GB 2312-1980 | 6763 | 一级 3755 字（常用，按拼音排）、二级 3008 字（按部首排）。很多早期字体和小字体按它收字 |
| 《通用规范汉字表》（2013） | 8105 | 一级 3500 字、二级 3000 字、三级 1605 字（姓氏、地名、科技术语等专门用字）。国务院 2013 年公布 |
| GB 18030-2022 | 87,887 | 强制性国家标准，按实现程度分级，详见[《GB 18030：中文编码的国家标准》](https://docs.cocobook.com/link/1280) |
| Unicode 中日韩统一表意文字 | 超过 10 万 | 截至 Unicode 17.0 为 101,996 个，并在继续增加 |

注意：

- 字体标「支持 GB 2312」，只说明这 6763 个字齐全，**不代表**人名、地名里的字都有；
- 繁体、日文汉字另有字表，见[《同一个字，为什么各地写法不同》](https://docs.cocobook.com/link/1275)。

## 为什么中文字体难做

- **数量**：做一套 GB 2312 就是六千多个字，覆盖《通用规范汉字表》需要八千多个；每增加一个字重，工作量又要再来一遍。
- **统一**：几千个字要大小、重心、黑度看起来一致，需要反复调整；部件可以复用，但每个字的结构不同，复用后仍要逐个修正。
- **质检**：错字、缺笔、字形不合规范、编码错误都要检查；用于出版、公文的字体要求更高。
- **技术**：文件大、排版功能（竖排、标点）复杂。

这也解释了两件事：

1. 中文字体文件动辄几 MB 到十几 MB，放到网页上要拆子集，见[《中文网页字体为什么要拆分子集》](https://docs.cocobook.com/link/598)；
2. 中文字体的许可费通常比西文字体高，免费字体也常常收字有限。

## 收字越多越好吗

不一定。按需选择：

- 只做标题、海报，常用字够了；
- 正文、出版物、人名地名多的业务系统，要看字表覆盖，必要时配备用字体，见[《网页和系统里怎么显示生僻字》](https://docs.cocobook.com/link/1284)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f04-charset" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 从雕版到网页字体：中文字体技术简史

> 适合谁看：想了解中文字从刻版、铅字、照排到数字字体一路怎么走过来的人。

## 雕版和活字

- **雕版印刷**：整版刻字。宋体就是在明代刻书中形成的，见[《宋体、黑体、楷体、仿宋：四大类从哪来》](https://docs.cocobook.com/link/1271)。
- **活字印刷**：北宋沈括《梦溪笔谈》记载了毕昇发明泥活字；后来又有木活字、铜活字。但汉字数量多，活字要备齐成千上万个，长期没有取代雕版。

## 铅活字时代（19 世纪到 20 世纪 80 年代）

- 19 世纪，西方的铅活字和字模技术传入中国，逐步成为主流；
- 民国时期，商务印书馆、中华书局等出版机构先后推出宋体、楷体、仿宋、黑体等成套铅字，今天的四大类字体在这时基本定型；
- 铅字排版要人工从字架上拣字，一个排字工要熟悉几千个字的位置，铸字、排版都离不开铅，劳动强度大、污染重。

## 激光照排：告别铅与火

北京大学王选主持研制的汉字激光照排系统，让中文出版进入计算机时代。据北京大学王选计算机研究所的发展历程：

- 1974 年 8 月，「汉字信息处理系统工程」（748 工程）立项；
- 1979 年，系统输出第一张报纸样张；
- 1980 年，用该系统排出第一本书《伍豪之剑》；
- 1987 年，《经济日报》通过验收，被称为「世界上第一家采用计算机屏幕组版、整版输出的中文报纸」；
- 1988 年，《经济日报》印刷厂卖掉铅字，成为中国第一个甩掉铅字的印刷厂；
- 1990 年，《人民日报》全部采用这套系统。

这套系统的关键之一，是王选提出的「字形的轮廓和参数描述」压缩方法，使字形信息量下降几百倍，解决了汉字字形数据太大的问题。

## 桌面电脑和数字字体（20 世纪 80—90 年代起）

- 早期电脑屏幕用**点阵字体**：每个字是一个固定大小的像素格，放大就有锯齿；
- 后来普及**轮廓字体**：PostScript（Adobe）和 TrueType（Apple、微软）格式，字可以任意缩放；
- 1996 年前后，微软和 Adobe 合作推出 **OpenType**，统一了两种轮廓格式，并加入丰富的排版功能，成为今天的主流格式；
- 中文字体厂商在这一时期大量出现，字库从 GB 2312 扩展到更大的字符集。

## 网页字体（2010 年代起）

- CSS 的 `@font-face` 让网页可以下载字体；
- W3C 先后制定了 WOFF（2012 年成为推荐标准）和压缩率更高的 WOFF2；
- 中文字体文件大，催生了「拆子集」「按字分片」等技术，见《网页字体实战》系列的[《按字分片：cn-font-split》](https://docs.cocobook.com/link/1250)；
- 正在推进的「增量字体传输」让浏览器只下载需要的字，见[《可变字体和增量字体传输》](https://docs.cocobook.com/link/1258)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f05-history" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 同一个字，为什么各地写法不同

> 适合谁看：遇到繁体、日文显示「看着别扭」，或者要做多地区产品、想弄清简繁和地区字形关系的人。

## 两种不同的差异

1. **简体和繁体**：是**不同的字**，有不同的编码。例如「国」和「國」。转换要用简繁转换工具，换字体解决不了。
2. **地区字形**：是**同一个字**、同一个编码，但各地的标准写法略有不同。例如「骨」字里面的部件，中国大陆和台湾、日本的写法方向不同；又如逗号、句号在中国大陆位于字面左下，在台湾、香港通常居中。

第二种差异是因为 Unicode 做了「汉字统一」：各地写法只是细节不同的字，合并成一个编码，具体长什么样交给字体决定。

## 各地的字形标准

- **中国大陆**：以《通用规范汉字表》等为准；
- **台湾**：以「国字标准字体」为准；
- **香港**：有《常用字字形表》；
- **日本、韩国**：各有自己的汉字字形规范。

所以一款字体通常只符合某一个地区的规范。

## 思源字体的做法

思源黑体、思源宋体是 Adobe 与 Google 合作的开源泛中日韩字体，同一设计按地区分成多个版本：

| 版本 | 地区 |
|---|---|
| SC | 简体中文（中国大陆） |
| TC | 繁体中文（台湾） |
| HC | 繁体中文（香港） |
| JP | 日文 |
| KR | 韩文 |

同一个字在 SC 和 JP 版本里可能长得不同。完整版本还可以通过 OpenType 的 `locl`（本地化形式）功能，按文本的语言标记自动切换字形。

## 实际中会遇到什么

- **用日文字体显示中文**：有的字会出现日本写法，标点位置也不对。常见于没有中文字体、系统退回到日文字体的情况；
- **用简体字体显示繁体**：繁体字可能缺字，退回到其他字体，一段话里字体忽大忽小；
- **网页**：给页面写对语言标记（`<html lang="zh-CN">`、`zh-TW`、`zh-HK`、`ja`），浏览器才会挑选合适的字体和字形。见[《中文字体栈怎么写》](https://docs.cocobook.com/link/1254)。

## 怎么选

- 面向中国大陆读者：选 SC / 简体中文版本；
- 面向台湾、香港读者：选 TC / HC 版本，或明确标注支持繁体的字体；
- 多地区产品：按语言分别指定字体，不要让一款字体包揽所有地区。

缺字和方框问题，另见[《繁体、日文、生僻字显示成方框怎么办》](https://docs.cocobook.com/link/626)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f06-regional" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 看懂字体信息：名称、版本、字重和许可

> 适合谁看：拿到一个字体文件，想知道它叫什么、是谁做的、什么版本、许可是什么的人。

## 在电脑上看

- **Windows**：在「设置 → 个性化 → 字体」里点开字体，可以看到字体名、版本、文件位置；对字体文件点右键 →「属性」→「详细信息」，可以看到标题、版本、版权；
- **macOS**：打开「字体册」，选中字体后显示信息面板，可以看到 PostScript 名称、版本、版权、许可说明、字符数等。

## 文件里的「名称表」

字体文件有一张 `name` 表，记录各种文字信息。常见的条目：

| 编号 | 内容 | 用途 |
|---|---|---|
| 0 | 版权声明 | 谁拥有这款字 |
| 1 / 2 | 家族名 / 样式名 | 例如「思源黑体」+「Bold」 |
| 4 | 完整名称 | 软件里显示的名字 |
| 5 | 版本 | 如 Version 2.005 |
| 6 | PostScript 名称 | 程序内部引用的名字，不能有空格 |
| 8 / 9 | 厂商 / 设计师 | |
| 13 | 许可说明 | 许可证的文字说明 |
| 14 | 许可网址 | 许可证全文链接 |
| 16 / 17 | 首选家族名 / 首选样式名 | 多字重家族的分组 |

注意：

- 名称表里的信息是制作者自己写的，**有参考价值，但不能代替官方许可文件**。许可以作者或厂商公布的许可证原文为准，见[《字体许可证怎么读：一张检查清单》](https://docs.cocobook.com/link/1243)；
- 中文字体常有中英文两套名字（比如「思源黑体」和 Source Han Sans），软件里看到哪个取决于系统语言；
- 网页的 `font-family` 用的是你在 CSS 里自己起的名字，不一定和文件里的名字一致，见[《写对 @font-face：字体名、字重和 local()》](https://docs.cocobook.com/link/1251)。

## 字重和宽度

- 字重用数字表示：100（最细）到 900（最粗），400 是常规（Regular），700 是粗体（Bold）；
- 可变字体把一串字重放在一个文件里，能取中间值，见[《多字重家族和可变字体怎么挑》](https://docs.cocobook.com/link/637)。

## 版本号为什么重要

- 新版本可能补了字、修了错字、改了许可；
- 网上流传的旧版本可能来自不同作者或被二次修改过；
- 做项目时把使用的版本号记下来，见[《公司用字，怎么留一份合规凭证》](https://docs.cocobook.com/link/622)。

## 想看得更细

- 查有没有某个字：见[《怎么查一款字有没有某个字》](https://docs.cocobook.com/link/659)；
- 用工具读出全部信息：见[《fontTools 入门：查看、修改、转格式》](https://docs.cocobook.com/link/1303)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f07-info" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>

# 常见的开源中文字体

> 适合谁看：想找可以放心商用的中文字体，先从开源字体入手的人。

开源字体的好处是许可清楚：可以商用、可以嵌入、可以修改（按许可证的条件）。下面列出几款常见的开源中文字体。**许可以项目仓库里的许可证文件为准**，使用前请再核对一遍，读法见[《SIL 开放字体许可证（OFL）逐条读》](https://docs.cocobook.com/link/1244)。

## 一览

| 字体 | 风格 | 许可证 | 说明 |
|---|---|---|---|
| 思源黑体 Source Han Sans | 黑体 | SIL OFL 1.1 | Adobe 与 Google 合作，7 个字重，分简体、繁体（台湾、香港）、日文、韩文版本 |
| 思源宋体 Source Han Serif | 宋体 | SIL OFL 1.1 | 同上，7 个字重 |
| Noto Sans / Serif CJK | 黑体 / 宋体 | SIL OFL 1.1 | 与思源同一设计，以 Google 的 Noto 品牌发布 |
| 霞鹜文楷 LXGW WenKai | 手写楷体 | SIL OFL 1.1 | 基于 FONTWORKS 的 Klee One 衍生 |
| 霞鹜新晰黑 LXGW Neo XiHei | 黑体 | IPA 字体许可 v1.0 | 衍生自 IPAex Gothic，注意它**不是 OFL** |
| 更纱黑体 Sarasa Gothic | 黑体（含等宽） | SIL OFL 1.1 | 合并多款开源字体，适合写代码 |
| 得意黑 Smiley Sans | 窄斜黑体 | SIL OFL 1.1 | 覆盖 GB 2312 和《通用规范汉字表》，适合标题、海报 |
| 遍黑体 Plangothic | 黑体 | SIL OFL 1.1 | 基于思源黑体，按中国大陆字形补充扩展 B 区到 J 区的汉字，常作生僻字备用字体 |

## 使用要点

- **保留字体名（RFN）**：思源的许可证保留了「Source」这个名字；修改后再发布的版本（包括一些网页工具生成的子集）按 OFL 的要求不能继续用保留名。详见[《SIL 开放字体许可证（OFL）逐条读》](https://docs.cocobook.com/link/1244)；
- **衍生字体的许可跟着上游走**：霞鹜新晰黑衍生自 IPA 字体，所以用 IPA 许可，条件和 OFL 不同，见[《其他常见许可：Apache、IPA、公有领域和「个人免费」》](https://docs.cocobook.com/link/1245)；
- **收字范围不同**：多数字体只覆盖常用字，遇到生僻字要配备用字体；生僻字多的场合可以把遍黑体放在字体栈后面，见[《网页和系统里怎么显示生僻字》](https://docs.cocobook.com/link/1284)；
- **从官方渠道下载**：优先从项目的官方仓库或发布页下载，留存许可证文件。有项目方提醒，网上有人单独售卖开源字体文件，这违反 OFL「不得单独售卖」的条款，不要购买。

## 不是开源的「免费字体」

很多厂商推出「免费商用」字体，它们通常是厂商自己的许可协议，不是开源许可：可以免费用，但往往限制修改、再分发或特定用途，并且厂商可以调整条款。使用前要逐条读许可，见[《网上说「免费商用」，到底能不能用》](https://docs.cocobook.com/link/620)。

在文风字体里，许可类型以每款字体页面上的许可标签和说明为准，各档位含义见[《许可档位与标签》](https://docs.cocobook.com/link/591)。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-f08-opensource" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>