microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.3k stars 29.31k forks source link

Terminal font messed up after last update #173079

Closed CherryDT closed 4 months ago

CherryDT commented 1 year ago

Type: Bug

Since the last update, the terminal shows a messed-up font. My main font family is Cascadia Code, and nothing separate was configured for the terminal. The effect is the same when I manually set Cascadia Code (or Cascadia Mono, for that matter) as terminal font.

VS Code version: Code 1.74.3 (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T16:59:02.252Z) OS version: Windows_NT x64 10.0.19045 Modes: Sandboxed: No Remote OS version: Linux x64 4.4.0-19041-Microsoft Remote OS version: Linux x64 4.4.0-19041-Microsoft Remote OS version: Linux x64 4.4.0-19041-Microsoft

System Info |Item|Value| |---|---| |CPUs|AMD Ryzen 7 PRO 4750U with Radeon Graphics (16 x 1697)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off| |Load (avg)|undefined| |Memory (System)|31.23GB (9.77GB free)| |Process Argv|| |Screen Reader|no| |VM|0%| |Item|Value| |---|---| |Remote|WSL: Ubuntu-20.04| |OS|Linux x64 4.4.0-19041-Microsoft| |CPUs|AMD Ryzen 7 PRO 4750U with Radeon Graphics (16 x 1700)| |Memory (System)|31.23GB (9.79GB free)| |VM|0%| |Item|Value| |---|---| |Remote|WSL: Ubuntu-20.04| |OS|Linux x64 4.4.0-19041-Microsoft| |CPUs|AMD Ryzen 7 PRO 4750U with Radeon Graphics (16 x 1700)| |Memory (System)|31.23GB (9.77GB free)| |VM|0%| |Item|Value| |---|---| |Remote|WSL: Ubuntu-20.04| |OS|Linux x64 4.4.0-19041-Microsoft| |CPUs|AMD Ryzen 7 PRO 4750U with Radeon Graphics (16 x 1700)| |Memory (System)|31.23GB (9.79GB free)| |VM|0%|
Extensions (63) Extension|Author (truncated)|Version ---|---|--- auto-close-tag|for|0.5.14 vscode-graphql-syntax|Gra|1.0.6 dotenv|mik|1.0.1 vscode-aql|mon|1.7.0 jupyter-keymap|ms-|1.0.0 remote-containers|ms-|0.266.1 remote-ssh|ms-|0.94.0 remote-ssh-edit|ms-|0.84.0 remote-wsl|ms-|0.72.0 remote-explorer|ms-|0.2.0 ejs-language-support|Qas|0.0.1 vscode-todo-highlight|way|1.0.5 vscode-devdocs|akf|1.0.3 svelte-intellisense|ard|0.7.1 vscode-intelephense-client|bme|1.9.4 npm-intellisense|chr|1.4.4 js-codeformer|cms|2.6.1 compulim-vscode-closetag|Com|1.2.0 vscode-eslint|dba|2.2.6 devdocs|dei|0.2.0 vscode-new-file|dku|4.0.2 dbux-code|Dom|0.7.9 xml|Dot|2.5.1 EditorConfig|Edi|0.16.4 copilot|Git|1.71.8269 vscode-graphql-execution|Gra|0.1.7 vscode-graphql-syntax|Gra|1.0.6 vscode-git-blamer|how|1.1.2 join-comment-aware|joh|0.0.3 solidity|Jua|0.0.141 edge|luo|0.3.2 rainbow-csv|mec|3.5.0 csharp|ms-|1.25.4 vscode-dotnet-runtime|ms-|1.6.0 isort|ms-|2022.8.0 python|ms-|2022.20.2 vscode-pylance|ms-|2023.1.40 jupyter|ms-|2022.11.1003412109 jupyter-keymap|ms-|1.0.0 jupyter-renderers|ms-|1.0.14 vscode-jupyter-cell-tags|ms-|0.1.6 vscode-jupyter-slideshow|ms-|0.1.5 cpptools|ms-|1.13.9 hexeditor|ms-|1.9.11 hexeditor|not|1.8.2 vscode-print|pdc|0.10.20 svelte-extractor|pro|0.0.3 vscode-data-preview|Ran|2.3.0 vscode-data-table|Ran|1.12.0 vscode-yaml|red|1.11.0 ActiveFileInStatusBar|Ros|1.0.3 vscode-paste-and-indent|Rub|0.0.8 bracket-jumper|sas|1.1.8 trailing-spaces|sha|0.4.1 vscode-standard|sta|2.1.3 ignore-gitignore|stu|1.0.1 svelte-vscode|sve|107.0.2 es6-string-html|Tob|2.12.0 sort-lines|Tyr|1.9.1 use-strict-everywhere|vee|0.1.3 bracket-padder|via|0.3.0 change-case|wma|1.0.0 html-css-class-completion|Zig|1.20.0

image

EDIT: It seems tooltips are affected as well:

image

EDIT2: Furthermore, font ligatures in the editor are no longer working.

CherryDT commented 1 year ago

