Files
matrix-screen-controller/核桃派软件源代码/font_sources/walnut-bus-8x16/README.md
T

45 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 类似公交窄体(推荐16px)
优化版字格固定 8×16,16px 为主要字号,中文最多占 7 列墨迹,末列留空。覆盖 GB2312 的 6763 个汉字、95 个可打印 ASCII 及 26 个中英文标点/符号,共 6884 个码位。32/48/64px 可按整数倍放大;需要32px中文时优先选择独立设计的16×32字款。其他字号允许使用但可能产生灰阶。保持现有渲染器,不替换自动多语言默认字体。
稳定选择 ID:`builtin:walnut-bus-8x16`。选择器与TTF名称:**类似公交窄体(推荐16px)**。成品为 `app/fonts/bundled/SimilarBus8x16.ttf`,按摘要安装到 `/var/lib/matrix-screen-controller/fonts/`。旧版内置 ID 和已知旧摘要引用转到优化版;校验并安装两款新字体后,仅删除摘要一致的旧公交字体,不保留旧版选项,不删除其他导入字体。旧作品结构、修订号和默认设置不变,但使用旧公交字体的作品显示优化字形。无需用户手动导入。
## 字模和来源
`glyphs.json` 是完整的 16 行十六进制字模;每行高位在左。`revisions.json` 保存逐字改绘和理由,覆盖基础字模。`upstream/source.json` 固定官方发布 URL、版本和原 ZIP SHA-256。基础来源为 Fusion Pixel Font 2026.09.25 简体中文 8px BDF;附件姚体只用于视觉比较,成品未使用其轮廓。
设计把横画保持为单像素,竖画连续延长,孤立斜画补阶梯连接;英文字母/数字及重点字逐字修订。所有共享像素边必须先抵消,再生成封闭轮廓,不能用相邻矩形直接拼接(FreeType 会产生 192-alpha 接缝)。TTF 左侧 bearing 必须等于轮廓 xMin,避免字符水平位移。构建时间固定,确保离线重复构建字节一致。
成品及改绘字模沿用 SIL OFL 1.1。原作者与上游许可完整保存在 `upstream/OFL.txt` 和 `upstream/LICENSES/`,运行资源内也附带同一套许可。独立字体名为 SimilarBus8x16 / 类似公交窄体(推荐16px)。
## 离线重建
字体构建/校样环境使用此目录的 `requirements-build.lock.txt` 和 `wheels/`,安装前核对 SHA-256。项目专用环境在 `测试相关资料/如何测试/本机测试环境/.local/font-build/`;无需系统安装字体,也不修改 PATH。
从仓库根执行,Python 路径用当前项目已搭建的环境:
Windows 首次准备专用环境(无需联网):
```powershell
python -m venv "测试相关资料/如何测试/本机测试环境/.local/font-build"
& "测试相关资料/如何测试/本机测试环境/.local/font-build/Scripts/python.exe" -m pip install --no-index --find-links "核桃派软件源代码/font_sources/walnut-bus-8x16/wheels" --require-hashes -r "核桃派软件源代码/font_sources/walnut-bus-8x16/requirements-build.lock.txt"
& "测试相关资料/如何测试/本机测试环境/.local/font-build/Scripts/python.exe" "核桃派软件源代码/scripts/build_bus_font.py"
```
已存在的环境直接复用,不重复创建;字体构建锁目前针对 CPython 3.14 / Windows x64。设备仅加载已经构建的 TTF,沿用原运行依赖。`SHA256SUMS` 保存该目录输入材料摘要,字体成品摘要位于运行资源 manifest。修改字模后同步重建成品及更新输入摘要。
```text
python 核桃派软件源代码/scripts/build_bus_font.py
python 核桃派软件源代码/scripts/proof_bus_font.py --output <受保护临时目录>/字体校样
```
`--seed` 从固定 Fusion BDF 重新生成8×16初始字模;`--design` 重新生成两款的分类修订和16×32骨架,均须显式调用,正常构建不改字模。人工进一步改绘应写入 revisions,不依赖一次性脚本。`--output` 指定隔离成品目录。校样使用 `--height 16` 或 `--height 32`,可加 `--reference <参考TTF>`;参考文件不参与构建或软件资源。`compare_bus_fonts.py --old <旧版TTF> --output <受保护临时目录>` 生成四栏对比及分类样张。
本轮额外重绘包围框及贯穿笔画,改善密集连接与稀疏斜画。分类算法见 `scripts/bus_font_design.py`,所有规则产出的逐字修订明确标记 method,不把规则生成记录冒充手工改绘。
## 质量边界
全部码位进行非空、精确字模、二值像素、字宽和边界检查,图册按码位分页复核。空格与全角空格共用空字形属于预期;其他目标码位不得产生重复像素字形。8 列空间的复杂汉字采用低分辨率简化,并非标准印刷字形;“鹤、警、藏、赢、鬻”等密集字应结合词语辨识,不能宣称每个罕用复杂字都与普通印刷字体同样易认。首版图册检查不等于用户辨识率实验。
测试选测涵盖字体、文字预览、场景、模板、REST;不涉及驱动、扫描、相机、ADC、网络切换或 Android 发布。一次性证据见仓库的对应测试归档。