I've made some adjustments to the proposal based on Markus' comments and
the fact that it would normally be used to force double width for
compatibility with old DBCSs.
The main changes are the order of the arguments, the count is now first,
and the fact that CR&NL must terminate a run of characters. Other ctrl
characters including ESC and CSI may terminate the run depending on what's
best for a given implementation.
Everybody,
Is this definition reasonable, does anyone see any more problems?
Is that particular CSI string definitly available for use?
Marcus,
Is the 'infinite run' example below sufficient ?
Would you care to wrap it in some official sounding words like the
last proposal ?
CSI > Pn ; Pw w
Pn : The number of characters to set, default 1.
Pw : The width requested for the following characters, default 2.
The default widths are as defined by wcwidth().
Composing characters are treated as part of the preceding composee
and do not contribute to the count.
A CR or NL character will discard any pending overrides.
The effect of other non-printable characters is undefined.
Unknown characters (and U+FFFD) are treated as printable.
If there are any pending overrides from the last execution of this
sequence then they are discarded.
Examples:
Single character double width override.
CSI > w
CSI > ; 2 w
Single character single width override.
CSI > ; 1 w
Multiple character double width override.
CSI > Pn w
Double width override to end of line (probably)
CSI > 999 w
--
Rob. (Robert de Bath <rdebath @ poboxes.com>)
<http://www.cix.co.uk/~mayday>
-
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/