字体选择器

Fabrie · 功能设计案例

01 问题定义

为什么 Fabrie 需要字体选择器?

在非常重视版式与文字呈现的场景中——例如用情绪板探索早期灵感,或制作幻灯片与项目提案时——单一的默认字体通常并不足够。用户需要更丰富的字体来更准确、清晰地表达设计,同时又不能让在线白板变成一套复杂的专业设计软件。

Creating moodboard on Fabrie
在 Fabrie 中制作情绪板。
Creating slides on Fabrie
在 Fabrie 中制作幻灯片与提案。

02 探索

常见的字体选择器是什么样?

在研究 Miro、Keynote、Figma、Illustrator 和 Photoshop 等设计工具后,我把字体选择器的功能分为三类:基础、高级与专业。基础功能通常不可缺少;高级和专业功能则取决于具体使用场景。在 Miro 这类在线白板中,用户通常无法调整字重,只能使用加粗;而 Photoshop、Illustrator、Figma 等专业设计软件则提供字重与更复杂的排版功能。

Comparison table of font selector features across tools
不同工具的功能对比(基础/高级/专业)。

Fabrie 的字体选择器应该是什么样?

Fabrie 介于白板和专业设计工具之间。专业排版控制过于复杂,但仍需要判断:是否应该提供加粗、最近使用和字重选择器?其中最核心的问题,是要不要加入“字重选择器”。

字重选择器:收益与成本

优点:

  • 提供更丰富的文字风格。
  • 提高设计的灵活性。

但它的缺点也很关键:

  • 复杂度增加:虽然目标用户是设计师,但并非所有设计师都具备扎实的视觉基础,也不是每个人都理解不同字重的影响。
  • 加粗变得复杂:一旦存在字重,原有的加粗功能就会产生歧义——它是开关,还是对应某个具体字重?
  • 性能影响:不同字重需要额外字体包,会增加加载量并带来性能下降的风险。

为了在不暴露字重控制的情况下弥补文字风格的限制,我们决定提供一组更丰富的默认字体。设计字体列表时,部分字体会把细体或粗体版本作为默认的“常规”值,在保持界面简单的同时带来更多风格变化。“最近使用”对用户和技术实现都很友好,因此我们直接保留了这个功能。

Decision table comparing options
决策矩阵:加粗、最近使用、字重选择器、筛选、收藏等。
Two text editing toolbars showing font controls
最终工具栏:加粗与最近使用,不提供完整字重控制。

03 迭代

应该提供多少种字体?

作为在线白板而非专业设计工具,过多选项容易造成困惑。提供一组能够覆盖大多数风格和场景的字体就足够了。Fabrie 基于网页运行,无法访问用户的本地字体。渲染字体时,需要加载缓存中尚不存在的字体文件。为了减少等待时间和技术负担,我们也需要限制字体数量。最终,Fabrie.cn 提供 10 种中文字体和 10 种西文字体,Fabrie.com 提供 20 种西文字体。我们认为这是能够覆盖真实使用场景的最小集合。

应该依据什么标准选择字体?

以 Fabrie.cn 中文站为例,我们采用了以下选择标准:

  • 覆盖不同场景:标题、正文与装饰文字。
  • 字符集完整:至少有 2–3 种字体拥有足够大的字符覆盖范围。
  • 选择常用字体:避免影响可读性或接受度的非常规选择。
  • 没有版权问题:字体授权应避免法律风险。
  • 品质可靠:字形轮廓、Hinting 与渲染表现稳定。
  • 根据需要包含默认字体与品牌字体。
Style guide table for Chinese font selection
中文字体列表规范:风格、字重行为、字符集与回退方案。
Flow diagram and prototype of selecting fonts
流程与原型:在 Fabrie 中选择、加载并应用字体。

04 回顾

功能上线后,我们发现各字体的使用分布非常均衡。这说明字体集合能够有效工作:用户愿意主动使用不同字体,同时不会被过多控制项压倒。


05 幕后故事

在 Fabrie 中,“默认字体”包含两个部分:界面的默认字体,以及白板文本框的默认字体。我们在两者上都遇到了问题。

界面默认字体的问题

国际化过程中,我们选择 TT Interface 作为品牌字体,并考虑将 Fabrie.com 的界面字体也改为 TT Interface。但 TT Interface 与周围图标的对齐效果并不好。后来我们发现,它的基线明显高于中文字体。为了解决这个问题,我们使用 FontLab 修改 TT Interface 字体文件,并依据苹方的基线进行调整。

文本框默认字体的问题

早期我们使用系统字体:Mac 上的苹方与 Windows 上的微软雅黑。但两种字体的字宽与间距并不一致。微软雅黑通常比苹方更早换行,也占据更多空间。对于界面来说,响应式布局可以吸收这些差异。但在白板中,文字位于用户调整过大小的边界框内。同一文档在不同系统中打开时,字体差异会改变版式与换行。由于公司电脑全部是 Mac,我们较晚才发现这个问题,之后把默认字体改成了跨平台的思源黑体。然而,已有文档已经保存了苹方或微软雅黑。更改默认值会破坏历史版式,因此我们保留了三种字体,并在界面列表中把苹方和微软雅黑统一显示为“系统字体”。