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.64k stars 804 forks source link

Option to use the old italic version #468

Closed n-gao closed 3 years ago

n-gao commented 3 years ago

Environment

Cascadia Code version number: 2105.24
Application (with version) used to display text: vs code
OS platform and version: Windows 10 20H2
Screen resolution (i.e. 220dpi): 96dpi

Any other software?

Steps to reproduce

The new italic font is hard to read image

Expected behavior

I would like to be able to use the old italic font.

Actual behavior

Dimension4 commented 3 years ago

This is how my call stacks in log files in vs code look now 0362

Pecnut commented 3 years ago

I like the new italics a lot in general, and it's really nice to have them finally! Thank you @aaronbell! But I would like to suggest that the lowercase 'r' really doesn't look like an 'r' at all if you didn't grow up in a country which teaches that sort of handwriting. With my single data point, cursive handwriting in the UK doesn't use this shape at all (see for example, https://i.pinimg.com/originals/63/9e/48/639e48a44e09f2fe8c86abb17e25ed08.jpg), so I find it quite hard to read.

You may totally choose to ignore this comment but I thought you might like to know. I have no idea if a stylistic set might be a solution for this one character, should you be interested in doing so. But no pressure; just for your information. Thanks! :-)

pstranak-sw commented 3 years ago

People in different countries write (draw) letters differently. For example, the new "x" looks like my handwritten "z". I would expect a coding font like Cascadia Code to be universal, if possible.

Right now, half of the letters look like handwritten letters in my country, but the other half look like printed letters. When I see such text, the first impression I get is a broken font where half of the letters failed to render properly. It takes some time to get used to it.

While the previous version looked more mundane, it was consistent. But please, don't take this the wrong way. I like the idea of making the italics prettier, it just needs more work.

Uxorious commented 3 years ago

Isn't an Italics version of the font supposed to be the same font as the normal/bold one. As it is right now, Italics looks like a completely different (handwritten, non-connected and super hard to read) typeface! I really miss the old Italics now :-(

mdtauk commented 3 years ago

There was no previous italic version, what you saw was apps faking it by slanting the upright letters.

