5.0
关注
AI SCORE
技术实践2026-06-28 08:37
TrueType 字体内嵌二维码渲染器
Hacker News · qr.jim.sh#字体#创新
Editor brief · 编辑速览
将二维码编码在字体文件内创新实现,技术有趣但应用场景有限,对多数程序员无直接价值。
将二维码编码在字体文件内创新实现,技术有趣但应用场景有限,对多数程序员无直接价值。
这是一款真正的 TrueType/OpenType 字体,能在文本塑形过程中将方括号内的文本转换成 QR code。无需单独生成图像,也不需要预处理:只需输入 [hello] 这样的文本并应用该字体,字体内置的 OpenType 规则就会渲染出 QR code。
由于 QR code 本质上仍然是文本,因此你可以像复制粘贴普通字符一样复制粘贴渲染后的 QR code 区块,将其存储在纯文本中,或与常规拉丁文本混排在同一行内。方括号之外的文本仍然清晰可读。
浏览器换行说明:由于布局引擎会先对 Unicode 文本执行断行,再进行文本塑形,因此当 QR code 中包含可换行的位置(例如空格、点或斜杠),并且内容到达文本容器边缘时,浏览器可能会将它拆分到多行。为了确保在 HTML 中可靠渲染,请将方括号区块包裹在一个设置了 white-space: nowrap; 或 display: inline-block; 样式的容器中。
请在方括号内使用可打印的 ASCII 字符。QR Font 1-L 每个区块最多支持 17 个字符;QR Font 2-L 最多支持 32 个字符;QR Font 3-L 最多支持 53 个字符。方括号之外的文本仍会以源自 Liberation Sans 的普通字体显示。
下载 QR Font 1-L 下载 QR Font 2-L 下载 QR Font 3-L 源代码仓库