首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

Jim 的 TrueType QR 代码字体

2026-07-07 1 阅读 约4分钟阅读 arantius
分享:
字号:
Jim 的 TrueType QR 代码字体现场演示:https://qr.jim.sh/ 下载: qrfont-1L.ttf(21x21 模块,最多 17 个字符) qrfont-2L.ttf(25x25 模块,最多 32 个字符) qrfont-3L.ttf(29x29 模块,最多 53 个字符) 该存储库生成一种实验性 OpenType 字体,该字体可将将括号分隔的文本转换为 QR 码符号,同时保持周围文本可读。 abc[hello]ghi 所有字体均使用: 字节模式 可打印 ASCII 输入 固定掩码模式 0 [ 和 ] 作为分隔符 字体是生成的,而不是手工编写的。构建脚本发出字形轮廓和 GSUB 功能逻辑,然后将它们编译为 dist/qrfont-*.ttf 。默认构建编译定界符解析器、字节扩展、Reed-Solomon 奇偶校验电路、QR 模块放置和固定掩码渲染。可打印的 ASCII 字形复制自 Liberation Sans Regular,缩放为 QR 字体 em 方形,因此括号内的 QR 块之外的文本将以相同字体呈现为普通文本。 Liberation 是源字体许可证下的保留字体名称,因此生成的系列被命名为 QR Font 1-L 、 QR Font 2-L 和 QR Font 3-L 。构建 make 项目使用 uv 进行 Python 依赖管理。您还可以直接使用以下命令运行生成器: uv run tools/build_font.py 默认情况下,生成器从以下位置读取 Liberation Sans Regular: /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf 使用不同的兼容 TrueType 源: uv run tools/build_font.py --base-font /path/to/BaseFont-Regular.ttf 要尝试完整生成的 Reed-Solomon 电路: make full-parity 这也是默认的 make 路径。它会发出数千次上下文查找,并且通常比仅布局构建花费的时间明显更长。要使用占位符零奇偶校验进行更快的仅布局构建: make fast-placeholder 要检查成形字形流: uv run tools/shape_debug.py ' [a] ' ' [b] ' 输出:dist/qrfont-*.ttf(1-L、2-L 和 3-L 字体文件) dist/index.html(交互式 Web 演示) build/qrfont-*.fea(生成的 OpenType 功能文件)在浏览器中打开 dist/index.html 并输入括号内的文本,例如 [hello] 。混合文本(例如 abc[def]ghi)应呈现为普通文本,然后呈现为 ​​def 的 QR 代码,然后呈现为普通文本。许可证 生成的字体是 Liberation Sans Regular 的修改版本,并根据 SIL 开放字体许可证版本 1.1 获得许可。请参阅 LICENSE-OFL.txt 和 NOTICE.md 。注释 这是一种概念验证字体。它依赖于 OpenType 整形,因此需要一个将 GSUB 功能应用于字体的环境。 QR 块内的输入仅限于可打印的 ASCII,最多 17、32 或 53 个字符,具体取决于所选字体版本。
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