Bidi paragraph direction in terminal emulators BiDi in terminal emulators
Egmont Koblinger via Unicode
unicode at unicode.org
Wed Feb 6 15:45:47 CST 2019
I was loose with my terminology once again, which is not a wise thing
when you're trying to clarify misunderstandings :)
> But once you have
> decided on a direction, each _line_ within that data is passed
> separately to the BiDi algorithm to get reshuffled; this is what Emacs
> does, this is what my specification says, and this is the right thing.
> That is, for this step, the definition of "paragraph", as the BiDi
> algorithm uses this term, is a line of the text file.
I keep thinking of the BiDi algorithm as one that takes a single
paragraph, because that's how I use it in VTE. But in fact, the BiDi
algorithm starts by splitting into paragraphs. I keep forgetting about
this outermost "for loop" of the BiDi algo.
And with that, proper definition, you can of course pass the entire
emptyline-delimited segment into the BiDi algorithm in a single step.
In its first phase, the BiDi algorithm will split it at newlines,
because for the BiDi algorithm (but not when detecting the paragraph
direction in Emacs), newline is the paragraph delimiter. Then it will
execute the rest of the algorithm for each paragraph (that is: line)
This is exactly the same as splitting manually, and then for each line
invoking the BiDi algorithm.
More information about the Unicode