>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
HTML

无需购买许可证使用 Berkeley Mono:自定义字体 Ioskeley Mono

Ioskeley Mono Cover

对许多程序员来说,在代码编辑器中使用一款漂亮的等宽字体是一种小小的执念。我们愿意花上数小时循环切换主题,从 JetBrains Mono 换到 Fira Code,再换到 SF Mono。但总有那么一刻,Berkeley Mono 会映入你的眼帘。它看起来很有美感,干净整洁,几何比例恰到好处,阅读起来非常舒适。

但有一个问题:Berkeley Mono 采用付费许可证分发。并非所有人都愿意为一枚用于终端或心仪 IDE 的字体花费一笔可观的费用。

最近我偶然发现了 IoskeleyMono 仓库。开发者 Ahmed Hatem 优雅地解决了这个问题。他选取了广受欢迎的开源字体 Iosevka——这款字体拥有近乎无限的定制能力——并构建了一套构建方案,能够高度还原 Berkeley Mono 的几何形状和字符设计。

实际效果如何

这款字体从其两个「母体」那里获得了混合名称:Iosevka + Berkeley = Ioskeley。

作者调整了比例,使得垂直度量、字母间距和括号大小都与原始风格相匹配。那些标志性的字形立刻脱颖而出:单层结构的小写 g、内部带点的圆形零(0)、由两个相等圆圈组成的数字八(8)、六和九的开放轮廓(69),以及标点符号中的方形点和略微抬高的下划线。

以下是并排对比。左侧是 Ioskeley Mono,右侧是原始的 Berkeley Mono:

| Ioskeley Mono | Berkeley Mono | | --- | --- | | Ioskeley Mono Sample | Berkeley Mono Sample |

在真实开发环境的截图中观察,真的很难发现两者之间的差异。在使用深色主题的编辑器中,这款字体看起来整洁而精致:

Ioskeley Mono in Action

对于那些想在下载前先体验字体的用户,作者创建了一个交互式网页演示。在演示页面上,你可以切换编程语言、更改主题、开启与原始字体的对比,甚至输入自己的代码片段。

捆绑包和构建变体

在下载开源字体时,你通常需要手动搜索图标补丁,或者处理终端中断字连接失效的问题。在本项目中,作者对发布工作采取了非常认真的态度。

发布页面包含了大约十几个针对不同使用场景的现成 zip 压缩包:

  • IoskeleyMono.zip 适用于 VS Code、JetBrains IDE 或 Zed。
  • IoskeleyMono-NerdFont.zip 包含嵌入的 Nerd Fonts 图标,如果你已在 Starship 或 Neovim 中设置了自定义提示符。
  • IoskeleyMono-Term.zip 采用严格的终端网格(spacing = "term")。如果你的终端(如 kitty 或 Ghostty)显示箭头或制表符时出现问题,这个版本会派上用场。
  • IoskeleyMono-NL.zip 无连字的版本。在 Xcode 等环境中很有用,因为在这些环境中你无法通过程序自身的设置来禁用连字。
  • IoskeleyMono-Web.zip 包含用于 @font-face 的网页字体,适用于网站和文档。

每个压缩包都包含宽度变体:Normal、SemiCondensed 和 Condensed。如果你在小屏幕笔记本上阅读代码,压缩变体可以节省水平空间,同时不影响可读性。

值得一提的是每个压缩包中的 Hinted 和 Unhinted 文件夹。对于 Windows 标准像素密度显示器,你最好安装 Hinted 文件夹中的文件,这样字体引擎可以更精确地对齐像素网格。在 macOS Retina 显示屏或 Linux HiDPI 屏幕上,Unhinted 变体是更好的选择。

字重范围非常完整:从极细的 Thin(100)到极重的 Black(900),包括正体和斜体样式。

如何自行构建字体

由于 Ioskeley Mono 本质上是 Iosevka 构建器的一个配置文件,你可以在自己的机器上从源码构建它。如果你想要根据自己的喜好调整几个字形,这会非常有用。

构建过程如下:

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

所有自定义字体参数都在 private-build-plans.toml 文件中描述。如果你想切换数字 7 的样式或选择不同的等号,只需编辑该文件中的几行,然后运行 npm run build 即可。

值得安装吗

如果你喜欢 Berkeley Mono 简洁的工程风格,但又不打算单独购买许可证,Ioskeley Mono 正好填补了这个需求。该项目非常活跃,当 Iosevka 代码库有更新时,会通过 GitHub Actions 自动构建新版本。

你真的只需要几分钟就能试用这款字体。下载压缩包,将所需文件安装到系统,然后在编辑器的设置中选择 Ioskeley Mono 即可。

相关项目