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

Version of Cascadia Mono? #520

Closed
tiffany352 opened this issue Sep 2, 2020 · 9 comments · Fixed by #1412
Closed

Version of Cascadia Mono? #520

tiffany352 opened this issue Sep 2, 2020 · 9 comments · Fixed by #1412

Comments

@tiffany352
Copy link

tiffany352 commented Sep 2, 2020

🎯 Subject of the issue

Cascadia Mono is a version of Cascadia Code that doesn't have ligatures. I'd like if Nerd Fonts supported it.

Currently, the Windows Terminal does not support disabling ligatures. As a result, there's no way for me to turn off ligatures without either not using Nerd Fonts, or to choose a Nerd Fonts distribution for some other font.

🔧 Your Setup

  • Which font are you using (e.g. Anonymice Powerline Nerd Font Complete.ttf)? Caskaydia Cove Nerd Font, v2.1.0. I tried all 4 variations in the .zip, they all have ligatures. I thought the two that say "Mono" wouldn't, but they do.
  • Which terminal emulator are you using (e.g. iterm2, urxvt, gnome, konsole)? Windows Terminal 1.2.2381.0
  • Are you using OS X, Linux or Windows? And which specific version or distribution? Windows 10

★ Optional

I'm trying Nerd Fonts because I'm using Starship as my shell's prompt.

Edit: It looks like Cascadia Mono PL covers the symbols that Starship uses either way, so it seems like I don't need this.

@ryanoasis
Copy link
Owner

thanks for the suggestion. glad you can get what you need for now with Cascadia Mono PL

@trallnag
Copy link

Took me a bit of time to figure out the difference between the two meanings of "Mono". For Cascadia it means no ligatures, for Nerd Fonts "Mono" is something completely different

@ffes
Copy link

ffes commented Jan 7, 2022

I fell for the same trap, thinking that "Caskaydia Cove Nerd Mono" was the font without the ligatures.

It turns out since Windows Terminal v1.11 it is possible to disable the ligatures. See the docs at https://docs.microsoft.com/en-us/windows/terminal/customize-settings/profile-appearance#font-features

Note that turning the ligatures off by adding just "liga": 0 as a font feature doesn't work for "Caskaydia Cove Nerd" or "Caskaydia Cove Nerd Mono". After digging some more I found microsoft/terminal#759 (comment) With disabling a lot more features, you can turn off the ligatures. A bit of a hassle, but it works.

So having a Caskadya variant without the ligatures would be much more handy. I would suggest to call it "Caskadya Mono Nerd", to keep the naming it in line with the naming convention of the original font. But I don't mind how it is called, as long as it is clear what the differences are between them.

For convenience I pasted the full features object I added. I haven't investigated which one of these features actually does the trick. Note that you need to edit settings.json for this.

"features": {
    "calt": 0,
    "clig": 0,
    "dlig": 0,
    "hlig": 0,
    "liga": 0,
    "rlig": 0,
    "salt": 1
}

@Finii
Copy link
Collaborator

Finii commented Jan 7, 2022

I believe there are a lot of people out there that rely on having ligatures in the Nerd Font Mono; me for one ;)

Well, I would change the source to Cascadia Mono and create a full set of

  1. Caskaydia Mono Nerd Font
  2. Caskaydia Mono Nerd Font Mono

Interestingly the RFN is already in place.

Having two different meanings for Mono is widespread for Nerd Fonts, for example

  • Blex Mono Nerd Font Mono
  • Ubuntu Mono Nerd Font Mono
  • Fura Mono Nerd Font Mono

As for 'what mono means', yes the docu can and should be improved. Even more so if we add another third variant.

  • Nerd Font (non-mono): Not monospaced, Symbols added ((*) scaled down to max 2 'widths')
  • Nerd Font Mono: Unify advance width for all glyphs, added symbols scaled down to fit into one width
  • Nerd Font MonoBigIcons: Unify advance width for all glyphs, added symbols may extend to up to 2 'widths'

Removal of ligatures does not happen in font-patcher but only in gotta-patch-em-all, for some fonts, like ... manually, inconsistent with what people that self-patch usually get.

(*) Not in effect at the moment, #748

@Finii
Copy link
Collaborator

Finii commented Jan 7, 2022

I haven't investigated which one of these features actually does the trick.

Well, tables with lig in the name usually concern ligatures, while alt are for alternative characters.

@Finii
Copy link
Collaborator

Finii commented Jan 30, 2023

Closing because transferred to #1095

@Finii Finii closed this as completed Jan 30, 2023
@DimDroll
Copy link

I came to this discussion while searching for solution in google. Earlier comment confused me a little, so I removed:

salt
calt

From the list of the features, so I still had characters like:
--------------
Replaced with an alternatives.

Make sure to use feature set that @ffes provided.

Complete feature list can be found here:
https://learn.microsoft.com/zh-cn/typography/opentype/spec/featurelist
Thanks to the author of the following post for pointing it out here:
microsoft/terminal#12213 (comment)

@Finii
Copy link
Collaborator

Finii commented Jul 29, 2023

A very convenient tool to enable / disable features in a font for terminals that do not allow to tweak the feature set:

https://github.com/MuTsunTsai/fontfreeze

Esp if you want to always use an alternative or whatever.

@Finii Finii mentioned this issue Nov 13, 2023
2 tasks
Copy link
Contributor

This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants