喜欢 Berkeley Mono,又不想花钱?试试这个开源替代品 Ioskeley Mono
Ioskeley Mono 用 Iosevka 的配置复刻 Berkeley Mono 的部分视觉方向,提供多种宽度、字重、终端和 Web 版本。它不是原字体的复制品,但对程序员来说,是一个值得试试的免费开源选择。

程序员挑等宽字体,往往不是“能不能看”的问题,而是每天盯着代码、终端和日志几个小时,字形是否顺眼会直接影响心情。
Berkeley Mono 的外观被很多开发者喜欢,但它并不是免费字体。 Ioskeley Mono 提供了一个开源替代思路:不拿 Berkeley Mono 的字体文件来改,而是使用 Iosevka 的构建系统和自定义配置,做出相近的视觉方向。
名字也很直白:Iosevka + Berkeley,合起来就是 Ioskeley 。
Ioskeley Mono 是什么
Ioskeley Mono 是一个字体配置项目,不是从零绘制整套字体。它基于 Iosevka,通过 private-build-plans.toml 调整字形、间距、宽度和字重,让最终字体呈现出更接近 Berkeley Mono 的感觉。
仓库 README 给出的定位是“免费的开源替代品”。这个说法需要准确理解:它追求的是外观和使用体验上的相似,不是 Berkeley Mono 的官方版本,也不保证每个字符、每个细节和原字体一致。

目前 GitHub Releases 页面提供了 v2.0.0,包含普通字体、 Nerd Font 、 Term 、 NL 和 Web 等多个版本。
它有哪些值得试的地方
1. 字形有明确的设计取向
项目没有只改字体名称和基础宽度,而是针对程序员经常看到的字符做了调整,包括:
- 单层
g; - 点状
0; - 开口的
6和9; - 两个圆组成的
8; - 平弧形括号;
- 方形标点点号;
- 更高的下划线。
这些细节平时不一定会被单独注意,但放在代码里,会改变整段文本的气质。尤其是 0、O、l、1、g 这些容易混淆的字符,等宽字体的设计差异很明显。
2. 同时覆盖编辑器和终端
普通版本适合 VS Code 、 JetBrains 、 Zed 等编辑器;如果终端里要显示图标,可以下载 Nerd Font 版本。
项目还提供了 Term 版本。它把字形间距约束在终端单元格内,用来解决箭头、框线字符或连字在 kitty 、 Ghostty 等终端里对不齐的问题。
如果使用的应用不能关闭连字,例如 Xcode,可以选择 NL 版本。 NL 的意思是 No Ligatures,也就是关闭连字替换,其他字重、宽度和字形保持一致。
3. 宽度和字重选择比较完整
每个字体包都包含三种宽度:
- Normal:标准宽度;
- SemiCondensed:半紧凑;
- Condensed:紧凑。
字重从 Thin 到 Black,覆盖 100 到 900;同时提供 Upright 和 Italic 。你可以在编辑器里用 Normal Regular,也可以在终端或状态栏里选择更窄的版本,给代码留出更多横向空间。
4. 还有 Web 版本
如果想在个人网站、文档站或内部工具里使用,仓库提供了 IoskeleyMono-Web.zip。它可以配合 CSS 的 @font-face 使用。
不过,Web 字体上线前仍要处理加载性能、缓存、子集化和浏览器回退。下载一个字体包,不等于网站端已经完成了最佳实践。
怎么安装
最简单的方式是进入 GitHub Releases 页面,下载适合自己的压缩包。
| 使用场景 | 建议文件 |
|---|---|
| VS Code 、 JetBrains 、 Zed 等编辑器 | IoskeleyMono.zip |
| Neovim 、 Starship 等需要图标的终端 | IoskeleyMono-NerdFont.zip |
| 箭头或框线字符错位 | IoskeleyMono-Term.zip |
| 终端既要图标又有错位 | IoskeleyMono-Term-NerdFont.zip |
| 无法关闭连字的应用 | IoskeleyMono-NL.zip |
| 网站或 CSS | IoskeleyMono-Web.zip |
不确定时,先下载普通的 IoskeleyMono.zip 就行。
解压后,进入对应的宽度和 Hint 文件夹,选择 .ttf 文件安装:
- macOS:双击字体,或者拖到 Font Book;
- Windows:选择字体后右键,为所有用户安装;
- Linux:复制到
~/.local/share/fonts/,再运行:
fc-cache -fv
安装后,在编辑器或终端设置里搜索 Ioskeley Mono,从 Normal 、 SemiCondensed 或 Condensed 中选择一个开始使用。
如果想自己构建
Ioskeley Mono 的源代码主要是一份 Iosevka 构建配置。仓库 README 给出的本地构建流程是:
git clone https://github.com/ahatem/IoskeleyMono.git
git clone --depth 1 https://github.com/be5invis/Iosevka.git
cp IoskeleyMono/private-build-plans.toml Iosevka/
cd Iosevka
npm install
npm run build -- contents::IoskeleyMono contents::IoskeleyMonoTerm
构建结果会出现在 Iosevka/dist/IoskeleyMono/。
普通用户没有必要自己编译,直接下载 Release 即可。自己构建更适合想改字形、调整宽度、做内部字体版本,或者想研究 Iosevka 构建系统的人。
它和 Berkeley Mono 有什么关系
Ioskeley Mono 的目标是“模仿外观和感觉”,所以两者可能在整体气质、部分字形和比例上接近。但它们不是同一个字体,使用授权也不是一回事。
可以这样理解:
- Berkeley Mono:商业字体,使用它要遵守自己的授权条款;
- Iosevka:开源字体项目和构建系统;
- Ioskeley Mono:基于 Iosevka 的自定义配置,使用自己的项目许可证发布。
如果你的团队已经购买了 Berkeley Mono,Ioskeley Mono 不会替代原字体的品牌和设计价值。如果你只是想找一种好看的代码字体,或者希望终端和编辑器都能免费使用,它就很有吸引力。
适合谁
Ioskeley Mono 适合:
- 想换一款有个性的代码字体的开发者;
- 喜欢 Berkeley Mono 的视觉方向,但不想购买商业字体的人;
- 需要同时覆盖编辑器、终端、图标和 Web 的人;
- 想研究 Iosevka 配置、字体变体和本地构建的人。
不适合:
- 需要和 Berkeley Mono 做像素级一致的品牌项目;
- 依赖某个商业字体的专属字形或排版指标;
- 不愿意自己测试终端框线、连字和中文回退效果的人。
中文开发环境还要特别注意:Ioskeley Mono 主要解决的是拉丁字母、数字、符号和等宽排版,中文字符通常会回退到其他字体。最终效果取决于编辑器、终端的字体回退策略,不要只看英文截图就判断全部体验。
许可证
Ioskeley Mono 使用 SIL Open Font License 1.1 。许可证允许使用、研究、修改、嵌入和再分发,但字体文件本身不能单独出售;修改版本需要继续遵守 OFL,并且不能随意继续使用保留字体名称。
如果把它跟软件、网站或文档一起分发,要保留版权声明和许可证文本。具体项目发布前,仍然应该阅读仓库里的完整 LICENSE,不要只根据“免费”两个字判断商业使用条件。
一句话判断:Ioskeley Mono 不是 Berkeley Mono 的官方复刻,而是一份基于 Iosevka 的字体配置。它把相似的视觉方向、完整的终端变体和开源许可证放到了一起。先装普通版试试,喜欢再根据终端、连字和宽度需求选择 Term 、 NL 或 Nerd Font 版本。