microsoft / cascadia-code

This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
Other
25.39k stars 803 forks source link

Will there be a unified version that includes both "Code" and "Curve" ? #503

Closed patrickfatrick closed 3 years ago

patrickfatrick commented 3 years ago

Despite all the grumbling I really like Cascadia "Curve", however in the release it's a completely separate set of files so I can't use it with Sublime which does not allow you to set a different font for italics AFAIK.

Is there a plan to integrate "Curve" as the italics form of "Code" ?

aaronbell commented 3 years ago

The PR that I submitted has not been packaged / released as of yet. As I mention here, there will be a single italic font with the cursive forms accessible via the salt or ss01 OpenType feature. Sublime Text allows you to activate ss01 using "font_options":

Screen Shot 2021-06-07 at 9 39 36 AM

I'm planning an update to the Readme file that will explain more thoroughly the Opentype features of the font, including this.

patrickfatrick commented 3 years ago

@aaronbell Hey thanks for replying, my issue isn't the future opentype feature set, but that the italic font is not considered to be the same font as the regular font. When I open one of the italic files FontBook shows its name is "Cascadia Code PL Italic" not "Cascadia Code PL".

Sublime Text doesn't allow you set different fonts for "regular" and "italic" styles. So if the new italic styles aren't included in the same font as the regular styles then I won't be able to use them.

Perhaps your PR already addresses this.

aaronbell commented 3 years ago

