字体许可合规
一、白名单与判定
商用交付只允许这三类许可(font_db.json#licensePolicy.commercialWhitelist):
| 许可 id | 名称 | 可商用 | 义务 |
|---|---|---|---|
ofl-1.1 | SIL OFL 1.1 | ✅ | 禁单独转售字体文件;修改后再发布必须改名;保留许可与著作权声明 |
apache-2.0 | Apache-2.0 | ✅ | 保留版权声明与许可文本(NOTICE) |
vendor-free-commercial | 厂商免费商用授权(阿里妈妈/普惠体等) | ✅ | 登记时必须附许可证明链接;闭源分发前复核条款 |
未登记许可 = 不合规(fail-closed)。判定不靠印象:subtitleread.fonts 只返回白名单内的候选,
围栏 G-SUB5 在交付动作上再拦一道。
二、OFL-1.1 的四条实操结论
- 成片、封面、贴纸里用字体渲染文字 → 不受限制(输出作品不是字体再分发);
- 不得单独转售字体文件:字体文件只能随工位/产品分发,不能当字体商品卖;
- 子集化 = 修改:subset 后的字体必须改名并标注来源,因此本能力默认不做子集化, 直接使用原始字体文件——省掉改名与再发布义务,也让 sha256 核验保持意义;
- 再分发要带声明:
kit/install-fonts.sh会把LICENSES.md一并落盘到工位字体目录。
三、字体文件不进版本库
- 仓库只存档案(打标 + 许可 + sha256)与引脚(上游地址 + 核验结果);
- 工位按
kit/fonts-pin.json逐文件 sha256 校验后安装(--from-dir离线导入 /--download直链下载); - 29 款字体约 128MB:进仓库会让所有克隆、CI 与桌面载荷背这份体积,且每次升级都要推动二进制。
四、客户自备商用字体(方正/汉仪/华康/迷你简/造字工房……)
- 由客户提供字体文件与授权证明(授权书/采购单/许可页链接),工位本地导入;
- 在档案里登记:字体名 / 家族名 / 文件 / sha256 / 许可(
vendor-free-commercial或客户授权类型)/ 证明链接; - 未登记的字体不进入选型候选,也不接受"先用着,回头补授权";
- 客户素材与字体文件不上行;工作区只保留档案与许可证据。
五、留痕与复核
交付报告必须能回答四个问题(subtitle_report):
- 这条片子用了哪些字体(名称 + id + sha256)?
- 每款的许可是什么、来自哪里、证明在哪?
- 有没有修改过字体文件(答案必须是否——本能力不做子集化/改名)?
- 品牌视觉锤(账号锁定字体)这次有没有变更(有则走 G-SUB1 人审)?
回答不上来 = 这条片子不能作为商用交付进入发布队列。
六、工艺判据(许可类型 → 义务 → 判定 → 来源)
| 判据 | 义务/限制 | 判定 | 来源 |
|---|---|---|---|
ofl-1.1(SIL OFL) | 禁单独转售字体文件;修改后必须改名;保留许可与著作权声明 | 成片渲染文字不受限;不做子集化(子集化=修改) | KB:本套件 §二 + font_db.json#licensePolicy |
apache-2.0 | 保留版权声明与许可文本(NOTICE) | 可商用;随包分发许可文本 | KB:同上 |
vendor-free-commercial | 必须登记许可证明链接;闭源分发前复核条款 | 可商用;缺链接不得入库 | KB:同上 |
| 未登记许可 | — | fail-closed 拒收,不进候选 | KB:围栏 G-SUB5 |
| 客户自备商用字体 | 客户提供文件 + 授权证明(授权书/采购单/许可页) | 本地导入并登记;不接受"先用着回头补" | KB:本套件 §四 |
| 字体文件入库 | — | 仓库只存档案与 sha256 引脚;字体文件不进版本库 | KB:本套件 §三 |
| 品牌视觉锤变更 | — | 走 G-SUB1 人审后才可作为默认 | KB:围栏 G-SUB1 |
七、失败模式(症状 → 检测器 → 处置)
| 症状 | 检测器 | 处置 |
|---|---|---|
| 候选里出现未登记许可的字体 | subtitleread.fonts 白名单过滤 + G-SUB5 | 剔除该候选并记录;不得"先出片再补许可" |
| 字体文件被提交进版本库 | 资产扫描(工位字体目录 vs 仓库) | 回退提交;改用 fonts-pin.json 引脚 + sha256 校验安装 |
| 子集化后未改名/未标注来源 | 字体文件哈希与档案比对 | 恢复原始字体文件(本能力默认不做子集化) |
| 客户说"有授权"但拿不出证明 | 证明链接/文件校验 | 挂起交付;补齐证明前不进发布队列 |
| 品牌视觉锤被临时替换 | 账号锁定字体比对 + G-SUB1 审批记录 | 阻断并回退到锁定字体 |
| 字体解析回落系统字体 | fontselect 日志(绝对路径 = 回落) | 判失败并留证;修字体目录后重出 |