Use IBM Plex Sans / Lilex (#36084)

The Zed Plex fonts were found to violate the OFL by using the word Plex
in the name.

Lilex has better ligatures and box-drawing characters than Zed Plex
Mono, but Zed Plex Sans should be identical
to IBM Plex Sans.

Closes #15542
Closes zed-industries/zed-fonts#31

Release Notes:

- The "Zed Plex Sans" and "Zed Plex Mono" fonts have been replaced with
"IBM Plex Sans" and "Lilex". The old names still work for backward
compatibility. Other than fixing line-drawing characters, and improving
the ligatures, there should be little visual change as the fonts are all
of the same family.
- Introduced ".ZedSans" and ".ZedMono" as aliases to allow us to easily
change the default fonts in the future. These currently default to "IBM
Plex Sans" and "Lilex" respectively.
This commit is contained in:
Conrad Irwin 2025-08-13 13:25:52 -06:00 committed by GitHub
parent 4a35498829
commit bd61eb0889
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 58 additions and 110 deletions

View file

@ -294,11 +294,11 @@ Define extensions which should be installed (`true`) or never installed (`false`
- Description: The name of a font to use for rendering text in the editor.
- Setting: `buffer_font_family`
- Default: `Zed Plex Mono`
- Default: `.ZedMono`. This currently aliases to [Lilex](https://lilex.myrt.co).
**Options**
The name of any font family installed on the user's system
The name of any font family installed on the user's system, or `".ZedMono"`.
## Buffer Font Features
@ -3511,11 +3511,11 @@ Float values between `0.0` and `0.9`, where:
- Description: The name of the font to use for text in the UI.
- Setting: `ui_font_family`
- Default: `Zed Plex Sans`
- Default: `.ZedSans`. This currently aliases to [IBM Plex](https://www.ibm.com/plex/).
**Options**
The name of any font family installed on the system.
The name of any font family installed on the system, `".ZedSans"` to use the Zed-provided default, or `".SystemUIFont"` to use the system's default UI font (on macOS and Windows).
## UI Font Features
@ -3603,7 +3603,7 @@ For example, to use `Nerd Font` as a fallback, add the following to your setting
"soft_wrap": "none",
"buffer_font_size": 18,
"buffer_font_family": "Zed Plex Mono",
"buffer_font_family": ".ZedMono",
"autosave": "on_focus_change",
"format_on_save": "off",

View file

@ -1,56 +0,0 @@
# Fonts
<!--
TBD: WIP. Zed Fonts documentation. This is currently not linked from SUMMARY.md are so unpublished.
-->
Zed ships two fonts: Zed Plex Mono and Zed Plex Sans. These are based on IBM Plex Mono and IBM Plex Sans, respectively.
<!--
TBD: Document how Zed Plex font files were created. Repo links, etc.
-->
## Settings
<!--
TBD: Explain various font settings in Zed.
-->
- Buffer fonts
- `buffer-font-family`
- `buffer-font-features`
- `buffer-font-size`
- `buffer-line-height`
- UI fonts
- `ui_font_family`
- `ui_font_fallbacks`
- `ui_font_features`
- `ui_font_weight`
- `ui_font_size`
- Terminal fonts
- `terminal.font-size`
- `terminal.font-family`
- `terminal.font-features`
## Old Zed Fonts
Previously, Zed shipped with `Zed Mono` and `Zed Sans`, customized versions of the [Iosevka](https://typeof.net/Iosevka/) typeface. You can find more about them in the [zed-fonts](https://github.com/zed-industries/zed-fonts/) repository.
Here's how you can use the old Zed fonts instead of `Zed Plex Mono` and `Zed Plex Sans`:
1. Download [zed-app-fonts-1.2.0.zip](https://github.com/zed-industries/zed-fonts/releases/download/1.2.0/zed-app-fonts-1.2.0.zip) from the [zed-fonts releases](https://github.com/zed-industries/zed-fonts/releases) page.
2. Open macOS `Font Book.app`
3. Unzip the file and drag the `ttf` files into the Font Book app.
4. Update your settings `ui_font_family` and `buffer_font_family` to use `Zed Mono` or `Zed Sans` in your `settings.json` file.
```json
{
"ui_font_family": "Zed Sans Extended",
"buffer_font_family": "Zed Mono Extend",
"terminal": {
"font-family": "Zed Mono Extended"
}
}
```
5. Note there will be red squiggles under the font name. (this is a bug, but harmless.)

View file

@ -39,13 +39,15 @@ If you would like to use distinct themes for light mode/dark mode that can be se
## Fonts
```json
// UI Font. Use ".SystemUIFont" to use the default system font (SF Pro on macOS)
"ui_font_family": "Zed Plex Sans",
// UI Font. Use ".SystemUIFont" to use the default system font (SF Pro on macOS),
// or ".ZedSans" for the bundled default (currently IBM Plex)
"ui_font_family": ".SystemUIFont",
"ui_font_weight": 400, // Font weight in standard CSS units from 100 to 900.
"ui_font_size": 16,
// Buffer Font - Used by editor buffers
"buffer_font_family": "Zed Plex Mono", // Font name for editor buffers
// use ".ZedMono" for the bundled default monospace (currently Lilex)
"buffer_font_family": "Berkeley Mono", // Font name for editor buffers
"buffer_font_size": 15, // Font size for editor buffers
"buffer_font_weight": 400, // Font weight in CSS units [100-900]
// Line height "comfortable" (1.618), "standard" (1.3) or custom: `{ "custom": 2 }`
@ -53,7 +55,7 @@ If you would like to use distinct themes for light mode/dark mode that can be se
// Terminal Font Settings
"terminal": {
"font_family": "Zed Plex Mono",
"font_family": "",
"font_size": 15,
// Terminal line height: comfortable (1.618), standard(1.3) or `{ "custom": 2 }`
"line_height": "comfortable",
@ -473,7 +475,7 @@ See [Zed AI Documentation](./ai/overview.md) for additional non-visual AI settin
"show": null // Show/hide: (auto, system, always, never)
},
// Terminal Font Settings
"font_family": "Zed Plex Mono",
"font_family": "Fira Code",
"font_size": 15,
"font_weight": 400,
// Terminal line height: comfortable (1.618), standard(1.3) or `{ "custom": 2 }`