Hi Eli, > > In turn, vim, emacs and friends stand there clueless, not knowing > > how to do BiDi in terminals. > > This is inaccurate: [...]
I have to admit, I was somewhat sloppy in the phrasing of this announcement. My bad, apologies. Currently some terminal emulators shuffle the characters around for display purposes, while most don't. There's absolutely no way an editor (no matter if Emacs or any other) could produce the desired look on both kinds. I actually present a proof that an editor cannot always produce the desired look on ones that shuffle their contents around. So it's a somewhat reasonable expectation to produce the desired look on ones that don't shuffle their cells. In the document, more precisely at [1] I evalute my findings with GNU Emacs 25.2. (I've just fixed the page to add "GNU", thanks for pointing this out!) Brief summary: - GNU Emacs reshuffles the characters according to the BiDi algorithm, expecting that the terminal emulator doesn't do any BiDi. - According to my recommendation, in order to address BiDi in the entire ecosystem around terminal emulators, the default behavior will have to be that terminals shuffle the characters around. Don't worry, there'll be a mode where this shuffling doesn't occur. Emacs (and all other BiDi-aware text editors) will have to switch to this mode. - It doesn't do Arabic shaping. In my recommendation I'm arguing that in this mode, where shuffling the characters is the task of the text editor and not the terminal, so should it be for Arabic shaping using presentation form characters. - When it comes to visually wrapping a line because it doesn't fit in the current width, Emacs goes its own way which doesn't match what the Unicode BiDi algorithm says. I'm not saying Emacs's behavior is bad per se or unreasonable, and it's out of the scope of my work to try to get it changed, but I'm making a note that it's different. [1] https://terminal-wg.pages.freedesktop.org/bidi/prior-work/applications.html cheers, egmont

