有人把我的世界的字体搬进了代码编辑器,GitHub涨了一万多颗星
写代码的程序员大概都有一种执念:折腾编辑器主题。从配色方案到图标包,从字体到连字,每一个像素都要调到自己满意。
但有个人走得更远——他直接把《我的世界》的字体,做成了一套真正的编程等宽字体。
这个项目叫 Monocraft,在 GitHub 上拿了 10918 颗星,作者 Idrees Hassan。不是那种拿 MC 像素字体截图转个格式的糊弄活,而是从零开始,手工重绘了 1500 多个字形,让它在保持 Minecraft 风格的同时,满足编程等宽字体的一切要求。

先说为什么这事没那么简单
Minecraft 的原版字体其实是按比例宽度的。每个字符的宽度不一样——「i」 窄,「m」 宽——这在游戏聊天框里看着没问题,但放到代码编辑器里就完蛋了。代码对齐全乱,缩进看不出来,你写个 Python 跟你写个 JSON 的对齐方式完全不同。
编程字体必须是等宽的。每个字符占的像素宽度一样,这样不管你看什么代码,列对齐都是一致的。
所以 Monocraft 不是简单地把 MC 字体导出来,而是要重新设计每个字符的宽度,让它们在保持像素方块美感的同时,全部对齐到同一个网格上。这件事听起来简单,做起来极其繁琐——尤其考虑到它支持 1500 多个字符,覆盖拉丁字母、数字、标点符号、常用 Unicode 符号。
核心特色
Monocraft 最值得说的几个点:
真等宽设计。每个字符 6 像素宽,包括空格和标点。你拿它写代码,对齐效果和 Fira Code、JetBrains Mono 这些主流编程字体一样精确,只是长得像 MC 罢了。
编程连字(Ligatures)。这是现在编程字体的标配功能——当你输入 => 时,两个字符会自动渲染成一个箭头形状;!= 变成带斜杠的等号;>= 变成大于等于号。Monocraft 支持全套编程连字,而且连字的风格也是像素化的,跟整体主题统一。

附魔台语言彩蛋。Minecraft 里附魔台的文字用的是一套叫 Standard Galactic Alphabet 的符号,其实就是字母表的凯撒移位。Monocraft 把这套符号也做了进去,在特定场景下会显示附魔台风格的文字。纯粹是好玩,但就是这种细节体现了作者的用心。

程序化字形生成。Monocraft 的源码 96.7% 是 Python,因为它用了 FontForge 的脚本接口来程序化生成字形。不是在字体编辑器里一个个手画,而是写脚本定义每个字符的像素布局,然后批量生成。这也是它能覆盖 1500+ 字符的原因。
字形长什么样
如果你玩过 Minecraft,那 Monocraft 的字形你已经见过了——就是那种方块感的像素字体,每个笔画都是由小方块拼成的。

但跟游戏原版比,Monocraft 做了一些适配性的调整。比如小写字母的高度统一了,数字的宽度对齐了,标点符号的位置调得更适合代码阅读。这些改动不影响整体风格,但让它在编辑器里用起来舒服得多。
怎么装
Monocraft 发布在 GitHub Releases 上,最新版本是 v4.2.1,累计下载量大约 37 万次。支持 Windows、macOS、Linux 全平台。
安装方式就是标准的字体安装流程:下载 TTF 或 OTF 文件,双击安装,然后在你的编辑器里选 Monocraft 作为字体。VS Code、Sublime Text、Vim、Emacs 都能用。
如果你用 JetBrains 系列的 IDE(IntelliJ IDEA、PyCharm 等),记得在设置里同时开启 「Enable ligatures」 选项,不然看不到箭头连字的效果。
还有个姊妹项目
作者还做了一个叫 Miracode 的姊妹项目。区别在于 Monocraft 是像素风格,Miracode 是矢量风格——同样是 MC 字体美学,但笔画更平滑,没有像素锯齿。
如果你觉得 Monocraft 在高分辨率屏幕上锯齿太明显,Miracode 是个不错的替代。两个项目在 GitHub 上都有维护,作者一直在更新字符集和修 bug。
协议
Monocraft 用的是 SIL Open Font License 1.1(OFL),这是字体领域的标准开源协议。你可以免费用、改、分发,甚至商用都没问题,但不能单独出售字体本身。对绝大多数用户来说,这意味着没有任何使用限制。
适合谁
Monocraft 不是用来提高生产力的工具,它是一种审美选择。
如果你是 Minecraft 玩家兼程序员,在编辑器里看到熟悉的像素字体会让你会心一笑。如果你是直播写代码的 up 主,用 Monocraft 能让你的画面辨识度拉满。如果你只是单纯喜欢像素美学,它可能是你找到的最精致的像素编程字体。
说实话,一万多颗星对一个字体项目来说是个很夸张的数字。能火到这个程度,一方面是因为 Minecraft 的受众基础太大,另一方面也说明这个项目做得确实好——不是随便截个图就完事的敷衍货,而是真正按编程字体的标准去打磨的认真作品。
代码在 github.com/IdreesInc/Monocraft
夜雨聆风