terminal
terminal copied to clipboard
Bidirectional and RTL Text Issue in Windows Terminal
Windows Terminal version
1.21.2911.0
Windows build number
10.0.26100.3915
Other Software
No response
Steps to reproduce
Hi starting in v1.19 a new text engine was added called AtlasEngine, when this is turned on Hebrew is now being rendered correctly its being shown the wrong way (its being show left to right instead of right to left) if i turn off AtlasEngine it works correctly
i see there are other issues about it but none of them explained the actual issue so if possible to fix it, or at least give the option to disable AtlasEngine
I confirmed this is the issue as in v 1.20.11381.0 there is a option to turn off AtlasEngine and when i do that it renderers correctly
Thank You
Expected Behavior
when typing hebrew text it should be rendered Right To left
Actual Behavior
Hebrew Text is being rendered Left to Right
We've found some similar issues:
- #18659 , similarity score: 81%
If any of the above are duplicates, please consider closing this issue out and adding additional context in the original issue.
Note: You can give me feedback by 👍 or 👎 this comment.
i copied the title as that issue explains it but i think the reason given is incorrect as it has to do with the text engine and on regular ubuntu console (in ubuntu not in wsl) it shows correctly
Thanks for filing! We have a wealth of discussion over in #538 that goes into detail about how and why this is a problem, and how we hope for applications (and terminal emulators) to fix it. It culminates in https://github.com/microsoft/terminal/issues/538#issuecomment-1533053699.
With graphical applications, it’s the responsibility of one single application to do BiDi rendering, i.e. to convert the external data it handles (e.g. document, web page) along with its own UI to the pixel-by-pixel user-visible representation. In case of the terminal emulator, it’s the joint responsibility of two components: the emulator, and the application inside. The exact responsibility of each party and the interface between them needs to be well thought out.
To an extent, RTL has always been broken in the console (and the terminal). By fixing our rendering engine for the dominant use case (application writes text in the logical order), we necessarily broke it for applications that write in physical order.
Unfortunately, we don't have any other text rendering engines. If you need "passable" rendering that's compatible with older applications, you can always launch the original console host. 🙂
We are planning to improve this in the future.
/dup #538
Thanks for filing! We have a wealth of discussion over in #538 that goes into detail about how and why this is a problem, and how we hope for applications (and terminal emulators) to fix it. It culminates in #538 (comment).
With graphical applications, it’s the responsibility of one single application to do BiDi rendering, i.e. to convert the external data it handles (e.g. document, web page) along with its own UI to the pixel-by-pixel user-visible representation. In case of the terminal emulator, it’s the joint responsibility of two components: the emulator, and the application inside. The exact responsibility of each party and the interface between them needs to be well thought out.
To an extent, RTL has always been broken in the console (and the terminal). By fixing our rendering engine for the dominant use case (application writes text in the logical order), we necessarily broke it for applications that write in physical order.
Unfortunately, we don't have any other text rendering engines. If you need "passable" rendering that's compatible with older applications, you can always launch the original console host. 🙂
We are planning to improve this in the future.
/dup #538
its just that the issue wasnt touched in 2 years so i thought i would chime in
side note do you know if its possible to set default tetrminal on windows to a exe? as i will stay on v 1.20.11381.0 but i cant figure out how to stop windows store from auto updating it and the portable exe windows is not giving me the option to set as default terminal
Thanks!
side note do you know if its possible to set default terminal on windows to a exe?
There's been some discussion about this over at https://github.com/microsoft/terminal/discussions/18575 :)
Thanks!!
side note do you know if its possible to set default terminal on windows to a exe?
There's been some discussion about this over at #18575 :)