字体子集化工具

通过创建字体子集来减小 Web 字体文件的大小。仅保留您需要的字符,支持自定义字符、Unicode 范围和实时预览。提升您的网站性能和核心网页指标。

广告
广告

字体子集化器通过只提取您实际需要的字符(字形)来减小字体文件大小。完整的字体文件可能包含数千个多种语言的字形,但网站通常只使用几百个。将字体从 500 KB 子集化为 50 KB 可显著提高页面加载速度。此工具使用 opentype.js 在本地处理字体——不上传任何字体文件。

不上传即可将字体文件缩小 80-95%

只保留您网站实际使用的字符。支持 TTF、OTF、WOFF 和 WOFF2,带 Unicode 范围和实时预览——全部在浏览器中。

更快页面加载
100% 私密
免费无限

使用步骤

  1. 1

    上传字体

    使用拖放区域上传您的 .TTF, .OTF, .WOFF 或 .WOFF2 字体文件。

  2. 2

    指定字符

    在文本框中输入您网站上实际使用的所有字符。您还可以添加常见的 Unicode 范围,例如用于中文字符的 U+4E00-9FFF。

  3. 3

    选择输出格式

    从导出设置中选择您所需的输出格式,OTF 或 TTF。

  4. 4

    子集化并下载

    点击“创建子集”。工具将生成一个新的、更小的字体文件。下载优化后的字体并在您的项目中使用。

为什么要对字体进行子集化?

更快的页面加载

较小的字体文件下载速度更快,从而改善 LCP(最大内容绘制)指标,这对于网站性能至关重要。

更好的用户体验

用户能更快地看到您的文本内容,减少等待时间,从而降低跳出率并提高满意度。

改进的核心网页指标

页面速度是 Google 等搜索引擎的关键排名因素。优化字体是提高核心网页指标分数的有效方法。

广告

了解字体子集化

为什么字体文件这么大

现代字体文件(OTF、TTF、WOFF、WOFF2)包含的内容远不止字母形状。典型的拉丁字体包括大小写字母、数字、标点符号、重音字符、连字、替代字形、字距对和 OpenType 功能(小型大写、旧式数字、上下文替代)。一个完整的字体系列可以包含 1,000+ 个字形。当您在一个只显示英文的网站上使用字体时,您正在加载 90% 未使用的字体数据——浪费带宽并减慢页面加载。

字体子集化通过只提取您需要的字形来解决这个问题。对于纯英文网站,您可能只需要 95 个可打印 ASCII 字符——将字体从 500 KB 减少到 20-50 KB。对于使用基本拉丁字母 + 常用重音字符的网站,您可能需要 200 个字形。子集化工具使用 opentype.js 解析字体的二进制结构,提取指定的字形及其关联度量(字距、前进宽度),并重建一个仅包含这些字形的有效字体文件。

WOFF2 格式在子集化之上提供额外压缩。WOFF2 使用 Brotli 压缩,比 WOFF 小 20-40%。所有现代浏览器都支持 WOFF2。最佳方法是将字体子集化为所需字形,然后编码为 WOFF2 以获得最大压缩。一个 500 KB 的 TTF 字体可以减少到 15 KB 的 WOFF2 子集——减少 97%。

广告

实用的子集化策略

对于大多数网站,最简单的策略是子集化为 Unicode 基本拉丁范围(U+0020 到 U+007E),覆盖所有 ASCII 字符。这对英文内容足够了。对于多语言网站,子集化为每种语言所需的特定 Unicode 范围,并使用 CSS 的 unicode-range 属性仅为每个页面加载相关子集。Google Fonts 使用此技术——它根据页面内容提供不同的子集。

子集化时,注意不要移除 OpenType 功能引用的字形。例如,小型大写功能 (smcp) 用小型大写版本替换小写字母——如果您移除小型大写字形,该功能将失效。我们的工具保留字体的功能定义,但只包含您指定的字形。如果您需要 OpenType 功能,请包括这些功能引用的所有字形。对于网页正文,通常最好禁用复杂的 OpenType 功能并只子集化为基本字母形式。

广告

与其他字体子集化工具的对比

