Le mar. 12 févr. 2019 à 14:16, Egmont Koblinger via Unicode < [email protected]> 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 Latin/Greek/Cyrillic). 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.

