-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
Terminal doesn't support RTL languages #28571
Comments
@mostafa69d Can you share an example or screenshot? |
@ramya-rao-a |
@mostafa69d do you have an example of another terminal that handles this well? This change was intentional to force the characters onto a grid. Sure it doesn't make some RTL languages look good but when the characters aren't aligned to the grid, bad stuff happens. I checked Hyper (on hterm), terminator and gnome-terminal and all behave as in vscode 1.13. |
@Tyriar Here you go. And this one is from the VS Code terminal ( the same query with the same result) I'm pretty sure something happened to the VS Code terminal, because I'm working on the same project for at least one month with VS code and it was working fine. After I updated the VS Code this morning it messed up. |
@Tyriar I believe "not looking good" would be an understatement - it is pretty problematic that the text is reversed, probably the spacing is less of an issue, but I guess even that can still make it hard to read for languages where letters are supposed to be connected and appear differently in that case (Arabic). I can't judge it though because the only RTL language I can read is Hebrew. As for examples: ConEmu seems to handle it in a better way in that the characters are still aligned in a grid, but RTL rules are adhered so that the text is shown the right way round. This may of course be confusing or cause issues combined with mouse selection or other things where characters are assumed to exist in the buffer at the position they are shown at, but working with LTR+RTL is weird in any environment I think. Bottom line, I think destroying the readability by reversing the text makes the terminal unusable for those languages. It's true that many other terminals (e.g. xterm) do the same, but here the "better" solution already existed and people were probably happy about it... so this feels like a step back. |
@CherryDT |
@CherryDT the previous solution (just dumping the unstyled text) is no longer feasible due to optimizations and features coming into the terminal. The new selection model I've been working on for example assumes everything is on a grid containing only half-width and full width chars. Reversing the text but still aligning it to the grid as in Terminal.app and ConEmu definitely seems doable though and seems to be the right way to do it. I created xtermjs/xterm.js#701 to track the upstream issue. |
ON the question "do you have an example of another terminal that handles this well?" |
Well, the best example is the way this forum editor is working. Any way I copied the text from the terminal, it got corrected by the forum editor, used to send this message. |
the problem for me occures not in the editor but when running the code if i run it to the jypter notebook it works fine. when i run it to the repel or use the run comand i get jiberish |
Let's track this upstream xtermjs/xterm.js#701 |
Steps to Reproduce:
1.In this new version there are problems regarding showing Unicode in terminal. (languages like Arabic, Persian ). It happened in this new recent update
2.
The text was updated successfully, but these errors were encountered: