如何从Firefox开发者工具下载/提取字体?操作遇阻求助
为什么Firefox中提取字体时会出现gzip文件损坏的问题?
嘿,我来帮你捋捋这个问题——我之前也遇到过Firefox和Chrome在处理压缩响应上的差异,这事儿其实是Firefox的默认行为在搞鬼,你的操作误区主要在这几点:
问题根源
- Firefox自动解压了gzip响应:你在Network面板看到的
content-encoding: gzip说明服务器返回的是压缩后的字体文件,但Firefox默认会自动帮你解压这个内容,所以你在响应面板复制到的是解压后的文本/二进制内容,而不是原始的gzip压缩包。这时候你再把它转成.gz文件,自然是损坏的——因为它本身就不是gzip格式的原始数据。 - 文本复制破坏了二进制结构:字体文件是二进制格式,直接复制响应面板的文本流时,Firefox会把二进制数据转成文本编码(比如UTF-8),这会丢失部分二进制信息,导致文件损坏。
正确的提取方法
给你三个靠谱的解决方案,按操作简便程度排序:
方法1:直接保存原始响应(最推荐)
- 在Firefox的Network面板里找到那个字体对应的GET请求(状态码200的那个)
- 右键点击这个请求,选择「Save Response」(保存响应)
- 保存时记得给文件加上正确的字体后缀(比如
.woff2或.ttf,可以从请求的Content-Type头判断,比如font/woff2就用.woff2),保存后就是完整可用的字体文件,不需要自己处理gzip。
方法2:禁用自动压缩请求
如果想让服务器直接返回未压缩的字体内容,可以这么操作:
- 在Firefox地址栏输入
about:config,回车后确认风险提示 - 搜索
network.http.accept-encoding,把它的默认值改成identity(这个值告诉服务器不要返回压缩后的内容) - 刷新目标页面,重新在Network面板找到字体请求,此时响应就是未压缩的原始二进制,直接右键保存即可。
- 记得用完后改回原来的设置,不然会影响其他网站的加载速度。
方法3:用Raw视图保存原始数据
- 在Network面板选中字体请求,切换到「Response」面板
- 点击面板顶部的「Raw」(原始)选项卡,这里显示的是未经过处理的原始二进制数据
- 右键点击Raw视图的内容,选择「Save As」保存成字体文件即可。
最后提醒一句:Adobe的字体可能有版权限制,提取和使用前一定要确认符合官方的许可条款哦!
内容的提问来源于stack exchange,提问作者Jason 'Slingshot' Miller




