← 决策总览 / D12 · PDF CJK 字体(融合方案) 12 / 15 · D12 已决策 → 确认融合形态
PD-D12-PDFCJK(R 修正后冻结)· 计划 §5.6

PDF CJK 字体 — 融合方案:系统字体智能引用(无嵌入、无 fallback)

真实任务不变:PDF 座位表必须正确显示中文姓名。生成端枚举系统字体按质量优先级选取(一定有可用字体),PDF 按字体名引用(体积 0);查看端缺字体时由 PDF 查看器自动替换;选中字体质量偏低时导出警告,不阻断。

决策依据(评审修正):任何可运行 GUI 的设备必有 CJK 字体;PDF 查看器(Acrobat/预览/手机阅读器)缺指定字体时按 Unicode 自动替换——v1 的座位号 fallback 是生成端缺陷,本方案从根源消除。不嵌入、不 fallback 座位号。安装包 5–20MB gate 无压力。
融合目标形态
字体选择链:生成端按质量优先级取系统字体;PDF 字体名引用;质量不佳时警告。
第 1 排
学生丁001
学生丅005
学生上010
学生下011
体积 +0 · 不嵌入无需 fallback
PingFang SC(已选用) Noto Sans CJK SC Microsoft YaHei SimSun 任意 CJK 字体
当前系统仅有「宋体」可用,打印效果可能不及预期(仅提示,不阻断导出)。
查看端(家长手机/打印店)缺指定字体时,由 PDF 查看器用自身字体按 Unicode 自动替换——主流查看器均支持。
设计要点说明
字体选择生成端枚举系统字体(macOS 字体目录 / Windows Fonts / Linux fontconfig),按质量优先级序列选取
PDF 引用字体名引用(不嵌入);查看端由查看器自动替换
质量警告选中字体表现不佳(如仅宋体)时导出警告「效果可能不及预期」,不阻断
基础设施复用字体发现模块与 D13 PNG 光栅化共用(一次投入两处受益)
schema/API 影响Rust 新增系统字体枚举/选择模块;PDF writer 支持字体名引用

待研究(不冻结):

  • 字体优先级序列完整清单与质量分级标准
  • 警告文案与触发阈值
  • 主要查看器(Acrobat/预览/Edge/手机)字体替换实测矩阵