流行的字体子集化工具的并排对比。

功能NovaToolsFont SquirrelEverything Fonts
隐私(无上传)100% 浏览器本地上传到服务器上传到服务器
TTF/OTF/WOFF 输入所有格式有限
WOFF2 输出
自定义字符集有限
保留 OpenType 功能
无需注册需要邮箱

Font Squirrel 和其他基于服务器的子集化工具需要上传您的字体文件。我们的工具使用 opentype.js 完全在浏览器中解析和子集化字体——您的自定义或授权字体绝不会离开您的设备。

常见问题

我的字体文件安全吗?会被上传吗?
是的,100% 安全。所有字体处理都在您的浏览器中本地进行。您的字体文件从未上传到我们的服务器,确保您的数据保持私密。
为什么子集化后我的字体文件变大了?
对于非常小或高度优化的原始字体,这可能会发生。该工具从头开始重建字体文件,这种新结构有时可能不如原始结构紧凑。如果发生这种情况,意味着您的字体已经非常高效,您应该继续使用原始文件。
我应该选择哪种输出格式:OTF 还是 TTF?
对于现代 Web 开发,两者都是很好的起点。子集化后,最佳做法是将生成的字体转换为 `.woff2` 格式以获得最大压缩率。
我可以在商业项目中使用子集化字体吗?
您必须遵守您上传的原始字体的许可证。对字体进行子集化不会更改其许可证。确保您有权修改并将字体用于您的目的。
字体文件大小可以减少多少?
减少量取决于原始字体大小和保留的字符数量。典型的拉丁字体包含 400-700 个字形(包括大小写字母、数字、标点符号、重音字符和符号),TTF 格式为 80-200 KB。如果您只子集化为典型英文网站使用的 50-80 个字符(A-Z、a-z、0-9、基本标点),文件大小将降至 15-40 KB——减少 80%。CJK 字体(中文、日文、韩文)可能大得多(5-20 MB),因为它们包含数千个字符。将 CJK 字体子集化为最常用的 2,000 个字符可减少 90% 以上的文件大小。
子集应包含哪些字符?
至少包括您网站上出现的所有字符:大写 A-Z、小写 a-z、数字 0-9,以及内容中使用的所有标点符号。还包括内容特有的任何特殊字符(货币符号、数学运算符、箭头)。对于多语言网站,包括您支持的每种语言的重音字符。对于 CJK 网站,包括您语言中最常用的 1,000-3,500 个字符。一个好的方法是扫描您网站的文本内容并提取唯一字符集——这确保您不会遗漏任何字符,同时保持子集尽可能小。
什么是 Unicode 范围?如何使用?
Unicode 范围(如大写 A-Z 的 U+0041-005A)指定 Unicode 标准中的连续字符块。工具接受单个字符和 Unicode 范围。例如,'A-Za-z0-9' 指定所有 ASCII 字母和数字。'U+4E00-9FFF' 指定 CJK 统一表意文字块(常用汉字)。'U+3040-309F' 指定平假名(日文)。您可以组合字符和范围:'Hello World U+4E00-9FFF' 将包含 'Hello World' 中的字符加上所有常用汉字。这对于需要拉丁和 CJK 字符的多语言网站很有用。
子集化会影响字体渲染质量吗?
不会。子集化保留与原始字体完全相同的字形轮廓、提示指令和字距对——它只是移除您不需要的字形。子集字体中保留的字符将在所有尺寸下与原始字体相同地渲染。唯一的可见区别是未包含在子集中的字符将不会渲染(它们将回退到浏览器的默认字体或显示为空白框)。这就是为什么包含您网站使用的所有字符很重要。实时预览让您在下载前验证所有文本是否正确渲染。

您的隐私是我们的优先事项

此工具完全在您的浏览器中运行。您的文件不会被上传到服务器、存储或分析。

  • 我们不上传、不存储、不分析您的文件。
  • 您处理的一切都保留在您的设备上。
  • 没有服务器端处理、没有云存储、没有分析。

即使您的互联网连接断开,您的文件也是安全的。

你可能还喜欢

相关指南

广告