浏览器端字体元数据解析的技术原理
字体文件不仅是包含字符矢量轮廓的集合,更是结构严密的二进制数据库。在主流的字体格式(如 TTF、OTF、WOFF、WOFF2 和 TTC)中,字体的所有权、授权条款、设计师信息以及技术限制,都以特定的数据表形式存储。其中,name(命名表)和 OS/2(操作系统与兼容性表)是存储此类元数据的核心区域。
本工具在本地浏览器中读取这些二进制数据,字体文件不会上传到 BroBroGo。整个检查过程完全在您的本地设备上进行,从而保障了隐私与安全。
在解析过程中,不同格式的字体文件在结构上存在差异,但工具均能在本地完成解析:
- TTF 与 OTF:标准的本地字体格式。
- WOFF 与 WOFF2:专为网页传输设计的字体格式。
- TTC:字体合集格式,允许在一个文件中包含多个字体。为了保证处理效率,当上传此类合集文件时,工具最多仅解析并显示前 32 个字体的元数据。
字体元数据字段与技术指标详解
通过解析字体内部的二进制表,工具可以提取出以下关键的技术与法律声明信息:
1. 基础命名信息(字体文件)
在 name 表中,定义了字体在操作系统和排版软件中显示的核心标识:
- 字族(字族):字体的家族名称(如 Arial 或 Source Han Sans)。
- 字形样式(字形样式):如 Regular、Bold、Italic 等。
- 全名(全名):字族与样式的完整组合。
- PostScript 名称(PostScript 名称):用于打印机通信与 PDF 嵌入的唯一标识符,不包含空格。
- 版本(版本):字体的版本号记录。
2. 授权声明(授权声明)
字体的法律条款通常以文本或链接形式嵌入在 name 表的特定 ID 中:
- 授权文本(授权文本):字库厂商写入的具体使用许可协议(EULA)摘要或全文。如果未定义,工具将显示“标准名称字段中未声明授权文本。”。
- 授权 URL(授权 URL):指向在线授权协议的链接。如果缺失,则显示“标准名称字段中未声明授权 URL。”。
- 注意:这些是存储在此字体文件内部的声明。它们不能确认是谁获得了授权,也不能确认计划的用途是否被涵盖。
3. 所有权与来源记录(所有权与来源记录)
这些字段记录了字体的物理创造者与商业销售路径:
- 版权(版权):版权所有者声明。
- 商标(商标):注册商标信息。
- 制造商(制造商):开发该字体的字型公司(Foundry)。
- 设计师(设计师):具体的设计师姓名。
- 销售商 URL(销售商 URL)与设计师 URL(设计师 URL):用于获取正版授权或联系作者的官方通道。
理解 fsType 与文档嵌入限制
在 OS/2 表中,fsType 字段描述字体在 PDF、ePub 或其他电子文档中的技术嵌入设置。
主要设置(主要设置)包括以下几种:
| 主要设置值 | 技术行为与限制 |
|---|---|
| 可安装嵌入 | 可嵌入文档,并可在接收端安装。 |
| 受限授权嵌入 | 技术设置限制文档嵌入。 |
| 预览和打印嵌入 | 可用于查看和打印文档,但不能用该字体编辑。 |
| 可编辑嵌入 | 可在文档中用于编辑。 |
此外,fsType 还可能包含附加标志(如禁止子集化,或仅限位图嵌入)。如果字体文件中设置了相互矛盾的属性,工具会将其标记为“冲突的嵌入位”。
需要特别注意的是,fsType 描述了在文档中的嵌入。它并不决定 Web 字体、应用、商业、修改或重新分发的权利;请与字体来源和当前书面条款核对。
错误处理与边界情况
在处理本地文件时,工具会严格验证文件结构与大小,以确保解析的稳定性:
- 格式不支持:若导入非字体文件,将触发错误提示:“请选择 TTF、OTF、WOFF、WOFF2 或 TTC 字体文件。”
- 空文件:若文件大小为 0 字节,提示:“该文件为空。请选择一个完整的字体文件。”
- 文件超限:工具限制的最大文件大小为 32 MB。超出此限制将显示:“该字体超出了 32 MB 的限制。”
- 文件损坏或无法读取:若文件结构不完整或损坏,会显示:“该文件不是可读且受支持的字体。它可能已损坏或使用了其他格式。”或“浏览器无法读取此文件。请尝试其他副本。”
- 解析超时:若遇到极复杂的字体表导致读取时间过长,将触发并中止任务,提示:“读取时间过长,已停止。请尝试较小或不同的字体文件。”
- 合集限制:对于 TTC 格式的字体合集,工具最多仅解析并显示前 32 个子字体,并伴有警告:“正在显示此合集中的前 32 个字体。”
- 长值截断:为了防止超长文本破坏排版,过长的元数据字段会被自动截断并标记为:“长值已缩短显示”。
常见问题解答
这能确认我已获得该字体的授权吗?
不能。字体文件内部存储的版权声明、授权文本和 URL 仅仅是该文件出厂时由制作者写入的“文件证据”。它无法记录是谁购买了该字体、授权涵盖了哪些域名或公司,也无法证明你当前的实际使用场景是否合规。要确认授权合法性,必须核对你的购买收据、授权合同以及字库官网的最新条款。
如果字体中没有授权文本怎么办?
如果工具显示“标准名称字段中未声明授权文本”,这仅代表该字体文件的开发者未在标准的元数据槽位中写入相关信息。这并不意味着该字体属于公有领域或可以免费商用。许多开源或商业字体可能会将授权书单独放在安装包的 LICENSE.txt 中,或者需要前往其官方销售渠道查询。
嵌入标志(fsType)与商用授权有什么区别?
fsType 是一个纯技术性的控制标志,用于告诉 PDF 生成器等软件“该文件是否允许被打包进文档”。而商用授权(如广告发布、LOGO 设计、视频字幕使用)是法律层面的许可。即使一个字体的 fsType 设为“可安装嵌入”,如果未经字库公司商业授权,将其用于商业广告依然构成侵权。
为什么有些字体的元数据会显示为乱码或多国语言?
字体元数据表支持多语言记录,界面会标记为“‹language› 记录”。有些字体会同时包含英文、中文、日文等多个语言版本的版权声明。