认识中文字体
字体、字库、字形、字符等基本概念,宋黑楷仿四大类的来历,一款中文字体要做多少字,字体技术简史,各地字形差异和常见开源中文字体。
- 字体、字库、字形、字符:先分清几个词
- 宋体、黑体、楷体、仿宋:四大类从哪来
- 圆体、手写体、书法体和美术字
- 一款中文字体要做多少字
- 从雕版到网页字体:中文字体技术简史
- 同一个字,为什么各地写法不同
- 看懂字体信息:名称、版本、字重和许可
- 常见的开源中文字体
字体、字库、字形、字符:先分清几个词
适合谁看:刚接触字体,常被「字体」「字库」「字形」「字符」这些词绕晕的人。
几个基本概念
| 词 | 意思 | 例子 |
|---|---|---|
| 字符 | 一个抽象的「字」,和长什么样无关,由编码标准给一个编号 | 「永」的编号是 U+6C38 |
| 字形 | 一个字符的具体样子 | 宋体的「永」和楷体的「永」是两个字形 |
| 字体 | 一套风格统一的字形设计 | 思源黑体、霞鹜文楷 |
| 字族(家族) | 同一设计的多个粗细、宽窄版本 | 思源黑体 ExtraLight 到 Heavy |
| 字重 | 笔画粗细的档位 | Regular、Bold |
| 字库 / 字体文件 | 存放字形和相关数据的文件 | .ttf、.otf、.woff2 |
日常说的「字体」,有时指设计(这款字好看),有时指文件(把字体发我一下),要看上下文。
字符和字形不是一一对应
- 一个字符可以有多个字形:例如「骨」在中国大陆和日本的标准写法不同,Unicode 里是同一个编号,靠不同字体显示不同字形,见《同一个字,为什么各地写法不同》;
- 一个字形也可以对应多个字符:例如连字「fi」。
所以「这款字体有多少个字」最好问清楚:是支持多少个字符,还是包含多少个字形。
字体文件里有什么
一个现代字体文件(OpenType 格式)大致包括:
- 字形轮廓:每个字的形状;
- 字符映射表(cmap):哪个字符编号对应哪个字形;
- 度量信息:每个字多宽、行高多少;
- 排版功能:竖排替换、标点半宽、连字等;
- 名称信息:字体名、版权、许可说明、版本号;
- 嵌入权限:能不能嵌入文档,见《字体文件里的「嵌入权限」》。
常见文件格式的区别,见《字体文件格式怎么选:TTF、OTF、TTC、WOFF2 和可变字体》。
「黑体」和「Bold」不是一回事
- 黑体是一类字体的风格(笔画粗细均匀、没有装饰),有细的黑体,也有粗的黑体;
- Bold是字重(加粗)。宋体也有 Bold。
宋体、黑体、楷体、仿宋:四大类从哪来
适合谁看:想了解常用中文字体类别的来历和特点,好在设计中选对字的人。
W3C《中文排版需求》把宋体、楷体、黑体、仿宋列为中文排版最重要的四种字体。它们的用途见《中文排版的基本原则》,本页讲来历。
宋体:明代刻书工人的发明
- 来历:宋体并不产生于宋代。据天一阁博物馆和复旦大学陈正宏教授的介绍,宋体字是明代中期刻书时模仿宋代浙江刻本形成的新字体,弘治年间出现于苏州地区,嘉靖年间初步成型,到清代乾隆时期大体定型。
- 特点:横细竖粗,横画末端有三角形的「喙」。陈正宏推测,横细竖粗和雕版木纹方向有关:横画顺着木纹,不容易刻断。
- 别名:日本、韩国称「明朝体」,台湾常称「明体」,正说明它形成于明代。
- 用途:书籍正文最常用的字体。
楷体:手写楷书的印刷化
- 来历:在宋体出现以前,刻本都用手写楷体。近代铅字时代,楷体活字中创制最早、配套最完备、影响最大的是「汉文正楷」:1929 年开始制造,1933 年完工,字样由书法家高云塍书写;1935 年被定为印刷教科书的字体,直到 20 世纪 90 年代仍用于小学课本。
- 特点:带书法笔意,亲切、易认。
- 用途:教科书、引文、对话;台湾公文多用楷体。
仿宋:民国的「专利字体」
- 来历:1916 年前后,丁辅之、丁三在兄弟以宋版书的字体为本,模仿欧阳询楷书笔意,制成「仿宋欧体字」,并以「聚珍仿宋版」之名申报专利,1920 年获政府批准。中华书局用它印制了大型丛书《四部备要》。
- 特点:介于宋体和楷体之间,笔画粗细较均匀,横画微微上扬,清秀。
- 用途:文艺作品、古籍;今天中国大陆党政机关公文的正文用仿宋,见《公文排版:字体和字号》。
黑体:受西文无衬线字体启发
- 来历:中国印刷黑体最早可确认的实例,见于商务印书馆 1910 年 12 月《东方杂志》广告中的黑体数字。它的形成受到日本「ゴシック体」的启发——日本字厂把西文无衬线字体笔画均匀的特点用到汉字上,再传入中国;但商务印书馆的黑体并非照搬,而是结合宋体和书法笔形改良而成。
- 特点:笔画粗细均匀,没有装饰。
- 用途:标题、标识、强调;在屏幕上也越来越多地用作正文。
怎么用这些知识
- 长篇阅读:宋体、楷体、细一些的黑体都可以;
- 标题:粗黑体、粗宋体;
- 正式文件:遵守相应规范;
- 搭配:一般一种正文字体加一种标题字体就够了,见《中文字体怎么搭配:标题、正文和中西文混排》。
圆体、手写体、书法体和美术字
适合谁看:在四大类之外,想了解其他常见中文字体类别、知道什么场合用什么的人。
圆体
- 笔画粗细均匀,端点和转角是圆的,可以看作黑体的变体;
- 在日本称「丸ゴシック」(圆角哥特体),在日本的标识、公共指示中很常见;中文圆体的发展也受日本影响;
- 给人柔和、亲切的感觉,常用于儿童、母婴、食品、生活服务类品牌和界面。
手写体
- 模仿日常手写的字形,如「霞鹜文楷」偏楷书手写、各种「手札体」「童体」;
- 适合短文本、强调个人风格的场合;
- 长篇正文要看可读性和字数是否足够——很多手写体收字不多,遇到生僻字就会缺字。
书法体
- 行书、草书、隶书、篆书、魏碑等;
- 适合标题、海报、包装;
- 草书、篆书普通读者不一定认得,不适合传达信息的场合;
- 书法字体中的单字更容易被认定为美术作品,用在商标、包装上要特别注意许可,见《三个绕不开的判例》。
美术字和标题字
- 为标题、广告专门设计的字体,造型变化大,如各种「综艺体」「粗黑变体」「像素字」;
- 往往只有一个字重、收字有限;
- 用法建议见《像素字、手写体和书法体的使用边界》。
等宽字体
- 写代码、终端里用的字体,每个西文字符宽度相同;
- 中文等宽字体通常让一个汉字正好等于两个西文字符的宽度,代码对齐时不会错位,例如「更纱黑体」的等宽版本。
选字时先问三个问题
- 读多长? 长文选可读性好的宋体、黑体、楷体;短标题可以用个性字体;
- 字够不够? 看字体覆盖的字符集,人名地名多的场合尤其要注意,见《一款中文字体要做多少字》;
- 许可允不允许? 见《字体许可证怎么读:一张检查清单》。
一款中文字体要做多少字
适合谁看:想知道中文字体为什么比西文字体大得多、难做得多,以及「收字」「字符集」是什么意思的人。
西文字体和中文字体差多少
一款基本的西文字体,大小写字母、数字、标点加起来几百个字形就能用。中文字体要先确定「做哪些字」——这就是字符集,通常以国家标准或字表为依据。
常见的中文字符集
| 字符集 | 汉字数 | 说明 |
|---|---|---|
| GB 2312-1980 | 6763 | 一级 3755 字(常用,按拼音排)、二级 3008 字(按部首排)。很多早期字体和小字体按它收字 |
| 《通用规范汉字表》(2013) | 8105 | 一级 3500 字、二级 3000 字、三级 1605 字(姓氏、地名、科技术语等专门用字)。国务院 2013 年公布 |
| GB 18030-2022 | 87,887 | 强制性国家标准,按实现程度分级,详见《GB 18030:中文编码的国家标准》 |
| Unicode 中日韩统一表意文字 | 超过 10 万 | 截至 Unicode 17.0 为 101,996 个,并在继续增加 |
注意:
- 字体标「支持 GB 2312」,只说明这 6763 个字齐全,不代表人名、地名里的字都有;
- 繁体、日文汉字另有字表,见《同一个字,为什么各地写法不同》。
为什么中文字体难做
- 数量:做一套 GB 2312 就是六千多个字,覆盖《通用规范汉字表》需要八千多个;每增加一个字重,工作量又要再来一遍。
- 统一:几千个字要大小、重心、黑度看起来一致,需要反复调整;部件可以复用,但每个字的结构不同,复用后仍要逐个修正。
- 质检:错字、缺笔、字形不合规范、编码错误都要检查;用于出版、公文的字体要求更高。
- 技术:文件大、排版功能(竖排、标点)复杂。
这也解释了两件事:
- 中文字体文件动辄几 MB 到十几 MB,放到网页上要拆子集,见《中文网页字体为什么要拆分子集》;
- 中文字体的许可费通常比西文字体高,免费字体也常常收字有限。
收字越多越好吗
不一定。按需选择:
- 只做标题、海报,常用字够了;
- 正文、出版物、人名地名多的业务系统,要看字表覆盖,必要时配备用字体,见《网页和系统里怎么显示生僻字》。
从雕版到网页字体:中文字体技术简史
适合谁看:想了解中文字从刻版、铅字、照排到数字字体一路怎么走过来的人。
雕版和活字
- 雕版印刷:整版刻字。宋体就是在明代刻书中形成的,见《宋体、黑体、楷体、仿宋:四大类从哪来》。
- 活字印刷:北宋沈括《梦溪笔谈》记载了毕昇发明泥活字;后来又有木活字、铜活字。但汉字数量多,活字要备齐成千上万个,长期没有取代雕版。
铅活字时代(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》;
- 正在推进的「增量字体传输」让浏览器只下载需要的字,见《可变字体和增量字体传输》。
同一个字,为什么各地写法不同
适合谁看:遇到繁体、日文显示「看着别扭」,或者要做多地区产品、想弄清简繁和地区字形关系的人。
两种不同的差异
- 简体和繁体:是不同的字,有不同的编码。例如「国」和「國」。转换要用简繁转换工具,换字体解决不了。
- 地区字形:是同一个字、同一个编码,但各地的标准写法略有不同。例如「骨」字里面的部件,中国大陆和台湾、日本的写法方向不同;又如逗号、句号在中国大陆位于字面左下,在台湾、香港通常居中。
第二种差异是因为 Unicode 做了「汉字统一」:各地写法只是细节不同的字,合并成一个编码,具体长什么样交给字体决定。
各地的字形标准
- 中国大陆:以《通用规范汉字表》等为准;
- 台湾:以「国字标准字体」为准;
- 香港:有《常用字字形表》;
- 日本、韩国:各有自己的汉字字形规范。
所以一款字体通常只符合某一个地区的规范。
思源字体的做法
思源黑体、思源宋体是 Adobe 与 Google 合作的开源泛中日韩字体,同一设计按地区分成多个版本:
| 版本 | 地区 |
|---|---|
| SC | 简体中文(中国大陆) |
| TC | 繁体中文(台湾) |
| HC | 繁体中文(香港) |
| JP | 日文 |
| KR | 韩文 |
同一个字在 SC 和 JP 版本里可能长得不同。完整版本还可以通过 OpenType 的 locl(本地化形式)功能,按文本的语言标记自动切换字形。
实际中会遇到什么
- 用日文字体显示中文:有的字会出现日本写法,标点位置也不对。常见于没有中文字体、系统退回到日文字体的情况;
- 用简体字体显示繁体:繁体字可能缺字,退回到其他字体,一段话里字体忽大忽小;
- 网页:给页面写对语言标记(
<html lang="zh-CN">、zh-TW、zh-HK、ja),浏览器才会挑选合适的字体和字形。见《中文字体栈怎么写》。
怎么选
- 面向中国大陆读者:选 SC / 简体中文版本;
- 面向台湾、香港读者:选 TC / HC 版本,或明确标注支持繁体的字体;
- 多地区产品:按语言分别指定字体,不要让一款字体包揽所有地区。
缺字和方框问题,另见《繁体、日文、生僻字显示成方框怎么办》。
看懂字体信息:名称、版本、字重和许可
适合谁看:拿到一个字体文件,想知道它叫什么、是谁做的、什么版本、许可是什么的人。
在电脑上看
- Windows:在「设置 → 个性化 → 字体」里点开字体,可以看到字体名、版本、文件位置;对字体文件点右键 →「属性」→「详细信息」,可以看到标题、版本、版权;
- macOS:打开「字体册」,选中字体后显示信息面板,可以看到 PostScript 名称、版本、版权、许可说明、字符数等。
文件里的「名称表」
字体文件有一张 name 表,记录各种文字信息。常见的条目:
| 编号 | 内容 | 用途 |
|---|---|---|
| 0 | 版权声明 | 谁拥有这款字 |
| 1 / 2 | 家族名 / 样式名 | 例如「思源黑体」+「Bold」 |
| 4 | 完整名称 | 软件里显示的名字 |
| 5 | 版本 | 如 Version 2.005 |
| 6 | PostScript 名称 | 程序内部引用的名字,不能有空格 |
| 8 / 9 | 厂商 / 设计师 | |
| 13 | 许可说明 | 许可证的文字说明 |
| 14 | 许可网址 | 许可证全文链接 |
| 16 / 17 | 首选家族名 / 首选样式名 | 多字重家族的分组 |
注意:
- 名称表里的信息是制作者自己写的,有参考价值,但不能代替官方许可文件。许可以作者或厂商公布的许可证原文为准,见《字体许可证怎么读:一张检查清单》;
- 中文字体常有中英文两套名字(比如「思源黑体」和 Source Han Sans),软件里看到哪个取决于系统语言;
- 网页的
font-family用的是你在 CSS 里自己起的名字,不一定和文件里的名字一致,见《写对 @font-face:字体名、字重和 local()》。
字重和宽度
- 字重用数字表示:100(最细)到 900(最粗),400 是常规(Regular),700 是粗体(Bold);
- 可变字体把一串字重放在一个文件里,能取中间值,见《多字重家族和可变字体怎么挑》。
版本号为什么重要
- 新版本可能补了字、修了错字、改了许可;
- 网上流传的旧版本可能来自不同作者或被二次修改过;
- 做项目时把使用的版本号记下来,见《公司用字,怎么留一份合规凭证》。
想看得更细
- 查有没有某个字:见《怎么查一款字有没有某个字》;
- 用工具读出全部信息:见《fontTools 入门:查看、修改、转格式》。
常见的开源中文字体
适合谁看:想找可以放心商用的中文字体,先从开源字体入手的人。
开源字体的好处是许可清楚:可以商用、可以嵌入、可以修改(按许可证的条件)。下面列出几款常见的开源中文字体。许可以项目仓库里的许可证文件为准,使用前请再核对一遍,读法见《SIL 开放字体许可证(OFL)逐条读》。
一览
| 字体 | 风格 | 许可证 | 说明 |
|---|---|---|---|
| 思源黑体 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)逐条读》;
- 衍生字体的许可跟着上游走:霞鹜新晰黑衍生自 IPA 字体,所以用 IPA 许可,条件和 OFL 不同,见《其他常见许可:Apache、IPA、公有领域和「个人免费」》;
- 收字范围不同:多数字体只覆盖常用字,遇到生僻字要配备用字体;生僻字多的场合可以把遍黑体放在字体栈后面,见《网页和系统里怎么显示生僻字》;
- 从官方渠道下载:优先从项目的官方仓库或发布页下载,留存许可证文件。有项目方提醒,网上有人单独售卖开源字体文件,这违反 OFL「不得单独售卖」的条款,不要购买。
不是开源的「免费字体」
很多厂商推出「免费商用」字体,它们通常是厂商自己的许可协议,不是开源许可:可以免费用,但往往限制修改、再分发或特定用途,并且厂商可以调整条款。使用前要逐条读许可,见《网上说「免费商用」,到底能不能用》。
在文风字体里,许可类型以每款字体页面上的许可标签和说明为准,各档位含义见《许可档位与标签》。