整理了汉字字形 SVG,包括甲骨、金文、篆书、隶书,加上楷、行、草、宋、黑等十个书体层,十四万个字形,每字一个 SVG 文件。
资源都来自于网上,版权分类整理了下,上传到了 GitHub。
预览
https://zhouyongh.github.io/hanzi-glyphs-svg/

每个字都做了记录:出自哪片甲骨、哪件铜器、哪部书的哪一篇;六个现代书体层,则记到字体与版本。
有什么
| 书体 | 字形 | 许可 |
|---|---|---|
| 甲骨文 | 11,416(另 1,203 个轮廓) | CC0 / CC BY 4.0 |
| 金文 | 8,290 | CC0 |
| 篆书 | 10,591 | CC0 |
| 隶书 | 11,947 | CC0 |
| 楷书 | 6,763 | OFL 1.1 |
| 行书 | 6,763 | OFL 1.1 |
| 草书 | 6,763 | OFL 1.1 |
| 宋体·简 | 27,797 | OFL 1.1 |
| 宋体·繁 | 17,665 | OFL 1.1 |
| 黑体·港 | 31,598 | OFL 1.1 |
文件名就是键
古文字没有 Unicode 码位,一字多形是常态,文件名不能按现代字取。金文、隶书用条目号------一个现代字在不同器物、不同时代各一条;篆书用它自己的区块码位(U+3D000 起);现代书体层才用现代字码位。
可以用 index.csv 反查:现代字、码位、出处作品、编号、时代、文件名、sha256。
引用某个字形,按索引解析,不要硬编文件名------层里增删字形,编号会整体重排。
分层许可
CC BY 4.0 只有甲骨 JGW 那 1,203 条(连同派生轮廓),上游要求署名;汉典各层是 CC0;六个现代书体层从 OFL 字体提取轮廓,按 OFL 1.1 分发。文档、索引、代码、浏览页这些仓库自己的,CC0,随意分发。
三种许可混在一个仓库里,靠目录与 LICENSE-DATA 说清;逐条许可见每条出处记录的 license 字段。
出处与机检
出处写在 glyphs/provenance/<书体>.jsonl,一行一条,一个文件一条。一层一个文件,整层能一起加、一起移。
python src/verify_provenance.py 做机检:sha256 对账、索引三账、许可白名单,任何一条不符就以退出码 1 结束。CI 每次推送都跑。
小结
感谢
感谢各个网站的耐心整理。汉典(zdic.net)把甲骨、金文、小篆、隶书一个字一个字录下来、一笔一笔矢量化,并以 CC0 释出,这套库的古文字部分大多来自那里。
感谢甲骨 JGW 数据集的作者 Li, Qing-sheng 与 Bian, Yu-lin,把 1,203 个甲骨文字做成了可计算的矢量数据。
感谢六个现代书体背后的字体项目:Ma Shan Zheng、Zhi Mang Xing、Liu Jian Mao Cao、Noto Serif SC 与 TC、Chiron Hei HK。OFL 让这些轮廓可以被提取、再分发。
感谢 Unicode 的篆书区块与 SealSources.txt、OpenCC 的篆书反查表、fontTools:码位与工具都是现成的。
也感谢更早的人:《甲骨文合集》《殷周金文集成》的编纂者,历代拓本、摹本的制作者,两千年里传抄、刊刻《说文》的人。是他们的一笔一笔,将拓片留到了现在;这些人很多都没留下名字。
希望汉字兴盛,文脉绵长。