← 返回全部文章

喜欢 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 的官方版本,也不保证每个字符、每个细节和原字体一致。

Ioskeley Mono 的字形与终端使用场景

目前 GitHub Releases 页面提供了 v2.0.0,包含普通字体、 Nerd Font 、 Term 、 NL 和 Web 等多个版本。

它有哪些值得试的地方

1. 字形有明确的设计取向

项目没有只改字体名称和基础宽度,而是针对程序员经常看到的字符做了调整,包括:

  • 单层 g
  • 点状 0
  • 开口的 69
  • 两个圆组成的 8
  • 平弧形括号;
  • 方形标点点号;
  • 更高的下划线。

这些细节平时不一定会被单独注意,但放在代码里,会改变整段文本的气质。尤其是 0Ol1g 这些容易混淆的字符,等宽字体的设计差异很明显。

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
网站或 CSSIoskeleyMono-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 版本。

来源:https://github.com/ahatem/IoskeleyMono