Repository navigation
Closed
Labels
Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesText rendering, emoji, complex glyph & font-fallback issuesIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-ConhostFor issues in the Console codebaseFor issues in the Console codebase
Milestone
Description
Please support emoji within Windows Console.
Very useful when you code in vim newsletters for startups or when you categorize stuff by emoji.
Maintainer notes:
### Input
- [ ] #1503
- [ ] #7777
### Output
- [ ] #8000
- [ ] #1472
Reacted by Constantine Molchanov, Joel Messerli, Mike MacCana, Arkady Shapkin, Dave Jacoby, Hajar, Simon, Mathieu Martin, Peter Dyson, cachekeyval and 557 more
Reacted by Patryk Ludwikowski, rtek and Jesse Yurkovich
Reacted by Leonid Gorshkov, Arturo Aguilera, Daniel, Mirko Tebaldi, Bartosz Gościński, Daniel Niccoli, Takeru Saito, David Refoua, Latif Sulistyo, shekohex and 33 more
Reacted by Leonid Gorshkov, Arturo Aguilera, Daryl Zuniga, Mirko Tebaldi, Bartosz Gościński, Daniel Niccoli, Muhammad Abdul-Rahim, Saninn Salas Diaz, David Refoua, Latif Sulistyo and 33 more
Reacted by Leonid Gorshkov, Arturo Aguilera, Daniel, Constantine Molchanov, Anton Paulovich, Mirko Tebaldi, Bartosz Gościński, Daniel Niccoli, Saninn Salas Diaz, maxstee and 51 more
Reacted by David Refoua, Latif Sulistyo, Silver Zachara, Saran Tanpituckpong ✔️, Tyler Reid, Debashis Dip, Artem Grunichev, Alex, Rob Prouse, Nicolas Vanelslande and 37 more
Reacted by OneNormalUsername, liu yabin, Robson Piere, zhoujin7, JoBrad, Alejandro Saucedo, joshuatee, Levvie - she/her, Luan Vitor Simião Oliveira, Jason and 25 more
Metadata
Metadata
Assignees
Labels
Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesText rendering, emoji, complex glyph & font-fallback issuesIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-ConhostFor issues in the Console codebaseFor issues in the Console codebase
Activity
[-]Add emoji support to Windows Console #590[/-][+]Add emoji support to Windows Console[/+]zadjii-msft commentedon May 23, 2018
Already on the backlog :)
mikemaccana commentedon May 24, 2018
Sweet! Another use case: I have a command line app that outputs warnings using ⚠.
mqudsi commentedon May 26, 2018
Mike Griese (@zadjii-msft) will this include support for non-latin unicode characters? i.e. can Arabic or Japanese characters not found in the currently deployed console font be displayed with a different font face?
zadjii-msft commentedon May 26, 2018
Hypothetically, yes.
Arabic is kinda it's own problem though - there's pretty much no chance we'll be implementing left to right language support any time soon, bt the characters might be able to render correctly.
adiviness can speak more on the topic if there's more to share.
adiviness commentedon May 26, 2018
Arabic is a difficult one because of the additional support required for bidirectional text and ligatures. As far as I’m aware not many terminal emulators currently support it.
There is also a difference between the console being able to render emoji and supporting font fallback in the case of the current font not having a glyph. They are both items on our backlog.
SidShaytay commentedon Jun 5, 2018
+1 Our build and CI scripts have emojis for success ✔️, warning ⚠ and errors ❌ for quick, productive eyeballing of logs.
miniksa commentedon Jun 5, 2018
Can we please not +1 issues? Please use reactions or subscribe to notifications.
SidShaytay commentedon Jun 5, 2018
Michael Niksa (@miniksa) , I wouldn’t get too distracted by the +1. You could entirely ignore it. The main purpose of typing it out was to articulate the use case. Presumably platform/product owners ought to be very interested in customer use cases ... thought granted in this case it’s not too extravagant.
bitcrazed commentedon Jun 7, 2018
@SidShetye - appreciate your comment - your use-case is not unusual, but is useful to hear about.
In general, we ask people not to +1 because we'd like to avoid people +1-ing (esp. with no further comment), which just ends up as noise, and makes threads more difficult to parse and manage.
Sharing additional comments, context, observations, issues, etc. is FAR more valuable than a +1 ;)
76 remaining items
brupelo commentedon Dec 10, 2022
Hey guys, is this the official thread about emoji support?
I've just tried
Version: 1.15.2874.0running a simple python script that uses rich:And everything has rendered correctly on win10... Problem comes if I try to add emojis manually by pressing
win+.,in that case I'll just get an incorrect render, ie:
Anyway, is this one already reported? Is this the right backlog work-item to suscribe to? I've read another ones pinging to this one so I'm assuming it's the "official" one... 🙄
Evolving really nicely the software btw, congrats guys!
zadjii-msft commentedon Dec 13, 2022
To clarify:
This has kinda become the mega thread for both, though, most of the remaining work remains in #7777.
brupelo commentedon Dec 18, 2022
Mike Griese (@zadjii-msft) Hey Mike, thanks, cool stuff. So I guess the issue happening when copy/pasting emojis from other software such as SublimeText and not being rendered properly is also a related work-item from this one, ie:
You can see how in SublimeText the emojis are rendered properly, similar in the good old
clipbrd.exesoftware but when i copy/paste intowtthe render will be broken.You can find the emojis.txt file attached
here
zadjii-msft commentedon Jan 3, 2023
Yea, basically what you're seeing is the Input version there. Pasting emoji into cmd.exe is akin to just typing an emoji at the prompt, and cmd.exe does a bad/nonexistent job of rendering those. Just outputting that file straight to the Terminal (after a
chcp 65001) does better (though, there's a LOT of emoji in that file leveraging ZWJ's, so those doen't behave super well. That's the output side of things).o-sdn-o commentedon Jan 3, 2023
It seems to me that cmd.exe does not play any role here. Between cmd.exe and Windows Terminal there is conhost.exe (openconsole.exe), it is responsible for such handling of emoji. If we replace conhost.exe (openconsole.exe) with something of our own, then there will be the expected result
Terminal.Dev.2023-01-03.19-41-56.mp4
zadjii-msft commentedon Jan 3, 2023
Sorry, I omitted details for the sake of brevity. Cmd.exe uses the COOKED_READ input handling provided by the Console API, and the server for that API is conhost. So yes, patching openconsole (=== conhost.exe) will fix this, and that's what the whole collection of issues is about.
marklit commentedon Jun 2, 2023
Will there be support for country flags at some point?
TheDecryptor commentedon Jun 2, 2023
That's outside of Terminal's control, the Segoe UI Emoji font just doesn't include flags.
#2664 would allow customising the fonts Terminal tries to use, you could then include something like "Noto Color Emoji", which does include graphical flags.
marklit commentedon Jun 4, 2023
Has anyone here tried to edit the Segoe UI Emoji font file and add in / replace the country flag emojis from another font? The Terminal doesn't support images so printing out GIFs or SVGs is a non-starter.
Welding-Torch commentedon Apr 5, 2024
When will we get Nerd Font Icons(Glyphs) support in conhost.exe?
DHowett commentedon Apr 5, 2024
You should be able to install a "nerd font" font and set it as your font today. Also last year, and perhaps some years prior to that one.
lhecker commentedon Jul 22, 2024
With #16916 merged and with all the work that led up to it, support for complex Unicode, including Emoji, is effectively done. There are some smaller issues left to clean up, but I expect them to be a rare encounter. As such I'll close this issue for now.
This will ship in Windows Terminal 1.22 this year. If you want to try it out right now, please feel free to download our Canary (nightly) build here: #16121
Please note that PowerShell does not have support for complex Unicode yet, but that's expected to change in the foreseeable future (no exact date yet).
I'll keep this issue locked since a lot of people are subscribed to it and would get notifications every time someone posts here. If you find any issues with our implementation, please report a new issue. If you have any other feedback, please feel free to start a new discussion.