Maximus5 / ConEmu

Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more
https://conemu.github.io/
BSD 3-Clause "New" or "Revised" License
8.56k stars 572 forks source link

Possible to display ligatures in shell? #703

Open factormystic opened 8 years ago

factormystic commented 8 years ago

I would like to know if conemu can display ligatures a custom powershell prompt. I have set conemu's main console font to Fira Code (which includes ligatures), and I have set my custom powershell prompt to "-->" for testing. However, no ligature. I'm not sure if this is possible or which part (powershell, my custom prompt function, conemu) is the deficiency. Any idea how to do this?

Maximus5 commented 8 years ago

Ligatures support and more - in plans.

factormystic commented 8 years ago

Ok, sounds like it's a conemu limitation then. Looking forward to that enhancement.

KindDragon commented 8 years ago

Maybe reopen this issue as feature request? To track progress

khuongduybui commented 7 years ago

any plan to get to this soon? I really like this Fira Code font and surprisingly can't live without it anymore, but ConEmu doesn't support it. I really Bash on Ubuntu on Windows, but ConEmu is the only one that supports its arrow key mode. My life is so gloomy.

khuongduybui commented 7 years ago

3 months later, any update?

Maximus5 commented 7 years ago

Not yet

khuongduybui commented 7 years ago

That's fine. I have a more severe issue, will report in another "issue".

gingters commented 7 years ago

Any progress here? If not, why? What would be necessary to make ligatures work in conemu?

Maximus5 commented 7 years ago

I have long todo list.

Ligatures don't have priority. To be implemented, all ConEmu graphics have to be rewritten using interfaces. Than it would be easy to use any other API, e.g. DirectDraw, instead of GDI.

Maximus5 commented 7 years ago

BTW, there is the branch br-gdi where some work is done.

nelix commented 7 years ago

https://github.com/vim/vim/blob/master/src/gui_dwrite.cpp

aplocher commented 6 years ago

Hello was just wondering if any progress has been made on this? Would love me some fira-code in my shell. :) Thanks

forrestblade commented 6 years ago

Any update?

HipsterZipster commented 6 years ago

@Maximus5 I love ligatures, but I obviously agree visual fluff takes a backseat to other issues. Is it possible for you to give a high level overview of the necessary work and files that needs to change in order to add support for ligatures so that another contributor could potentially work on it?

Maximus5 commented 6 years ago

There is branch https://github.com/Maximus5/ConEmu/tree/br-gdi where I make from time to time required changes.

In brief: all gdi calls in ConEmu code have to be moved to special classes like CDrawObjectFont. After that it would be easy to implement new layer running on DirectWrite or even OpenGL :)

serbrech commented 6 years ago

Do you have a list of the changes required to be done? It will be easier to jump in and help if there was a documented plan. :)

Maximus5 commented 6 years ago

I've created a draft issue gh-1608 where I will post the progress

ghost commented 5 years ago

Any progress in 2019?

p4vook commented 5 years ago

Could you please tell, when approximately will it be done?

digeomel commented 4 years ago

New year, new resolutions maybe? 😉

pianocomposer321 commented 4 years ago

Honestly, this is the one thing keeping me from using ConEmu. I love the tabs support, and being able to make your own commands for custom terminals, but I really love ligature fonts, and until ConEmu gets support for them, I'll be looking for another solution.

rooxie commented 4 years ago

Honestly, this is the one thing keeping me from using ConEmu. I love the tabs support, and being able to make your own commands for custom terminals, but I really love ligature fonts, and until ConEmu gets support for them, I'll be looking for another solution.

What's your solution? Cuz, honestly, I don't know anything better than ConEmu on Windows.

pianocomposer321 commented 4 years ago

@rooxie There's Windows Terminal. I know, I know, it's still in Alpha, but when the first stable release comes out, I'll be the first to try it out. Until then I'm using regular old cmd.exe. I know what you're thinking: "Um...cmd doesn't support ligatures either. Plus, it doesn't even have tabs". I know. The reason that I need ligatures is for use in the amazing terminal-residing editor, neovim. But until there's a decent, resource-friendly (i.e. not Terminus) terminal with ligature support, I'll be using the FVim GUI/front-end, which does support ligatures, and the native command prompt for my terminal. I have also tried ConsoleZ, which is basically ConEmu + ligatures, but for some reason, it doesn't have True Color support, so that's another no.

mikolertesx commented 4 years ago

@pianocomposer321 I was just using it, but I can't keep working with it because of Mongo issues. I just posted an issue today about it.

rooxie commented 4 years ago

@pianocomposer321 Looks like we have different priorities in terminal emulator app, but I'll definitely give ConsoleZ a try!

pianocomposer321 commented 4 years ago

@rooxie 👍.

Also, FWIW, I agree that there is (almost) no use for ligatures in a terminal emulator if that's all you use it for: as a terminal. In fact, the can kinda be an eyesore, with ligatures appearing where you don't want them. The only place I would use them is in an editor.

mikolertesx commented 4 years ago

Idk man. I really enjoy the readability I get from them.

pianocomposer321 commented 4 years ago

@mikolertesx I may be missing something, but since when are shell commands so complex that they require ligatures to be readable? As I said before, I use cmd.exe rather than PowerShell, and I know the PowerShell supports more complex syntax and scripting, but I still don't think I've ever seen a PowerShell command that has many characters that have ligatures.

mikolertesx commented 4 years ago

Idk man, I remember seing a bunch from FiraCode while using MongoDB. Since it's almost javascript like I guess.

We shouldn't be discussing here this pal, but have a good one :0.

pianocomposer321 commented 4 years ago

Ok. If you're using the terminal for something other than just regular commands I can see why you'd want ligatures. I just don't have much use for them myself.

baterflyrity commented 3 years ago

Any progress here? Do we have this in plans?

Maximus5 commented 3 years ago

I definitely has this in plans. But my focus now is on bugs and PTY support. And, well, some simple fixes it improvements.

AuthorProxy commented 3 years ago

Cannot use "Staship" prompt correctly without Fira Code :(

cpkio commented 2 years ago

Would like to crowdfund this change to ConEmu.

(I'm creating a fork of Cozette font with contextual alternates, I want to have contextual alternates in terminal with no font smoothing.)

StephaneAdeso commented 1 year ago

Any update on this?

Vampire commented 1 year ago

@Maximus5 will you any time work on this again? It is not just ligatures. It is also about some other font features that are not properly working. If you for example use Fira Code with some of the stylistic sets enabled by default when building the font, ConEmu still displays the original glyphs instead of the replacements, and some characters are also not printed as if the font would support them like for example or 🥞 or 📨: image

This can easily drag people away to alternatives like Windows Terminal of which I heard good things. But I'm a very long-time ConEmu user and lover so I still hope you get this fixed up.

Vampire commented 1 year ago

Ok, too late for me. :-D For anyone following, Windows Terminal really made up as a great replacement and is actively developed. :-)

PaulDevenney commented 11 months ago

I've loved conemu for many many years, and it has been the saviour of my windows terminal experience in a world of cmd.exe. Sadly I will now move to windows terminal, as it now covers pretty much everything that conemu led the way on (though it doesn't have separate transparency for active vs disabled!)

Rather than complain about a missing feature, I just want to thank @Maximus5 for his hard work and excellent product. Who knows, if conemu gets a big update I'd probably still go back.