This gist will show the support of BiDirectional text in the terminal emulators and console programs. You can read more about the standardization efforts at the dedicated page of FreeDesktop Terminal BiDi working group.
Logical Order | ◀ ◀ ◀ RTL | LTR ▶ ▶ ▶ |
---|---|---|
WHAT IS UNICODE؟ in arabic | in arabic ؟EDOCINU SI TAHW | ؟EDOCINU SI TAHW in arabic |
ما هو الترميز الموحد يونيكود؟ in Arabic | ما هو الترميز الموحد يونيكود؟ in Arabic |
According to a new standard
Please note, that specification is preliminary yet, and VTE implementation is still work in progress:
- all libvte based terminals - https://gitlab.gnome.org/GNOME/vte/issues/53
- libvte-based Gnome Terminal - https://bugs.launchpad.net/ubuntu/+source/vte/+bug/263822
- libvte-based sakura
- libvte-based xfce4-terminal
- libvte-based Terminator
- libvte-based Tilix - written in D. Similar user interface as for Terminator.
- libvte-based Lilyterm - https://github.com/Tetralet/LilyTerm/
- libvte-based ROXTerm
- libvte-based evilvte https://github.com/caleb-/evilvte
- libvte-based Termit
- libvte-based Tilda
- libvte-based tinyterm
- libvte-based Pantheon Terminal
- libvte-based lxterminal
Incompatible and incomplete implementations
- neatvi - Vi-like editor aligrudi/neatvi#8
- another libvte-based Termite
- st (from suckless)
- xst fork of st gnotclub/xst#55
- iterm2
- alacritty - written in Rust alacritty/alacritty#663
- kitty - uses OpenGL kovidgoyal/kitty#2109
- cool-retro-term
- Termux - Android platform
- Black Screen - crossplatform, HTML/CSS/JS-based
- Hyper.app - crossplatform, HTML/CSS/JS-based (Electron)
- hterm - HTML/CSS/JS-based (ChromeOS)
- Windows Terminal - Windows platform, standard terminal microsoft/terminal#538
- Tera Term - Windows platform
- ConEmu - Windows platform Maximus5/ConEmu#1665
- FinalTerm - abandoned, iTerm2 borrowing it's ideas and features.
- MacTerm - Mac OS X platform
- Windows 10 bash and cmd.exe console - https://wpdev.uservoice.com/forums/266908-command-prompt-console-windows-subsystem-for-l/suggestions/34937857-bidirectional-text-support
- tmux - not yet tmux/tmux#1936
- screen - not yet
- pymux - not yet prompt-toolkit/pymux#77
- dvtm - not yet martanne/dvtm#99
- neovim - neovim/neovim#553
- vim - vim/vim#204
- radare2 - https://github.com/radare/radare2/issues/2032
- irssi - irssi/irssi#1133
There's finally some movement on this; Unicode Technical Committee №175 approved a Working Group to be called the Terminal Complex Script Support Working Group (TCSS WG) after Microsoft asked for it in L2/23-107.¹
Microsoft wants to do it in a
libvte
-incompatible way so I plan to attend every meeting of the WG I can just to discuss…why, it seems they may not have even known about prior art. My document is L2/23-153.²Footnotes
Li, Renzhi et al. Proper Complex Script Support in Text Terminals. 2023-04-24.
Brennan, Fredrick R. Opposition to and Comment on L2/23-107. 2023-06-30.