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

16 lines
2.5 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.
# 类似公交窄体(推荐32px)
独立16×32字格,末列留空。ID 为 `builtin:walnut-bus-16x32`,成品为 `app/fonts/bundled/SimilarBus16x32.ttf`。字符集与优化版16px一致(6763汉字、95 ASCII、26标点/符号),不增加其他语言承诺。32px是主要字号,64px为整数倍;不把32px款缩小到16px当成小字优化。
中文完整骨架来自 GNU Unifont 18.0.01 标准 G-source BDF,官方来源/版本/下载摘要见 `upstream/source.json`。选择 SIL OFL 1.1 制作衍生字体;保留原始版权、OFL及双许可证说明。字体未使用附件姚体轮廓。构建程序是项目自己的实现,没有复制Unifont的GPL构建代码。
设计不是将旧8×16放大。每个字从原16列中文骨架开始,横画与独立竖画主要2px,相邻部件留空,不够空间时保持1px。密集字的横画改单行,竖画保持连续;斜画重新补偏移阶梯;包围字重新绘制外框、内横、贯穿竖画。英文大写/数字从项目独立骨架重新安排26px字身及双列主笔画,小写单独分配字身、侧边距、基线和下伸部。
`glyphs.json` 保存所有32行、16位十六进制字模,`revisions.json` 保存覆盖与原因,`classes.json` 登记每类不少于8个代表字。method=grid-redraw为独立网格绘制,method=structure-rule为分类规则生成;后者不得称作逐字手工设计。算法在 `scripts/bus_font_design.py`,轮廓构建在 `scripts/build_bus_font.py`。共享字体构建锁及本地wheel位于相邻 `walnut-bus-8x16/`,不依赖仓库外文件。
从已准备的项目字体环境运行 `build_bus_font.py` 可离线构建两款;仅显式 `--design` 会重新生成分类字模。使用 `proof_bus_font.py --height 32 --output <受保护临时目录>` 生成全码位图册、密度/重复审计。输入摘要在SHA256SUMS;成品摘要和旧版淘汰/别名登记在bundle manifest。
推荐字号逐像素检查与字模一致、无灰阶、无越格;重点字64px与最近邻放大一致。分类词语和实际网页预览需额外视觉检查,不以覆盖或密度分数代替辨识判断。极密集罕用字仍可能需要上下文,未做真实用户辨识率实验。
更新字体后,受影响模板/动图的可再生缩略图重建,并写 `.font-version` 辅助缓存、增加 font_v URL参数;作品JSON、scene digest、修订号不变。辅助缓存只与登记缩略图共存,源图删除后按原资源清理规则删除对应辅助缓存。