# 执行-批次4:字体接入 Type: execution Status: ready-for-agent Label: ready-for-agent Blocked by: None Category: execution **What to build:** 按严格白名单接入字体——仅思源黑体(`SourceHanSans*`)、思源宋体(`SourceHanSerif*`)、Crimson Text(`CrimsonText*`)三类确证开源字族,且须附许可证据;中文字体子集化或限定字重档数;系统回退链保留;授权门禁生效(无证据字体不可被解析为运行时字体)。系统自带字体只作回退栈、不打包。 ## 引用规格(单一决策事实来源) - [规格 11:字体授权与缺失资源降级](11-font-and-fallback-spec.md)——授权门禁、白名单、子集约束、回退链、缺口分级。 - [规格 09:运行时资产 manifest](09-runtime-asset-manifest-spec.md)——字体条目登记。 - [规格 12:设计稿差异判断表](12-design-diff-structure-boundary-spec.md)——进入自查用。 ## 进入自查(开工前逐项确认,记录进本票证据区) - [ ] 白名单字族的许可证据已归档(覆盖 Web 嵌入与商用;名称与版本注明)。 - [ ] 子集化方案已定(实际用字清单或字重档数),系统回退链保留。 - [ ] 差异判断表自查:设计稿若要求白名单外字体,按无证据处理走回退(不升级、不臆造)。 ## 验收清单 **实现者自测(纯逻辑 + 静态检查):** - [ ] 授权门禁:有证据/无证据分支结果唯一;无证据字体在解析阶段不可用。 - [ ] 证据齐全性:许可证据标识、名称、版本登记齐全(不声称判定授权合法性)。 - [ ] 子集字体保留系统回退链;动态数据(设备名/点位名/事件文本)子集外汉字走回退。 - [ ] 系统字体未打包进产物。 - [ ] 字体语义槽位未改动(`--font` / `--num` 槽位定义归规格 03)。 - [ ] 结构回归全绿。 **维护者走查(真实 `/cockpit`):** - [ ] 动态文本无豆腐块;大屏 KPI 数字不跳格(度量兼容或回退)。 - [ ] 走查单逐项勾选 + 截图。 **缺口登记:** - [ ] 「设计字体未接入」「子集外字符走回退」等缺口已在签收前写入票 06 缺口清单——「未接入设计字体」是被接受的可见交付状态,不是缺陷。 ## 证据区(完成后填写) - 走查单路径: - 截图路径: - 已登记缺口数: - 维护者签收: ## Out of Scope - 商用字体采购与授权谈判(已锁不引入商用字体)。 - 字号/间距 token(批次 2 域)。 - 观感是否「更像设计稿」的自动判定(归走查)。 - 按 `AGENTS.md`,实施时未经用户明确要求不运行 build/dev。