TTF、OTF、WOFF区别:电脑安装和网页该用哪种字体格式
电脑上安装TTF或OTF,网站上使用WOFF2。TrueType和OpenType是所有操作系统都能读取的桌面字体格式;WOFF和WOFF2则是同样的字体数据经过压缩后便于下载的版本,浏览器优先使用WOFF2,因为它小约30%。
该用哪种字体格式:TTF、OTF、WOFF 还是 WOFF2?
安装到电脑上,用 TTF 或 OTF,两者在 Windows、macOS 和 Linux 上都能用。用于网站,优先提供 WOFF2,WOFF 只作备用。网页上直接使用 TTF 或 OTF 原文件,体积会比必要的大 2–3 倍。
通俗解释TrueType、OpenType、WOFF和WOFF2
TrueType 是这四种格式中最老的一种。苹果在 1991 年随 System 7 推出,微软第二年将其用于 Windows 3.1。TrueType 字体用二次曲线描述每个字母,每段曲线只有一个控制点,在早期硬件上绘制成本很低。它还带有字体微调(hinting):字体内部的小程序会把笔画和曲线对齐到像素网格,让文字在低分辨率屏幕上依然清晰。.ttf 扩展名至今仍表示采用这种二次曲线轮廓的字体。
OpenType 由微软和 Adobe 于 1996 年发布,它是一种封装格式,而不是新的轮廓类型。它可以容纳 TrueType 轮廓,也可以容纳存放在 CFF 表中的 PostScript 轮廓,后者使用三次曲线,每段有两个控制点。在轮廓之外,它还增加了用于高级排版的布局表:标准连字和自选连字、小型大写字母、旧式数字、样式集、上下文替换和字距调整。按惯例,基于 CFF 的 OpenType 字体保存为 .otf,而采用 TrueType 轮廓的 OpenType 字体仍使用 .ttf 扩展名。
WOFF 和 WOFF2 是专为网页设计的封装格式。WOFF 于 2009 年起草,2012 年成为 W3C 推荐标准,用 zlib 压缩每个字体表。WOFF2 于 2018 年成为 W3C 推荐标准,改用 Brotli,并先对字形数据做预处理,通常比 WOFF 小约 30%。另外还有三种相关格式:EOT 是 Internet Explorer 自己的网页字体格式,SVG 字体是只有 Safari 支持的早期权宜之计,可变字体则在 2016 年随 OpenType 1.8 加入,可把一整段字重或字宽范围放进一个文件。
1991
TrueType
苹果随 System 7 推出二次曲线轮廓和字体微调,1992 年 Windows 3.1 跟进。
1996
OpenType
微软和 Adobe 发布统一容器,可容纳 TrueType 或 CFF 轮廓,并带有布局功能。
2012
WOFF 1.0
2009 年起草,随后成为 W3C 推荐标准:表结构不变,用 zlib 压缩。
2016
可变字体
OpenType 1.8 让一个文件可包含连续的字重、字宽或倾斜轴。
2018
WOFF2
采用 Brotli 的 W3C 推荐标准,通常比 WOFF 小约 30%。
电脑上应该安装哪种字体格式
安装 TTF 或 OTF 都可以,不必纠结选哪个。Windows 10 和 11 右键点击后选择安装即可,macOS 用“字体册”打开,Linux 桌面在字体缓存刷新后会从 ~/.local/share/fonts 读取。Word、Photoshop、Figma 桌面版、Affinity 和 LibreOffice 都能读取两者。如果设计师给你同一字体族的两种版本,OTF 通常是字体设计师原始绘制的版本,TTF 则是为旧软件做的转换版。
两者真正有区别的情形不多。一些刻字机和刺绣软件、游戏引擎以及单片机显示库只认 TrueType 轮廓,基于 CFF 的 OTF 在那里会显示异常,需要把 OTF 转换为 TTF。反过来,桌面系统无法直接安装 WOFF 或 WOFF2:这些文件是为浏览器打包的。同一字体族只安装一个版本,因为内部名称相同的 TTF 和 OTF 会让字体菜单混乱,应用可能选错。
- TrueType 字体集.ttc · 字体集 · .otc
- 一个文件中存放多个字体,通常是同一字体族的不同样式或语言变体,并让它们共用相同的字形以节省空间。Windows 和 macOS 会一次安装其中所有字体;Noto Sans CJK 等系统中日韩字体族常以这种方式发布。基于 CFF 轮廓的字体集有时改用
.otc扩展名。
网站上应该使用哪种字体格式
Chrome、Edge、Firefox 和 Safari 的所有当前版本都支持 WOFF2,所以它应该是 @font-face 规则中的第一个来源,通常也是唯一来源。只有当统计数据显示仍有 2016 年前后以前的浏览器访问(如旧版 Android WebView 或嵌入式电视浏览器)时,才需要在后面加一行 WOFF。浏览器会按顺序遍历 src 列表,下载第一个支持的格式,所以备用格式不会给现代浏览器的访客增加任何开销。如果你已有桌面版 TrueType 文件,用 TTF 转 WOFF 一步就能生成备用文件。
除非平台强制要求(一些邮件编辑器和旧内容系统就是如此),否则不要在网站上直接提供 TTF 或 OTF 原文件。浏览器可以正常渲染,但除非服务器对字体启用 gzip,否则文件是未压缩传输的,而且任何人都能拿到可直接安装的桌面版本。下面的 font-display: swap 会让浏览器先用备用字体立即显示文字,待你的字体加载完成后再替换,而不是隐藏文字最长 3 秒等待字体。
尽量把字体文件放在自己的域名下。Chrome、Safari 和 Firefox 现在按网站分区缓存,从共享 CDN 获取的字体不会再跨网站复用,自托管还能省去一次 DNS 查询和连接。只对首屏用到的一两个字重添加 <link rel="preload">;预加载所有样式会和图片争抢带宽。
@font-face {
font-family: "Source Serif";
src: url("/fonts/source-serif-regular.woff2") format("woff2"),
url("/fonts/source-serif-regular.woff") format("woff");
font-weight: 400;
font-style: normal;
font-display: swap;
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201E, U+20AC;
}常见字体文件大小,以及子集化为何重要
单个拉丁文字重保存为 WOFF2,通常为 20–60 KB。同一字体保存为未压缩的 TTF,往往大两到三倍;如果字体族还涵盖希腊文、西里尔文和越南文,每个样式可能超过 200 KB。中日韩字体则完全是另一个量级:一个完整的中日韩字重包含数万个字形,即使经过 WOFF2 压缩通常也有几 MB,在页面显示文字之前加载这么大的文件实在太多。
子集化会去掉页面从不使用的字符,而 unicode-range 告诉浏览器每个文件涵盖哪些字符,只有页面确实包含这些字符时才会下载该文件。Google Fonts 对中日韩字体正是这样做的,把每个字体族切成许多按需加载的小分片。对于你自己的字体,字体转换器中的保留字符选项可以在文件上传到服务器之前,把文件精简为 Latin + accents 或仅我输入的字符;安装到电脑上的字体请保持所有字符。
- 拉丁文字重保存为 WOFF2 的典型大小
- 20–60 KB
- WOFF2 相比 WOFF 的典型节省
- ≈ 30%
- 完整中日韩字重的典型大小,即使是 WOFF2
- 几 MB
字体格式转换,以及哪些内容会丢失
对于 TrueType 类字体,TTF 与 OTF 互转只是更换容器:轮廓表、度量信息和布局功能原样搬过去。值得一说的是把基于 CFF 的 OTF 转为 TTF。三次曲线无法直接复制到二次曲线轮廓格式中,所以每条曲线会被重绘为一段或多段二次曲线,误差远小于一个像素。PostScript 微调信息同样无法转换,因此 OTF 转 TTF 工具提供了字体微调的保留、移除或自动提示选项。
从网页格式转回桌面格式是最常见的转换。你下载了主题或设计素材包,发现只有 .woff 或 .woff2 文件,却需要在 Word 或 Figma 中使用这个字体。WOFF 转 TTF 会去掉压缩并写回原始表,因此字形、字距和功能与原来一致。无法恢复的是网页版已经丢掉的内容,例如被子集化删除的字符,或为节省字节而去掉的微调信息。
大多数转换问题都可以归结为三点:字体微调、布局功能和可变轴。下面的列表列出了转换后你可能注意到的现象及其常见原因。
转换后小字号文字在 Windows 上显得模糊或不均匀
原有微调信息被移除或无法带过来。请把字体微调设为自动提示后重新转换;在 Retina 屏和手机屏幕上,这种差别很难看出来。
连字、小型大写字母或样式集不起作用了
可能是应用没有开放 OpenType 功能,也可能是子集化步骤删掉了这些功能所指向的替换字形。请用所有字符重新转换原文件,并确认你的应用有排版或 OpenType 面板。
可变字体现在只显示一种字重
有些工具会把可变字体压平成单个静态实例。请保留可变字体源文件,并在删除原文件前检查结果中是否仍有轴列表。
转换后的字体在字体菜单中出现两次
两个版本的内部字体族名称相同。请卸载旧文件,或在转换前于高级设置中设置新的字体族名称。
使用或转换字体前先做检查
字体文件就像一个小型数据库,其中三个部分能回答大多数问题。name 表保存字体族名称、样式名称、版本、版权声明,通常还有许可证网址;macOS 字体册在信息视图中显示它,Windows 字体预览则显示前几行。字形覆盖范围决定字体能排哪些语言:只含拉丁文的字体遇到缺失的波兰语、土耳其语或越南语字符时,会悄悄回退到另一种字体。对于可变字体,fvar 表列出它的轴,例如字重 100 到 900 或字宽 75 到 125。
字体上线前值得先看一眼授权。商业字体公司通常分别出售桌面、网页和应用授权,桌面授权一般允许在一定数量的电脑上安装,但不包括向网站访客提供文件或打包进手机应用。转换字体只改变文件格式,不改变授权,所以由桌面 TTF 生成的 WOFF2 与该 TTF 的条款相同。采用 SIL 开放字体许可证的字体(Google Fonts 上的大多数字体)可以转换、子集化和自托管。
name表中的字体族名称和样式名称正确无误- 版本号与你打算使用的版本一致
- 你的文字用到的每种语言,其带重音符号和特殊字符都齐全
- 可变字体仍列出字重或字宽轴
- 授权涵盖你的用途:桌面、网站、应用或嵌入文档
选择对照表:不同用途该用哪种字体格式
大多数字体问题归结起来,就是文件将放在哪里。如果安装在电脑上或打包进应用,就用 TrueType 或 OpenType;如果由浏览器下载,就用压缩的网页封装格式。下表把常见场景对应到应选的格式以及转换方式,可以跳过背景知识,直接找到你需要的文件。
还有两种场景介于两类之间。EPUB 3 接受 TTF、OTF 和 WOFF,所以电子书可以使用任一类格式;SVG 字体文件与矢量图同出一脉,但如今主要用于部分绘图仪和雕刻软件,而不是浏览器。
| 用途 | 应使用的格式 | 如果你只有 | 转换 |
|---|---|---|---|
| 安装到 Windows、macOS 或 Linux | TTF 或 OTF | WOFF 或 WOFF2 | WOFF → TTF |
| 软件不接受你的 OTF | TTF | 基于 CFF 的 OTF | OTF → TTF |
| 自托管的网站字体 | WOFF2 | TTF 或 OTF | TTF → WOFF2 |
| 兼容极旧浏览器的备用字体 | WOFF | TTF | TTF → WOFF |
| 中文、日文或韩文网站 | 子集化的 WOFF2 分片 | 完整的 TTF 或 OTF | 先子集化,再转 WOFF2 |
| 一个文件包含多个字重 | 可变 TTF 或 WOFF2 | 可变 TTF | 转换时保留轴 |
| 电子书(EPUB 3) | TTF、OTF 或 WOFF | WOFF2 | WOFF2 → TTF |
要点总结
- 在电脑上安装 TTF 或 OTF;两者在 Windows、macOS 和 Linux 上都能用。
- 网站优先提供 WOFF2,只为极旧浏览器添加 WOFF,并设置 font-display: swap。
- WOFF 和 WOFF2 是压缩封装格式,转换成它们改变的是下载大小,而不是字形。
- 按文字系统和 unicode-range 做子集化;对动辄几 MB 的中日韩字体尤其重要。
- 转换只改变文件格式,不改变授权,若不小心还可能丢失字体微调或可变轴。
常见问题
OTF的质量比TTF更好吗?
在正常字号下看不出区别。三次曲线和二次曲线都能描述相同的字母形状,两种格式也带有相同的 OpenType 功能。OTF 文件往往是设计师的原始绘制,这也是偏好它的唯一实际理由。
为什么下载的字体是一个ZIP,里面有TTF、WOFF和WOFF2?
供应商是按用途各给你一个文件。把 TTF 安装到你的电脑上,把 WOFF2 上传到网站,如果想要备用字体,再加上 WOFF。
WOFF2能在邮件中使用吗?
只能部分使用。Apple Mail 和 iOS 邮件会从链接的样式表加载网页字体,而 Gmail 和 Windows 版 Outlook 会忽略自定义字体而显示备用字体,所以 font-family 列表最后一定要加上安全的系统字体。
TTC文件能用在网站上吗?
不能直接转换。浏览器要求每个文件只含一个字体,所以请先从字体集中提取各个字体,再分别转换为 WOFF2。
可变字体能取代各字重的单独文件吗?
通常可以。涵盖字重 100 到 900 的可变 WOFF2,通常比四个或更多静态字重加起来还小,而且所有当前浏览器都支持。如果你只用一两个字重,静态文件可能更轻。
还有必要生成EOT和SVG字体吗?
很少需要。EOT 只对 Internet Explorer 8 及更早版本有意义,而当前的 Chrome 和 Firefox 会忽略 SVG 字体,所以只有为旧系统或能读取它们的软件才值得制作。
继续阅读
PNG转SVG怎么做:Logo、图标和线稿描摹矢量化
PNG只有经过描摹才能变成真正的SVG。了解哪些图片适合描摹、如何预处理PNG、颜色与阈值怎么设置,以及如何检查路径。
Jonas Weber · 2026年10月4日 · 12 分钟阅读
STL、OBJ与3MF对比:3D文件格式该选哪个?
STL只存三角面,OBJ通过.mtl文件附带UV和材质,3MF把单位、颜色和打印设置打包进一个ZIP。本文说明每种格式各自适合什么场景。
Jonas Weber · 2026年9月2日 · 12 分钟阅读
ZIP、RAR、7z有什么区别?压缩格式怎么选 | UltKit
ZIP在所有电脑和手机上都能打开,7z体积最小且能隐藏文件名,RAR带恢复记录。对比压缩率、加密、系统支持和各项限制。
Lucas Ferreira · 2026年9月27日 · 11 分钟阅读