I just received another update, and now it looks better, but still not right, because it seems to be using Courier New or something like that, and not Cascadia Code or Cascadia Mono.

If I manually set Cascadia Code or Cascadia Mono, it shows me a warning "The terminal only supports monospace fonts. Be sure to restart VS Code if this is a newly installed font."

Restarting doesn't help though.

image

image

Also, the ligatures in the editor are still broken. My setting is as follows: "editor.fontLigatures": "'calt', 'ss01'",

CherryDT commented 1 year ago

Should I open a separate issue for the missing font ligatures in the editor?

Tyriar commented 1 year ago

Are you sure the font is installed correctly? Seems odd that 3 distinct font features would break all of a sudden. How do you configure the font?

CherryDT commented 1 year ago

The font is a default font of Windows Terminal and Visual Studio and also comes bundled with VSCode if I remember correctly (?), and the font is still available in the fonts folder and working fine elsewhere like Windows Terminal.

It is currently configured as editor.fontFamily, and the other more specific font settings like terminal.integrated.fontFamily are empty and should default to the same font. (Actually, I believe I should use Cascadia Mono for the terminal and not Cascadia Code, I learned that only recently, but setting it to that doesn't change anything.) editor.fontLigatures is set to 'calt', 'ss01' to enable the cursive italics and the ligatures like => which worked fine before. (https://github.com/microsoft/cascadia-code#to-enable-the-cursive-form-of-the-italic-heres-the-code-you-should-use)

Tyriar commented 1 year ago

It doesn't come bundled with VS Code, if you're relying on the WT font I don't think that installs it into Windows where we could pick it up.

CherryDT commented 1 year ago

image

The thing is, it worked until the second-last update of VSCode, after the update and restarting VSCode, this happened...

CherryDT commented 1 year ago

Well, whatever it was, it seems to be fixed now after I just got another VSCode update. Thank you to whoever caused this to be resolved in the update!

vscodenpa commented 7 months ago

Hey @Tyriar, this issue might need further attention.

@CherryDT, you can help us out by closing this issue if the problem no longer exists, or adding more information.

Tyriar commented 7 months ago

@meganrogge why did you reopen this one?

CherryDT commented 7 months ago

@Tyriar They reopened it because the issue still exists. (Or actually, again, for the third time.) And I had asked in #200739 to have this one reopened so I could add more info.

That more info is: The last two times it also affected tooltips. image

As this issue has the tag info-needed, can you please let me know what info exactly you need?

Thank you.

dmonder commented 6 months ago

I am having a similar issue.

I have Oh-My-Posh setup in PowerShell. In Terminal, I have Cascadia Mono NF selected as my font face and it works correctly.

Screenshot 2024-05-01 132300

However, in VS Code, when I set the terminal font to Cascadia Mono NF, I get the following error:

Screenshot 2024-05-01 132337

If I change to Cascadia Mono PL, I don't get that error but the font is not correct (but I did not expect it to be since it is not a Nerd Font - it doesn't work right in Terminal either).

Screenshot 2024-05-01 132312

Any idea how to get this font to work in VS Code? I can still use the old CaskaydiaCove Nerd Font Mono but I would like to switch to use the new Cascadia Code.

I posted an issue to the Cascadia Code GitHub as https://github.com/microsoft/cascadia-code/issues/731.

Thanks.

CherryDT commented 6 months ago

Now it works again. I would really like to know why it keeps coming back after some updates and then randomly starts working again. Is this one and same issue really getting fixed and un-fixed 4 times by now?

CherryDT commented 5 months ago

It broke again. Now also ligatures are broken within the editor.

Why does every second update fix and un-fix this? It starts to feel ridiculous. Could someone please take a look at this problem? It's bugging me for over a year now!

dmonder commented 5 months ago

Maybe it is just odd? :) Mine partially works. At least the font is mostly working.

image

CherryDT commented 5 months ago

Still broken in latest version. (Previously it often fixed itself after one update but this time it did not.)

@Tyriar Could you please get back to me about what info is needed given the info-needed tag still being there? Thank you

451909626 commented 5 months ago

I'm having the same problem as you. I'm using the open-source font LXGW WenKai Mono in github. After last update, the fonts were normal for a while, until a certain reboot, all the fonts reverted to the default, including in Jupyter Lab. The only error message is VS Code suggests that this font is not a mono font and cannot be applied to the terminal, but obviously it was applied normally before. I guess the problem maybe coming from the Windows but not VS Code.

451909626 commented 5 months ago

It looks like Windows have trouble in recognizing mono fonts!

CherryDT commented 4 months ago

Hm, possible, but then why does it work in other applications?

Etrinque commented 4 months ago

broken here as well... was fine forever. using PowerShell on VScode. JetBrains-Mono, installed on system and set for default on both terminal propper and through vscode. Oh-My-Posh broken as well. Cant for the life of me track down why or what happened. Screenshot 2024-06-18 110223

meganrogge commented 4 months ago

@Etrinque That is already fixed in the Insiders build. https://github.com/microsoft/vscode/issues/211922

vscodenpa commented 4 months ago

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.

Happy Coding!