Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from Zed fonts to IBM Plex #13596

Merged
merged 8 commits into from
Jun 27, 2024
Merged

Move from Zed fonts to IBM Plex #13596

merged 8 commits into from
Jun 27, 2024

Conversation

ConradIrwin
Copy link
Member

Release Notes:

  • Changed the default fonts to IBM Plex Sans and IBM Plex Mono. If you'd like to go back to using Zed Sans/Zed mono you need to download them and install them.

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Jun 27, 2024
@ConradIrwin ConradIrwin mentioned this pull request Jun 27, 2024
@ConradIrwin ConradIrwin merged commit 7d7fd7d into main Jun 27, 2024
9 checks passed
@ConradIrwin ConradIrwin deleted the ibm-plex branch June 27, 2024 20:36
@shinebayar-g
Copy link

shinebayar-g commented Jul 3, 2024

Ugh, Does this mean zed font is no longer maintained? This new font looks wildly different than the previous one.

@kelvinpraises
Copy link

This could have been an opt-in option, no one likes a jarring visual change in product updates.

@RustoMCSpit
Copy link

RustoMCSpit commented Jul 4, 2024

This could have been an opt-in option, no one likes a jarring visual change in product updates.

agreed, was this out of necessity or was it just an aesthetic choice. regardless, i imagine the old font is no longer included because of download size but even then an opt-in somehow would've been nice rather than everyone being opted-out. does anyone know if the default font was zed sans or zed mono and furthermore were those font set to condensed or regular width by default?

#14522

@sebastiansandqvist
Copy link

Installing Zed Sans locally and having it set as the ui_font_family in my settings still led to a somewhat jarring font change on upgrade. It appears that a condensed version of the font is now the default. Is there a way to tell Zed to use a specific font variant? And if so, which variant was the default before?

@kelvinpraises
Copy link

kelvinpraises commented Jul 4, 2024

Let me share what did it for me:

  1. Install zed-app-fonts-1.2.0 from here as linked above
  2. On Zed press the key binding ⌘, to open the settings
  3. In the JSON file add the following fields
  {
    ...
    
    "buffer_font_family": "Zed Mono",
    "ui_font_family": ".SystemUIFont"
  }

Also, do check out the settings file change to roll back commits as you may

@kelvinpraises
Copy link

Is there a way to tell Zed to use a specific font variant?

Zed auto-infers most of your system fonts, it auto-suggests, as you type in the font you want, as long as you've installed the fonts locally and are editing the right settings field.

@sebastiansandqvist
Copy link

sebastiansandqvist commented Jul 5, 2024

Zed auto-infers most of your system fonts, it auto-suggests, as you type in the font you want, as long as you've installed the fonts locally and are editing the right settings field.

What I mean by variant is that within the Zed Sans font family, there are light/extended/oblique/italic variants. In my case it appears that I am getting a condensed variant of Zed Sans. I'd like to figure out how to get the ui to have the same font and variant I had before.

Before installing the preview update:
pre-update

After installing the preview update:
post-update

After update with no font specified:
post-update-no-font

@kelvinpraises
Copy link

Oh okay, check out Issue 5028 on how to switch between variants and edit the buffer_font_family to see the effect on your main editor pane while ui_font_family affects the UI

@sebastiansandqvist
Copy link

Oh okay, check out Issue 5028 on how to switch between variants and edit the buffer_font_family to see the effect on your main editor pane while ui_font_family affects the UI

Ah, perfect, thank you! "ui_font_family": "Zed Sans Extended" did the trick for me, although there is a warning that it's an invalid value.

@RustoMCSpit
Copy link

Oh okay, check out Issue 5028 on how to switch between variants and edit the buffer_font_family to see the effect on your main editor pane while ui_font_family affects the UI

Ah, perfect, thank you! "ui_font_family": "Zed Sans Extended" did the trick for me, although there is a warning that it's an invalid value.

sounds like there is an error there, make an issue about it?

@huypham50
Copy link

Is there a reason for this change? I genuinely prefer Zed fonts. Have to do this now 😭