Ah, yes. There was an issue with the name table (#466). That will be solved in the next release too :)

patrickfatrick commented 3 years ago

Perfect thanks!

J3Rik0 commented 3 years ago

Wait what? I've been out of the loop with the development, why is the cursive going away and into a stylistic set? JetBrains IDEs don't support that, and I want the cursive italics, I actually love them.

Can't we get 2 fonts? The regular italics be default and optionally use the cursive one when you want?

Is this the case, or have I missed too much detail and I'm just rambling weird stuff?

J3Rik0 commented 3 years ago

God damn it....just read the comment, there goes the damn neighborhood again just because a handful of people don't like the spoon they found on table at the restaurant. I feel so damn unlucky, this crap keeps haunting me, every time I get something nice, some nitwits start rambling how they don't like the air around their mouths and everything gets taken away.

I'd much prefer 2 separate fonts rather than 1 with a SS. My daily drivers are Jetbrains IDEs and those don't support stylistic sets as I've mentioned earlier. Doesn't look like they'll be adding that feature any time soon either, so I'm basically left stranded again and my toy is getting taken away...

@aaronbell was the option of 2 fonts even brought up for discussion? I really like how the cursive italics turned out, much appreciate the work, but the current decision on them feels like an exclusive party, I'm forced out of my tools to use the version of the font that I like.

God, how I hate when sh*t like this happens, this whole situation is why I hate people in general.

https://youtrack.jetbrains.com/issue/IDEA-221886

patrickfatrick commented 3 years ago

I agree, I’d have preferred the original vision for the italic be left as the default and the stylistic set would disable the curvy letters, rather than the default being the less fun letters. But alas the mob has spoken.

mdtauk commented 3 years ago

There will be one version of the font. It will just support StylisticSets which is how alternative glyphs are included in modern typefaces.

Segoe UI uses these too for it's Numerals and some other characters. image

image It is quite a common feature in OpenType fonts

J3Rik0 commented 3 years ago

So hear me out, trying to explain to me how font features work isn't going to help, I'm more knowledgeable than you're assuming, I'm a monospace font nerd, I've test driven probably every monospace font you can find on the web. You want to please me? make something like this for Cascadia https://typeof.net/Iosevka/customizer, then we can talk, I can clone the repo to run the build tool, but don't make manually tweak stuff to get what I want. I really hate FontForge's UI, I'll use it only as a last resort and if I consider that the time spent doing the work is really worth it.

My bone to pick is with the decision taking, where lets say 1000 male Karens (probably some women Karens were among them) overturned a decision on an open source project just because they didn't like the hangers the clothes were hung on and wanted to speak to the manager. While most likely the millions of developers that didn't say anything lost something, because they can't complain about something they like, they can't take part in the discussion because most of them aren't aware of it, and even if they are, it may seem rude to complain about anything on a open project that they're not obligated to use, they can use Fira Code or Consolas anytime. You understanding where I'm going with this?

It's how basically today's society works, did you know that humans are the only species in the animal kingdom that allows for the stupider members lead the pack? And write rules and overrule decisions in things they're not even obligated to participate/use. This is probably why I avoid working on open source projects, dealing with nitpicky trolls that most of the time account for 1% of the userbase asking for some changes to a feature the 99% are ok with, but re-iterating the idea above, most of the 99% will not participate in the discussion because they have nothing to complain about.

At this point, for me, it's not even about the decision anymore, it's more about how that decision was made that really gets my panties in a bunch and makes my blood boil.

mdtauk commented 3 years ago

I am not going to take your post on point by point @J3Rik0 but to your overall point, I agree that the way people reacted and responded to the Italic font announcement was unfortunate and distasteful.

The more "ordinary" characters could have been asked for as a stylistic set, and optional for those who wanted to use it. The intention of @aaronbell and the Terminal team was to introduce a cursive/humanist flare to the italic, which added a lot of character and playfulness to the font, to make it more fun to look at. I was one of those who voiced support for a true italic, as opposed to a mechanical oblique font.

That being said, there were some valid readability concerns, which would have been worth bringing up (in a more polite and constructive manner). As well as readability, there are some international and cultural considerations which I know I brought up, but others also did.

For Variable fonts the more cursive forms could have been introduced as the optical or font size increased, similar to how you would move from Small, Text to Display variation, which introduces character or increases readability.

I am happy the cursive characters are not being deleted, and are being made optional. I would like the more "boring" italic forms to become yet another stylistic set, with a middle ground form used as a default. Swishes and flicks, rather than full on loops and hooks.

I shared some thoughts based on the handwriting styles we are taught in the UK which have more readable lowercase s characters IMO, which could work.

Oh and it was not my intention to try to teach you personally something simple - but addressing the question directly in the header, for anyone reading that may not be aware of these features.

aaronbell commented 3 years ago

Let me be absolutely clear.

If this was a situation where 1000 people complained about the design and how they hated it and didn't want to see cursive in their code, I would have said, "tough". Yes, I'd likely have provided a stylistic set with more 'normal' alternates, but the defaults would have remained the same, cursive forms.

However, what struck me in the feedback was the two or three individuals who stated that they had never learned Latin cursive, or that the cursive they learned was different. As Cascadia Code is now the default coding font for Windows Terminal, VS Code, and now stack overflow, the default forms must be something that is readable to everyone. Yes, it is unfortunate for the folks who liked the cursive who will now have to use the stylistic set (or may never discover it! But I'm working on how to resolve that), but universal readability must trump personal preference. Hopefully JetBrains will support OT features soon.

That was the sole rationale for the decision to change the defaults.

https://typeof.net/Iosevka/customizer

Yes, I have suggested this.

mdtauk commented 3 years ago

Thank you @aaronbell for being so generous and thoughtful. I hope the Stylistic Sets don't get lost as at larger sizes they are a lot of fun, and full of quirky character!

J3Rik0 commented 3 years ago

Thank you for the replies, I'll mix both of them in here to save space

That being said, there were some valid readability concerns, which would have been worth bringing up (in a more polite and constructive manner). As well as readability, there are some international and cultural considerations which I know I brought up, but others also did.

Yeah, those were regular "bugs" that needed fixing, I for one didn't see any of those, but that's just me, to my eyes it felt really good

I am happy the cursive characters are not being deleted, and are being made optional. I would like the more "boring" italic forms to become yet another stylistic set, with a middle ground form used as a default. Swishes and flicks, rather than full on loops and hooks.

Lets hope not, they are gorgeous and it took a mountain of work to do, I've tried to tweak fonts in fontforge and I literally lost it after 10 minutes of tweaking the curves on a letter, so I can understand how much work it took @aaronbell to make them

I shared some thoughts based on the handwriting styles we are taught in the UK which have more readable lowercase s characters IMO, which could work.

Yeah, I looked up the handwriting in various places, eastern europe uses the same lettering as the one chosen for cascadia, with that whip cream like s, probably one of the reasons I like it so much, it resembles my handwriting, or my former, I tend to write in "printer" letters nowadays but I still do some letters in cursive

Oh and it was not my intention to try to teach you personally something simple - but addressing the question directly in the header, for anyone reading that may not be aware of these features.

Yeah, sorry about that, was in the heat of the moment, seems I went a bit overboard there, took it on a different tone than the one you intended

@aaronbell much appreciate the work, hope a customizer like Iosevka's makes it onto the backlog, or at least a script to build cascadia with the normal italic as stylistic set, anything to be able to use the cursive as the main italic

Hopefully JetBrains will support OT features soon.

They don't have a good track record of pushing out features like this with any sort of priority unless they are overwhelmingly voted for, they have other priorities before customizations, which is understandable and why I'm not really keeping my hopes up in the near future, it will come...some day.

However, what struck me in the feedback was the two or three individuals who stated that they had never learned Latin cursive, or that the cursive they learned was different. As Cascadia Code is now the default coding font for Windows Terminal, VS Code, and now stack overflow, the default forms must be something that is readable to everyone. Yes, it is unfortunate for the folks who liked the cursive who will now have to use the stylistic set (or may never discover it! But I'm working on how to resolve that), but universal readability must trump personal preference.

This I can understand, and good to know that the Karen's weren't to blame. I thought this was another case of open source maintainers going into that downward spiral towards burnout. Keep bumping into posts from oss maintainers teaching others how to say no and how to grow a thick skin in order to survive in the oss world, not sure since when maintainers needed to emulate Bear Grills in order to keep their sanity.

Anyhow, thanks for the clarifications, and am really glad to see solutions being sought out to simplify getting those gorgeous cursives as the main option.

aaronbell commented 3 years ago

Thank you for your understanding.

And also, just because I’ve settled on the skeleton for the default forms doesn’t mean that the design is locked. In fact, I have been sitting with the italic and decided late last week to do some modifications to make it more humanist. I’m sure everyone will love it :).

madig commented 3 years ago

@J3Rik0 try making custom font files: https://github.com/twardoch/fonttools-opentype-feature-freezer/blob/master/README.md#documentation -- you can go full bonkers and no one is going to take them away from you :)