ARTICLE 大家好呀,好久没有认真写一篇博客了。本篇文章就来分享一下我最近对于「字体」方面的研究和偏好。
字体表示#
字体在计算机中一般用.ttf(TrueType Font)文件存储,.otf(OpenType Font)文件存储。它们都是矢量字体格式,可以在不同大小下保持清晰。字体文件包含了字形的轮廓、度量信息和其他相关数据,比如字重。
英文字体一般分为衬线体 Serif 和无衬线体 Sans-serif 两类,衬线体就是字型上粗细不一有装饰边角的字体,比如
无衬线体则是字型上没有装饰边角的字体,比如
字体显示#
字体家族,是按照不同字重、宽度、斜体等变体来组织的字体集合。比如,Arial 字体家族包含了 Arial Regular、Arial Bold、Arial Italic 等不同变体,或者适用于简体、繁体的字体可能也会分为多个文件。
比如我使用的macos系统,在显示每个字符时都会根据:
- 该字符所属文种
- 系统语言设置 选择不同的字体调用。 而拉丁字符,一般会默认使用SF字体家族的字体。
更为推荐的开发规范是组合系统字体,使用CSS的font-family属性来指定多个字体,浏览器会按照顺序查找并使用第一个可用的字体。
对于网页开发,
system-ui是目前已被广泛支持(Chrome 56+, Edge 79+, Safari 11+, Firefox 43+)的系统字体代称,将其写在font-family属性的靠前位置,文本在苹果系统上就会按原生方式显示为 SF Pro、苹方等字体的适当组合。顺带一提,野外还能见到诸如-apple-system(仅 Safari 支持)、BlinkMacSystemFont(仅 Mac 版 Chrome 53+ 支持)等代称,但这些属于历史上出现的权宜之计,支持面较窄,可以出于兼容目的保留,但不应依赖其效果。
聊聊中文#
中文自古以来的字体就极具美学,对于中文字体的每一笔画都有无限的设计可能。一般来说使用GBK或者Unicode进行编码,每一个码位对应一个汉字,一般来说完整的简体中文字体需要编码超过2万个汉字,繁体中文字体需要编码超过3万个汉字。因此,中文字体的设计和制作比英文字体更为复杂和耗时。
在每一个字的细节之中,需要考虑的地方很多。笔画坚硬会让字体变得稳定、柔软则会让字体变得温柔。
同一类字体的设计就是字体风格,现今的中文字体大致可以分为:黑体、宋体/明体、圆体、手写体、艺术字体这几种类型。
Heiti(黑体)是无衬线体,笔画粗细一致,线条简洁,适合标题和强调文本,黑体在计算机时代出现。比如朦胧黑体:
黑体适合在报纸、杂志、书籍等有高度可读性的地方使用。
宋体/明体是衬线体,笔画有明显的粗细变化,线条优雅,适合正文和长篇阅读。比如飞花宋体:
一般来说,用在具有高度美感的地方,比如文章标题、语录。
圆体是无衬线体,笔画圆润,线条柔和,适合儿童读物、广告等需要活泼氛围的场合。比如尚古圆体:
至于手写体和艺术字体,顾名思义,手写体模仿人类的书写风格,适合个性化设计和装饰性用途;艺术字体则是为了特定的视觉效果而设计的字体,常用于品牌标识、海报等需要强烈视觉冲击的场合。
字体安利#
Coding时候我一般使用Maple Mono,等宽字体(Mono)的含义是,每个字符具有相同的宽度,这在编码时候可以让代码对齐。这款字体中英文宽度是正好2 : 1,还具有连字符、控制台图标的圆角等。

最近我爱上了圆体,圆体是从日本字体那里发展过来的。尚古圆体模仿了舊字形的古汉语风格,很有历史韵味和新奇感。

而寒蝉圆体也是一种非常具有设计感的圆体字体,提供了半圆体、全圆体两种风格。