"ui_font_family": "Zed Sans Extended",
"buffer_font_family": "Zed Mono Extended",

@medzernik
Copy link

such a shame, the zed font is the reason i fell in love with the clean code. Gotta install it manually now

@ConradIrwin
Copy link
Member Author

TBH that was my initial reaction for the mono too. After a bit of use though I've come round. I particularly like the fun italics and the {} braces:
Screenshot 2024-07-10 at 11 14 51

Plex Sans is a lot better for a UI font than Zed Sans was (to the point where we can actually enable it by default) which distinguishes Zed nicely.

It also saves us about 8Mb of space, and fixes some font fallback issues on Linux. The Zed fonts were gigantic and configured a bit wrong (it turns out in hindsight :D).

Obviously fonts are a personal thing, so we've left the old ones available, but we think this is a better default for everyone.

@joaokamun
Copy link

Plex Mono seems to have a bunch of issues where characters overlap. It's generally pretty subtle, but here's an obvious example:

Screenshot 2024-07-10 at 12 11 14 PM Screenshot 2024-07-10 at 12 11 20 PM
Compared to Zed Mono:

Screenshot 2024-07-10 at 12 12 35 PM Screenshot 2024-07-10 at 12 12 42 PM
Is this an issue with the Zed rendering engine, or the font? Or is it intentional? It looks confusing to me.

This seems font ligature feature, you can disable with the following settings:

  "buffer_font_features": {
    "calt": false
  }

@richardhenry
Copy link

Thanks @joaokamun — these character pairs seem like strange choices for ligatures, IMO

@icoigo
Copy link

icoigo commented Jul 11, 2024

TBH that was my initial reaction for the mono too. After a bit of use though I've come round. I particularly like the fun italics and the {} braces:

Just wonder how to make the "comments" part to be italics font sytle.

@icoigo
Copy link

icoigo commented Jul 11, 2024

TBH that was my initial reaction for the mono too. After a bit of use though I've come round. I particularly like the fun italics and the {} braces:

Just wonder how to make the "comments" part to be italics font sytle.

I just figured out, this setting works.

"experimental.theme_overrides": {
    "syntax": {
      "comment": {
        "font_style": "italic"
      }
    }
  },

@RustoMCSpit
Copy link

can someone compose a full settings copy and paste text that includes all features of the previous font setup

TBH that was my initial reaction for the mono too. After a bit of use though I've come round. I particularly like the fun italics and the {} braces:

Just wonder how to make the "comments" part to be italics font sytle.

I just figured out, this setting works.

"experimental.theme_overrides": {
    "syntax": {
      "comment": {
        "font_style": "italic"
      }
    }
  },

@arbales
Copy link

arbales commented Jul 12, 2024

Hey! Came here to figure out how to get back to Zed Sans (Extended), and have to say I'm surprised and bummed by this change. I say this as both a developer and a professional designer — Zed Sans was and is great, and it was a strikingly positive first impression when I started using Zed.

I'm curious what motivated the change?

@federicoangelli
Copy link

