Skip to content
On this page

字体库

Wristo 表盘设计 · 素材库 · 字体库

字体库是整个表盘体系的“声音”,数字的节奏、信息的呼吸、主题的氛围都由它决定。 这里的内容让每位设计师都能拿到同样锋利的一套字体工具箱。


4.1 字体分类(Font Categories)

定义两个维度的枚举(用途 + 语言)

✔ 顶层:用途分类 — 决定“字体类型”

java
public enum DesignFontType {
    NUMBER_FONT,         // 仅 0–9(大时间)
    TEXT_FONT,           // 基础英文 A-Z a-z
    ICON_FONT,           // 图标字体(天气、电量、符号)
    CJK_FONT,            // 中文 + 日文 + 韩文
    MULTILINGUAL_FONT;   // 德 / 法 / 西 / 意 / 葡 / 波等扩展拉丁语
}

✔ 第二层:语言集合(哪些语言需要渲染)

java
public enum FontLanguageSet {
    EN, // English
    DE, // German
    FR, // French
    ES, // Spanish
    IT, // Italian
    PL, // Polish
    PT, // Portuguese
    ZH, // Chinese
    JA, // Japanese
    KR; // Korean
}

4.2 字体文件目录结构(最关键)

fonts/
├── number/
│   └── Wristo-Digital-Mono-Regular.ttf

├── text/
│   ├── Latin/
│   │   ├── Wristo-Text-Regular.ttf
│   │   └── Wristo-Text-Bold.ttf
│   ├── LatinExt/
│   │   ├── Wristo-Text-DE.ttf
│   │   ├── Wristo-Text-FR.ttf
│   │   ├── Wristo-Text-ES.ttf
│   │   └── ...
│   └── CJK/
│       ├── Wristo-Text-ZH.ttf
│       ├── Wristo-Text-JA.ttf
│       └── Wristo-Text-KR.ttf

├── icon/
│   └── Wristo-Icon-Regular.ttf

4.3 字体命名规范(Naming Rule)

统一命名可让你在 500+ 表盘素材里一秒找到对的文件。

基础格式:

{Series}-{Use}-{Style}-{Variant}

🧩 1. {Use} — 用途(字体被“用在什么地方”)

用途是最高级分类,你所有字体都属于以下之一:

✔ 标准用途(Wristo 专用)

time        → 大时间(HH:MM)专用字体(数字为主)
text        → 信息区文本(步数、电量、天气、小字)(英文)
icon        → 图标字体(天气、电量、箭头)
cjk         → 中日韩大字符集字体
latinExt    → 西欧扩展字体(德/法/西/意/葡/波)

🧩 2. {Style} — 字风(字形风格)

Style 是一个字体的“长相性格”。 决定它是等宽?粗体?几何?装饰?轮廓?

① 标准字风合集

Mono        → 等宽数字/等宽字
Regular     → 基础字重
Medium      → 中等字重
Bold        → 加粗字重
Outline     → 轮廓字体
Condensed   → 宽度更窄(信息区节省空间)

② 主题字风(Decor 系列用)

Elegant     → 优雅风(花系常用)
Tech        → 科技风
BlackGold   → 黑金主题
Festival    → 节日主题
Hand        → 手写风(如果你后续要做)
Stencil     → 军事风/破洞风

③ 渲染适配字风

MIP         → MIP 屏优化字体(更粗、无尖角)
AMOLED      → AMOLED 屏优化字体

示例:

Wristo-Time-Mono-Regular
Wristo-Time-Mono-Outline
Wristo-Text-Regular
Wristo-Icon-Regular
Wristo-CJK-Regular
Wristo-LatinExt-Regular

4.4 字体设计规范(Design Guidelines)

🔢 1. 数字(0–9)

  • 统一高度(Ascender / Descender)
  • 统一视觉重量,避免 “3/8 太轻”
  • 大时间数字 必须等宽(Mono)
  • 可视区居中

🎯 2. 冒号(:)规范

  • 宽度 = 数字宽度的 45–55%(你之前问过,这里给最终建议)
  • 上下两点居中校准
  • 在 128–200px 尺寸下保持 2–3px 的视觉间隔

🧵 3. Outline 轮廓字规范

  • 轮廓宽度:2px / 2.5px / 3px(保持 3 档)
  • Round Join(圆角连接)
  • 外描边优先,避免内描边吃掉笔画

💡 4. MIP 优化字体

  • 必须加粗(>1.35 weight)
  • 避免细尖角
  • 对比度优先
  • 12px 以下使用 Condensed 版本

💬 5. 信息字体(Info Font)

  • 仅 Regular / Medium 两档
  • 数字 + 英文的 x-height 须统一
  • 字号建议:
    • 标题:18–22
    • 小数据:12–14
    • 标签:10–11

4.5 字体生成流程(Production Workflow)

① Figma 制作 SVG → 输出 0–9 + :

  • 使用统一 Frame(例如 200×300)
  • 数字轮廓转 Path
  • 所有数字保持一致 Width
  • 冒号宽度按 50% 规则

② 使用 FontForge 自动生成 TTF(推荐自动脚本)

你现在常用这类脚本,可收编到文档:

  • 扫描最大宽度
  • 自动等宽
  • 自动左右居中
  • 自动补齐冒号
  • 自动生成 Outline 版(偏移法)
  • 自动生成 ttf/woff2

③ 字体测试

  • AMOLED 机型(Venu / Epix)
  • MIP 机型(Fenix / Forerunner)
  • 亮度 = 50%
  • 检查数字对齐、冒号垂直居中、闪烁问题

④ 在 Monkey C 中验证

  • BMFont 转 bitmap
  • 检查奇数像素的边缘模糊
  • IconResolver 是否需要补自动调节

4.6 字体在表盘中的使用建议(Best Practices)

大时间(HH:MM)

  • Mono(避免跳动)
  • Outline 适用于亮色背景 和 AOD 模式
  • 冒号宽度建议为数字宽度的 50%

信息区

  • 10–14 px
  • 使用 Info-Regular / Medium
  • 避免超过 3 行文本

运动型表盘

  • 选 MIP-Bold / AMOLED-Bold
  • 避免细线 Outline

花系 / 氛围表盘

  • 建议数字使用 Decor 系列
  • 搭配轻柔 Glow(外发光 1.5–2.5px)

4.8 字体常见问题(Mistakes to Avoid)

  • 数字 1 太细
  • 数字 3 和 8 的视觉重量不一致
  • 冒号太宽导致时间不稳
  • Outline 在 MIP 设备上失真
  • 小尺寸字体太轻(12px 以下必须加粗)
  • 不同主题字体混用导致风格不统一

🎉 结语:这章写完,你的“字体库”就成了护城河

有了这个章节,你的团队以后只需照这份文档,就能源源不断生产同水准的表盘字体体系。