# 公交窄体首版验收 已制作、集成并部署“核桃公交窄体(推荐16px)”。字格 8×16,6763 个 GB2312 汉字、95 个可打印 ASCII、26 个标点/符号,共 6884 个码位。完整字模、42 项逐字修订、离线构建脚本、锁文件、wheel、上游许可和校验信息保存在 `核桃派软件源代码/font_sources/walnut-bus-8x16/`。字体本体为 `核桃派软件源代码/app/fonts/bundled/WalnutBus8x16.ttf`,摘要见 manifest 与 summary。 ## 实际验证 - 本机 Python 相关套件 68 项及补充的新字体模板/裁切/回退测试 1 项通过;Node 字体选择器、场景、图层 24 项通过。 - 全部 6884 个字符在 16px 下与字模逐像素一致,alpha 只有 0/255;非空字符无空白、无越格,最后一列保留间隔。32/48/64px 的重点字与整数倍最近邻放大一致。 - 14 页最终字形图册分批查看;重复字形只有空格/全角空格。密度最高 32 字记录在 audit 中;复杂字简化边界保留,不以覆盖检查代替辨识率实验。 - 带中文和空格的隔离副本从新建字体 venv、本地锁定 wheel 重建,TTF 字节一致,完整校样再次通过。 - 网页实际搜索、选择、16px 设置及三行最终合成预览已检查,见 `网页最终预览.jpg`。截图来自本机 mock 页面,“未连接”状态仅指本机 mock 的设备网络信息,不代表部署失败。 - 核桃派隔离候选中累计 68 项 Python 测试通过。1 项 Node 跨语言比较因板端没有 Node 跳过,同项已在本机通过,没有为本次字体任务增加板端 Node 依赖。 - 部署前后 446 个原有持久文件摘要一致,只新增 1 个字体文件。真实 stop/start 的运行目录保留检查通过;后续真实 restart 后 447 个持久文件摘要一致,字体目录仍可用。 - 设备实际 `/api/preview/text-layer` 返回的五组 PNG 在重启前后字节一致,解码后与本机预览逐像素一致。`device-*.png` 是设备原始透明预览;`设备渲染样张.png` 是关闭平滑的放大排版,不是摄像头画面。 - H618 真实驱动仍可用,读取状态时最后错误、OE 错误及 safeoff 错误均为空。驱动参数和扫描实现未改;不据启动时刷新率采样值声称实屏视觉验收或刷新性能验收通过。 正式 VERSION 保持原值,没有导出 OTA/IMG、没有修改或发布 App。功能更新时间为 `2026-10-12T11:09+08:00`。未启动摄像头、未切换实屏测试图案,也没有物理接线或断电操作。 ## 已修复的测试准备问题 首次 SFTP 直传任务运行目录失败:父目录仅 root 可访问,子目录 chown 无法绕过父目录权限。改用具名 `/var/tmp/` 暂存后由 sudo 转入任务目录,立即删除上传文件,没有放宽生产目录权限。 隔离候选首次遗漏 VERSION 导致测试无法收集,补齐后有 66 项通过、1 项 Node 比较跳过;另一个测试因遗漏 systemd 文件失败。补齐原生产 systemd 文件后定向重测该项通过。均未在失败状态下切换生产服务。记录中的旧部署路径来自板端历史 `.pyc` 的 traceback,不是对旧工作区的构建依赖。 可重复经验已更新到 `测试相关资料/如何测试/核桃派点阵屏控制服务测试流程.md` 的 TEST-BUS-FONT 条目。接缝合并、bearing、构建锁定和复杂字边界也记录在字体源目录 README。 ## 回滚与清理 `rollback.tar.gz` 保存部署前被替换的程序文件,`deployed-files.json` 登记本轮程序文件;回滚时停服务、恢复 backup 中的旧文件,再移除登记的新增程序文件,然后启动并等待健康检查。持久字体、用户配置和用户资源不删除;保留运行目录,不修改 systemd unit。该备份不含设备凭据。 远端本轮候选、测试数据、程序备份和日志在归档拉回后清理,具体路径和结果见 `cleanup.json`。本机持续使用的字体构建环境保留在项目专用 `.local/font-build/`。临时网页与 mock 服务已关闭。本机 10 个具名任务目录及 7 个一次性辅助脚本的批量清理被安全策略拒绝,工具仅返回 blocked by policy,没有提供进一步原因;未换手段重试。本机这些文件仍在,已无用途,可由用户按 `cleanup.json` 的完整仓库相对路径手动删除;不得删除其中未列出的材料、持续环境或用户数据。 ## 保留边界 8 列汉字不是标准印刷字形,罕用密集字(如鹤、警、藏、赢、鬻及密度榜中的字符)仍依赖简化和上下文;尚未做真实用户逐字辨识率测试。非 16px 整数倍字号不保证二值边缘。网页最终帧作为本轮视觉依据,不记录为物理实屏观察通过。