Skip to content
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

Add support for Bi-directional text for RTL languages #663

Open
DirectorX opened this issue Jul 15, 2017 · 32 comments
Open

Add support for Bi-directional text for RTL languages #663

DirectorX opened this issue Jul 15, 2017 · 32 comments

Comments

@DirectorX
Copy link

using fribidi

@rafi
Copy link

rafi commented Jul 16, 2017

This would be amazing.

@quininer
Copy link
Contributor

It is a LGPL library. We can use unicode-bidi instead.

@XVilka
Copy link

XVilka commented Jul 31, 2018

I started gathering the summary gist (like I did with true color one) and linked this issue in it https://gist.github.com/XVilka/a0e49e1c65370ba11c17

@nashamri
Copy link

This would be great to have.

@textshell
Copy link

Draft and discussion about this in terminal-wg
https://gitlab.freedesktop.org/terminal-wg/bidi

(Please coordinate if you are going to implement anything with bidi)

@XVilka
Copy link

XVilka commented Mar 13, 2019

@textshell and others, it was mentioned in ligatures bug - #50, seems like skribo is good choice for solving BiDi problem in Alacritty too. It was created by Mozilla and in pure Rust. Please take a look.

@egmontkob
Copy link

skribo is about beautiful rendering of glyphs.

BiDi in terminal emulators needs to be addressed beginning with way more fundamental issues, like making sure that the characters appear in the correct order and not reversed, and knowing whose responsibility (the terminal's or the emitting app's) it is to render from right to left. This is what my work aims to address, which I forgot to mention from here, but @textshell did, thanks for that.

On top of that, once you know where each character needs to appear, you can of course use whichever technique (harfbuzz, skribo etc.) to make them render as beautifully as you can.

@XVilka
Copy link

XVilka commented Jul 2, 2019

You can now check the VTE implementation: https://terminal-wg.pages.freedesktop.org/bidi/implementations.html#vte

@XVilka
Copy link

XVilka commented Oct 12, 2019

Note, that with the release of GNOME 3.34 the support of BiDi by @egmontkob is available in Gnome Terminal out of the box, which makes testing/implementing it in the other programs easier.

@DirectorX DirectorX changed the title Add support for Bi-directional text Add support for Bi-directional text for RTL languages Sep 26, 2020
@niyumard
Copy link

Note, that with the release of GNOME 3.34 the support of BiDi by @egmontkob is available in Gnome Terminal out of the box, which makes testing/implementing it in the other programs easier.

Currently kitty supports Bi-directional texts too.

@nbsp
Copy link

nbsp commented Jan 28, 2021

Note, that with the release of GNOME 3.34 the support of BiDi by @egmontkob is available in Gnome Terminal out of the box, which makes testing/implementing it in the other programs easier.

Currently kitty supports Bi-directional texts too.

I checked it out, it appears that the implementation is incomplete and incorrect (Hebrew)
20210127_17h32m20s_grim

To elaborate, kitty messes up word order and alignment, but letters within words behave as expected.

@SafwanLjd
Copy link

Any updates on this?

@Kranzes
Copy link

Kranzes commented Jul 29, 2021

This is a very much needed "feature".

@komibit
Copy link

komibit commented Jan 27, 2022

Why did noboddy do this yet??

@chrisduerr
Copy link
Member

Why did noboddy do this yet??

Why haven't you done it yet?

@mosaleh52
Copy link

Is there any temp solution, I need this for vim

@Kranzes
Copy link

Kranzes commented Feb 14, 2022

Yes, use a different terminal, for example kitty.

@mosaleh52
Copy link

mosaleh52 commented Feb 14, 2022

I think I will continue with konsole, thanks
this could be helpful https://terminal-wg.pages.freedesktop.org/bidi/

@f412h4d
Copy link

f412h4d commented May 24, 2022

im switching to a new terminal, can't code in vim if the language differs

@hemedani
Copy link

@f412h4d

im switching to a new terminal, can't code in vim if the language differs

na babba!!!

@dennissherb
Copy link

6 years later, this issue is still very relevant, please implement.

@niceiq
Copy link

niceiq commented Jan 11, 2024

Is there any update on this feature?

@chrisduerr
Copy link
Member

I'd say there's extremely little interest in adding this to Alacritty. If this is important to you, I recommend using a different terminal emulator.

@AppleSheeple
Copy link

@niceiq
Keep an eye on cosmic-term. It's still very early days. But at least they consider BiDi/RTL a first class feature.

@mamins1376
Copy link

I'd say there's extremely little interest in adding this to Alacritty. If this is important to you, I recommend using a different terminal emulator.

Is this project open to accept a potential implementation?

@chrisduerr
Copy link
Member

It is very unlikely an outside contributor would be capable of sending a PR that would get accepted.

@zefr0x
Copy link

zefr0x commented Jan 13, 2024

Maybe pop-os/cosmic-term's implementation will help when it's done. After all they are relaying on alacritty_terminal.

WIP COSMIC terminal emulator, built using alacritty_terminal that is provided by the alacritty project. cosmic-term provides bidirectional rendering and ligatures with a custom renderer based on cosmic-text.

But I don't know how it works, maybe It will not.

Edited: I tried it, and I can say that it's the best terminal for the Arabic language.

@dennissherb
Copy link

almost 7 year issue, is there any progress on this?

@originalsouth
Copy link

almost 7 year issue, is there any progress on this?

#7872

@Sliman-Baghouri
Copy link

Why hasn't this been implemented?

@wassou93
Copy link

I installed cosmic terminal (cosmic-term-git in the aur) and it doesn't only render arabic correctly it even has a scroll bar and it's GPU accelerated which is insane!!!

@misterhackerman
Copy link

Why hasn't this been implemented?

bro i guess we'll need to learn rust. and open a pull request. and then it may be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests