ConEmu icon indicating copy to clipboard operation
ConEmu copied to clipboard

Possible to display ligatures in shell?

Open factormystic opened this issue 8 years ago • 38 comments

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?

factormystic avatar May 29 '16 17:05 factormystic

Ligatures support and more - in plans.

Maximus5 avatar May 29 '16 17:05 Maximus5

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

factormystic avatar May 29 '16 18:05 factormystic

Maybe reopen this issue as feature request? To track progress

KindDragon avatar Aug 27 '16 09:08 KindDragon

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 avatar Dec 12 '16 18:12 khuongduybui

3 months later, any update?

khuongduybui avatar Mar 08 '17 04:03 khuongduybui

Not yet

Maximus5 avatar Mar 08 '17 17:03 Maximus5

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

khuongduybui avatar Mar 08 '17 17:03 khuongduybui

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

gingters avatar Jul 21 '17 11:07 gingters

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 avatar Jul 21 '17 15:07 Maximus5

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

Maximus5 avatar Jul 21 '17 15:07 Maximus5

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

nelix avatar Sep 05 '17 04:09 nelix

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

aplocher avatar Jan 22 '18 01:01 aplocher

Any update?

forrestblade avatar May 16 '18 16:05 forrestblade

@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?

HipsterZipster avatar May 25 '18 19:05 HipsterZipster

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 :)

Maximus5 avatar May 27 '18 16:05 Maximus5

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. :)

serbrech avatar Jun 13 '18 07:06 serbrech

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

Maximus5 avatar Jun 16 '18 14:06 Maximus5

Any progress in 2019?

ghost avatar Jan 15 '19 21:01 ghost

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

p4vook avatar May 29 '19 11:05 p4vook

New year, new resolutions maybe? 😉

digeomel avatar Jan 10 '20 12:01 digeomel

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.

pianocomposer321 avatar Jan 13 '20 14:01 pianocomposer321

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.

rooxie avatar May 07 '20 14:05 rooxie

@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.

pianocomposer321 avatar May 07 '20 16:05 pianocomposer321

@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.

mikolertesx avatar May 07 '20 20:05 mikolertesx

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

rooxie avatar May 08 '20 23:05 rooxie

@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.

pianocomposer321 avatar May 08 '20 23:05 pianocomposer321

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

mikolertesx avatar May 08 '20 23:05 mikolertesx

@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.

pianocomposer321 avatar May 09 '20 00:05 pianocomposer321

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.

mikolertesx avatar May 09 '20 00:05 mikolertesx

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.

pianocomposer321 avatar May 09 '20 15:05 pianocomposer321