Another option for going back to Zed Mono would be to install the ZedMono Nerd Font from https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/ZedMono.zip
(I'm using the "extended regular" one from that zip).

Then, configure it as follows in settings.json:
"buffer_font_family": "ZedMono Nerd Font",

That should be it 😄

@heiskr
Copy link

heiskr commented Jul 12, 2024

I'm curious, given it sounds like file size was the main concern of the change... I would think to use the built-in UI and monospace fonts for the operating system as the default and let folks overwrite it in their settings; I'm sure it's often the first setting most folks will change after installing Zed.

@sebastiansandqvist
Copy link

Hey! Came here to figure out how to get back to Zed Sans (Extended), and have to say I'm surprised and bummed by this change. I say this as both a developer and a professional designer — Zed Sans was and is great, and it was a strikingly positive first impression when I started using Zed.

Totally agree! I love Zed Sans. If file size is the primary concern, could the font's (optional) installation be part of the onboarding flow instead? Post-install when selecting default keybindings and choosing whether to have vim mode enabled, "Install and apply Zed fonts" could be one of those options.

@arbales
Copy link

arbales commented Jul 12, 2024

Was size the major factor? The Zed fonts are ~16x larger but also contain ~28x more glyphs. If size were the driver, you could build the fonts with a reduced glyph set.

In any case, I'd be curious to get @iamnbutler's take.

@RustoMCSpit
Copy link

Hey! Came here to figure out how to get back to Zed Sans (Extended), and have to say I'm surprised and bummed by this change. I say this as both a developer and a professional designer — Zed Sans was and is great, and it was a strikingly positive first impression when I started using Zed.

Totally agree! I love Zed Sans. If file size is the primary concern, could the font's (optional) installation be part of the onboarding flow instead? Post-install when selecting default keybindings and choosing whether to have vim mode enabled, "Install and apply Zed fonts" could be one of those options.

this seems like a great idea! i can make it an issue if wanted or we can continue to discuss it here?

@barrelltech
Copy link

barrelltech commented Jul 15, 2024

Don't know where to leave this issue, but the ligatures don't match the curly braces, which looks pretty awful:

CleanShot 2024-07-15 at 12 40 51@2x

Also I mentioned elsewhere, but at least with Elixir code, you end up with mostly italic code:

GSM5cl7WwAAEfYP

And while I agree that fonts are a personal preference... the new IBM Plex is one of my least favorite fonts I've ever seen. I'm not being hyperbolic when I say I physically recoiled to it more as the week went on.

YMMV but I know Zed is all about FTUX and UI. I would have to imagine this font will negatively impact the FTUX for most people.

(I've reinstalled the old Zed font which I genuinely enjoyed, so I'm happy, I'm not expecting this decision to be reversed. Only leaving as feedback.)

EDIT: toned down my language, I think it came out too strong. Genuinely trying to be helpful, not dogpile. Love all the amazing work at Zed, just not this font <3

@baldwindavid
Copy link
Contributor

baldwindavid commented Jul 15, 2024

Also I mentioned elsewhere, but at least with Elixir code, you end up with mostly italic code:

@barrelltech I don't see anything italicized in the Elixir files I'm looking at. 🤷


fwiw, I expected to hate this font since that seems to be the sentiment here, but I like it. I've been using FiraCode Nerd Font Mono for a couple years and this doesn't seem like much of a departure from that.

I'd probably switch to it, but running into what appears to be a rendering issue with the buffer font size at 16 for the letter "f". You can see in the screenshots that the top portion of the letter is fine at 15 and 17, but partially cut off at 16. Sadly, this is the font size I use. 😿

15
Screenshot 2024-07-15 at 5 39 18 PM

16
Screenshot 2024-07-15 at 5 40 00 PM

17
Screenshot 2024-07-15 at 5 40 31 PM

Update: 15.999 works just fine (as does 16.001...anything that is not exactly 16). Guess I'll go with that.

@TheRedXD
Copy link

Not gonna lie, the IBM fonts suck for code editing. I've tried them on many different editors, and I've never been happy with them.

The Zed fonts are THE BEST THAT I'VE SEEN for code editing, they're ridiculously easy on my eyes, and for someone who sits at his computer for the bigger part of the day - it's a big benefit to not over-stress your eyes with hard to read fonts.

It would be amazing if the zed fonts were brought back into zed as the default fonts, I don't see much of a downside to them being included. I'm surprised this even got merged, as this doesn't really make too much sense.

@shinebayar-g
Copy link

For those who don't like the new font, https://www.jetbrains.com/lp/mono/ is the closest one to the old one, which seems a much better option.

@RustoMCSpit
Copy link

The Zed fonts are THE BEST THAT I'VE SEEN for code editing, they're ridiculously easy on my eyes, and for someone who sits at his computer for the bigger part of the day - it's a big benefit to not over-stress your eyes with hard to read fonts.

i agree, it was easily the best code editor font ive ever seen as well in all my programming years. it's sad to see it so unceremoniously removed. ive made a new issue request asking it to have a new install

@acusti
Copy link

acusti commented Jul 19, 2024

for those (like myself) who can’t handle IBM Plex, Adobe’s Source Code Pro font family is highly readable and very well-crafted (for homebrew users: brew install font-source-code-pro).

however, i’ve actually switched over to Apple’s SF Mono, which is extremely readable, with a slightly taller x-height, a single-storey g with a hook tail (the descender doesn’t make a second enclosed loop), spacious closed counters, and more subtle serifs. you could argue that it also has less character than most other monospace fonts as a result, but i’m happy with that tradeoff. it’s already installed on all macs, so "buffer_font_family": "SF Mono", is sufficient to use it.

in fact, as @heiskr suggests, i think this change would’ve made more sense if it went from the custom Zed fonts to the OS defaults, rather than one custom font to another custom font with a smaller file size, but that ship has sailed.

@RustoMCSpit
Copy link

RustoMCSpit commented Jul 25, 2024

for all who are curious: "The WidthClass is set to 400 instead of 300, which breaks cosmic texts fallback stack on Linux. (Also they're really big, for some reason I don't know yet)" #15053 (comment) #13596 (comment)

if anyone knows how to fix that, thatd be great.

@icoigo
Copy link

icoigo commented Aug 26, 2024

TBH that was my initial reaction for the mono too. After a bit of use though I've come round. I particularly like the fun italics and the {} braces: Screenshot 2024-07-10 at 11 14 51

Plex Sans is a lot better for a UI font than Zed Sans was (to the point where we can actually enable it by default) which distinguishes Zed nicely.

It also saves us about 8Mb of space, and fixes some font fallback issues on Linux. The Zed fonts were gigantic and configured a bit wrong (it turns out in hindsight :D).

Obviously fonts are a personal thing, so we've left the old ones available, but we think this is a better default for everyone.

The doc comments is not italics any more. Does anyone knows how to fix it?

patka-123 added a commit to patka-123/nixpkgs that referenced this pull request Sep 1, 2024
upstream moved to using flex-mono and plex-sans instead of maintaining their own custom fonts. For more info see: zed-industries/zed#13596
@RustoMCSpit
Copy link

RustoMCSpit commented Sep 29, 2024

for all who are curious: "The WidthClass is set to 400 instead of 300, which breaks cosmic texts fallback stack on Linux. (Also they're really big, for some reason I don't know yet)" #15053 (comment) #13596 (comment)

if anyone knows how to fix that, thatd be great.

all of you asked why this was done, the above comment cites the reason in a different discussion (as well as another dev saying virtually the same thing).

tl;dr: they configured it wrong and the size was too big for some reason so theyd thought it'd be easier to abandon it and take a new font than fix its issues. if anyone knows how to fix those issues, start a PR and hope this issue gets worked on for easy installs
#14522
zed-industries/zed-fonts#24 (comment)

@huypham50
@arbales
@TheRedXD

@notpeter
Copy link
Member

The doc comments is not italics any more. Does anyone knows how to fix it?

There is an example in the docs of how to make comments use italics:
https://zed.dev/docs/themes#theme-overrides

@icoigo
Copy link

icoigo commented Oct 24, 2024

The doc comments is not italics any more. Does anyone knows how to fix it?

There is an example in the docs of how to make comments use italics: https://zed.dev/docs/themes#theme-overrides

This is only for comments ( starts with //), but for the doc comments (starts with ///) is not italics.

@notpeter
Copy link
Member

notpeter commented Oct 24, 2024

@icoigo I've updated the docs to cover doc strings too in #19694.

Use this instead:

{
  "experimental.theme_overrides": {
    "syntax": {
      "comment": {
        "font_style": "italic"
      },
      "comment.doc": {
        "font_style": "italic"
      }
    }
  }
}

@icoigo
Copy link

icoigo commented Nov 1, 2024

@icoigo I've updated the docs to cover doc strings too in #19694.

Use this instead:

{
  "experimental.theme_overrides": {
    "syntax": {
      "comment": {
        "font_style": "italic"
      },
      "comment.doc": {
        "font_style": "italic"
      }
    }
  }
}

cool, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.