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

Hyphen based ligatures don't work in WPF #109

Open
clairernovotny opened this issue Dec 6, 2018 · 62 comments
Open

Hyphen based ligatures don't work in WPF #109

clairernovotny opened this issue Dec 6, 2018 · 62 comments
Labels
Bug Product bug (most likely)
Milestone

Comments

@clairernovotny
Copy link
Member

See tonsky/FiraCode#259 for the full issue description.

Would be good to get this fixed for .NET Core 3.

@rladuca rladuca added the Bug Product bug (most likely) label Dec 6, 2018
@rladuca rladuca added this to the Future milestone Dec 6, 2018
@amit-kabra amit-kabra added Bug Product bug (most likely) and removed Bug Product bug (most likely) labels Dec 6, 2018
@DrPizza
Copy link

DrPizza commented Mar 28, 2019

This makes Visual Studio very sad. -> is a very common symbol in C++, and I don't get pretty arrows for it.

@Fell
Copy link

Fell commented Apr 5, 2019

I've tracked this bug through various different platforms now, and it would be really great if it could get fixed. It's a small thing, but it would make everyone's programming life a little more fun.

@limbusdev
Copy link

Problem persists in Visual Studio 2019.1

@HolyChen
Copy link

in vs2017 too, but not in vs code

@be5invis
Copy link

I suspect there's something wrong in TextItemizer that it breaks out hyphens (-) as individual run.

@weltkante
Copy link

weltkante commented Oct 29, 2019

I understand this originally was probably by design, but considering that hyphen based ligatures are a desired feature in some fonts, that original "by design" is not appropriate anymore and needs to be revisited. I would have contributed by researching the implementation and proposing a fix, but considering the text engine is going to stay closed source this really needs to be done by MS.

@AmadeusW
Copy link

AmadeusW commented Feb 4, 2020

Windows Terminal, VS Code and JetBrains all render the text better than Visual Studio, which uses the WPF renderer. Text rendered by WPF is less crisp than other technologies; horizontal lines are thinner, and vertical lines are thicker.

image

~I heard that WPF used by Visual Studio uses 2010 version of DWrite, and there was no demand to update the version of WPF used in .NET Framework. I would like this comment to serve as proof of demand for a fix on behalf of Visual Studio Editor's users and developers.

Some of the user feedback:
https://www.reddit.com/r/VisualStudio/comments/ev5b2u/is_there_an_editor_text_readability_fix_already/
https://developercommunity.visualstudio.com/content/problem/44061/some-programming-ligatures-do-not-work.html
https://developercommunity.visualstudio.com/content/problem/899361/editor-readability.html?childToView=904574#comment-904574

@AmadeusW
Copy link

AmadeusW commented Feb 18, 2020

Edit: I moved the previous comment to appropriate location: #2025

@weltkante
Copy link

Just to be clear, the last two comments are off-topic and have nothing to do with hyphen-based ligatures (which is what this issue is about). The text layouting is unrelated to the font rendering.

@AmadeusW
Copy link

Thanks for clarification @weltkante. I thought that setting layout and rendering are handled in the same piece of code. I will move my comments to #2025

@limbusdev
Copy link

Now both are closed. I think one should stay open, or not?

@weltkante
Copy link

#2025 has received some fix and this issue is still open because its not fixed yet. Not sure what exactly you mean?

@FluorineDog
Copy link

Any progress on this issue?

@FlogramMatt
Copy link

Given Visual Studio .Net Core is open source.. is it possible to get into the source code and find and fix the bug for them and submit a pull request? Particularly if it's a WPF bug, seems like it might be possible.

@weltkante
Copy link

weltkante commented Nov 14, 2020

Neither Visual Studio is open source, nor the part of WPF that does text processing. I already mentioned this above, Microsoft has to fix this bug, the community cannot help.

@CoderTyn
Copy link

Any progress ?

@Symbai
Copy link
Contributor

Symbai commented Jul 31, 2021

Any progress ?

Obviously not. WPF might be open source but repo got owned by WinUI team and they don't know much about C# or WPF. For new features only chance is a community pull request. And the last pull request which added a new feature was ignored for months, then closed without merging.

@CoderTyn
Copy link

CoderTyn commented Aug 5, 2021

Any progress ?

Obviously not. WPF might be open source but repo got owned by WinUI team and they don't know much about C# or WPF. For new features only chance is a community pull request. And the last pull request which added a new feature was ignored for months, then closed without merging.

thank u for your reply. there is no hope . ms does not care about it.

@jogibear9988
Copy link

I've mentioned it in VS2022 YouTube Chat, and they reacted to the comment: https://www.youtube.com/watch?v=lsInDJdx6As

@geocine
Copy link

geocine commented Oct 9, 2021

I've mentioned it in VS2022 YouTube Chat, and they reacted to the comment: https://www.youtube.com/watch?v=lsInDJdx6As

Its at 22:14 btw for the benefit of everyone

@Captain-Quack
Copy link

