方舟像素字体(ark-pixel-font)12px 比例版在 U+4E00–U+9FFF 区间里有 18,468 个汉字。我拿 GB2312 的 6763 个字查 zh_hans 的 cmap,覆盖 93.7%,缺 429 个生僻字。这 429 个我只看了其中 8 个,做界面和正文大概率够用;要抄古籍或写人名,建议先拿自己的字表查一遍。

它是 GitHub 上的开源像素字体,仓库主语言 Python,仓库 TakWolf/ark-pixel-font,这次测的是 2026.10.16 版,目前 4,808 星。全文只覆盖 12px 比例版这一档。

环境是 Windows 10 22H2(10.0.19045.6466)加 Python 3.13.12,2026-10-20 用 fontTools 读字形表、Pillow 渲染样张。下面按实际跑的顺序写。

要下哪个包

我下的是 12px 比例版(proportional),两个 zip 都在 2026.10.16 的 release 页面:

  • 网页用 ark-pixel-font-12px-proportional-otf.woff2-v2026.10.16.zip,3.7 MB
  • 装到系统用 ark-pixel-font-12px-proportional-otf-v2026.10.16.zip,24.4 MB,比前者大 6 倍

两个包解压后各有 8 个文件,包括 1 个 OFL.txt 和 7 个语言变体。

  • latin
  • ja
  • ko
  • zh_hans
  • zh_hant
  • zh_tw
  • zh_hk

方舟像素字体有多少个汉字

我用 fontTools 读每个变体的 cmap 表,统计字形总数,再数 U+4E00 到 U+9FFF 区间的汉字。七个变体的结果完全一样,字形总数 25,635,其中汉字 18,468。

七个变体的字形总数和汉字数完全一样,说明没有哪个变体少字。差别是不是只在简繁和日韩写法上,我没有逐字比对过,这里只是推测。

GB2312 常用字够不够用

我遍历 GB2312 编码区间 0xB0A1 到 0xF7FE,得到 6763 个汉字,再逐个去查 zh_hans 变体的 cmap。覆盖率 93.7%,缺 429 个。

这一步自己也能复现:装好 fontTools,把 0xB0A1 到 0xF7FE 的每个编码按 gb2312 解码成汉字,再用 TTFont 打开 ark-pixel-12px-proportional-zh_hans.otf 读 cmap,逐个看有没有。脚本本身没有附在站上。

缺的都是生僻字,例如 蠡 筘 崧 汐 娈 筠 悫 翳 这几个。这 429 个字我没有逐个核对,只看了上面这些样例。

加拼音注音要换字体吗

我分三类测了符号,结果都是全有。

类别数量结果
ASCII 可打印字符95 个全有
中文全角标点20 个全有
带调拼音字母25 个全有

拼音那 25 个字符是 āáǎà ēéěè īíǐì ōóǒò ūúǔù üǖǘǚǜ。给汉字加注音不用另换字体。

放大后会不会糊

我用 Pillow 以 12px 渲染了下面这几行混排文字,再按最近邻放大 6 倍看像素。

  • 实测库 shiceku.com
  • 价格 ¥199 库存 3 件
  • The quick brown fox 0123

四行都清晰。放大后边缘完全是直角像素块,没有灰边和模糊,看起来是按 12 的整数倍设计的点阵字。注意这是 Pillow 在本机渲染的结果,浏览器里的真实表现这次没测。

网页里要加载多大

我对比了同一变体的 .otf 和 .otf.woff2。zh_hans 的 otf 是 3559 KB,woff2 只有 535 KB,压掉 85%。

七个变体的 woff2 都落在 535 到 552 KB 之间。网页只引一个变体的话,这个体积可以接受。

哪些还没测

  • 10px、16px 及其它档位
  • monospaced 版本
  • BDF、OTB 等位图格式
  • 字体在浏览器里的真实渲染
  • 缺字的 429 个 GB2312 字符逐个核对

常见问题

这个字体能商用吗?

商用要看两处出处:GitHub 仓库的 license 字段显示 MIT;项目说明写字体是 OFL 协议可商用,下载包里也附了 OFL.txt。两者分别管哪部分我没有核对,正式商用前请自己读一遍 OFL.txt。

缺的 429 个字都是哪些?

这次只记录了 8 个样例:蠡 筘 崧 汐 娈 筠 悫 翳。完整的 429 个没有逐个核对,需要的话可以自己用同样的 GB2312 区间去查 cmap。

七个语言变体该选哪个?

七个变体的字形总数都是 25,635,汉字都是 18,468,数量相同说明不是缺字。具体哪些字写法不同,我没有逐字列。覆盖率我只查了 zh_hans。

放到网页里体积大吗?

zh_hans 的 woff2 是 535 KB,七个变体都在 535 到 552 KB 之间。至于浏览器里加载和渲染的实际表现,这次没测。

其它字号档位能用同样的结论吗?

不能直接套用。我只测了 12px proportional 一档,10px、16px 和 monospaced 版本都没测。

适合谁

需要中文像素字体做界面或正文的开发者,可以先拿 12px 这一档试。常用字覆盖有 93.7%,ASCII、全角标点和拼音音标都齐,做带注音的内容也不用换字体。

要抄古籍或处理大量人名的人,要预留缺字的处理方案。要用在网页上的人,可以参考 535 KB 的 woff2 体积,但上线前最好自己在目标浏览器里再看一遍渲染。