

在网页和应用开发里,字体文件过大是拖慢加载速度的一个隐形杀手。下面说清楚为什么要给字体瘦身,以及怎么三步把体积砍掉 70% 以上。
为什么字体包需要瘦身
- 用不上的字符太多:全字库的中文字体动辄包含数万个字符,但一个具体页面实际用到的可能不到 10%——剩下 90% 全是白白下载的死重量。
- 带宽成本高:一个没优化过的 WOFF 中文字体可能超过 5MB,而精准优化后能压到 200KB 以下。
- 格式有讲究:WOFF2 格式比 TTF 小约 40%,而且支持渐进加载,首屏体验更好。
三步瘦身
- 提取必要字符:统计页面里实际用到的所有文字,做成一个字符集——这一步叫"字体子集化"(subsetting),是瘦身的核心。如果是固定文案(比如 logo、标题),提取出来的字符就那么几十个,字体能小到几 KB。
- 转换格式:把子集化后的字体转成 WOFF2,再砍一刀体积。
- 按需引入:用
@font-face引入瘦身后的字体,配合font-display: swap避免加载时白屏。
常用的子集化工具有 fontmin、fonttools(Python),以及各种在线字体裁剪服务。对于动态内容(用户能输入任意文字)的页面,要权衡取舍:要么保留较全的字符集,要么用系统字体兜底——子集化最适合文案固定的场景。
—— 别看了 · 2026