Captain-Quack commented Mar 7, 2023

Still broken >:(

@ifarbod
Copy link

ifarbod commented Mar 8, 2023

Still broken in 17.5.0

@BurningEnlightenment
Copy link

BurningEnlightenment commented Mar 8, 2023

@pchaurasia14 @stephentoub @clairernovotny There hasn't been any meaningful discussion in about a year, and I'm guessing that won't change until someone with the right credentials works on a solution. Please lock this thread until then to prevent further spamming, thank you.

@Fell
Copy link

Fell commented Mar 8, 2023

I disagree. Closing this thread won't help with getting the problem fixed. Anyone who doesn't want "spam" can unsubscribe from this thread.

If anything, "spamming" is the only way people can express their interest in this problem.

@shrek1402
Copy link

Still broken!
How can you not cope with the arrow in 5 years?
I send greetings to everyone who will face this problem in 2030, come here and see the lack of progress.

@Vivraan
Copy link

Vivraan commented Jul 26, 2023

Joining the fray.

@NPEX42
Copy link

NPEX42 commented Sep 5, 2023

Joining the Line

@jthomazini
Copy link

getting the popcorn and sitting at the corner of the room to watch the lack of progress happening in real time.
Kudos to you in 2030 for checking if this has finally been fixed.

@ifarbod
Copy link

ifarbod commented Sep 20, 2023

I'm calling it now, GTA 6 will be released before this issue gets fixed.

@MrScottyTay
Copy link

better support for ligatures in general would be good, the newly released Monaspace from MS themselves doesn't seem to really work in Visual Studio.

@j2inet
Copy link

j2inet commented Nov 11, 2023

Wow, this issue is several years old! The installation of Monaspace and the following failure to show the hypen based ligatures is what brought me here. I suppose in the grand scheme of things, this is a minor issue. I won't be hard on the VS devs for this. But if this ever does get fixed, I'll be very happy!

@BertLamb
Copy link

Visual Studio 17.8.1 still has this issue 😭

@KesslerMentele
Copy link

Its kind of ridiculous that this is still an issue. It has been several years now.

@DylanWhite-Trimble
Copy link

Please fix

@MrShinshi
Copy link

Visual Studio 17.8.4 , such a time-honored issue.

@twelvehouse
Copy link

still broken lol

@Vivraan
Copy link

Vivraan commented Feb 29, 2024

It's a meme at this point
Unsubbing and using Jetbrains

@masepi
Copy link

masepi commented Mar 27, 2024

Still broken.

@Kuldeep-MS
Copy link
Contributor

Kuldeep-MS commented Apr 4, 2024

Thank you all who pushed for a resolution to this issue. It's your persistent requests which has helped us prioritize it, and I am pleased to announce that we have fixed this and it will be available in .NET9 preview 4.

Brief summary of what has changed: A call to LsTxtFmt (Text Formatter) is made when a line is being created. Previously, in LsTxtFmt, glyphing was only performed for regular characters. However, after the fix, glyphing will also be performed for special characters, such as hyphens.

Here is a sneak peek of how it looks like:

hyphenLigatureDemo-Small2.mp4

Please note that this feature is only available for .NET 9(preview4) onwards.

We also want to express heartfelt gratitude to @miloush for helping us with the code reviews and testing.

@ThomasGoulet73
Copy link
Contributor

@Kuldeep-MS Is it planned to backport it to .Net Framework ?

My guess is no but it would be good to clarify because I've seen Visual Studio mentionned many times in this issue and Visual Studio still runs the .Net Framework version of WPF which means that if this fix is .Net Core only it will not fix Visual Studio.

I'm trying to avoid cases where Visual Studio users might think that this issue being closed would mean that Visual Studio is supposed to be fixed.

@Kuldeep-MS
Copy link
Contributor

@ThomasGoulet73 - We have only made this change available on .NET Core currently. Backporting this to .NET framework is still under discussions with internal teams and at this point of time we cannot commit anything. But in the meantime we wanted collect enough evidences that this feature is not causing any regression.

@jogibear9988
Copy link

Is there a link wich commit fixes this?

@Kuldeep-MS
Copy link
Contributor

@jogibear9988 - The fix has been done in internal repo and since the component is not available publicly, we won't be able to share it here.

@jogibear9988
Copy link

Ah good to know.
I thought everything of WPF was opened.

@weltkante
Copy link

I thought everything of WPF was opened.

Text processing/rendering is a binary blob (compiled C++ code) thats downloaded during the build and linked into the C++ part of the WPF dll, otherwise I'm sure the community would have offered a fix already (I certainly would have looked into it)

@jogibear9988
Copy link

Is there any reason for this?

@pchaurasia14
Copy link
Contributor

pchaurasia14 commented Apr 8, 2024

Is there any reason for this?

@jogibear9988 - Reason for what?

@pchaurasia14 pchaurasia14 modified the milestones: Future, 9.0.0 Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Product bug (most likely)
Projects
No open projects
Development

No branches or pull requests