font pack · cjk-typography v1.0.0
中文排版四件套:回退栈 · 字号总表 · 系统栈 · 免费细体
先定场景与字族,再谈档位。档位(几档、多细、多宽、多高、几层影)在 cjk-thin-type-system。
三场景字号对照
场景 工具台 · h1 15–22px / body 14px / meta 11–12px
控制台标题 18px
正文 14px,数字开 tabular-nums:12,480 / 3.7% / 08:15。零 Web 字体优先。
场景 营销落地 · h1 clamp(2rem–7rem) 负字距 / body 16–17px
营销主标
正文 17px,行高 1.6:中文安全栈兜底,拉丁走 Inter。
场景 纸媒 / 电视 1920 · h1 64–110px / body ≥40px / meta ≥26px
纸媒标题:真字重衬线
正文四十像素起,远看才立得住。
免费细体中文三选:许可明确才进清单
Noto Sans SC(可变)
OFL-1.1
中文要细,首屏压得住的 150
npm @fontsource-variable/noto-sans-sc@5.3.0 · 可变 100–900 · 101 片 unicode-range
MiSans VF
Apache-2.0
许可最宽松的一份,其余一律 300
npm misans@5.0.0 · 可变 150–700 · 80KB CSS 分片
HarmonyOS Sans SC
Unlicense
几何方正,横向更好对齐
npm harmonyos-sans-sc-webfont-splitted@1.1.0 · Light 300 · 82 片
上游项目主页未联网核对 → 标「待核」;CDN 与 npm 路径为 2026-10-06 实查
回退栈与地板
| 角色 | 栈 |
|---|---|
| 正文 / UI | "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif |
| 长文阅读 | "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif |
| 等宽 | "JetBrains Mono", "Maple Mono NF CN", ui-monospace, monospace |
| 工具台系统栈 | system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif |
- 正文 16px(移动 15px)· 卡片 14px · 角标 12px · 整页可读最小 14px;卡片禁 9 / 10 / 11 / 13px。
- 中文 11–15px 不许挂 300 以下(300 陷阱:笔画溶解);禁加粗宋体冒充黑体。
- 中文正文禁
letter-spacing、禁两端对齐;长文衬线行高 ≥1.6。 serif/ 宋体 / SimSun 禁入 body 回退栈;有 @font-face 必须挂 SC 安全回落。- 上 Web 字体必须子集化 +
font-display:swap(CDN 直连 1.5–2.4MB → 子集化 20–40KB)。 - 禁推荐需盗版 / 破解的商业字体文件 —— 清单里一条都没有。