字体设计入门 一套中文字体怎么做出来:基本术语、汉字结构、字形规范、灰度和视觉校正、西文和标点、间距、多字重、大型字库协作、衍生字体许可和学习路线。 一套中文字体是怎么做出来的 适合谁看:对字体设计感兴趣,想先了解一套中文字体从构想到发布要经过哪些步骤的人。 一位字库设计总监的说法 方正字库设计总监汪文在接受《光明日报》采访时,介绍了他们设计字体的基本流程,可以概括为: 定需求:预先确定市场需求,包括风格、使用场景、承载媒介,需要做调研和论证; 画草图:在纸上手绘再扫描进电脑,或直接在专用软件里绘制; 定方案:在电脑上反复调整,确定合格方案,再做后续延展。 从 50 字到几千字 据他介绍: 约 50 个字:先设计大约 50 个经验筛选出来的字,包含汉字的 31 个基本笔画、各笔画在不同位置的形态变化,以及基本的结构形式。这 50 个字是整套字的风格基础; 约 500 个字:包含绝大部分独体字和合体字,绝大部分偏旁部首也随之设计出来。这 500 字决定全库在风格、字面大小、笔画粗细、重心等方面的一致性要求; 扩展到全库:一套简体字库的最低标准是 6763 个汉字(即 GB 2312 的汉字数),出版和设备系统用字则需要更多; 收尾:设计拉丁字符和排版符号、校对、装库、测试。 各家字库和独立设计师的具体做法不尽相同,但「先定风格样字、再扩展、最后统一校对」是普遍思路。字数问题见《一款中文字体要做多少字》。 每一步要注意什么 阶段 重点 本书相关页面 定风格 用途、目标字号、参考资料 《宋体、黑体、楷体、仿宋:四大类从哪来》 样字 笔形、结构、重心、字面 《汉字的骨架:字身框、字面、重心和中宫》 扩展 部件复用、规范字形 《写对字:笔形、笔顺和字形规范》 统一 灰度、视觉校正 《灰度和视觉校正》 配套 西文、标点、间距 《中文字体里的西文、数字和标点》 生产 字体文件、排版功能、测试 《字体软件》一书 个人能做什么 完整的中文字库工作量很大,个人入门可以从小处开始: 先做一款西文字体或数字、符号,熟悉软件和基本概念; 做一组标题字或字标,几十个字即可; 基于开源字体做改字练习,但要遵守许可,见《基于开源字体做衍生字体:许可边界》。 参考资料 字体设计的基本术语 适合谁看:刚开始学字体设计,看教程时被基线、x 高度、字怀等术语卡住的人。 通用术语 术语 英文 意思 字形 glyph 字体里一个具体的图形 字符 character 抽象的字,有编码 全身 / em em 字体设计的基本单位方格,字号就是 em 的大小。软件里常把 1 em 分成 1000 或 2048 个单位 笔画 stroke 构成字的线条 对比度 contrast 粗笔画和细笔画的差别,宋体对比度高,黑体低 字重 weight 笔画粗细档位 灰度 color 一段文字整体的深浅,见《灰度和视觉校正》 字怀 counter 字母或字内部被笔画围住或半围住的空白 西文专用术语 术语 英文 意思 基线 baseline 西文字母「坐」着的那条线 x 高度 x-height 小写字母 x 的高度,决定字看起来大不大 大写高度 cap height 大写字母的高度 上伸 / 下伸 ascender / descender b、d 向上伸出、p、q 向下伸出的部分 衬线 serif 笔画末端的小装饰 超出 overshoot 圆形字母(如 o)略微超出基线和 x 高度,看起来才和平头字母一样高 字侧空间 sidebearing 字形两侧到字宽边界的空白 字偶距调整 kerning 针对特定两个字母组合单独调整间距,如 AV 中文常用术语 术语 意思 字身框 每个汉字所占的正方形空间 字面 字身框中字图实际分布的空间(W3C《中文排版需求》的定义) 字面率 字面占字身框的比例,字面大的字体看起来字大 重心 字在视觉上的中心位置 中宫 字的中心区域,中宫收紧显得紧凑,放开显得舒展 部件 / 偏旁 组成合体字的部分,设计中常复用 中文术语的详细解释见《汉字的骨架:字身框、字面、重心和中宫》。 参考资料 汉字的骨架:字身框、字面、重心和中宫 适合谁看:想动手设计汉字,需要先掌握汉字字形基本概念的人。 字身框和字面 字身框:每个汉字占据的正方形空间。概念来自铅字印刷,指铅字字身的外轮廓;在数字字体里就是 1 个 em 的方格; 字面:W3C《中文排版需求》的定义是「文字的字身框中,字图实际分布的空间」。设计前一般先定一个字面框作为参考,所有字都尽量撑到差不多的范围; 字面率:字面占字身框的比例。字面大,字显得大、排版显得紧;字面小,字显得小、字间留白多。 两个字的字身框紧贴排在一起时,字面之间的空白就形成了视觉上的字间距。所以中文字体的「间距」主要靠字面大小来控制,这一点和西文字体每个字母单独设字宽很不一样。 重心 重心是字的视觉平衡点。设计时一般靠目测判断偏上还是偏下: 同一套字的重心高度要一致,否则一行字看起来会上下跳; 不同风格的重心位置不同,设计前要先定下来。 中宫和字白 中宫:源自书法的九宫格,指最中间一格;后来指重心周围的区域,用来衡量笔画的疏密。中宫收紧,字显得紧凑、传统;中宫放开,字显得舒展、现代; 字白:笔画之间和外围的空白。中宫大小可以通过字中间被包围的空白来判断。 举例:用于高速公路标识的字体通常中宫很大、细节简化,为的是在极短时间内认出来;书籍正文字体更看重长时间阅读的舒适。 笔画和部件 汉字由点、横、竖、撇、捺、折等笔画组成,每种笔画在不同位置形态会变化(例如作为偏旁时的横往往变短、变斜); 合体字由部件组成,部件在不同位置大小比例不同(「木」单独成字和作为「林」的左边形态不同); 设计中常复用部件提高效率,但复用后仍要逐字调整,见《写对字:笔形、笔顺和字形规范》。 练习建议 先挑十几个结构不同的字(独体、左右、上下、包围)做样字,观察字面和重心是否一致; 把样字排成一段文字,缩小看整体效果,见《灰度和视觉校正》。 参考资料 写对字:笔形、笔顺和字形规范 适合谁看:设计用于正文、教育、出版或公文的中文字体,需要了解字形规范的人。 为什么要讲规范 汉字一个小细节的差异,就可能是两个不同的字。方正字库设计总监汪文举过例子:「汩」(gǔ)、「汨」(mì)、「泪」(lèi)三个字,区别只在右边方框内横画的数量和衔接方式。 字体有传播属性,用于正文、教材、出版的字体,必须写对。 常见的规范问题 笔形:例如楷体中的「不」字,规范写法最后一笔是竖,不是竖钩。汪文提到,在重新设计「汉文正楷」时,就把「不」字的钩去掉了,因为原字稿书写于 90 多年前,当时常写成竖钩; 部件写法:同一部件在不同字里的写法要符合规范; 繁简和异体:不要把繁体或异体的写法混进简体字体; 地区差异:面向中国大陆的字体,以中国大陆的字形规范为准,见《同一个字,为什么各地写法不同》。 可以参照的规范 中国大陆的汉字规范由教育部、国家语言文字工作委员会组织制定,常用的有: 规范 内容 《通用规范汉字表》(2013) 8105 个规范汉字及其字形 《通用规范汉字笔顺规范》(GF 0023-2020) 8105 个字的笔顺,2021 年 3 月 1 日起实施 其他部件、笔画相关规范 见教育部、国家语委发布的语言文字规范 规范以官方发布的文本为准。书法、美术字、标题字可以有艺术处理,但用于教育和正式出版的字体要严格遵守。 设计中怎么落实 设计样字前,先查清每个字的规范字形; 建立部件库时,把规范写法定下来,避免错误在复用中扩散; 扩展完成后,对照字表逐字校对; 发布后留出更正渠道,收到错字反馈及时修正。 参考资料 灰度和视觉校正 适合谁看:设计出的字单个看不错,排成一段却深浅不匀、大小不一,想知道怎么调的人。 灰度:整段文字的深浅 字体设计里的「灰度」(英文 color)指文字排在页面上的整体深浅,和颜色无关。一套好的正文字体,排成一段时应该均匀,没有哪个字特别黑或特别浅。 影响灰度的因素: 笔画粗细:笔画多的字(如「鬱」)和笔画少的字(如「一」)放在一起,笔画多的字必须把笔画做细,否则会是一团黑; 字面大小:笔画少的字字面要适当收小,否则显得大而空; 空白分布:字内部的空白要大致均匀。 视觉校正:让眼睛觉得「对」 几何上相等,眼睛看起来不一定相等。常见的校正: 现象 校正 圆形和尖角看起来比方形矮小 让它们略微超出边界(西文叫 overshoot),如「口」和「〇」的大小处理 横画看起来比同样粗的竖画粗 横画做得比竖画细一些 几何中心看起来偏下 把重心略微上提 笔画交叉处显得发黑 在交叉处适当削细(墨阱) 字身框完全填满的字显得特别大 方框类的字(如「国」「图」)字面收小一些 这些都是经验性的处理,具体做多少要靠反复排版、打印、缩小观察来判断。 怎么检查 排测试文本:用真实文章,不要只看单字; 多种字号:大字号看细节,小字号看灰度; 眯眼看或缩小看:模糊之后,深浅不匀的字会跳出来; 打印或在不同屏幕上看:屏幕渲染和印刷效果不同; 翻转看:把文字倒过来,摆脱「认字」的干扰,更容易看出形状问题。 参考资料 中文字体里的西文、数字和标点 适合谁看:设计中文字体时,需要一并考虑西文字母、数字和标点符号的人。 为什么中文字体要带西文 中文正文里少不了数字、英文单词和网址。中文字体一般会自带一套西文字母和数字,有的是专门配套设计的,有的取自已有的西文字体(例如思源黑体的西文来自 Adobe 的 Source Sans)。 西文部分的要点 大小协调:西文的 x 高度、大写高度要和汉字的视觉大小匹配,否则混排时英文显得过大或过小; 基线位置:西文要放在汉字字面的合适高度,混排时看起来「坐」在同一条线上; 粗细协调:同一字重下,西文和汉字的笔画粗细要看起来一致; 比例宽度:西文字母一般是比例宽度(每个字母宽度不同),不是汉字那样的全角等宽; 全角字母:字体里通常也有全角字母和数字,用于竖排等场合。 混排时的排版规则(如中西文之间留空)见《中西文混排》;字体搭配见《中文字体怎么搭配:标题、正文和中西文混排》。 标点的要点 中文标点是全角的,但标点的形状只占字身框的一部分。设计时要注意: 位置因地区而不同:逗号、句号等在中国大陆位于字面左下,在台湾、香港居中。面向不同地区的字体要分别处理,见《同一个字,为什么各地写法不同》; 竖排要有专门的字形:引号、括号、破折号、省略号等在竖排时要旋转或改变形状,通过 OpenType 的 vert、 vrt2 功能替换; 半宽字形:为了支持标点挤压,字体可以提供半宽的标点字形(通过 halt、 chws 等功能),见《标点挤压》; 中西文共用的标点:引号「“”」在 Unicode 里中西文共用同一码位,中文字体通常做成全角,西文字体做成比例宽度,混排时要留意由哪款字体显示。 数字 等宽数字:表格对齐用,每个数字宽度相同; 比例数字:正文中更自然; 数字的高度和粗细也要与汉字协调。 参考资料 字宽、间距和排版功能 适合谁看:字形画好了,接下来要处理字宽、字距和 OpenType 功能的人。 汉字:全角等宽 汉字一般都是等宽的,字宽就是 1 个 em。间距主要通过字面大小来控制,见《汉字的骨架:字身框、字面、重心和中宫》。 西文:字侧空间和字偶距 西文字母宽度各不相同,需要逐个设定: 字侧空间:每个字形左右两侧的空白。常见方法是先给直线类字母(如 n、H)定好间距,再推到圆形类(o、O)和斜线类(v、A); 字偶距调整:对特定组合(如 AV、To、LT)单独调整距离,存进字体的 kern 功能。先把字侧空间调好,字偶距只用来处理少数特殊组合。 常用的 OpenType 功能 OpenType 功能让字体在排版时自动替换字形或调整位置。中文字体常用的: 功能 作用 vert / vrt2 竖排时替换标点等字形 halt / vhal 把全角标点变成半宽(横排/竖排) chws / vchw 根据上下文自动挤压标点 locl 按语言切换字形,例如简繁或地区字形 palt / vpal 比例宽度的字形调整 kern 西文字偶距 liga 西文连字 tnum / pnum 等宽数字 / 比例数字 功能做好后,要在真实排版环境里测试:网页浏览器、Word、InDesign 对各功能的支持程度不同。网页上如何开启这些功能,见《在网页上实现中文排版:CSS 速查》。 度量信息 字体文件里还要设定行高相关的数值(上升、下降、行间距等)。这些数值不一致,会导致同一款字在不同系统里行高不同。可变字体和多字重家族中,各字重的这些数值要保持一致。 参考资料 多字重和可变字体怎么设计 适合谁看:想把一款字扩展成多个粗细,或者做成可变字体的设计者。 母版和插值 多字重家族通常不是每个字重从头画,而是: 先画好两端的母版,例如最细和最粗; 软件在母版之间插值,自动算出中间字重; 必要时增加中间母版,修正插值效果不好的地方。 插值的前提是各母版兼容:同一个字形在每个母版里的轮廓点数量、顺序、方向都要一致。设计时就要为插值做准备。 可变字体 可变字体把母版和插值规则直接装进一个字体文件,使用时可以取任意中间值。 轴:每个可变的维度叫一个轴。常见的注册轴有字重 wght、宽度 wdth、倾斜 slnt、斜体 ital、视觉字号 opsz; 设计空间:所有轴构成的范围,母版是其中的点; 命名实例:在轴上预设的常用值,如 Regular、Bold,方便在不支持可变字体的软件里选择。 中文字体的特别之处 笔画多的字难插值:粗字重时笔画多的字容易挤在一起,往往需要单独修改结构,或者为特定字形设置替换规则; 文件大:几千到几万个字形,每个都带多个母版数据,文件会明显变大; 测试量大:每个字都要在多个字重下检查。 使用者怎么选 如何在多字重家族和可变字体之间选择、网页上怎么用,见《多字重家族和可变字体怎么挑》 和《可变字体和增量字体传输》。 参考资料 大型字库怎么协作:以思源黑体为例 适合谁看:想了解大型中日韩字体是怎么组织开发的,或者在规划团队字体项目的人。 项目规模 据 Adobe 2014 年发布时的介绍: 思源黑体有 7 个字重,一款字体同时完整支持日文、韩文、繁体中文和简体中文,还包括来自 Source Sans 的拉丁、希腊、西里尔字母; 每个字重有 65,535 个字形,这是 OpenType 格式允许的上限;整个家族接近 50 万个字形。 五家公司分工 参与方 分工 Adobe 设计和技术主导、项目协调和自动化;东京团队的资深设计师西塚凉子完成基础设计 Google 提供测试资源和专业支持,并出资 岩田(Iwata,日本) 扩展日文汉字 Sandoll(韩国) 设计韩文字母 常州华文(中国) 中文部分 Adobe 介绍说,这样五家公司协作的项目在字体设计界前所未有。之所以要请各地的厂商,是因为每种语言的书写系统都有当地的规范和习惯,需要本地专家把关。 可以借鉴的做法 先定设计基础,再分工扩展:一位主设计师确定风格,各地团队按统一规范扩展; 按语言和地区分别把关:同一个字在各地写法不同,由熟悉当地规范的团队负责,见《同一个字,为什么各地写法不同》; 自动化:几十万个字形,构建、检查、出版必须依靠脚本和工具,见《字体工程工具:构建、检查和压缩》; 源文件公开:思源黑体的源文件和构建说明在代码仓库中公开,后来不少开源中文字体都以它为基础衍生,例如遍黑体。 对小团队的启发 规划时先算清字数和字重数,工作量随两者相乘增长; 尽早统一部件和规范,避免后期返工; 用版本管理工具管理源文件,记录每次修改。 参考资料 基于开源字体做衍生字体:许可边界 适合谁看:想在开源字体的基础上修改、补字、改风格,再发布或商用的设计者。 先看许可证 开源字体最常见的许可证是 SIL 开放字体许可证(OFL 1.1)。它允许使用、研究、复制、合并、嵌入、修改和再分发,但有几个条件。逐条解读见《SIL 开放字体许可证(OFL)逐条读》。 OFL 对衍生字体的主要要求 根据 OFL 1.1 原文的条件: 不能单独售卖字体:字体可以随软件一起捆绑销售,但不能把字体文件本身拿来卖; 保留版权声明和许可证:再分发时要附上原版权声明和许可证全文; 保留字体名不能用:如果原作者声明了「保留字体名」(RFN),修改后的版本不能用这个名字作为展示给用户的主要字体名,除非获得版权人明确的书面许可。例如思源系列保留了「Source」,遍黑体保留了「Plangothic」「遍黑」; 不能用原作者的名字做宣传:除非获得许可,或者只是为了说明来源; 衍生字体也必须用 OFL 发布:不能改成其他许可证,也不能改成闭源商业授权。 实际操作清单 给衍生字体起一个不含保留字体名的新名字,并相应修改字体文件名称表里的家族名、完整名称等,见《看懂字体信息:名称、版本、字重和许可》; 在版权声明里保留原作者,再加上你自己的版权行; 名称表里的许可说明和许可网址保持为 OFL; 在说明文档里写清楚基于哪款字体、改了什么; 如果上游不是 OFL(例如 IPA 字体许可),按上游许可的条件来,见《其他常见许可:Apache、IPA、公有领域和「个人免费」》。 改字做字标是另一回事 在海报、标志里对某几个字做变形,不发布字体文件,通常属于「使用」而不是「衍生字体」。这种情况的注意事项见《改字和做字标:开源许可允许什么》。 商业字体不能这样做 商业字体和「免费商用」字体通常禁止修改字体文件、禁止据此做新字体。即使只是参考字形临摹,也可能构成侵权风险,见《三个绕不开的判例》。 参考资料 学习路线和资料 适合谁看:决定开始学字体设计,想要一条循序渐进的路线和靠谱学习资料的人。 建议的学习路线 阶段 做什么 参考页面 1. 看懂字 认识字体类别、结构和术语;多观察好的排版 《宋体、黑体、楷体、仿宋:四大类从哪来》、《字体设计的基本术语》 2. 熟悉软件 选一款字体编辑器,跟着官方教程做一套数字或几个字母 《字体编辑器怎么选》 3. 小项目 做一组标题字或几十个字的样字,排版测试 《汉字的骨架:字身框、字面、重心和中宫》 4. 系统化 扩展到几百字,建立部件和规范 《写对字:笔形、笔顺和字形规范》 5. 工程化 学习字体生成、检查和发布流程 《字体工程工具:构建、检查和压缩》 6. 发布 选择许可证,写好说明 《基于开源字体做衍生字体:许可边界》 在线资料 Google Fonts Knowledge:Google 的字体知识库,有系统的入门课程和术语表(英文); Glyphs 教程:字体编辑器 Glyphs 官方的教程,涵盖间距、字偶距、可变字体等,很多内容和软件无关(英文); FontForge 文档:免费开源编辑器 FontForge 的文档; W3C《中文排版需求》:了解中文排版对字体的要求; TypeDrawers:英文字体设计论坛,可以看到很多专业讨论。 书籍 Karen Cheng《Designing Type》(耶鲁大学出版社):逐个字母讲解西文字体设计,第二版于 2020 年出版; 国内也有不少中文字体设计的书籍和课程,选择时看作者是否有实际字库项目经验。 练习习惯 每天看字:留意书籍、路牌、包装上的字,想想它为什么这样设计; 多排版测试:设计永远要放到文本里看; 记录版本:用版本管理工具保存源文件,方便回退和对比; 请人看:设计师、普通读者都可以,他们会发现你看不到的问题。 参考资料