PNG 文字渲染 — 融合方案:渲染学生姓名(复用字体发现 + 隐私生效)
真实任务不变:PNG 座位表发微信群,家长直接可读姓名。PNG 座位块内绘制学生姓名(中文),复用 D12 的系统字体发现基础设施;隐私开关对位图同样生效(public 匿名化 → 打码)。
不可违反约束:字体光栅化需新增 Rust 路径(建议纯 Rust 无依赖:fontdue/ttf-parser 类,符合最小依赖政策 §5.6);隐私语义对位图生效;产物经独立 validator 复核。
✓
融合目标形态
teacher 模板:座位块内渲染姓名 + 学号;public 模板:姓名打码为「学生A/B/C」。
学生丁001STU001
学生丅005STU005
学生上010STU010
学生下011STU011
学生 A—
学生 B—
学生 C—
学生 D—
teacher 模板 · 显示姓名public 模板 · 匿名化
字体光栅化复用 D12 字体发现(同一系统字体模块);2x 分辨率输出保证手机清晰度。
长名字(4–5 字)字号自适应;座位块内两行:姓名 + 学号(teacher 模板)。
| 设计要点 | 说明 |
|---|---|
| 光栅化 | Rust 新增文本光栅化(fontdue/ttf-parser 类,纯 Rust 无依赖);字体来自 D12 字体发现模块 |
| 隐私生效 | public 模板 + 匿名化:姓名打码「学生A/B/C」;隐藏成绩等开关对位图同样过滤 |
| 清晰度 | 2x 分辨率输出(微信缩略图可读) |
| schema/API 影响 | Rust PNG 渲染路径扩展;导出契约(PNG 语义:含文字) |
待研究(不冻结):
- 字号自适应规则(4–5 字长名)与打码样式
- 60 座级光栅化性能