Perhaps this ask should be an optional Oblique version which could be used (not sure how you would specify italics to use the alternate font?

Maybe the newly added Italic could have a cursive stylistic set, and more traditional italicised glyphs where there are currently loops or a-typical letter shapes. - The lowercase r for instance feels unusual to me, and I am from the UK.

MOYUtianming commented 3 years ago

Hey,it is beautiful for Web or UI , but it is terrible to code ,

image

I hope you can divide Code font(just for code) and general font(for general use) , for me , I have no objection to using them when I am reading e-books , but when I am coding , I just want a font that can make me read more quickly and clearly.

TheDecryptor commented 3 years ago

Isn't an Italics version of the font supposed to be the same font as the normal/bold one. As it is right now, Italics looks like a completely different (handwritten, non-connected and super hard to read) typeface! I really miss the old Italics now :-(

Italic is supposed to be a cursive variant, while Oblique is a slanted version of the normal upright variant

jmorgan276 commented 3 years ago

I've seen it referred as "Cascadia Curve" elsewhere which is which is fine since peoples preferences are subjective, but for me the new italics being so different from the normal font is a bit jarring and hard to follow. image

Especially if it is referring to longer camel cased type words and phrases.

physicalDeliveryOfficeName vs image

C1710 commented 3 years ago

People in different countries write (draw) letters differently. For example, the new "x" looks like my handwritten "z". I would expect a coding font like Cascadia Code to be universal, if possible.

Right now, half of the letters look like handwritten letters in my country, but the other half look like printed letters. When I see such text, the first impression I get is a broken font where half of the letters failed to render properly. It takes some time to get used to it.

While the previous version looked more mundane, it was consistent. But please, don't take this the wrong way. I like the idea of making the italics prettier, it just needs more work.

The new uppercase X actually looks more like the lowercase Greek letter χ.
While I coincidentally found that in the word LATEX (where it would be correct/appropriate to use Chi instead of X), it's usually rather strange...

LarnuUK commented 3 years ago

For note, the new italics cursive style doesn't appear to be too well received over on Stack Overflow, whom changed their default monospaced font to Cascadia Code, for those who have it installed, quite recently.

todonovan commented 3 years ago

Adding another voice asking for an option for the old italics. This has been my favorite programming font, but this change has immediately made it unusable for coding for me. I'm not sure where the trend of cursive in programming fonts originated, but I find they totally defeat the purpose of programming fonts -- which are supposed to be immediately and clearly readable. Cursive is anything but that. Adding another font that is Cascadia Cursive and leaving the mainline font alone seems like a much more reasonable approach.

benc-uk commented 3 years ago

"Argh what has happened to all my comments!!? is my font cache corrupt?" was my first thought.
I lost nearly an hour trying to triage what had gone wrong on my system...

Seriously this is such a huge change to force onto everyone, there needs to be some way to opt into these cursive style italics, they look so incongruous to the rest of my code

I hope this is fixed or I need to search for a new font, and I really don't want to do that as I love cascadia code

donn commented 3 years ago

[Edited for tone.]

I'll be honest, this is quite jarring. I'm not criticizing the font as I do not have the design knowledge or time to do so, just that at the end of the day, even if I felt neutral about some of the glyphs (which I do not,) this is a radical departure that came quite out of the blue for millions of users who'd been happily using the oblique Cascadia Code day-to-day.

image

x9 commented 3 years ago

This is, frankly, an incredibly confusing design choice for a Code font.

Please reconsider - specifically, reconsider the use of cursive-style letters. They are not easy to read, they serve no practical purpose in a fixed-width font and (I imagine, although I have nothing to back this up) they are not easily identifiable to non-native English speakers.

benc-uk commented 3 years ago

The readability is so poor, this change seems to go in the face of the drive to have better accessibility and inclusivity

mcendu commented 3 years ago

I think this version of italic should be put behind an ss** option, as quite a few people here stated that it is too handwriting-esque and hard to read. This is a playful font for sure, but playfulness shouldn't be taken to that extreme.

rashil2000 commented 3 years ago

There are some very good monospace fonts out there which implement non-cursive italic variants, and they look beautiful while at the same time retaining readability. Some examples are:

These can serve as inspiration if Cascadia folks ever want to make a non-cursive italic variant, and also as alternatives to Cascadia for the time being.

DennisGaida commented 3 years ago

I don't want to pile on, and I don't know whether a new issue would be better and I would be happy to open one.

@aaronbell I'm happy we finally have a real italic version, thank you for taking the time designing it!

I like the overall look of the fresh italic version, I however don't like the style and readability of five lowercase letters: K,R,F,S,L.

Just replacing the five letters with the faux-italic (generated) version makes the text already a lot more readable (of course letter spacing is way off):

image

Please compare the first and the second line (again the second line is just replacing the marked characters with Cascadia Code Light faux-italic). Looking at the comments and this issue I am not alone in my opinion that these five letters are odd looking compared to the rest of the font. Also checking out other characters (see the following lines in the screenshot) from other alphabets I don't see any other odd characters that are as opinionated as lowercase K,R,F,S,L.

I'd be very happy for these five letters to be changed to look more like the regular Cascadia Code faux-italic characters - of course adjusted to match the characters style of the rest of the Italic version.

pstranak-sw commented 3 years ago

@DennisGaida I agree.

The "k" is still pretty similar to its printed version and more or less matches the printed design of the rest of the letters. I would not mind keeping it as it is.

But "r", "f", "s", "l" are clearly in a handwritten design and don't match their printed versions at all. They are nice, but they stand out in the text. Interestingly, "a" is clearly handwritten, but somehow still easily recognizable. Maybe because even different people write the "a" the same way?

LarnuUK commented 3 years ago

Although I agree that the k is easily identifiable, @pstranak-sw , it is still quite dissimilar to the non-italics k. The italics one has a "loop" while the non-italics has 2 "flicks" (I have no idea if those are the correct terminologies to describe the style of a character); none of the other characters (apart from those highlighted) significantly change their design.

For a monospace font that is designed to code in, and is the default and shipped font with Windows Terminal, then I think that consistency is really important, and characters should be similar regardless of if they are bold, italics or not. Otherwise it could be mistaken that the k and k are different characters.

pstranak-sw commented 3 years ago

@LarnuUK Yeah, that's why I mentioned also "a". If the letters are easily identifiable, it's good enough for me. And I don't care whether it is because everyone writes them the same way ("a") or that they look similar to their printed versions ("k").

codeman38 commented 3 years ago

I don't mind the other italic characters, but the current shape of r is a deal-breaker for me - it's far too easily mistakable for an n especially at small sizes.

comparison of the words "color bar" with "colon ban"

cjj19970505 commented 3 years ago

People from non-English countries like me might find this kind of italics hard to read. We have read printed letters in English learning and never seen a hand-writing font like this before. There are cases I found myself often fall into:

  1. The lower case "s" and "r" leads some words completely out of their printed "shapes".
  2. "n" and "r" are too similar (in my opinion). I thought I read a "Cneat" when I use this italics for the first time.
ichenpipi commented 3 years ago

💔 This italics is just so hard to read in codes...

gorjiali commented 3 years ago

nice italic version with style and readability by dank mono 👇, "r" character is very important in coding

Capture

hxhc commented 3 years ago

The R and S are the most difficult to read for coding. I strongly hope there would be an option to use the old italic version.

jadedarko commented 3 years ago

If this does end up happening, please let us use the existing italics - even if that's a different font

The new italics are absolutely beautiful and I love the cursive r and s. It makes reading comments so much nicer ☺️

patrickfatrick commented 3 years ago

Perhaps Aaron can consider style variants like what fantasque sans mono did for the "loopy" lowercase k (or recursive did for a bunch of letter variants). The specific letters people most have issue with could be offered as less stylized options in the font.

I just want to clarify, I like this italic, it's a lot of fun and for me something fun is very important in a font I look at all day.

ExE-Boss commented 3 years ago

There is no real old italic version. That’s just the font renderer applying a skew transform to the non‑italic text.

ldmik commented 3 years ago

Actually I don't think this is just a few characters issue, these are totally two different fonts. Even the font render applying a skew transform is better than this one.

jRimbault commented 3 years ago

IMO, the italic version of a font shouldn't be a radical departure from the style of the normal font. Here we have 2 fonts with really different style and mood. I also agree the skew transform is better (imo) than this comic-y style.

I much prefer when "italic" means "oblique" in the context of software. Particularly when talking about a sans-serif font.

JonnieCache commented 3 years ago

Does anyone even know how to uninstall this curved font? It seems like cascadia code is part of some kind of package, and is not present in the fonts directory. If I click on it in the windows 10 fonts UI, it crashes silently.

I do not wish to see stylised handwriting anywhere on my computer screen, thankyou. I'm trying to use a code editor, not Creative Writer 2.

LarnuUK commented 3 years ago

Does anyone even know how to uninstall this curved font? It seems like cascadia code is part of some kind of package, and is not present in the fonts directory. If I click on it in the windows 10 fonts UI, it crashes silently.

Using the fonts settings is what you want here. Find the font by typing "Cascadia" into the Search bar, and then scroll down to Uninstall, under all the font faces, and click it. Then, if you want the old style with the Italics faces missing, download the prior version and install.

Alternatively, you could delete the font files (I suspect that'll work). If you installed them as a user install then they will be located in C:\Users\{Your User}\AppData\Local\Microsoft\Windows\Fonts\. If you did it as a system installed font it will likely be in C:\Windows\Fonts\.

JonnieCache commented 3 years ago

Using the fonts settings is what you want here. Find the font by typing "Cascadia" into the Search bar, and then scroll down to Uninstall, under all the font faces, and click it. Then, if you want the old style with the Italics faces missing, download the prior version and install.

When I click on cacadia code in that UI, the window closes itself silently. I guess this is a windows 10 problem.

Alternatively, you could delete the font files (I suspect that'll work). If you installed them as a user install then they will be located in C:\Users{Your User}\AppData\Local\Microsoft\Windows\Fonts. If you did it as a system installed font it will likely be in C:\Windows\Fonts.

it's not in either of those places.

LarnuUK commented 3 years ago

When I click on cacadia code in that UI, the window closes itself silently. I guess this is a windows 10 problem.

I was using Windows 10 when I wrote those instructions.

DavidGamba commented 3 years ago

@JonnieCache I am running into the same issue, it seems like they are bundled with the terminal:

image

If you install the PL version of the font you can go back to it without having name collisions with the bundled font, however, the old version didn't have italics, just skewed letters that had some of their edges chopped (at least for me).

rowanfreeman commented 3 years ago

I fixed this in VS Code by changing my font family to 'Cascadia Code PL' instead of 'Cascadia Code'.

nathan-alden-sr commented 3 years ago

Oof. Talk about jarring... I, too, had thought this was some kind of rendering bug. The vast differences in appearance between not only the oblique and normal characters but also some cursive characters vs. other oblique ones is too much. I've been forced to revert back to Consolas in VS Code, VS, and Windows Terminal until this is corrected.

IMO, Cascadia Code should've remained untouched--oblique--while a new font was created that includes the cursive styles. Even then, the cursive styles are nigh unreadable, and several people from other areas of the world, on this thread and elsewhere, have valid complaints.

I'm old enough to have learned cursive in grade school here in the US and if I wrote like this font, I'd have received some very poor grades for sure.

jessebarocio commented 3 years ago

I don't doubt someone spent a lot of time on the design of the new italic characters. It does look good... I'm just not sure it belongs in a font that is primarily designed for reading and writing code.

aaronbell commented 3 years ago

First off, I want to say thank you to all of you who provided constructive feedback in your comments here. For everyone else, please remember that there is a human (me) who spent a lot of time creating this font.

OK.

In consultation with the other folks on the team, we have decided to make the following changes:


Additionally, I would like to address a few misconceptions that have been brought up in this thread.

This is a major change to the existing Italic There was no italic previously. What was being displayed when an Italic was requested was a faux, mechanically-slanted version of the upright forms. What we have created is the true Cascadia Code Italic, and will continue to be so. No going back.

Italics must look the same as the upright—these are two different fonts When we think about 'adding emphasis' to text, there are two approaches—a "True Italic" that is derived from the tradition of scribal handwriting developed during the Renaissance, and an "oblique" which is (or should be) an optically-corrected, slanted version of the upright.

Due to their origin in handwriting,"True Italics" often have different forms, such as the single-story a like in Cascadia Code Regular vs a double-story a in Cascadia Code Italic. Other examples are double vs single-story g (which Cascadia doesn't have), addition of entry strokes / exit strokes, and changing the stroke speed / skeleton shapes. This separation between the upright and italic is extremely common, and used in many, many fonts in the world, including coding fonts such as Operator Mono, Dank Mono, and Victor Mono.

Personally, I find that the "True Italic" forms help create more clear differentiation between comments and code than Oblique forms (not to mention are more FUN! Which is the whole point of Cascadia Code)—especially in situations where syntax highlighting is missing.

The cursive forms are super different than the other letters Certain letters, yes, have more cursiveness than other letters, but that is true of Cascadia Code Regular as well. Some letters have serifs, others do not. Doesn't that bother you as well?

Also, the 'other letters' in Cascadia Code Italic are actually not obliques either, and all letters have been tweaked to give them a stronger 'true italic' character than a standard oblique. If you look carefully, most letters are actually quite different, such as adbepqkvwxy The letters that became cursive we felt were key to driving the character of the font that we wanted, not unlike other cursive coding fonts. Ah well.

Can't you just provide two versions of the font? It is difficult to do so. In order to ensure that when someone requests an 'Italic' they get the right font, there can only be one that is specifically linked to the Regular. So the OpenType route is the most reliable (and also prevents issues if someone installs both italic forms). Sadly, not all software may be able to support applying the salt or ss01 features, so in that case, I apologize for the loss of cursive forms.

Evotron commented 3 years ago

True italic forms should be the default. If it’s called italic, it should be italic. If people want an oblique, they should request an oblique. Don’t make the italic less italic. I love it, and that’s what was requested: an italic!! Not an oblique. I don’t want to see obliques in an italic. If you want to make changes to the italic, make the capitals more italic because they look like obliques. The ‘O’ doesn’t have swirl, and the ‘E’ is straight up oblique.

Why should I have to activate an OpenType feature to access an italic ‘s’ when the typeface is an italic? I don’t understand why the default is going to be an oblique ‘s’. Shouldn’t an oblique Cascadia be created for that?

Putting oblique characters in an italic doesn’t make sense. Let the italic be an italic. Create an oblique if you want to have oblique letterforms. It’s bad design to miscategorize things and put them where they don’t belong.

These changes seem reactionary and misguided. It seems like some people wanted an oblique. Great—request an oblique. But destroying the italic version is not right.

aaronbell commented 3 years ago

@Evotron The updated forms are not "obliques"—note that I never said I was swapping the forms for oblique forms. The f alone is an proof of that. The r follows the adjusted skeleton of the n, the s has been tweaked a bit, and the l follows the adjusted shape of the i.

The shapes in the OT feature are an added 'cursiveness' (which is why I have put them under 'stylistic alternatives') which gives the italic a particular look and feel. However, the key argument, at least for me, is that this is a default font in WT, VS Code, and Stack Overflow and it needs to be readily recognizable to people around the world. Not everyone has studied cursive, let alone US cursive, so that means it will be implicitly more challenging for them. By making this change, we are enabling a wider range of people to be able to read the font. That's it. None of the 'I hate this design' comments were particularly convincing 😄.

As for why I don't just create a separate font, see my comment above (Can't you just provide two versions of the font?). If this was a solo project without dependencies on WT it would be fine. However, with that dependency, it is untenable.

tylerszabo commented 3 years ago

Unless it's a novelty font the primary feature should be readability over aesthetics; I'm pleased that Cascadia is going to opt for a readable and accessible form by default.

aaronbell commented 3 years ago

@tylerszabo I'm not sure I would necessarily call Operator Mono (and other such cursive coding fonts) a 'novelty font'. It has a particular look, and aesthetic that people love, even for coding. I'd argue that the cursive forms in Cascadia Code are at least on par with Operator in terms of legibility and clarity.

But one has to choose to 'opt in' to Operator. Folks are being defaulted into Cascadia. So despite our love for the cursive forms, they do not serve the world over.

efaulhaber commented 3 years ago

Great work! This looks very consistent in my eyes and I can't wait to use it in my editor. When can we expect the next release?

Evotron commented 3 years ago

Readability ain’t a problem with the cursive forms. Maybe it’s because I live in Special District, Republic of Colombia and we use the Roman alphabet? It’s a shame I have to go out of my way to make an italic look the way it’s supposed to.

I’m shocked I even have to say that. At least, you’re not getting rid of the true italic letterforms. When I ask for a bacon cheeseburger, I hope the restaurant doesn’t give me two buns and some mayo, telling me it’s because some people had some problems with a bacon cheeseburger being a bacon cheeseburger.

aaronbell commented 3 years ago

@efaulhaber Not sure. Soon, I expect.

@Evotron Well, I'm glad that it worked perfectly for you as is! Sorry for the extra trouble.

LarnuUK commented 3 years ago

I would hope that the vast majority of users here do appreciate the work you and others out into the font many of us have come to enjoy using, @aaronbell , and I hope that the comments here haven't ruined or shattered that ideal for you all.

I think what surprised many was that this wasn't something we were expecting, not without a "heads up" at least; I am sure that many that use the font are subscribe the notifications here, and/or Microsoft blogs that tell us about stuff like Cascadia Code. I myself found out about it in an announcement blog several years ago when it came out and have used it in many environments since.

As the font now comes shipped with Windows Terminal, has been adopted by many in their IDEs, used on websites including Stack Overflow as their default mono spaced font the sudden change was, in some ways, bound to draw an influx of sudden feedback; especially when the font is automatically updated my the Windows Store and thus the changed happened "overnight" with no user input for some.

If there are drives to do something like adding big changes to the font, I think the community would appreciate knowing before hand to give their opinions. Unless I, and many others, missed a blog post that said that this was coming, along with the "cursive" styles?

So yes, we are grateful for the work you all put in. There clearly many that greatly enjoy the font, as the fact so many have responded here shows quite how many use it in their daily lives.

aaronbell commented 3 years ago

Thank you @LarnuUK. I'll pass along the feedback.

mdtauk commented 3 years ago

Thank you @LarnuUK. I'll pass along the feedback.

Please don't be disheartened with the community @aaronbell with the way some have posted their feedback on here.