Bidi paragraph direction in terminal emulators

Philippe Verdy via Unicode unicode at
Thu Feb 14 04:30:20 CST 2019

Le mar. 12 févr. 2019 à 14:16, Egmont Koblinger via Unicode <
unicode at> a écrit :

> > There is nothing magic about the grid of cells, and once you introduce
> new escape sequences, you might as well truly modernise the terminal.
> The magic about the grid of cells is all the software that were built
> up with this assumption during the last couple of decades.

The minimum to support (which is already used in VT* terminals) needs to
include support "dualspace" rendering (i.e.characters rendered in one or
two cells), widely used for CJK (half-width and fullwidth characters). If
the terminal has square cells only one variant is needed (i.e. a monospace
cell), but common terminals today use rectangular cells.
Thanks Unicode has properties about that, allowing controls to select the
appropriate variant (plus legacy encodings for parts of
But the extension would be needed for other scripts. And a control in the
VT* protocol to select the variant (which would take effect in terminals
configured in dualspace rendering mode which is normally the default mode
in East Asia). This should apply to other South Asian scripts and most
emojis, and adding some control would extend the dualspace rendering to
cover the whole Unicode (without having to use the few compatibility
characters specifically encoded at end of the BMP).
Unfortunately Unicode still does not have any standard variant selector (or
other format control) to control that at least at cluster level.
This would mean adding some custom escape sequence to the VT* protocol
(using the compatibility characters for half-width/fullwidth should be
deprecated), which would be also more efficient than having to use variant
selector or format controls after each character (this solution works for
isolated characters) or having to configure the terminal in ugly monospace
mode (with typically 40 cells by line instead of 80) which is only fine for
CJK, or for output to old analog TV with very low vertical resolution
(below ~400 pixels with cells about 8x8 pixels at most) such as old CGA,
Teletext, and early 8-bit personal computers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Unicode mailing list