前端基础系列之字体初探

所谓前端,精一行需通十行。在技术和设计的交汇处,追寻前端价值所在。这里是《前端基础系列之字体初探》。

0x00 基线

在西文字体中,基线指的是多数字母排列的基准线。

前端基础系列之字体初探_第1张图片
  • ascent: 上升线
    • ascender height: 上升高度
  • capital line: 大写字母顶格线
    • cap height: 大写字母高度
  • mean line: 也称为x-line,小写字母x的顶格线。
    • x-height: 小写字母x的高度
  • baseline: 所有字母的基线、基础线,所有的大写和小写都基于这条线来进行排列
  • descent: 下降线
    • descender height: 下降高度

根据字体设计界的长期实践经验,基本上可以认为x-Height较高的字体相对而言,在文字的可读性上具有一定的优势。

东亚字体没有基线,每个字符坐落在一个方形盒子中,既无升部也无降部。

0x01 造型

基本可以分为6大类别:

  1. 衬线(Serif)
  2. 非衬线(Sanserif、san-serif、sans-serif、Sans)
  3. 黑体(Blackletter)
  4. 埃及体(Egyptienne)
  5. 手写体(Script)
  6. 等宽字体(Mono)

其中Serif和Sanserif是2个最大的类别,绝大多数的常用字体都是出自其中。

Serif

衬线(serif)就是笔画边缘的装饰部分。

衬线设计的初衷是为了更清楚地标明笔触的末端,提高辨识率,提高阅读速度。另外,使用衬线字体会让人感觉更加的正统。所以我们常见的英文书籍,特别是论文、小说,很多都是使用衬线体来完成正文的。在中文里,我们使用的宋体就是对应的衬线字体。

Sanserif

字体如果不带衬线的话,那么就称为非衬线体或者无衬线体。

Blackletter

这种字体盛行于中世纪,是当时手写本的主要用字体,具有浓郁的宗教色彩。从古罗马时代的文字发展到该时期,这类字体的笔画造型及书写方式等细节,已非常的样式化。由于样式严格,笔画又比较粗,导致页面黑度非常重,因此该类字体被称为Blackletter。

Lucida Blackletter:

Horst Blackletter Demo:

Egyptienne

该类字体又被称做Slabe字体。这类字体一般有着粗壮的呈直线的Serif,而且Serif和Stem的粗细比例非常小。这一类字体的特点是具有Serif字体的线脚,又有类似Sanserif的粗犷。不过名称与埃及毫无关联,据传第一款这类字体的创作者是在前往埃及的旅途设计了该字体。

FetteEgyptienne:

Egyptienne Zierinitialien:

Script

西方文字与中文汉字结构不同,但也有其自成一体的装饰书法形式,被称做Caligraphy,在很多古典的设计中被广泛采用,这些字体又被称为Carsive,是遵循了华丽的手写字体设计而成。不过,Script字体类不仅包括了这些传统而经典的手写字体,也涵盖了那些手写感觉却并不花哨的字体,以及那些极具个人风格而显得非常通俗大众的手写字体。所以简单的讲,Script类的最基本特征就是手写,而不一定局限于经典或随意。

前端基础系列之字体初探_第2张图片

Mono

等宽字体事实上只针对西文字体。因为英文字母的宽度各不相同。例如i就要比m窄很多。编程时显示代码,如果字母不等宽那么排版将很难看。

Ubuntu Mono:

前端基础系列之字体初探_第3张图片

0x02 样式

字重

常见的字体的样式分为:正常Normal、粗体Bold、斜体Italic。优秀的字体会对不同的字重提供不同的设计。

字重名称 对应 CSS font-weight
light 100、200、300
regular 400
medium 500、normal
bold 600、700
black 800
ultra black 900

对于中文斜体,一般在网络上是不使用的。因为中文笔画繁多,使用了斜体将难以辨认。

字号

字号是区分文字的大小的一种衡量标准,国际上通用的是点制,在国内则是以号制为主,点制为辅。号制是采用互不成倍数的几种活字为标准的,根据加倍或减半的换算关系而自成系统,可以分为四号字系统、五号字系统、六号字系统等。字号的标称数越小,字形越大。

点制又称为磅制(P),是通过计算字的外形的“点”值为衡量标准。这里的“点’,不是计算机字形的“点阵”的意思,“点”是国际上计量字体大小的基本单位,从英文“Point',译音而来,一般用小写‘p’来表示,俗称“磅”。字号的每一个点值的大小等于0.35mm,误差不得超过0.005mm。

前端基础系列之字体初探_第4张图片
前端基础系列之字体初探_第5张图片

0x03 间距

行距(Line-height、Leading)

指两个相邻的行之间,基线的距离。1.5倍行距是个很好的经验值。

字间距(Letter-spacing、Tracking)

指一组字母之间相互间隔的距离。字间距影响了一行或者一个段落的文字的密度。

字距调整(Kerning)

字距调整是一种因视觉需要而做的技术处理。比如当一个大写A后面跟随一个小写v的时候,两个字符间就会出现视觉上的更大的间距(实际上字间距是一样的),这是普通的字符间距所无法解决的。如果减少它们的间距,那么其他的字母就会连成一团。这时候就需要字距调整来处理了。

前端基础系列之字体初探_第6张图片

0x04 段落

行长(Measure)

指一段文字的宽度。

前端基础系列之字体初探_第7张图片

行长越长,需要的越大的行距。行距太小,读者阅读换行时容易串行。行距太大,读者阅读行时会感觉到文字不连续。正文中,每行40~70个字母为宜。

对齐(Alignment)

段落的对齐基本有四种:

  • 左对齐(flush left)
  • 右对齐(flush right)
  • 居中对齐(centered)
  • 两端对齐(justified)

左对齐使文章左侧文字具有整齐的边缘。同时文字的右边就会不整齐。所以英文对左对齐也叫做ragged right,意指外形参差不齐的右边。右对齐也类同。

在英文排版中,当行长很短的时候,使用两端对齐可能会照成某些行词间距过长,某些行词间距过短,这样参差不齐的词间距会感觉十分凌乱。

0x05 字库格式

常见的字库格式有:

  • TTF
  • OpenType
  • PostScript
  • TrueType

0x06 杂项

在线资源

  • 免费字体预览和下载:FONTS
  • 阿里妈妈中文webfont:iconfont
  • 中文字体压缩器,让网页自由引入中文字体成为可能:字蛛
  • 谷歌字体API:Google Fonts

相关书目

  • 《字体设计数问:知乎许瀚文自选集 (知乎「盐」系列)》
  • 《字体之美:从传统印刷到Web排版》
  • 《西文字体:字体的背景知识和使用方法》
  • 《西文字体的故事 (倒影)》
前端基础系列之字体初探_第8张图片
Jam说的公众号

你可能感兴趣的:(前端基础系列之字体初探)