思源宋体 TTF:7 种字重免费开源中文宋体,Web 字体部署完整指南
【免费下载链接】source-han-serif-ttfSource Han Serif TTF项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf
还在为中文网页的衬线字体发愁——浏览器端总得找 TTF 格式的字体文件,而思源宋体官方发布的多是 OTF?Source Han Serif TTF(思源宋体 TTF)就是为这个场景准备的免费开源字体仓库:它收录了 Google 与 Adobe 联合打造的思源宋体的简体中文子集,全部以 TTF(TrueType)格式提供,7 种字重齐全,转 WOFF2、配@font-face一条龙打通,商业项目放心用。
全文目录
- 为什么 Web 端要专门用 TTF 版本
- 字体文件怎么拿:两种获取方式与 7 个字重速查
- 本机安装:Windows / macOS / Linux 各一分钟
- Web 部署:从 TTF 到 WOFF2 的完整流程
- 字重搭配与行距速查
- OFL 授权:能做什么、不能做什么
- 常见坑位速查表
- 下一步行动清单
为什么 Web 端要专门用 TTF 版本
思源宋体(Source Han Serif)是 Google 和 Adobe 合作开发的一套开源泛中日韩字体,以 OTF 格式发布。而仓库 README 里写得很直白:TTF 格式做 Web 字体更方便,所以有了这个项目。对前端来说,这个差别是实打实的:
| 对比项 | OTF(官方原版) | TTF(本仓库) |
|---|---|---|
| 轮廓格式 | CFF(三次贝塞尔) | TrueType(二次贝塞尔) |
| 浏览器原生支持 | 部分环境有兼容问题 | 各大浏览器普遍支持 |
| 转 WOFF2 | 需要先转 TTF 再压缩,多一步 | ttf2woff2直接可用 |
| CSS 字重映射 | 偶尔不稳定 | 更稳 |
简单说:设计印刷可以留 OTF 原样,网页端直接用这个仓库的 TTF。仓库目前的结构非常克制,字体文件就放在 SubsetTTF/CN/ 目录下,共 7 个文件、每个约 13MB,另外附带 LICENSE.txt 授权文件。
字体文件怎么拿:两种获取方式与 7 个字重速查
方式一:克隆整个仓库
一条命令拉下全部内容:
git clone https://gitcode.com/gh_mirrors/so/source-han-serif-ttf方式二:直接下载压缩包
在项目的代码下载入口获取 zip 包解压即可,省去本地装 Git 的麻烦。拿到后确认SubsetTTF/CN/下 7 个.ttf文件齐全就没问题了。
7 个字重速查表
文件名都以SourceHanSerifCN-开头,对照下面的表就能快速定位要用的文件:
| 文件 | 字重 | font-weight 值 | 典型用途 |
|---|---|---|---|
| SourceHanSerifCN-ExtraLight.ttf | 特细 | 200 | 大字号装饰性标题 |
| SourceHanSerifCN-Light.ttf | 细体 | 300 | 辅助文字、移动端小字 |
| SourceHanSerifCN-Regular.ttf | 常规 | 400 | 正文、长文阅读 |
| SourceHanSerifCN-Medium.ttf | 中等 | 500 | 需要更有力度的正文 |
| SourceHanSerifCN-SemiBold.ttf | 半粗 | 600 | 小标题、强调段落 |
| SourceHanSerifCN-Bold.ttf | 粗体 | 700 | 主标题、重点内容 |
| SourceHanSerifCN-Heavy.ttf | 特粗 | 900 | 品牌感视觉中心、海报大字 |
小贴士:
font-weight数值不是随便写的,必须和你在@font-face里声明的值一致,浏览器才会切换到对应字重——这是后面部署环节最容易踩的坑。
本机安装:三个平台各一分钟
如果你的设计软件、PPT 里也想用它,装到系统里即可。
Windows:进入SubsetTTF/CN/,全选 7 个.ttf文件,右键选"为所有用户安装",完成后重启设计软件。
macOS:双击任意一个.ttf文件会打开字体册,点"安装字体";或把整个SubsetTTF/CN/文件夹拖进字体册窗口,7 种字重一次装齐。
Linux:三条命令搞定,最后一条用来验证:
sudo mkdir -p /usr/local/share/fonts/source-han-serif-cn sudo cp SubsetTTF/CN/*.ttf /usr/local/share/fonts/source-han-serif-cn/ sudo fc-cache -fv && fc-list | grep -i "Source Han Serif"fc-cache -fv是 Linux 上最容易被漏掉的一步——不更新字体缓存,系统就"看不见"新装的字体。
Web 部署:从 TTF 到 WOFF2 的完整流程
这是这个仓库最核心的价值所在,分四步走。
第 1 步:转成 WOFF2
单个 TTF 就有 13MB,直接上浏览器是不可接受的。WOFF2 内置 Brotli 压缩,中文字体通常能压到原体积的一半左右。用ttf2woff2转换最省事:
npm install -g ttf2woff2 cd SubsetTTF/CN ttf2woff2 SourceHanSerifCN-Regular.ttf SourceHanSerifCN-Bold.ttf7 个全转的话,一个循环搞定:
for f in *.ttf; do ttf2woff2 "$f"; done转换后同目录会生成对应的.woff2文件,把这些文件(连同 TTF 不必上传)放到你的网站静态资源目录,比如/fonts/。
第 2 步:写 @font-face
每个字重对应一条@font-face声明,font-weight与文件字重严格对应:
@font-face { font-family: 'Source Han Serif CN'; src: url('/fonts/SourceHanSerifCN-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Source Han Serif CN'; src: url('/fonts/SourceHanSerifCN-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } body { font-family: 'Source Han Serif CN', 'Songti SC', 'SimSun', serif; font-size: 16px; line-height: 1.75; } h1, h2 { font-weight: 700; }两点解释:font-display: swap让字体加载期间先用系统衬线字体显示文字,避免页面"白字等待";font-family末尾的'Songti SC'、'SimSun'是兜底,字体没加载完时体验也更接近。
第 3 步:只加载你真正用的字重
算一笔账:7 个 TTF 合计约 91MB,即使全部转 WOFF2 仍是几十 MB 的量级。内容型站点(博客、资讯、文档站)通常Regular(正文)+ Bold(标题)两个字重就能覆盖九成场景,先只部署这两个,其余字重等真有需要再加。
第 4 步(进阶):子集化再压一轮
如果站点文案范围有限(比如只有几个栏目页),可以用 fonttools 把用到的字切出来,体积再降一个数量级:
pip install fonttools brotli pyftsubset SourceHanSerifCN-Regular.ttf \ --text-file=used-text.txt \ --flavor=woff2 \ --output-file=SourceHanSerifCN-Regular.subset.woff2把站点实际出现的文字存进used-text.txt,--text-file只保留这些字。适合字库范围可控的小型站点;通用性要求高的页面用前两步就够了。
字重搭配与行距速查
宋体的"高级感"很大程度来自字重对比和留白,三套经过验证的组合可以直接抄:
1. 阅读型:Regular 正文 + Bold 标题 长文博客、产品文档。层级少、不费眼。
2. 层次型:Heavy 大标题 + SemiBold 小标题 + Regular 正文 报告、落地页、产品页。标题层级多时用这套,视线引导最清晰。
3. 品牌型:Heavy 主视觉字 + Light 辅助说明 海报、品牌页、封面。粗细反差拉满,宋体的"雅"和"重"同时成立。
行距与字距参考:
| 场景 | line-height | letter-spacing | 说明 |
|---|---|---|---|
| 长文正文 | 1.75 ~ 2.0 | 默认 | 中文行距明显要比西文大 |
| 移动端 | 1.8 ~ 2.0 | 默认 | 小屏留白多一点更舒服 |
| 标题 | 1.2 ~ 1.4 | 0.5px | 紧凑才有力量感 |
OFL 授权:能做什么、不能做什么
思源宋体 TTF 采用 SIL Open Font License,是目前对使用者最友好的开源字体授权之一,完整条款见 LICENSE.txt。
✅放心做
- 商业网站、App、印刷品、广告中免费使用
- 嵌入到软件、网页、应用里分发
- 修改字体后再次发布(保持 OFL 即可)
⚠️注意边界
- 不能把字体文件本身当商品单独出售
- 修改版必须继续以 OFL 授权
- 修改版不能使用"Source Han Serif"原名称作为主名称
工程上的合规习惯:项目里保留一份LICENSE.txt,文档里注明字体来源,两条就够。
常见坑位速查表
| 现象 | 原因 | 解法 |
|---|---|---|
页面写font-weight: 700没生效 | 没声明 Bold 的@font-face | 用到的每个字重都要单独声明一条 |
| 首屏白字闪烁(FOUT) | 字体加载慢且未配置 display 策略 | font-display: swap,先显示兜底字体 |
| 转 WOFF2 报错 | 把 OTF/CFF 文件喂给了只认 TTF 的工具 | 直接用本仓库的 TTF 文件 |
| 页面加载明显变慢 | 7 个字重一起上,单个文件仍数 MB | 只部署必要字重,进阶做子集化 |
| Linux 装完字体却找不到 | 字体缓存没更新 | 执行fc-cache -fv后重启应用 |
| 下载后只看到简体 | 本仓库只含 CN 子集 | 繁体/日文/韩文子集需另找对应资源 |
下一步行动清单
- 克隆仓库,确认
SubsetTTF/CN/下 7 个 TTF 文件齐全 - 挑出 Regular + Bold 两个文件,转成 WOFF2 上传到
/fonts/ - 写两条
@font-face,套到下一个页面上跑通第一个中文衬线页面 - 需要本地设计软件使用时,按平台方式装到系统
- 流量大了再上子集化,把单文件体积压到 MB 级
宋体的笔画细节在网页上能不能立住,一半看字体本身,一半看字重、行距这些"参数功"。这个仓库把最难找的 TTF 版本和完整字重备齐了,剩下的只是把参数调到舒服——然后你就会发现,中文排版里最耐看的那一种气质,一直可以免费拥有。
【免费下载链接】source-han-serif-ttfSource Han Serif TTF项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考